Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xD56adf3e770236Ca25fabc90Ac569DAe7997898e
Balance 0 ETH
Nonce 1
Code Size 5711 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

5711 bytes
0x608060405234801561000f575f80fd5b50600436106100e8575f3560e01c806370a082311161008a578063a9059cbb11610064578063a9059cbb14610238578063a9874c3914610268578063a98ad46c14610298578063d015ed6a146102b6576100e8565b806370a08231146101cc5780638da5cb5b146101fc57806395d89b411461021a576100e8565b8063313ce567116100c6578063313ce5671461015857806338d51da81461017657806340c10f1914610192578063482edb07146101ae576100e8565b806306fdde03146100ec57806318160ddd1461010a57806327e235e314610128575b5f80fd5b6100f46102d2565b6040516101019190610ee7565b60405180910390f35b61011261035d565b60405161011f9190610f1f565b60405180910390f35b610142600480360381019061013d9190610f96565b610363565b60405161014f9190610f1f565b60405180910390f35b610160610378565b60405161016d9190610fdc565b60405180910390f35b610190600480360381019061018b919061101f565b61038a565b005b6101ac60048036038101906101a7919061104a565b6104ac565b005b6101b66106cb565b6040516101c39190610f1f565b60405180910390f35b6101e660048036038101906101e19190610f96565b61076a565b6040516101f39190610f1f565b60405180910390f35b6102046107b0565b6040516102119190611097565b60405180910390f35b6102226107d5565b60405161022f9190610ee7565b60405180910390f35b610252600480360381019061024d919061104a565b610861565b60405161025f91906110ca565b60405180910390f35b610282600480360381019061027d9190610f96565b610a65565b60405161028f9190610f1f565b60405180910390f35b6102a0610b06565b6040516102ad919061113e565b60405180910390f35b6102d060048036038101906102cb919061104a565b610b2b565b005b5f80546102de90611184565b80601f016020809104026020016040519081016040528092919081815260200182805461030a90611184565b80156103555780601f1061032c57610100808354040283529160200191610355565b820191905f5260205f20905b81548152906001019060200180831161033857829003601f168201915b505050505081565b60035481565b6004602052805f5260405f205f915090505481565b60025f9054906101000a900460ff1681565b5f81116103cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c390611224565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161042a93929190611242565b6020604051808303815f875af1158015610446573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046a91906112a1565b6104a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a090611316565b60405180910390fd5b50565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461053b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610532906113a4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a09061140c565b60405180910390fd5b8060035f8282546105ba9190611457565b925050819055508060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461060d9190611457565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161065a9190610f1f565b60405180910390a28173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516106bf9190610f1f565b60405180910390a35050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107269190611097565b602060405180830381865afa158015610741573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610765919061149e565b905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600180546107e290611184565b80601f016020809104026020016040519081016040528092919081815260200182805461080e90611184565b80156108595780601f1061083057610100808354040283529160200191610859565b820191905f5260205f20905b81548152906001019060200180831161083c57829003601f168201915b505050505081565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c79061140c565b60405180910390fd5b8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094790611513565b60405180910390fd5b8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461099c9190611531565b925050819055508160045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109ef9190611457565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a539190610f1f565b60405180910390a36001905092915050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401610ac09190611097565b602060405180830381865afa158015610adb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aff919061149e565b9050919050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb1906113a4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1f9061140c565b60405180910390fd5b5f8111610c6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6190611224565b60405180910390fd5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610cc59190611097565b602060405180830381865afa158015610ce0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d04919061149e565b905081811015610d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d40906115d4565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401610da59291906115f2565b6020604051808303815f875af1158015610dc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de591906112a1565b610e24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1b90611316565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167f251c06b9677024082309c3da041208107c0b0dc0cafd5e77ab12be896cd5c23883604051610e6a9190610f1f565b60405180910390a2505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610eb982610e77565b610ec38185610e81565b9350610ed3818560208601610e91565b610edc81610e9f565b840191505092915050565b5f6020820190508181035f830152610eff8184610eaf565b905092915050565b5f819050919050565b610f1981610f07565b82525050565b5f602082019050610f325f830184610f10565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f6582610f3c565b9050919050565b610f7581610f5b565b8114610f7f575f80fd5b50565b5f81359050610f9081610f6c565b92915050565b5f60208284031215610fab57610faa610f38565b5b5f610fb884828501610f82565b91505092915050565b5f60ff82169050919050565b610fd681610fc1565b82525050565b5f602082019050610fef5f830184610fcd565b92915050565b610ffe81610f07565b8114611008575f80fd5b50565b5f8135905061101981610ff5565b92915050565b5f6020828403121561103457611033610f38565b5b5f6110418482850161100b565b91505092915050565b5f80604083850312156110605761105f610f38565b5b5f61106d85828601610f82565b925050602061107e8582860161100b565b9150509250929050565b61109181610f5b565b82525050565b5f6020820190506110aa5f830184611088565b92915050565b5f8115159050919050565b6110c4816110b0565b82525050565b5f6020820190506110dd5f8301846110bb565b92915050565b5f819050919050565b5f6111066111016110fc84610f3c565b6110e3565b610f3c565b9050919050565b5f611117826110ec565b9050919050565b5f6111288261110d565b9050919050565b6111388161111e565b82525050565b5f6020820190506111515f83018461112f565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061119b57607f821691505b6020821081036111ae576111ad611157565b5b50919050565b7f4c612063616e7469646164206465626520736572206d61796f722061206365725f8201527f6f00000000000000000000000000000000000000000000000000000000000000602082015250565b5f61120e602183610e81565b9150611219826111b4565b604082019050919050565b5f6020820190508181035f83015261123b81611202565b9050919050565b5f6060820190506112555f830186611088565b6112626020830185611088565b61126f6040830184610f10565b949350505050565b611280816110b0565b811461128a575f80fd5b50565b5f8151905061129b81611277565b92915050565b5f602082840312156112b6576112b5610f38565b5b5f6112c38482850161128d565b91505092915050565b7f5472616e73666572656e63696120646520555344542066616c6c6964610000005f82015250565b5f611300601d83610e81565b915061130b826112cc565b602082019050919050565b5f6020820190508181035f83015261132d816112f4565b9050919050565b7f4e6f206572657320656c2070726f706965746172696f2064656c20636f6e74725f8201527f61746f0000000000000000000000000000000000000000000000000000000000602082015250565b5f61138e602383610e81565b915061139982611334565b604082019050919050565b5f6020820190508181035f8301526113bb81611382565b9050919050565b7f4c6120646972656363696f6e206e6f20707565646520736572206365726f00005f82015250565b5f6113f6601e83610e81565b9150611401826113c2565b602082019050919050565b5f6020820190508181035f830152611423816113ea565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61146182610f07565b915061146c83610f07565b92508282019050808211156114845761148361142a565b5b92915050565b5f8151905061149881610ff5565b92915050565b5f602082840312156114b3576114b2610f38565b5b5f6114c08482850161148a565b91505092915050565b7f4e6f2068617920737566696369656e74657320746f6b656e73000000000000005f82015250565b5f6114fd601983610e81565b9150611508826114c9565b602082019050919050565b5f6020820190508181035f83015261152a816114f1565b9050919050565b5f61153b82610f07565b915061154683610f07565b925082820390508181111561155e5761155d61142a565b5b92915050565b7f4e6f2068617920737566696369656e746573205553445420656e20656c20636f5f8201527f6e747261746f0000000000000000000000000000000000000000000000000000602082015250565b5f6115be602683610e81565b91506115c982611564565b604082019050919050565b5f6020820190508181035f8301526115eb816115b2565b9050919050565b5f6040820190506116055f830185611088565b6116126020830184610f10565b939250505056fea2646970667358221220f46dd435c3b48dd7f8fc84ee02e50f73dd26a50da9d0a01bbf32d4755ab1662364736f6c634300081a0033

