Cryo Explorer Ethereum Mainnet

Address Contract Verified

Address 0xF5b10a175d1AA970Db23A4d1ca50C805946C75cf
Balance 0 ETH
Nonce 1
Code Size 5326 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

5326 bytes
0x608060405234801561000f575f80fd5b50600436106100b2575f3560e01c806342966c681161006f57806342966c68146101a057806370a08231146101bc57806395d89b41146101ec578063a457c2d71461020a578063a9059cbb1461023a578063dd62ed3e1461026a576100b2565b806306fdde03146100b6578063095ea7b3146100d457806318160ddd1461010457806323b872dd14610122578063313ce567146101525780633950935114610170575b5f80fd5b6100be61029a565b6040516100cb9190610db0565b60405180910390f35b6100ee60048036038101906100e99190610e61565b61032a565b6040516100fb9190610eb9565b60405180910390f35b61010c610340565b6040516101199190610ee1565b60405180910390f35b61013c60048036038101906101379190610efa565b610349565b6040516101499190610eb9565b60405180910390f35b61015a6103f5565b6040516101679190610f65565b60405180910390f35b61018a60048036038101906101859190610e61565b61040a565b6040516101979190610eb9565b60405180910390f35b6101ba60048036038101906101b59190610f7e565b6104aa565b005b6101d660048036038101906101d19190610fa9565b6104b7565b6040516101e39190610ee1565b60405180910390f35b6101f46104fc565b6040516102019190610db0565b60405180910390f35b610224600480360381019061021f9190610e61565b61058c565b6040516102319190610eb9565b60405180910390f35b610254600480360381019061024f9190610e61565b61062c565b6040516102619190610eb9565b60405180910390f35b610284600480360381019061027f9190610fd4565b610642565b6040516102919190610ee1565b60405180910390f35b6060600380546102a99061103f565b80601f01602080910402602001604051908101604052809291908181526020018280546102d59061103f565b80156103205780601f106102f757610100808354040283529160200191610320565b820191905f5260205f20905b81548152906001019060200180831161030357829003601f168201915b5050505050905090565b5f6103363384846106c4565b6001905092915050565b5f600254905090565b5f610355848484610887565b6103ea84336103e58560015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610aeb90919063ffffffff16565b6106c4565b600190509392505050565b5f60055f9054906101000a900460ff16905090565b5f6104a0338461049b8560015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610b4890919063ffffffff16565b6106c4565b6001905092915050565b6104b43382610ba5565b50565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461050b9061103f565b80601f01602080910402602001604051908101604052809291908181526020018280546105379061103f565b80156105825780601f1061055957610100808354040283529160200191610582565b820191905f5260205f20905b81548152906001019060200180831161056557829003601f168201915b5050505050905090565b5f610622338461061d8560015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610aeb90919063ffffffff16565b6106c4565b6001905092915050565b5f610638338484610887565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610732576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610729906110df565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107979061116d565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161087a9190610ee1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec906111fb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610963576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095a90611289565b60405180910390fd5b6109b2815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610aeb90919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610a41815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610b4890919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ade9190610ee1565b60405180910390a3505050565b5f82821115610b2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b26906112f1565b60405180910390fd5b5f8284610b3c919061133c565b90508091505092915050565b5f808284610b56919061136f565b905083811015610b9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b92906113ec565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0a9061147a565b60405180910390fd5b610c2881600254610aeb90919063ffffffff16565b600281905550610c7d815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610aeb90919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d1a9190610ee1565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610d5d578082015181840152602081019050610d42565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610d8282610d26565b610d8c8185610d30565b9350610d9c818560208601610d40565b610da581610d68565b840191505092915050565b5f6020820190508181035f830152610dc88184610d78565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610dfd82610dd4565b9050919050565b610e0d81610df3565b8114610e17575f80fd5b50565b5f81359050610e2881610e04565b92915050565b5f819050919050565b610e4081610e2e565b8114610e4a575f80fd5b50565b5f81359050610e5b81610e37565b92915050565b5f8060408385031215610e7757610e76610dd0565b5b5f610e8485828601610e1a565b9250506020610e9585828601610e4d565b9150509250929050565b5f8115159050919050565b610eb381610e9f565b82525050565b5f602082019050610ecc5f830184610eaa565b92915050565b610edb81610e2e565b82525050565b5f602082019050610ef45f830184610ed2565b92915050565b5f805f60608486031215610f1157610f10610dd0565b5b5f610f1e86828701610e1a565b9350506020610f2f86828701610e1a565b9250506040610f4086828701610e4d565b9150509250925092565b5f60ff82169050919050565b610f5f81610f4a565b82525050565b5f602082019050610f785f830184610f56565b92915050565b5f60208284031215610f9357610f92610dd0565b5b5f610fa084828501610e4d565b91505092915050565b5f60208284031215610fbe57610fbd610dd0565b5b5f610fcb84828501610e1a565b91505092915050565b5f8060408385031215610fea57610fe9610dd0565b5b5f610ff785828601610e1a565b925050602061100885828601610e1a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061105657607f821691505b60208210810361106957611068611012565b5b50919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6110c9602483610d30565b91506110d48261106f565b604082019050919050565b5f6020820190508181035f8301526110f6816110bd565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611157602283610d30565b9150611162826110fd565b604082019050919050565b5f6020820190508181035f8301526111848161114b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6111e5602583610d30565b91506111f08261118b565b604082019050919050565b5f6020820190508181035f830152611212816111d9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611273602383610d30565b915061127e82611219565b604082019050919050565b5f6020820190508181035f8301526112a081611267565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f6112db601e83610d30565b91506112e6826112a7565b602082019050919050565b5f6020820190508181035f830152611308816112cf565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61134682610e2e565b915061135183610e2e565b92508282039050818111156113695761136861130f565b5b92915050565b5f61137982610e2e565b915061138483610e2e565b925082820190508082111561139c5761139b61130f565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6113d6601b83610d30565b91506113e1826113a2565b602082019050919050565b5f6020820190508181035f830152611403816113ca565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f611464602183610d30565b915061146f8261140a565b604082019050919050565b5f6020820190508181035f83015261149181611458565b905091905056fea26469706673582212208bb0a800d37210fbd499fd3ac016eda89f3b0e300f7f1ab4076669a568b384e764736f6c63430008150033

Verified Source Code Full Match

Compiler: v0.8.21+commit.d9974bed EVM: shanghai Optimization: No
Beetle.sol 233 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.21;

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
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}

contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            msg.sender,
            _allowances[sender][msg.sender].sub(amount)
        );
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].sub(subtractedValue)
        );
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(
        address mintFrom,
        address account,
        uint256 amount
    ) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(mintFrom, account, amount);
    }

    function _burn(address account, uint256 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }

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

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

    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(
            account,
            msg.sender,
            _allowances[account][msg.sender].sub(amount)
        );
    }
}

contract Beetle is ERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals = 9;
    uint256 private _totalSupply = 100_000_000_000 * (10**_decimals);

    constructor(
        string memory tokenName,
        string memory tokenSymbol,
        address tokenOwnerAddress,
        address mintFrom
    ) payable {
        _name = tokenName;
        _symbol = tokenSymbol;
        _mint(mintFrom, tokenOwnerAddress, _totalSupply);
    }

    function burn(uint256 value) public {
        _burn(msg.sender, value);
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

Read Contract

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

Write Contract 6 functions

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

approve 0x095ea7b3
address spender
uint256 value
returns: bool
burn 0x42966c68
uint256 value
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
increaseAllowance 0x39509351
address spender
uint256 addedValue
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