ETH Price: $3,210.80 (-1.36%)
Gas: 1 Gwei

Token

Ross (ROSS)
 

Overview

Max Total Supply

617 ROSS

Holders

81

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
cbob.eth
Balance
5 ROSS

Value
$0.00
0xA64fc17B157aaA50AC9a8341BAb72D4647d0f1A7
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Ross

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2021-12-31
*/

// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*///////////////////////////////////////////////////////////////
                                  EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

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

    /*///////////////////////////////////////////////////////////////
                             METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*///////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

    /*///////////////////////////////////////////////////////////////
                             EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    bytes32 public constant PERMIT_TYPEHASH =
        keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*///////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*///////////////////////////////////////////////////////////////
                              ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*///////////////////////////////////////////////////////////////
                              EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            bytes32 digest = keccak256(
                abi.encodePacked(
                    "\x19\x01",
                    DOMAIN_SEPARATOR(),
                    keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline))
                )
            );

            address recoveredAddress = ecrecover(digest, v, r, s);

            require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER");

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    /*///////////////////////////////////////////////////////////////
                       INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

        emit Transfer(from, address(0), amount);
    }
}

/// @notice Ross token for Ross stuff.
contract Ross is ERC20("Ross", "ROSS", 18) {
    address public ross;

    string public stuff;

    constructor() {
        ross = msg.sender;
    }

    modifier onlyRoss {
        require(msg.sender == ross, "NOT_ROSS");
        _;
    }

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

    function mint(address to, uint256 amount) public onlyRoss {
        _mint(to, amount);
    }

    function offerStuff(string calldata stuff_) public onlyRoss {
        stuff = stuff_;
    }

    function newRoss(address ross_) public onlyRoss {
        ross = ross_;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ross_","type":"address"}],"name":"newRoss","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"stuff_","type":"string"}],"name":"offerStuff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ross","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stuff","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60e06040523480156200001157600080fd5b5060405180604001604052806004815260200163526f737360e01b81525060405180604001604052806004815260200163524f535360e01b81525060128260009080519060200190620000669291906200014c565b5081516200007c9060019060208501906200014c565b5060ff81166080524660a05262000092620000b0565b60c0525050600680546001600160a01b0319163317905550620002d3565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000e491906200022f565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8280546200015a90620001f2565b90600052602060002090601f0160209004810192826200017e5760008555620001c9565b82601f106200019957805160ff1916838001178555620001c9565b82800160010185558215620001c9579182015b82811115620001c9578251825591602001919060010190620001ac565b50620001d7929150620001db565b5090565b5b80821115620001d75760008155600101620001dc565b600181811c908216806200020757607f821691505b602082108114156200022957634e487b7160e01b600052602260045260246000fd5b50919050565b600080835481600182811c9150808316806200024c57607f831692505b60208084108214156200026d57634e487b7160e01b86526022600452602486fd5b8180156200028457600181146200029657620002c5565b60ff19861689528489019650620002c5565b60008a81526020902060005b86811015620002bd5781548b820152908501908301620002a2565b505084890196505b509498975050505050505050565b60805160a05160c0516112316200030360003960006105e1015260006105ac015260006101ed01526112316000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c8063635ba8f2116100cd5780639ee9ece711610081578063d505accf11610066578063d505accf1461030c578063d76033741461031f578063dd62ed3e1461033257600080fd5b80639ee9ece7146102b4578063a9059cbb146102f957600080fd5b80637ecebe00116100b25780637ecebe001461028457806395d89b41146102a45780639c755f2f146102ac57600080fd5b8063635ba8f21461025157806370a082311461026457600080fd5b806330adf81f116101245780633644e515116101095780633644e5151461022157806340c10f191461022957806342966c681461023e57600080fd5b806330adf81f146101c1578063313ce567146101e857600080fd5b806306fdde0314610156578063095ea7b31461017457806318160ddd1461019757806323b872dd146101ae575b600080fd5b61015e61035d565b60405161016b9190610e21565b60405180910390f35b610187610182366004610ebd565b6103eb565b604051901515815260200161016b565b6101a060025481565b60405190815260200161016b565b6101876101bc366004610ee7565b610464565b6101a07f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161016b565b6101a06105a8565b61023c610237366004610ebd565b610603565b005b61023c61024c366004610f23565b610697565b61023c61025f366004610f3c565b6106a4565b6101a0610272366004610f3c565b60036020526000908152604090205481565b6101a0610292366004610f3c565b60056020526000908152604090205481565b61015e61076c565b61015e610779565b6006546102d49073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016b565b610187610307366004610ebd565b610786565b61023c61031a366004610f5e565b61080b565b61023c61032d366004610fd1565b610b37565b6101a0610340366004611043565b600460209081526000928352604080842090915290825290205481565b6000805461036a90611076565b80601f016020809104026020016040519081016040528092919081815260200182805461039690611076565b80156103e35780601f106103b8576101008083540402835291602001916103e3565b820191906000526020600020905b8154815290600101906020018083116103c657829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104539086815260200190565b60405180910390a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146104f8576104c683826110f9565b73ffffffffffffffffffffffffffffffffffffffff861660009081526004602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff85166000908152600360205260408120805485929061052d9084906110f9565b909155505073ffffffffffffffffffffffffffffffffffffffff808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105959087815260200190565b60405180910390a3506001949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000046146105de576105d9610bc9565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b60065473ffffffffffffffffffffffffffffffffffffffff163314610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e4f545f524f535300000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6106938282610c63565b5050565b6106a13382610cdc565b50565b60065473ffffffffffffffffffffffffffffffffffffffff163314610725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e4f545f524f53530000000000000000000000000000000000000000000000006044820152606401610680565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6001805461036a90611076565b6007805461036a90611076565b336000908152600360205260408120805483919083906107a79084906110f9565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104539086815260200190565b42841015610875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610680565b600061087f6105a8565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938c166060840152608083018b905260a083019390935260c08083018a90528151808403909101815260e0830190915280519201919091207f190100000000000000000000000000000000000000000000000000000000000061010083015261010282019290925261012281019190915261014201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109de573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610a5957508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152606401610680565b73ffffffffffffffffffffffffffffffffffffffff90811660009081526004602090815260408083208b8516808552908352928190208a905551898152919350918a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610bb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e4f545f524f53530000000000000000000000000000000000000000000000006044820152606401610680565b610bc460078383610d6a565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610bfb9190611110565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060026000828254610c7591906111e3565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526003602052604081208054839290610d119084906110f9565b909155505060028054829003905560405181815260009073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610cd0565b828054610d7690611076565b90600052602060002090601f016020900481019282610d985760008555610dfc565b82601f10610dcf578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555610dfc565b82800160010185558215610dfc579182015b82811115610dfc578235825591602001919060010190610de1565b50610e08929150610e0c565b5090565b5b80821115610e085760008155600101610e0d565b600060208083528351808285015260005b81811015610e4e57858101830151858201604001528201610e32565b81811115610e60576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610eb857600080fd5b919050565b60008060408385031215610ed057600080fd5b610ed983610e94565b946020939093013593505050565b600080600060608486031215610efc57600080fd5b610f0584610e94565b9250610f1360208501610e94565b9150604084013590509250925092565b600060208284031215610f3557600080fd5b5035919050565b600060208284031215610f4e57600080fd5b610f5782610e94565b9392505050565b600080600080600080600060e0888a031215610f7957600080fd5b610f8288610e94565b9650610f9060208901610e94565b95506040880135945060608801359350608088013560ff81168114610fb457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060208385031215610fe457600080fd5b823567ffffffffffffffff80821115610ffc57600080fd5b818501915085601f83011261101057600080fd5b81358181111561101f57600080fd5b86602082850101111561103157600080fd5b60209290920196919550909350505050565b6000806040838503121561105657600080fd5b61105f83610e94565b915061106d60208401610e94565b90509250929050565b600181811c9082168061108a57607f821691505b602082108114156110c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561110b5761110b6110ca565b500390565b600080835481600182811c91508083168061112c57607f831692505b6020808410821415611165577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b81801561117957600181146111a8576111d5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616895284890196506111d5565b60008a81526020902060005b868110156111cd5781548b8201529085019083016111b4565b505084890196505b509498975050505050505050565b600082198211156111f6576111f66110ca565b50019056fea2646970667358221220bbc3d74a808cb0f4bcf8356b83477dd1273fbd29130221d1f52183b78451653764736f6c634300080b0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101515760003560e01c8063635ba8f2116100cd5780639ee9ece711610081578063d505accf11610066578063d505accf1461030c578063d76033741461031f578063dd62ed3e1461033257600080fd5b80639ee9ece7146102b4578063a9059cbb146102f957600080fd5b80637ecebe00116100b25780637ecebe001461028457806395d89b41146102a45780639c755f2f146102ac57600080fd5b8063635ba8f21461025157806370a082311461026457600080fd5b806330adf81f116101245780633644e515116101095780633644e5151461022157806340c10f191461022957806342966c681461023e57600080fd5b806330adf81f146101c1578063313ce567146101e857600080fd5b806306fdde0314610156578063095ea7b31461017457806318160ddd1461019757806323b872dd146101ae575b600080fd5b61015e61035d565b60405161016b9190610e21565b60405180910390f35b610187610182366004610ebd565b6103eb565b604051901515815260200161016b565b6101a060025481565b60405190815260200161016b565b6101876101bc366004610ee7565b610464565b6101a07f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b61020f7f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff909116815260200161016b565b6101a06105a8565b61023c610237366004610ebd565b610603565b005b61023c61024c366004610f23565b610697565b61023c61025f366004610f3c565b6106a4565b6101a0610272366004610f3c565b60036020526000908152604090205481565b6101a0610292366004610f3c565b60056020526000908152604090205481565b61015e61076c565b61015e610779565b6006546102d49073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161016b565b610187610307366004610ebd565b610786565b61023c61031a366004610f5e565b61080b565b61023c61032d366004610fd1565b610b37565b6101a0610340366004611043565b600460209081526000928352604080842090915290825290205481565b6000805461036a90611076565b80601f016020809104026020016040519081016040528092919081815260200182805461039690611076565b80156103e35780601f106103b8576101008083540402835291602001916103e3565b820191906000526020600020905b8154815290600101906020018083116103c657829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104539086815260200190565b60405180910390a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146104f8576104c683826110f9565b73ffffffffffffffffffffffffffffffffffffffff861660009081526004602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff85166000908152600360205260408120805485929061052d9084906110f9565b909155505073ffffffffffffffffffffffffffffffffffffffff808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105959087815260200190565b60405180910390a3506001949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000146146105de576105d9610bc9565b905090565b507fb64df408706e191888506e546e3d0b09c3496b8ada9a6009bf01b6d29506b86890565b60065473ffffffffffffffffffffffffffffffffffffffff163314610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e4f545f524f535300000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6106938282610c63565b5050565b6106a13382610cdc565b50565b60065473ffffffffffffffffffffffffffffffffffffffff163314610725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e4f545f524f53530000000000000000000000000000000000000000000000006044820152606401610680565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6001805461036a90611076565b6007805461036a90611076565b336000908152600360205260408120805483919083906107a79084906110f9565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104539086815260200190565b42841015610875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610680565b600061087f6105a8565b73ffffffffffffffffffffffffffffffffffffffff89811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938c166060840152608083018b905260a083019390935260c08083018a90528151808403909101815260e0830190915280519201919091207f190100000000000000000000000000000000000000000000000000000000000061010083015261010282019290925261012281019190915261014201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109de573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610a5957508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e45520000000000000000000000000000000000006044820152606401610680565b73ffffffffffffffffffffffffffffffffffffffff90811660009081526004602090815260408083208b8516808552908352928190208a905551898152919350918a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610bb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e4f545f524f53530000000000000000000000000000000000000000000000006044820152606401610680565b610bc460078383610d6a565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610bfb9190611110565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060026000828254610c7591906111e3565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526003602052604081208054839290610d119084906110f9565b909155505060028054829003905560405181815260009073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610cd0565b828054610d7690611076565b90600052602060002090601f016020900481019282610d985760008555610dfc565b82601f10610dcf578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555610dfc565b82800160010185558215610dfc579182015b82811115610dfc578235825591602001919060010190610de1565b50610e08929150610e0c565b5090565b5b80821115610e085760008155600101610e0d565b600060208083528351808285015260005b81811015610e4e57858101830151858201604001528201610e32565b81811115610e60576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610eb857600080fd5b919050565b60008060408385031215610ed057600080fd5b610ed983610e94565b946020939093013593505050565b600080600060608486031215610efc57600080fd5b610f0584610e94565b9250610f1360208501610e94565b9150604084013590509250925092565b600060208284031215610f3557600080fd5b5035919050565b600060208284031215610f4e57600080fd5b610f5782610e94565b9392505050565b600080600080600080600060e0888a031215610f7957600080fd5b610f8288610e94565b9650610f9060208901610e94565b95506040880135945060608801359350608088013560ff81168114610fb457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060208385031215610fe457600080fd5b823567ffffffffffffffff80821115610ffc57600080fd5b818501915085601f83011261101057600080fd5b81358181111561101f57600080fd5b86602082850101111561103157600080fd5b60209290920196919550909350505050565b6000806040838503121561105657600080fd5b61105f83610e94565b915061106d60208401610e94565b90509250929050565b600181811c9082168061108a57607f821691505b602082108114156110c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561110b5761110b6110ca565b500390565b600080835481600182811c91508083168061112c57607f831692505b6020808410821415611165577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b81801561117957600181146111a8576111d5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616895284890196506111d5565b60008a81526020902060005b868110156111cd5781548b8201529085019083016111b4565b505084890196505b509498975050505050505050565b600082198211156111f6576111f66110ca565b50019056fea2646970667358221220bbc3d74a808cb0f4bcf8356b83477dd1273fbd29130221d1f52183b78451653764736f6c634300080b0033

Deployed Bytecode Sourcemap

6718:634:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1052:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2688:217;;;;;;:::i;:::-;;:::i;:::-;;;1300:14:1;;1293:22;1275:41;;1263:2;1248:18;2688:217:0;1135:187:1;1336:26:0;;;;;;;;;1473:25:1;;;1461:2;1446:18;1336:26:0;1327:177:1;3306:612:0;;;;;;:::i;:::-;;:::i;1687:146::-;;1738:95;1687:146;;1108:31;;;;;;;;2196:4:1;2184:17;;;2166:36;;2154:2;2139:18;1108:31:0;2024:184:1;5146:179:0;;;:::i;7067:94::-;;;;;;:::i;:::-;;:::i;:::-;;6978:81;;;;;;:::i;:::-;;:::i;7270:79::-;;;;;;:::i;:::-;;:::i;1371:44::-;;;;;;:::i;:::-;;;;;;;;;;;;;;1954:41;;;;;;:::i;:::-;;;;;;;;;;;;;;1079:20;;;:::i;6796:19::-;;;:::i;6768:::-;;;;;;;;;;;;2765:42:1;2753:55;;;2735:74;;2723:2;2708:18;6768:19:0;2589:226:1;2913:385:0;;;;;;:::i;:::-;;:::i;4115:1023::-;;;;;;:::i;:::-;;:::i;7169:93::-;;;;;;:::i;:::-;;:::i;1424:64::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1052:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2688:217::-;2789:10;2762:4;2779:21;;;:9;:21;;;;;;;;;:30;;;;;;;;;;:39;;;2836:37;2762:4;;2779:30;;2836:37;;;;2812:6;1473:25:1;;1461:2;1446:18;;1327:177;2836:37:0;;;;;;;;-1:-1:-1;2893:4:0;2688:217;;;;:::o;3306:612::-;3463:15;;;3428:4;3463:15;;;:9;:15;;;;;;;;3479:10;3463:27;;;;;;;;3554:17;3543:28;;3539:80;;3603:16;3613:6;3603:7;:16;:::i;:::-;3573:15;;;;;;;:9;:15;;;;;;;;3589:10;3573:27;;;;;;;:46;3539:80;3632:15;;;;;;;:9;:15;;;;;:25;;3651:6;;3632:15;:25;;3651:6;;3632:25;:::i;:::-;;;;-1:-1:-1;;3808:13:0;;;;;;;;:9;:13;;;;;;;:23;;;;;;3860:26;3808:13;;3860:26;;;;;;;3825:6;1473:25:1;;1461:2;1446:18;;1327:177;3860:26:0;;;;;;;;-1:-1:-1;3906:4:0;;3306:612;-1:-1:-1;;;;3306:612:0:o;5146:179::-;5203:7;5247:16;5230:13;:33;:87;;5293:24;:22;:24::i;:::-;5223:94;;5146:179;:::o;5230:87::-;-1:-1:-1;5266:24:0;;5146:179::o;7067:94::-;6933:4;;;;6919:10;:18;6911:39;;;;;;;5343:2:1;6911:39:0;;;5325:21:1;5382:1;5362:18;;;5355:29;5420:10;5400:18;;;5393:38;5448:18;;6911:39:0;;;;;;;;;7136:17:::1;7142:2;7146:6;7136:5;:17::i;:::-;7067:94:::0;;:::o;6978:81::-;7026:25;7032:10;7044:6;7026:5;:25::i;:::-;6978:81;:::o;7270:79::-;6933:4;;;;6919:10;:18;6911:39;;;;;;;5343:2:1;6911:39:0;;;5325:21:1;5382:1;5362:18;;;5355:29;5420:10;5400:18;;;5393:38;5448:18;;6911:39:0;5141:331:1;6911:39:0;7329:4:::1;:12:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;7270:79::o;1079:20::-;;;;;;;:::i;6796:19::-;;;;;;;:::i;2913:385::-;3010:10;2983:4;3000:21;;;:9;:21;;;;;:31;;3025:6;;3000:21;2983:4;;3000:31;;3025:6;;3000:31;:::i;:::-;;;;-1:-1:-1;;3182:13:0;;;;;;;:9;:13;;;;;;;:23;;;;;;3234:32;3243:10;;3234:32;;;;3199:6;1473:25:1;;1461:2;1446:18;;1327:177;4115:1023:0;4343:15;4331:8;:27;;4323:63;;;;;;;5679:2:1;4323:63:0;;;5661:21:1;5718:2;5698:18;;;5691:30;5757:25;5737:18;;;5730:53;5800:18;;4323:63:0;5477:347:1;4323:63:0;4556:14;4673:18;:16;:18::i;:::-;4775:13;;;;;;;;:6;:13;;;;;;;;;:15;;;;;;;;4724:77;;1738:95;4724:77;;;6116:25:1;6218:18;;;6211:43;;;;6290:15;;;6270:18;;;6263:43;6322:18;;;6315:34;;;6365:19;;;6358:35;;;;6409:19;;;;6402:35;;;4724:77:0;;;;;;;;;;6088:19:1;;;4724:77:0;;;4714:88;;;;;;;;6718:66:1;4601:220:0;;;6706:79:1;6801:11;;;6794:27;;;;6837:12;;;6830:28;;;;6874:12;;4601:220:0;;;;;;;;;;;;;4573:263;;4601:220;4573:263;;;;4853:24;4880:26;;;;;;;;;7124:25:1;;;7197:4;7185:17;;7165:18;;;7158:45;;;;7219:18;;;7212:34;;;7262:18;;;7255:34;;;4573:263:0;;-1:-1:-1;4853:24:0;4880:26;;7096:19:1;;4880:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4880:26:0;;;;;;-1:-1:-1;;4931:30:0;;;;;;;:59;;;4985:5;4965:25;;:16;:25;;;4931:59;4923:86;;;;;;;7502:2:1;4923:86:0;;;7484:21:1;7541:2;7521:18;;;7514:30;7580:16;7560:18;;;7553:44;7614:18;;4923:86:0;7300:338:1;4923:86:0;5026:27;;;;;;;;:9;:27;;;;;;;;:36;;;;;;;;;;;;;:44;;;5099:31;1473:25:1;;;5026:36:0;;-1:-1:-1;5099:31:0;;;;;;1446:18:1;5099:31:0;;;;;;;4115:1023;;;;;;;:::o;7169:93::-;6933:4;;;;6919:10;:18;6911:39;;;;;;;5343:2:1;6911:39:0;;;5325:21:1;5382:1;5362:18;;;5355:29;5420:10;5400:18;;;5393:38;5448:18;;6911:39:0;5141:331:1;6911:39:0;7240:14:::1;:5;7248:6:::0;;7240:14:::1;:::i;:::-;;7169:93:::0;;:::o;5333:457::-;5398:7;5499:95;5633:4;5617:22;;;;;;:::i;:::-;;;;;;;;;;5466:301;;;9255:25:1;;;;9296:18;;9289:34;;;;5662:14:0;9339:18:1;;;9332:34;5699:13:0;9382:18:1;;;9375:34;5743:4:0;9425:19:1;;;9418:84;9227:19;;5466:301:0;;;;;;;;;;;;5438:344;;;;;;5418:364;;5333:457;:::o;5990:335::-;6076:6;6061:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;6233:13:0;;;;;;;:9;:13;;;;;;;;:23;;;;;;6285:32;1473:25:1;;;6285:32:0;;1446:18:1;6285:32:0;;;;;;;;5990:335;;:::o;6333:338::-;6406:15;;;;;;;:9;:15;;;;;:25;;6425:6;;6406:15;:25;;6425:6;;6406:25;:::i;:::-;;;;-1:-1:-1;;6579:11:0;:21;;;;;;;6629:34;;1473:25:1;;;-1:-1:-1;;6629:34:0;;;;;;1461:2:1;1446:18;6629:34:0;1327:177:1;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:656:1;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;586:2:1;574:15;591:66;570:88;555:104;;;;661:2;551:113;;14:656;-1:-1:-1;;;14:656:1:o;675:196::-;743:20;;803:42;792:54;;782:65;;772:93;;861:1;858;851:12;772:93;675:196;;;:::o;876:254::-;944:6;952;1005:2;993:9;984:7;980:23;976:32;973:52;;;1021:1;1018;1011:12;973:52;1044:29;1063:9;1044:29;:::i;:::-;1034:39;1120:2;1105:18;;;;1092:32;;-1:-1:-1;;;876:254:1:o;1509:328::-;1586:6;1594;1602;1655:2;1643:9;1634:7;1630:23;1626:32;1623:52;;;1671:1;1668;1661:12;1623:52;1694:29;1713:9;1694:29;:::i;:::-;1684:39;;1742:38;1776:2;1765:9;1761:18;1742:38;:::i;:::-;1732:48;;1827:2;1816:9;1812:18;1799:32;1789:42;;1509:328;;;;;:::o;2213:180::-;2272:6;2325:2;2313:9;2304:7;2300:23;2296:32;2293:52;;;2341:1;2338;2331:12;2293:52;-1:-1:-1;2364:23:1;;2213:180;-1:-1:-1;2213:180:1:o;2398:186::-;2457:6;2510:2;2498:9;2489:7;2485:23;2481:32;2478:52;;;2526:1;2523;2516:12;2478:52;2549:29;2568:9;2549:29;:::i;:::-;2539:39;2398:186;-1:-1:-1;;;2398:186:1:o;2820:693::-;2931:6;2939;2947;2955;2963;2971;2979;3032:3;3020:9;3011:7;3007:23;3003:33;3000:53;;;3049:1;3046;3039:12;3000:53;3072:29;3091:9;3072:29;:::i;:::-;3062:39;;3120:38;3154:2;3143:9;3139:18;3120:38;:::i;:::-;3110:48;;3205:2;3194:9;3190:18;3177:32;3167:42;;3256:2;3245:9;3241:18;3228:32;3218:42;;3310:3;3299:9;3295:19;3282:33;3355:4;3348:5;3344:16;3337:5;3334:27;3324:55;;3375:1;3372;3365:12;3324:55;2820:693;;;;-1:-1:-1;2820:693:1;;;;3398:5;3450:3;3435:19;;3422:33;;-1:-1:-1;3502:3:1;3487:19;;;3474:33;;2820:693;-1:-1:-1;;2820:693:1:o;3518:592::-;3589:6;3597;3650:2;3638:9;3629:7;3625:23;3621:32;3618:52;;;3666:1;3663;3656:12;3618:52;3706:9;3693:23;3735:18;3776:2;3768:6;3765:14;3762:34;;;3792:1;3789;3782:12;3762:34;3830:6;3819:9;3815:22;3805:32;;3875:7;3868:4;3864:2;3860:13;3856:27;3846:55;;3897:1;3894;3887:12;3846:55;3937:2;3924:16;3963:2;3955:6;3952:14;3949:34;;;3979:1;3976;3969:12;3949:34;4024:7;4019:2;4010:6;4006:2;4002:15;3998:24;3995:37;3992:57;;;4045:1;4042;4035:12;3992:57;4076:2;4068:11;;;;;4098:6;;-1:-1:-1;3518:592:1;;-1:-1:-1;;;;3518:592:1:o;4115:260::-;4183:6;4191;4244:2;4232:9;4223:7;4219:23;4215:32;4212:52;;;4260:1;4257;4250:12;4212:52;4283:29;4302:9;4283:29;:::i;:::-;4273:39;;4331:38;4365:2;4354:9;4350:18;4331:38;:::i;:::-;4321:48;;4115:260;;;;;:::o;4380:437::-;4459:1;4455:12;;;;4502;;;4523:61;;4577:4;4569:6;4565:17;4555:27;;4523:61;4630:2;4622:6;4619:14;4599:18;4596:38;4593:218;;;4667:77;4664:1;4657:88;4768:4;4765:1;4758:15;4796:4;4793:1;4786:15;4593:218;;4380:437;;;:::o;4822:184::-;4874:77;4871:1;4864:88;4971:4;4968:1;4961:15;4995:4;4992:1;4985:15;5011:125;5051:4;5079:1;5076;5073:8;5070:34;;;5084:18;;:::i;:::-;-1:-1:-1;5121:9:1;;5011:125::o;7772:1219::-;7902:3;7931:1;7964:6;7958:13;7994:3;8016:1;8044:9;8040:2;8036:18;8026:28;;8104:2;8093:9;8089:18;8126;8116:61;;8170:4;8162:6;8158:17;8148:27;;8116:61;8196:2;8244;8236:6;8233:14;8213:18;8210:38;8207:222;;;8283:77;8278:3;8271:90;8384:4;8381:1;8374:15;8414:4;8409:3;8402:17;8207:222;8445:18;8472:162;;;;8648:1;8643:323;;;;8438:528;;8472:162;8520:66;8509:9;8505:82;8500:3;8493:95;8617:6;8612:3;8608:16;8601:23;;8472:162;;8643:323;7719:1;7712:14;;;7756:4;7743:18;;8741:1;8755:165;8769:6;8766:1;8763:13;8755:165;;;8847:14;;8834:11;;;8827:35;8890:16;;;;8784:10;;8755:165;;;8759:3;;8949:6;8944:3;8940:16;8933:23;;8438:528;-1:-1:-1;8982:3:1;;7772:1219;-1:-1:-1;;;;;;;;7772:1219:1:o;9513:128::-;9553:3;9584:1;9580:6;9577:1;9574:13;9571:39;;;9590:18;;:::i;:::-;-1:-1:-1;9626:9:1;;9513:128::o

Swarm Source

ipfs://bbc3d74a808cb0f4bcf8356b83477dd1273fbd29130221d1f52183b784516537
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.