Verified Source Code Partial Match

Compiler: v0.8.26+commit.8a97fa7a EVM: cancun Optimization: No
MyTokenManager.sol 91 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

// Interfaz del contrato ERC20 para interactuar con USDT
interface IERC20 {
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
}

// Contrato que implementa un token ERC20 y gestión de USDT
contract MyTokenManager {
    string public name = "TokenGB";
    string public symbol = "GBC";
    uint8 public decimals = 6;
    uint256 public totalSupply;

    mapping(address => uint256) public balances;

    address public owner;                // Propietario del contrato
    IERC20 public usdtToken;             // Instancia del token USDT

    // Evento para registrar la transferencia de tokens
    event Transfer(address indexed from, address indexed to, uint256 value);
    // Evento para registrar la mint de tokens
    event Mint(address indexed to, uint256 amount);
    // Evento para registrar la transferencia de USDT
    event TransferUSDT(address indexed recipient, uint256 amount);

    // Constructor que inicializa el contrato
    constructor(address usdtAddress) {
        owner = msg.sender;               // La dirección que despliega el contrato es el propietario
        usdtToken = IERC20(usdtAddress); // Dirección del contrato USDT
    }

    // Modificador para restringir el acceso al propietario del contrato
    modifier onlyOwner() {
        require(msg.sender == owner, "No eres el propietario del contrato");
        _;
    }

    // Función para mintear nuevos tokens
    function mint(address to, uint256 amount) external onlyOwner {
        require(to != address(0), "La direccion no puede ser cero");
        totalSupply += amount;
        balances[to] += amount;
        emit Mint(to, amount);
        emit Transfer(address(0), to, amount);
    }

    // Función para transferir tokens
    function transfer(address recipient, uint256 amount) external returns (bool) {
        require(recipient != address(0), "La direccion no puede ser cero");
        require(balances[msg.sender] >= amount, "No hay suficientes tokens");
        balances[msg.sender] -= amount;
        balances[recipient] += amount;
        emit Transfer(msg.sender, recipient, amount);
        return true;
    }

    // Función para recibir USDT en el contrato
    function receiveUSDT(uint256 amount) external {
        require(amount > 0, "La cantidad debe ser mayor a cero");
        require(usdtToken.transferFrom(msg.sender, address(this), amount), "Transferencia de USDT fallida");
    }

    // Función para que el propietario transfiera USDT a otra dirección
    function transferUSDT(address recipient, uint256 amount) external onlyOwner {
        require(recipient != address(0), "La direccion no puede ser cero");
        require(amount > 0, "La cantidad debe ser mayor a cero");
        uint256 contractBalance = usdtToken.balanceOf(address(this));
        require(contractBalance >= amount, "No hay suficientes USDT en el contrato");
        require(usdtToken.transfer(recipient, amount), "Transferencia de USDT fallida");
        emit TransferUSDT(recipient, amount);
    }

    // Consulta el balance de un usuario de MyToken
    function balanceOf(address account) external view returns (uint256) {
        return balances[account];
    }

    // Consulta el balance de USDT en el contrato
    function usdtBalance() external view returns (uint256) {
        return usdtToken.balanceOf(address(this));
    }

    // Consulta el balance de USDT de un usuario específico
    function usdtBalanceOf(address account) external view returns (uint256) {
        return usdtToken.balanceOf(account);
    }
}

Read Contract

balanceOf 0x70a08231 → uint256
balances 0x27e235e3 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
usdtBalance 0x482edb07 → uint256
usdtBalanceOf 0xa9874c39 → uint256
usdtToken 0xa98ad46c → address

Write Contract 4 functions

These functions modify contract state and require a wallet transaction to execute.

mint 0x40c10f19
address to
uint256 amount
receiveUSDT 0x38d51da8
uint256 amount
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferUSDT 0xd015ed6a
address recipient
uint256 amount

Recent Transactions

No transactions found for this address