Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x556c3cbDCA77a7f21AFE15b17e644e0e98e64Df4
Balance 0 ETH
Nonce 1
Code Size 7566 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

7566 bytes
0x608060405234801561000f575f80fd5b50600436106100f3575f3560e01c80634460d3cf1161009557806395d89b411161006457806395d89b411461025f578063a457c2d71461027d578063a9059cbb146102ad578063dd62ed3e146102dd576100f3565b80634460d3cf146101eb57806370a0823114610207578063715018a614610237578063893d20e814610241576100f3565b806320800a00116100d157806320800a001461016357806323b872dd1461016d578063313ce5671461019d57806339509351146101bb576100f3565b806306fdde03146100f7578063095ea7b31461011557806318160ddd14610145575b5f80fd5b6100ff61030d565b60405161010c91906110b7565b60405180910390f35b61012f600480360381019061012a9190611168565b61034a565b60405161013c91906111c0565b60405180910390f35b61014d610365565b60405161015a91906111e8565b60405180910390f35b61016b610389565b005b61018760048036038101906101829190611201565b61052b565b60405161019491906111c0565b60405180910390f35b6101a56105c0565b6040516101b2919061126c565b60405180910390f35b6101d560048036038101906101d09190611168565b6105c8565b6040516101e291906111c0565b60405180910390f35b61020560048036038101906102009190611285565b6105f7565b005b610221600480360381019061021c9190611285565b6107e9565b60405161022e91906111e8565b60405180910390f35b61023f61082e565b005b61024961097a565b60405161025691906112bf565b60405180910390f35b6102676109a2565b60405161027491906110b7565b60405180910390f35b61029760048036038101906102929190611168565b6109df565b6040516102a491906111c0565b60405180910390f35b6102c760048036038101906102c29190611168565b610a4d565b6040516102d491906111c0565b60405180910390f35b6102f760048036038101906102f291906112d8565b610ad6565b60405161030491906111e8565b60405180910390f35b60606040518060400160405280600381526020017f4d616f0000000000000000000000000000000000000000000000000000000000815250905090565b5f8033905061035a818585610b58565b600191505092915050565b5f6012600a6103749190611472565b64e8d4a5100061038491906114bc565b905090565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040f90611547565b60405180910390fd5b5f4790505f811161045e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610455906115d5565b60405180910390fd5b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516104a490611620565b5f6040518083038185875af1925050503d805f81146104de576040519150601f19603f3d011682016040523d82523d5f602084013e6104e3565b606091505b5050905080610527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051e9061167e565b60405180910390fd5b5050565b5f803390508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361059e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105959061170c565b60405180910390fd5b6105a9858285610d1b565b6105b4858585610da6565b60019150509392505050565b5f6012905090565b5f803390506105ec8185856105dd8589610ad6565b6105e7919061172a565b610b58565b600191505092915050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067d90611547565b60405180910390fd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106c491906112bf565b602060405180830381865afa1580156106df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107039190611771565b90505f8111610747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073e906115d5565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016107a392919061179c565b6020604051808303815f875af11580156107bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e391906117ed565b50505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b490611862565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d414f0000000000000000000000000000000000000000000000000000000000815250905090565b5f803390505f6109ef8286610ad6565b905083811015610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b906118f0565b60405180910390fd5b610a418286868403610b58565b60019250505092915050565b5f803390508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ac0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab79061197e565b60405180910390fd5b610acb818585610da6565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd90611a0c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b90611a9a565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d0e91906111e8565b60405180910390a3505050565b5f610d268484610ad6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610da05781811015610d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8990611b02565b60405180910390fd5b610d9f8484848403610b58565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b90611b90565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7990611c1e565b60405180910390fd5b5f8111610ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebb90611cac565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610f47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3e90611d3a565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610fd5919061172a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161103991906111e8565b60405180910390a350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61108982611047565b6110938185611051565b93506110a3818560208601611061565b6110ac8161106f565b840191505092915050565b5f6020820190508181035f8301526110cf818461107f565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611104826110db565b9050919050565b611114816110fa565b811461111e575f80fd5b50565b5f8135905061112f8161110b565b92915050565b5f819050919050565b61114781611135565b8114611151575f80fd5b50565b5f813590506111628161113e565b92915050565b5f806040838503121561117e5761117d6110d7565b5b5f61118b85828601611121565b925050602061119c85828601611154565b9150509250929050565b5f8115159050919050565b6111ba816111a6565b82525050565b5f6020820190506111d35f8301846111b1565b92915050565b6111e281611135565b82525050565b5f6020820190506111fb5f8301846111d9565b92915050565b5f805f60608486031215611218576112176110d7565b5b5f61122586828701611121565b935050602061123686828701611121565b925050604061124786828701611154565b9150509250925092565b5f60ff82169050919050565b61126681611251565b82525050565b5f60208201905061127f5f83018461125d565b92915050565b5f6020828403121561129a576112996110d7565b5b5f6112a784828501611121565b91505092915050565b6112b9816110fa565b82525050565b5f6020820190506112d25f8301846112b0565b92915050565b5f80604083850312156112ee576112ed6110d7565b5b5f6112fb85828601611121565b925050602061130c85828601611121565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156113985780860481111561137457611373611316565b5b60018516156113835780820291505b808102905061139185611343565b9450611358565b94509492505050565b5f826113b0576001905061146b565b816113bd575f905061146b565b81600181146113d357600281146113dd5761140c565b600191505061146b565b60ff8411156113ef576113ee611316565b5b8360020a91508482111561140657611405611316565b5b5061146b565b5060208310610133831016604e8410600b84101617156114415782820a90508381111561143c5761143b611316565b5b61146b565b61144e848484600161134f565b9250905081840481111561146557611464611316565b5b81810290505b9392505050565b5f61147c82611135565b915061148783611251565b92506114b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846113a1565b905092915050565b5f6114c682611135565b91506114d183611135565b92508282026114df81611135565b915082820484148315176114f6576114f5611316565b5b5092915050565b7f43616c6c6572206973206e6f7420746865206465762077616c6c6574000000005f82015250565b5f611531601c83611051565b915061153c826114fd565b602082019050919050565b5f6020820190508181035f83015261155e81611525565b9050919050565b7f416d6f756e742073686f756c642062652067726561746572207468616e207a655f8201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b5f6115bf602283611051565b91506115ca82611565565b604082019050919050565b5f6020820190508181035f8301526115ec816115b3565b9050919050565b5f81905092915050565b50565b5f61160b5f836115f3565b9150611616826115fd565b5f82019050919050565b5f61162a82611600565b9150819050919050565b7f455448207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f611668601383611051565b915061167382611634565b602082019050919050565b5f6020820190508181035f8301526116958161165c565b9050919050565b7f45524332303a207472616e7366657246726f6d207370656e6465722063616e205f8201527f6e6f74206265207468652066726f6d0000000000000000000000000000000000602082015250565b5f6116f6602f83611051565b91506117018261169c565b604082019050919050565b5f6020820190508181035f830152611723816116ea565b9050919050565b5f61173482611135565b915061173f83611135565b925082820190508082111561175757611756611316565b5b92915050565b5f8151905061176b8161113e565b92915050565b5f60208284031215611786576117856110d7565b5b5f6117938482850161175d565b91505092915050565b5f6040820190506117af5f8301856112b0565b6117bc60208301846111d9565b9392505050565b6117cc816111a6565b81146117d6575f80fd5b50565b5f815190506117e7816117c3565b92915050565b5f60208284031215611802576118016110d7565b5b5f61180f848285016117d9565b91505092915050565b7f4e6f742074686520636f6e7472616374206f776e6572000000000000000000005f82015250565b5f61184c601683611051565b915061185782611818565b602082019050919050565b5f6020820190508181035f83015261187981611840565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6118da602583611051565b91506118e582611880565b604082019050919050565b5f6020820190508181035f830152611907816118ce565b9050919050565b7f45524332303a207472616e7366657220746f20616464726573732063616e6e6f5f8201527f74206265206f776e657200000000000000000000000000000000000000000000602082015250565b5f611968602a83611051565b91506119738261190e565b604082019050919050565b5f6020820190508181035f8301526119958161195c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6119f6602483611051565b9150611a018261199c565b604082019050919050565b5f6020820190508181035f830152611a23816119ea565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611a84602283611051565b9150611a8f82611a2a565b604082019050919050565b5f6020820190508181035f830152611ab181611a78565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611aec601d83611051565b9150611af782611ab8565b602082019050919050565b5f6020820190508181035f830152611b1981611ae0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611b7a602583611051565b9150611b8582611b20565b604082019050919050565b5f6020820190508181035f830152611ba781611b6e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611c08602383611051565b9150611c1382611bae565b604082019050919050565b5f6020820190508181035f830152611c3581611bfc565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206d75737420626520675f8201527f726561746572207468616e207a65726f00000000000000000000000000000000602082015250565b5f611c96603083611051565b9150611ca182611c3c565b604082019050919050565b5f6020820190508181035f830152611cc381611c8a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f611d24602683611051565b9150611d2f82611cca565b604082019050919050565b5f6020820190508181035f830152611d5181611d18565b905091905056fea2646970667358221220518d72d3a9de2937befe0c0d725535b1232b860b8133c05c6c0644e232d38f3264736f6c634300081a0033

