Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x772358ef6ed3e18BdE1263F7d229601c5fa81875
Balance 0 ETH
Nonce 1
Code Size 3931 bytes
Last Active
Indexed Transactions 2 (24,319,29924,319,320)
Gas Used (indexed) 82,520
External Etherscan · Sourcify

Contract Bytecode

3931 bytes
0x608060405234801561000f575f80fd5b50600436106100b2575f3560e01c806342966c681161006f57806342966c681461018e57806370a08231146101aa57806379cc6790146101da57806395d89b41146101f6578063a9059cbb14610214578063dd62ed3e14610244576100b2565b806306fdde03146100b6578063095ea7b3146100d457806318160ddd1461010457806323b872dd14610122578063313ce56714610152578063425d498014610170575b5f80fd5b6100be610274565b6040516100cb9190610ba9565b60405180910390f35b6100ee60048036038101906100e99190610c5a565b610304565b6040516100fb9190610cb2565b60405180910390f35b61010c610326565b6040516101199190610cda565b60405180910390f35b61013c60048036038101906101379190610cf3565b61032f565b6040516101499190610cb2565b60405180910390f35b61015a61035d565b6040516101679190610d5e565b60405180910390f35b610178610365565b6040516101859190610d86565b60405180910390f35b6101a860048036038101906101a39190610d9f565b61038a565b005b6101c460048036038101906101bf9190610dca565b61039e565b6040516101d19190610cda565b60405180910390f35b6101f460048036038101906101ef9190610c5a565b6103e3565b005b6101fe610403565b60405161020b9190610ba9565b60405180910390f35b61022e60048036038101906102299190610c5a565b610493565b60405161023b9190610cb2565b60405180910390f35b61025e60048036038101906102599190610df5565b6104b5565b60405161026b9190610cda565b60405180910390f35b60606003805461028390610e60565b80601f01602080910402602001604051908101604052809291908181526020018280546102af90610e60565b80156102fa5780601f106102d1576101008083540402835291602001916102fa565b820191905f5260205f20905b8154815290600101906020018083116102dd57829003601f168201915b5050505050905090565b5f8061030e610537565b905061031b81858561053e565b600191505092915050565b5f600254905090565b5f80610339610537565b9050610346858285610550565b6103518585856105e2565b60019150509392505050565b5f6012905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61039b610395610537565b826106d2565b50565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6103f5826103ef610537565b83610550565b6103ff82826106d2565b5050565b60606004805461041290610e60565b80601f016020809104026020016040519081016040528092919081815260200182805461043e90610e60565b80156104895780601f1061046057610100808354040283529160200191610489565b820191905f5260205f20905b81548152906001019060200180831161046c57829003601f168201915b5050505050905090565b5f8061049d610537565b90506104aa8185856105e2565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b61054b8383836001610751565b505050565b5f61055b84846104b5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105dc57818110156105cd578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016105c493929190610e90565b60405180910390fd5b6105db84848484035f610751565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610652575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016106499190610d86565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106c2575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016106b99190610d86565b60405180910390fd5b6106cd838383610920565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610742575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016107399190610d86565b60405180910390fd5b61074d825f83610920565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036107c1575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016107b89190610d86565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610831575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016108289190610d86565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561091a578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109119190610cda565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610970578060025f8282546109649190610ef2565b92505081905550610a3e565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156109f9578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016109f093929190610e90565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a85578060025f8282540392505081905550610acf565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b2c9190610cda565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610b7b82610b39565b610b858185610b43565b9350610b95818560208601610b53565b610b9e81610b61565b840191505092915050565b5f6020820190508181035f830152610bc18184610b71565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610bf682610bcd565b9050919050565b610c0681610bec565b8114610c10575f80fd5b50565b5f81359050610c2181610bfd565b92915050565b5f819050919050565b610c3981610c27565b8114610c43575f80fd5b50565b5f81359050610c5481610c30565b92915050565b5f8060408385031215610c7057610c6f610bc9565b5b5f610c7d85828601610c13565b9250506020610c8e85828601610c46565b9150509250929050565b5f8115159050919050565b610cac81610c98565b82525050565b5f602082019050610cc55f830184610ca3565b92915050565b610cd481610c27565b82525050565b5f602082019050610ced5f830184610ccb565b92915050565b5f805f60608486031215610d0a57610d09610bc9565b5b5f610d1786828701610c13565b9350506020610d2886828701610c13565b9250506040610d3986828701610c46565b9150509250925092565b5f60ff82169050919050565b610d5881610d43565b82525050565b5f602082019050610d715f830184610d4f565b92915050565b610d8081610bec565b82525050565b5f602082019050610d995f830184610d77565b92915050565b5f60208284031215610db457610db3610bc9565b5b5f610dc184828501610c46565b91505092915050565b5f60208284031215610ddf57610dde610bc9565b5b5f610dec84828501610c13565b91505092915050565b5f8060408385031215610e0b57610e0a610bc9565b5b5f610e1885828601610c13565b9250506020610e2985828601610c13565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610e7757607f821691505b602082108103610e8a57610e89610e33565b5b50919050565b5f606082019050610ea35f830186610d77565b610eb06020830185610ccb565b610ebd6040830184610ccb565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610efc82610c27565b9150610f0783610c27565b9250828201905080821115610f1f57610f1e610ec5565b5b9291505056fea2646970667358221220b249be7b83175b5810d973326f37be32f4ff552176a00afea78cb1c00209df4264736f6c63430008190033

