Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0xe7A658a0ba237790aD4F4e2f416a7b2ea69eeeee
Balance 0 ETH
Nonce 1
Code Size 1821 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

1821 bytes
0x608060405234801561000f575f5ffd5b5060043610610090575f3560e01c8063313ce56711610063578063313ce567146100fa57806370a082311461011957806395d89b4114610141578063a9059cbb14610149578063dd62ed3e1461015c575f5ffd5b806306fdde0314610094578063095ea7b3146100b257806318160ddd146100d557806323b872dd146100e7575b5f5ffd5b61009c610194565b6040516100a99190610572565b60405180910390f35b6100c56100c03660046105c2565b61021f565b60405190151581526020016100a9565b6003545b6040519081526020016100a9565b6100c56100f53660046105ea565b610235565b6002546101079060ff1681565b60405160ff90911681526020016100a9565b6100d9610127366004610624565b6001600160a01b03165f9081526004602052604090205490565b61009c6102e2565b6100c56101573660046105c2565b6102ef565b6100d961016a366004610644565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b5f80546101a090610675565b80601f01602080910402602001604051908101604052809291908181526020018280546101cc90610675565b80156102175780601f106101ee57610100808354040283529160200191610217565b820191905f5260205f20905b8154815290600101906020018083116101fa57829003601f168201915b505050505081565b5f61022b3384846102fb565b5060015b92915050565b5f61024184848461041f565b6001600160a01b0384165f908152600560209081526040808320338452909152902054828110156102ca5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6102d785338584036102fb565b506001949350505050565b600180546101a090610675565b5f61022b33848461041f565b6001600160a01b03831661035d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102c1565b6001600160a01b0382166103be5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102c1565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0382166104755760405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220746f207a65726f2061646472657373000000000000000060448201526064016102c1565b6001600160a01b0383165f908152600460205260409020548111156104d35760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016102c1565b6001600160a01b0383165f90815260046020526040812080548392906104fa9084906106c1565b90915550506001600160a01b0382165f90815260046020526040812080548392906105269084906106d4565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161041291815260200190565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146105bd575f5ffd5b919050565b5f5f604083850312156105d3575f5ffd5b6105dc836105a7565b946020939093013593505050565b5f5f5f606084860312156105fc575f5ffd5b610605846105a7565b9250610613602085016105a7565b929592945050506040919091013590565b5f60208284031215610634575f5ffd5b61063d826105a7565b9392505050565b5f5f60408385031215610655575f5ffd5b61065e836105a7565b915061066c602084016105a7565b90509250929050565b600181811c9082168061068957607f821691505b6020821081036106a757634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561022f5761022f6106ad565b8082018082111561022f5761022f6106ad56fea2646970667358221220cd970947f85d2c3a59ce0431235c6373535e32eedbdf6246b1705f179a4f9e6564736f6c634300081e0033

Verified Source Code Partial Match

Compiler: v0.8.30+commit.73712a01 EVM: prague Optimization: Yes (200 runs)
ERC20.sol 81 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ERC20 is IERC20 {
    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 private _totalSupply;
    
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    constructor() {
        name = "somETHing";
        symbol = "SOMETH";
        decimals = 18;
        _totalSupply = 10_000_000_000 * 1e18;
        
        _balances[msg.sender] = _totalSupply;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        
        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(recipient != address(0), "Transfer to zero address");
        require(_balances[sender] >= amount, "Insufficient balance");
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

Read Contract

allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 3 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool

Recent Transactions

No transactions found for this address