Verified Source Code Partial Match

Compiler: v0.8.26+commit.8a97fa7a EVM: cancun Optimization: No
MAO.sol 247 lines
// SPDX-License-Identifier: MIT

/**

https://t.me/Maos_World
https://x.com/Maos_World
https://Maos.World


JOIN THE LEGION AND BECOME LEGENDARY!



*/

pragma solidity ^0.8.7;

//--- Interface for ERC20 ---//
interface IERC20 {
    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
}

contract MAO is IERC20 {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    string private constant _name = "Mao";
    string private constant _symbol = "MAO";
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 1_000_000_000_000 * 10**_decimals;
    address private dev_wallet;

    address private _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    modifier onlyOwner() {
        require(msg.sender == _owner, "Not the contract owner");
        _;
    }
    modifier onlyDevWallet() {
        require(msg.sender == dev_wallet, "Caller is not the dev wallet");
        _;
    }

    constructor() {
        _owner = msg.sender;
        _balances[msg.sender] = _totalSupply;
        dev_wallet = msg.sender;
        emit Transfer(address(0), msg.sender, _totalSupply);
        emit OwnershipTransferred(address(0), msg.sender);
    }

    function getOwner() public view returns (address) {
        return _owner;
    }

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

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

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

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

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

    function transfer(address to, uint256 amount)
        external
        virtual
        returns (bool)
    {
        address owner = msg.sender;
        require(owner != to, "ERC20: transfer to address cannot be owner");
        _transfer(owner, to, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount)
        external
        virtual
        returns (bool)
    {
        address owner = msg.sender;
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external virtual returns (bool) {
        address spender = msg.sender;
        require(
            spender != from,
            "ERC20: transferFrom spender can not be the from"
        );
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        external
        virtual
        returns (bool)
    {
        address owner = msg.sender;
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        external
        virtual
        returns (bool)
    {
        address owner = msg.sender;
        uint256 currentAllowance = allowance(owner, spender);
        require(
            currentAllowance >= subtractedValue,
            "ERC20: decreased allowance below zero"
        );
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "ERC20: transfer amount must be greater than zero");

        uint256 fromBalance = _balances[from];
        require(
            fromBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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);
    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: insufficient allowance"
            );
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function rescueETH() external onlyDevWallet {
        uint256 contractETHBalance = address(this).balance;
        require(contractETHBalance > 0, "Amount should be greater than zero");
        (bool success, ) = payable(dev_wallet).call{value: contractETHBalance}(
            ""
        );
        require(success, "ETH transfer failed");
    }

    function rescueToken(address _token) external onlyDevWallet {
        address tokenAdd = address(_token); 
        uint256 tokenBalance = IERC20(tokenAdd).balanceOf(address(this));
        require(tokenBalance > 0, "Amount should be greater than zero");
        IERC20(tokenAdd).transfer(dev_wallet, tokenBalance);
    }
}

Read Contract

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

Write Contract 8 functions

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

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
renounceOwnership 0x715018a6
No parameters
rescueETH 0x20800a00
No parameters
rescueToken 0x4460d3cf
address _token
transfer 0xa9059cbb
address to
uint256 amount
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 amount
returns: bool

Recent Transactions

No transactions found for this address