Verified Source Code Partial Match

Compiler: v0.8.25+commit.b61c2a91 EVM: cancun Optimization: No
SNPad.sol 273 lines
// SPDX-License-Identifier: MIT
// File: @openzeppelin/[email protected]/interfaces/draft-IERC6093.sol
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC6093.sol)
pragma solidity ^0.8.20;

/**
 * @dev Standard ERC20 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC20 tokens.
 */
interface IERC20Errors {
    error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);
    error ERC20InvalidSender(address sender);
    error ERC20InvalidReceiver(address receiver);
    error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);
    error ERC20InvalidApprover(address approver);
    error ERC20InvalidSpender(address spender);
}

/**
 * @dev Standard ERC721 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC721 tokens.
 */
interface IERC721Errors {
    error ERC721InvalidOwner(address owner);
    error ERC721NonexistentToken(uint256 tokenId);
    error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);
    error ERC721InvalidSender(address sender);
    error ERC721InvalidReceiver(address receiver);
    error ERC721InsufficientApproval(address operator, uint256 tokenId);
    error ERC721InvalidApprover(address approver);
    error ERC721InvalidOperator(address operator);
}

/**
 * @dev Standard ERC1155 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC1155 tokens.
 */
interface IERC1155Errors {
    error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);
    error ERC1155InvalidSender(address sender);
    error ERC1155InvalidReceiver(address receiver);
    error ERC1155MissingApprovalForAll(address operator, address owner);
    error ERC1155InvalidApprover(address approver);
    error ERC1155InvalidOperator(address operator);
    error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);
}

// File: @openzeppelin/[email protected]/utils/Context.sol
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)

pragma solidity ^0.8.20;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}

// File: @openzeppelin/[email protected]/token/ERC20/IERC20.sol
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.20;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);
}

// File: @openzeppelin/[email protected]/token/ERC20/extensions/IERC20Metadata.sol
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.20;


/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 */
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

// File: @openzeppelin/[email protected]/token/ERC20/ERC20.sol
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/ERC20.sol)

pragma solidity ^0.8.20;

abstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {
    mapping(address account => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

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

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

    function transfer(address to, uint256 value) public virtual returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, value);
        return true;
    }

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

    function approve(address spender, uint256 value) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, value);
        return true;
    }

    function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, value);
        _transfer(from, to, value);
        return true;
    }

    function _transfer(address from, address to, uint256 value) internal {
        if (from == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        if (to == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _update(from, to, value);
    }

    function _update(address from, address to, uint256 value) internal virtual {
        if (from == address(0)) {
            // Overflow check required: The rest of the code assumes that totalSupply never overflows
            _totalSupply += value;
        } else {
            uint256 fromBalance = _balances[from];
            if (fromBalance < value) {
                revert ERC20InsufficientBalance(from, fromBalance, value);
            }
            unchecked {
                // Overflow not possible: value <= fromBalance <= totalSupply.
                _balances[from] = fromBalance - value;
            }
        }

        if (to == address(0)) {
            unchecked {
                // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.
                _totalSupply -= value;
            }
        } else {
            unchecked {
                // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.
                _balances[to] += value;
            }
        }

        emit Transfer(from, to, value);
    }

    function _mint(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _update(address(0), account, value);
    }

    function _burn(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        _update(account, address(0), value);
    }

    function _approve(address owner, address spender, uint256 value) internal {
        _approve(owner, spender, value, true);
    }

    function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {
        if (owner == address(0)) {
            revert ERC20InvalidApprover(address(0));
        }
        if (spender == address(0)) {
            revert ERC20InvalidSpender(address(0));
        }
        _allowances[owner][spender] = value;
        if (emitEvent) {
            emit Approval(owner, spender, value);
        }
    }

    function _spendAllowance(address owner, address spender, uint256 value) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            if (currentAllowance < value) {
                revert ERC20InsufficientAllowance(spender, currentAllowance, value);
            }
            unchecked {
                _approve(owner, spender, currentAllowance - value, false);
            }
        }
    }
}

// File: @openzeppelin/[email protected]/token/ERC20/extensions/ERC20Burnable.sol
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20Burnable.sol)

pragma solidity ^0.8.20;

abstract contract ERC20Burnable is Context, ERC20 {

    function burn(uint256 value) public virtual {
        _burn(_msgSender(), value);
    }

    function burnFrom(address account, uint256 value) public virtual {
        _spendAllowance(account, _msgSender(), value);
        _burn(account, value);
    }
}

pragma solidity ^0.8.20;

contract SNPad is ERC20, ERC20Burnable {
    address public mintAddress = 0x3918EE588993192a73fc5aF74149F569fFa6a386;

    constructor() ERC20("SNP adverse", "SNPAD") {
        _mint(mintAddress, 280000000 * 10 ** decimals());
    }
}

Read Contract

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

Write Contract 5 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
burnFrom 0x79cc6790
address account
uint256 value
transfer 0xa9059cbb
address to
uint256 value
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 value
returns: bool

Top Interactions

AddressTxnsSentReceived
0x11156fbd...6222 2 2

Recent Transactions

CSV
|
Hash Method Block Age From/To Value Txn Fee Type
0x03a33334...4e9245 transfer 24,319,320 IN 0x11156fbd...6222 0 ETH 0.000065443547 ETH EIP-1559
0x43429545...dd2a11 transfer 24,319,299 IN 0x11156fbd...6222 0 ETH 0.000110911359 ETH EIP-1559