ETH Price: $2,462.94 (-8.31%)

Token

Degen ($DEGEN)
 

Overview

Max Total Supply

69,420,000,000,000 $DEGEN

Holders

160

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.450571524875047854 $DEGEN

Value
$0.00
0x8a66f1882063ba2801cb9c599f06b4eec34d423d
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:
Degen

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 20000 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2023-04-22
*/

// 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/transmissions11/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
    //////////////////////////////////////////////////////////////*/

    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 {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner,
                                spender,
                                value,
                                nonces[owner]++,
                                deadline
                            )
                        )
                    )
                ),
                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);
    }
}


pragma solidity >=0.8.0;

/// @notice Simple single owner authorization mixin.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)
abstract contract Owned {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event OwnershipTransferred(address indexed user, address indexed newOwner);

    /*//////////////////////////////////////////////////////////////
                            OWNERSHIP STORAGE
    //////////////////////////////////////////////////////////////*/

    address public owner;

    modifier onlyOwner() virtual {
        require(msg.sender == owner, "UNAUTHORIZED");

        _;
    }

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

    constructor(address _owner) {
        owner = _owner;

        emit OwnershipTransferred(address(0), _owner);
    }

    /*//////////////////////////////////////////////////////////////
                             OWNERSHIP LOGIC
    //////////////////////////////////////////////////////////////*/

    function transferOwnership(address newOwner) public virtual onlyOwner {
        owner = newOwner;

        emit OwnershipTransferred(msg.sender, newOwner);
    }
}

pragma solidity >= 0.8.0 < 0.9.0;

contract Degen is ERC20, Owned {
    mapping(address => bool) private _excludes;
    // anti mev-bot
    mapping(address => uint256) private _lastTime;

    uint256 public mWalletSize;

    bool public walletLimit = true;
    bool public botPrevention = true;

    constructor() ERC20("Degen", "$DEGEN", 18) Owned(msg.sender) {
        _mint(msg.sender, 69_420_000_000_000 * 10 ** decimals);
        mWalletSize = totalSupply / 100; // 1%
    }

    function exclude(address to) public onlyOwner {
        require(!_excludes[to], "Already excluded");
        _excludes[to] = true;
    }

    function disableWalletLimit() public onlyOwner {
        walletLimit = false;
    }

    function disableBotPrevention() public onlyOwner {
        botPrevention = false;
    }

    function _check(address from, address to, uint amount) private {
        if (walletLimit && !_excludes[to]) {
            if (from != owner && to != owner) {
                require(balanceOf[to] + amount <= mWalletSize, "TOKEN: Amount exceeds maximum wallet size");
            }
        }

        if (botPrevention) {
            require(_lastTime[tx.origin] != block.number, "ERC20: BOT");
            _lastTime[tx.origin] = block.number;
        }
    }

    function transfer(address to, uint amount) public override returns (bool) {
        _check(msg.sender, to, amount);
        return super.transfer(to, amount);
    }

    function transferFrom(address from, address to, uint amount) public override returns (bool) {
        _check(from, to, amount);
        return super.transferFrom(from, to, amount);
    }
}

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":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":[{"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":[],"name":"botPrevention","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableBotPrevention","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"exclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"walletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

60e0604052600a805461ffff19166101011790553480156200002057600080fd5b5033604051806040016040528060058152602001642232b3b2b760d91b81525060405180604001604052806006815260200165122222a3a2a760d11b81525060128260009081620000729190620002df565b506001620000818382620002df565b5060ff81166080524660a0526200009762000131565b60c0525050600680546001600160a01b0319166001600160a01b0384169081179091556040519091506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200011733608051600a620000ff9190620004c0565b6200011190653f231a70b800620004d8565b620001cd565b6064600254620001289190620004f2565b600955620005a9565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405162000165919062000515565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b8060026000828254620001e1919062000593565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200026557607f821691505b6020821081036200028657634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002da57600081815260208120601f850160051c81016020861015620002b55750805b601f850160051c820191505b81811015620002d657828155600101620002c1565b5050505b505050565b81516001600160401b03811115620002fb57620002fb6200023a565b62000313816200030c845462000250565b846200028c565b602080601f8311600181146200034b5760008415620003325750858301515b600019600386901b1c1916600185901b178555620002d6565b600085815260208120601f198616915b828110156200037c578886015182559484019460019091019084016200035b565b50858210156200039b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000402578160001904821115620003e657620003e6620003ab565b80851615620003f457918102915b93841c9390800290620003c6565b509250929050565b6000826200041b57506001620004ba565b816200042a57506000620004ba565b81600181146200044357600281146200044e576200046e565b6001915050620004ba565b60ff841115620004625762000462620003ab565b50506001821b620004ba565b5060208310610133831016604e8410600b841016171562000493575081810a620004ba565b6200049f8383620003c1565b8060001904821115620004b657620004b6620003ab565b0290505b92915050565b6000620004d160ff8416836200040a565b9392505050565b8082028115828204841417620004ba57620004ba620003ab565b6000826200051057634e487b7160e01b600052601260045260246000fd5b500490565b6000808354620005258162000250565b60018281168015620005405760018114620005565762000587565b60ff198416875282151583028701945062000587565b8760005260208060002060005b858110156200057e5781548a82015290840190820162000563565b50505082870194505b50929695505050505050565b80820180821115620004ba57620004ba620003ab565b60805160a05160c051611393620005d9600039600061056c01526000610537015260006101eb01526113936000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c8063697cfc19116100cd578063a9059cbb11610081578063d8cdf48b11610066578063d8cdf48b1461030b578063dd62ed3e1461031d578063f2fde38b1461034857600080fd5b8063a9059cbb146102e5578063d505accf146102f857600080fd5b80637ecebe00116100b25780637ecebe00146102785780638da5cb5b1461029857806395d89b41146102dd57600080fd5b8063697cfc191461025057806370a082311461025857600080fd5b8063313ce567116101245780633c8463a1116101095780633c8463a1146102275780634febf53d146102345780635acb6bb51461024757600080fd5b8063313ce567146101e65780633644e5151461021f57600080fd5b80630a37dde7116101555780630a37dde7146101b257806318160ddd146101bc57806323b872dd146101d357600080fd5b806306fdde0314610171578063095ea7b31461018f575b600080fd5b61017961035b565b6040516101869190611023565b60405180910390f35b6101a261019d3660046110b8565b6103e9565b6040519015158152602001610186565b6101ba610463565b005b6101c560025481565b604051908152602001610186565b6101a26101e13660046110e2565b610513565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610186565b6101c5610533565b600a546101a29060ff1681565b6101ba61024236600461111e565b61058e565b6101c560095481565b6101ba6106ee565b6101c561026636600461111e565b60036020526000908152604090205481565b6101c561028636600461111e565b60056020526000908152604090205481565b6006546102b89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b610179610799565b6101a26102f33660046110b8565b6107a6565b6101ba610306366004611139565b6107c4565b600a546101a290610100900460ff1681565b6101c561032b3660046111ac565b600460209081526000928352604080842090915290825290205481565b6101ba61035636600461111e565b610ae3565b60008054610368906111df565b80601f0160208091040260200160405190810160405280929190818152602001828054610394906111df565b80156103e15780601f106103b6576101008083540402835291602001916103e1565b820191906000526020600020905b8154815290600101906020018083116103c457829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104519086815260200190565b60405180910390a35060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1633146104e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055565b6000610520848484610bd5565b61052b848484610dc0565b949350505050565b60007f0000000000000000000000000000000000000000000000000000000000000000461461056957610564610f04565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b60065473ffffffffffffffffffffffffffffffffffffffff16331461060f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205460ff161561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f416c7265616479206578636c756465640000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff16600090815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60065473ffffffffffffffffffffffffffffffffffffffff16331461076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60018054610368906111df565b60006107b3338484610bd5565b6107bd8383610f9e565b9392505050565b4284101561082e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016104e0565b6000600161083a610533565b73ffffffffffffffffffffffffffffffffffffffff8a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e0830190915280519201919091207f190100000000000000000000000000000000000000000000000000000000000061010083015261010282019290925261012281019190915261014201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561098c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610a0757508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610a6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e455200000000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff90811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610b64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b600a5460ff168015610c0d575073ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205460ff16155b15610d1f5760065473ffffffffffffffffffffffffffffffffffffffff848116911614801590610c58575060065473ffffffffffffffffffffffffffffffffffffffff838116911614155b15610d1f5760095473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902054610c91908390611261565b1115610d1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f544f4b454e3a20416d6f756e742065786365656473206d6178696d756d20776160448201527f6c6c65742073697a65000000000000000000000000000000000000000000000060648201526084016104e0565b600a54610100900460ff1615610dbb5732600090815260086020526040902054439003610da8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f45524332303a20424f540000000000000000000000000000000000000000000060448201526064016104e0565b3260009081526008602052604090204390555b505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e5457610e228382611274565b73ffffffffffffffffffffffffffffffffffffffff861660009081526004602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff851660009081526003602052604081208054859290610e89908490611274565b909155505073ffffffffffffffffffffffffffffffffffffffff808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef19087815260200190565b60405180910390a3506001949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610f369190611287565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b33600090815260036020526040812080548391908390610fbf908490611274565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104519086815260200190565b600060208083528351808285015260005b8181101561105057858101830151858201604001528201611034565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146110b357600080fd5b919050565b600080604083850312156110cb57600080fd5b6110d48361108f565b946020939093013593505050565b6000806000606084860312156110f757600080fd5b6111008461108f565b925061110e6020850161108f565b9150604084013590509250925092565b60006020828403121561113057600080fd5b6107bd8261108f565b600080600080600080600060e0888a03121561115457600080fd5b61115d8861108f565b965061116b6020890161108f565b95506040880135945060608801359350608088013560ff8116811461118f57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156111bf57600080fd5b6111c88361108f565b91506111d66020840161108f565b90509250929050565b600181811c908216806111f357607f821691505b60208210810361122c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561045d5761045d611232565b8181038181111561045d5761045d611232565b600080835481600182811c9150808316806112a357607f831692505b602080841082036112db577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b8180156112ef57600181146113225761134f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616895284151585028901965061134f565b60008a81526020902060005b868110156113475781548b82015290850190830161132e565b505084890196505b50949897505050505050505056fea264697066735822122048dbc20cf2b332518801caadc133615bd3793ac7991099c318c4d47a7d86f0b464736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061016c5760003560e01c8063697cfc19116100cd578063a9059cbb11610081578063d8cdf48b11610066578063d8cdf48b1461030b578063dd62ed3e1461031d578063f2fde38b1461034857600080fd5b8063a9059cbb146102e5578063d505accf146102f857600080fd5b80637ecebe00116100b25780637ecebe00146102785780638da5cb5b1461029857806395d89b41146102dd57600080fd5b8063697cfc191461025057806370a082311461025857600080fd5b8063313ce567116101245780633c8463a1116101095780633c8463a1146102275780634febf53d146102345780635acb6bb51461024757600080fd5b8063313ce567146101e65780633644e5151461021f57600080fd5b80630a37dde7116101555780630a37dde7146101b257806318160ddd146101bc57806323b872dd146101d357600080fd5b806306fdde0314610171578063095ea7b31461018f575b600080fd5b61017961035b565b6040516101869190611023565b60405180910390f35b6101a261019d3660046110b8565b6103e9565b6040519015158152602001610186565b6101ba610463565b005b6101c560025481565b604051908152602001610186565b6101a26101e13660046110e2565b610513565b61020d7f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff9091168152602001610186565b6101c5610533565b600a546101a29060ff1681565b6101ba61024236600461111e565b61058e565b6101c560095481565b6101ba6106ee565b6101c561026636600461111e565b60036020526000908152604090205481565b6101c561028636600461111e565b60056020526000908152604090205481565b6006546102b89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b610179610799565b6101a26102f33660046110b8565b6107a6565b6101ba610306366004611139565b6107c4565b600a546101a290610100900460ff1681565b6101c561032b3660046111ac565b600460209081526000928352604080842090915290825290205481565b6101ba61035636600461111e565b610ae3565b60008054610368906111df565b80601f0160208091040260200160405190810160405280929190818152602001828054610394906111df565b80156103e15780601f106103b6576101008083540402835291602001916103e1565b820191906000526020600020905b8154815290600101906020018083116103c457829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104519086815260200190565b60405180910390a35060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1633146104e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055565b6000610520848484610bd5565b61052b848484610dc0565b949350505050565b60007f0000000000000000000000000000000000000000000000000000000000000001461461056957610564610f04565b905090565b507f25070d3eb0c18e57e4cb49aa41eecb9b82eed25e3054167294bb2b67e2c6c58190565b60065473ffffffffffffffffffffffffffffffffffffffff16331461060f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090205460ff161561069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f416c7265616479206578636c756465640000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff16600090815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60065473ffffffffffffffffffffffffffffffffffffffff16331461076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60018054610368906111df565b60006107b3338484610bd5565b6107bd8383610f9e565b9392505050565b4284101561082e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016104e0565b6000600161083a610533565b73ffffffffffffffffffffffffffffffffffffffff8a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e0830190915280519201919091207f190100000000000000000000000000000000000000000000000000000000000061010083015261010282019290925261012281019190915261014201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561098c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610a0757508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610a6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e455200000000000000000000000000000000000060448201526064016104e0565b73ffffffffffffffffffffffffffffffffffffffff90811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610b64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064016104e0565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b600a5460ff168015610c0d575073ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604090205460ff16155b15610d1f5760065473ffffffffffffffffffffffffffffffffffffffff848116911614801590610c58575060065473ffffffffffffffffffffffffffffffffffffffff838116911614155b15610d1f5760095473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902054610c91908390611261565b1115610d1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f544f4b454e3a20416d6f756e742065786365656473206d6178696d756d20776160448201527f6c6c65742073697a65000000000000000000000000000000000000000000000060648201526084016104e0565b600a54610100900460ff1615610dbb5732600090815260086020526040902054439003610da8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f45524332303a20424f540000000000000000000000000000000000000000000060448201526064016104e0565b3260009081526008602052604090204390555b505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e5457610e228382611274565b73ffffffffffffffffffffffffffffffffffffffff861660009081526004602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff851660009081526003602052604081208054859290610e89908490611274565b909155505073ffffffffffffffffffffffffffffffffffffffff808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef19087815260200190565b60405180910390a3506001949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610f369190611287565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b33600090815260036020526040812080548391908390610fbf908490611274565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104519086815260200190565b600060208083528351808285015260005b8181101561105057858101830151858201604001528201611034565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146110b357600080fd5b919050565b600080604083850312156110cb57600080fd5b6110d48361108f565b946020939093013593505050565b6000806000606084860312156110f757600080fd5b6111008461108f565b925061110e6020850161108f565b9150604084013590509250925092565b60006020828403121561113057600080fd5b6107bd8261108f565b600080600080600080600060e0888a03121561115457600080fd5b61115d8861108f565b965061116b6020890161108f565b95506040880135945060608801359350608088013560ff8116811461118f57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156111bf57600080fd5b6111c88361108f565b91506111d66020840161108f565b90509250929050565b600181811c908216806111f357607f821691505b60208210810361122c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561045d5761045d611232565b8181038181111561045d5761045d611232565b600080835481600182811c9150808316806112a357607f831692505b602080841082036112db577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b8180156112ef57600181146113225761134f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616895284151585028901965061134f565b60008a81526020902060005b868110156113475781548b82015290850190830161132e565b505084890196505b50949897505050505050505056fea264697066735822122048dbc20cf2b332518801caadc133615bd3793ac7991099c318c4d47a7d86f0b464736f6c63430008120033

Deployed Bytecode Sourcemap

8538:1646:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1051:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2528:217;;;;;;:::i;:::-;;:::i;:::-;;;1251:14:1;;1244:22;1226:41;;1214:2;1199:18;2528:217:0;1086:187:1;9243:89:0;;;:::i;:::-;;1334:26;;;;;;;;;1424:25:1;;;1412:2;1397:18;1334:26:0;1278:177:1;9992:189:0;;;;;;:::i;:::-;;:::i;1107:31::-;;;;;;;;1965:4:1;1953:17;;;1935:36;;1923:2;1908:18;1107:31:0;1793:184:1;5488:179:0;;;:::i;8735:30::-;;;;;;;;;9003:139;;;;;;:::i;:::-;;:::i;8700:26::-;;;;;;9150:85;;;:::i;1369:44::-;;;;;;:::i;:::-;;;;;;;;;;;;;;1795:41;;;;;;:::i;:::-;;;;;;;;;;;;;;7685:20;;;;;;;;;;;;2531:42:1;2519:55;;;2501:74;;2489:2;2474:18;7685:20:0;2355:226:1;1078:20:0;;;:::i;9817:167::-;;;;;;:::i;:::-;;:::i;3953:1527::-;;;;;;:::i;:::-;;:::i;8772:32::-;;;;;;;;;;;;1422:64;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;8329:165;;;;;;:::i;:::-;;:::i;1051:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2528:217::-;2629:10;2602:4;2619:21;;;:9;:21;;;;;;;;;:30;;;;;;;;;;:39;;;2676:37;2602:4;;2619:30;;2676:37;;;;2652:6;1424:25:1;;1412:2;1397:18;;1278:177;2676:37:0;;;;;;;;-1:-1:-1;2733:4:0;2528:217;;;;;:::o;9243:89::-;7776:5;;;;7762:10;:19;7754:44;;;;;;;4193:2:1;7754:44:0;;;4175:21:1;4232:2;4212:18;;;4205:30;4271:14;4251:18;;;4244:42;4303:18;;7754:44:0;;;;;;;;;9303:13:::1;:21:::0;;;::::1;::::0;;9243:89::o;9992:189::-;10078:4;10095:24;10102:4;10108:2;10112:6;10095;:24::i;:::-;10137:36;10156:4;10162:2;10166:6;10137:18;:36::i;:::-;10130:43;9992:189;-1:-1:-1;;;;9992:189:0:o;5488:179::-;5545:7;5589:16;5572:13;:33;:87;;5635:24;:22;:24::i;:::-;5565:94;;5488:179;:::o;5572:87::-;-1:-1:-1;5608:24:0;;5488:179::o;9003:139::-;7776:5;;;;7762:10;:19;7754:44;;;;;;;4193:2:1;7754:44:0;;;4175:21:1;4232:2;4212:18;;;4205:30;4271:14;4251:18;;;4244:42;4303:18;;7754:44:0;3991:336:1;7754:44:0;9069:13:::1;::::0;::::1;;::::0;;;:9:::1;:13;::::0;;;;;::::1;;9068:14;9060:43;;;::::0;::::1;::::0;;4534:2:1;9060:43:0::1;::::0;::::1;4516:21:1::0;4573:2;4553:18;;;4546:30;4612:18;4592;;;4585:46;4648:18;;9060:43:0::1;4332:340:1::0;9060:43:0::1;9114:13;;;::::0;;;:9:::1;:13;::::0;;;;:20;;;::::1;9130:4;9114:20;::::0;;9003:139::o;9150:85::-;7776:5;;;;7762:10;:19;7754:44;;;;;;;4193:2:1;7754:44:0;;;4175:21:1;4232:2;4212:18;;;4205:30;4271:14;4251:18;;;4244:42;4303:18;;7754:44:0;3991:336:1;7754:44:0;9208:11:::1;:19:::0;;;::::1;::::0;;9150:85::o;1078:20::-;;;;;;;:::i;9817:167::-;9885:4;9902:30;9909:10;9921:2;9925:6;9902;:30::i;:::-;9950:26;9965:2;9969:6;9950:14;:26::i;:::-;9943:33;9817:167;-1:-1:-1;;;9817:167:0:o;3953:1527::-;4181:15;4169:8;:27;;4161:63;;;;;;;4879:2:1;4161:63:0;;;4861:21:1;4918:2;4898:18;;;4891:30;4957:25;4937:18;;;4930:53;5000:18;;4161:63:0;4677:347:1;4161:63:0;4394:24;4421:827;4561:18;:16;:18::i;:::-;5015:13;;;;;;;;:6;:13;;;;;;;;;:15;;;;;;;;4646:458;;4691:167;4646:458;;;5316:25:1;5418:18;;;5411:43;;;;5490:15;;;5470:18;;;5463:43;5522:18;;;5515:34;;;5565:19;;;5558:35;;;;5609:19;;;;5602:35;;;4646:458:0;;;;;;;;;;5288:19:1;;;4646:458:0;;;4606:525;;;;;;;;5918:66:1;4481:673:0;;;5906:79:1;6001:11;;;5994:27;;;;6037:12;;;6030:28;;;;6074:12;;4481:673:0;;;;;;;;;;;;;4449:724;;4481:673;4449:724;;;;4421:827;;;;;;;;;6324:25:1;6397:4;6385:17;;6365:18;;;6358:45;6419:18;;;6412:34;;;6462:18;;;6455:34;;;6296:19;;4421:827:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4421:827:0;;;;;;-1:-1:-1;;5273:30:0;;;;;;;:59;;;5327:5;5307:25;;:16;:25;;;5273:59;5265:86;;;;;;;6702:2:1;5265:86:0;;;6684:21:1;6741:2;6721:18;;;6714:30;6780:16;6760:18;;;6753:44;6814:18;;5265:86:0;6500:338:1;5265:86:0;5368:27;;;;;;;;:9;:27;;;;;;;;:36;;;;;;;;;;;;;:44;;;5441:31;1424:25:1;;;5368:36:0;;5441:31;;;;;1397:18:1;5441:31:0;;;;;;;3953:1527;;;;;;;:::o;8329:165::-;7776:5;;;;7762:10;:19;7754:44;;;;;;;4193:2:1;7754:44:0;;;4175:21:1;4232:2;4212:18;;;4205:30;4271:14;4251:18;;;4244:42;4303:18;;7754:44:0;3991:336:1;7754:44:0;8410:5:::1;:16:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;8444:42:::1;::::0;8465:10:::1;::::0;8444:42:::1;::::0;-1:-1:-1;;8444:42:0::1;8329:165:::0;:::o;9340:469::-;9418:11;;;;:29;;;;-1:-1:-1;9434:13:0;;;;;;;:9;:13;;;;;;;;9433:14;9418:29;9414:221;;;9476:5;;;9468:13;;;9476:5;;9468:13;;;;:28;;-1:-1:-1;9491:5:0;;;9485:11;;;9491:5;;9485:11;;9468:28;9464:160;;;9551:11;;9525:13;;;;;;;:9;:13;;;;;;:22;;9541:6;;9525:22;:::i;:::-;:37;;9517:91;;;;;;;7364:2:1;9517:91:0;;;7346:21:1;7403:2;7383:18;;;7376:30;7442:34;7422:18;;;7415:62;7513:11;7493:18;;;7486:39;7542:19;;9517:91:0;7162:405:1;9517:91:0;9651:13;;;;;;;9647:155;;;9699:9;9689:20;;;;:9;:20;;;;;;9713:12;9689:36;;9681:59;;;;;;;7774:2:1;9681:59:0;;;7756:21:1;7813:2;7793:18;;;7786:30;7852:12;7832:18;;;7825:40;7882:18;;9681:59:0;7572:334:1;9681:59:0;9765:9;9755:20;;;;:9;:20;;;;;9778:12;9755:35;;9647:155;9340:469;;;:::o;3146:612::-;3303:15;;;3268:4;3303:15;;;:9;:15;;;;;;;;3319:10;3303:27;;;;;;;;3394:17;3383:28;;3379:80;;3443:16;3453:6;3443:7;:16;:::i;:::-;3413:15;;;;;;;:9;:15;;;;;;;;3429:10;3413:27;;;;;;;:46;3379:80;3472:15;;;;;;;:9;:15;;;;;:25;;3491:6;;3472:15;:25;;3491:6;;3472:25;:::i;:::-;;;;-1:-1:-1;;3648:13:0;;;;;;;;:9;:13;;;;;;;:23;;;;;;3700:26;3648:13;;3700:26;;;;;;;3665:6;1424:25:1;;1412:2;1397:18;;1278:177;3700:26:0;;;;;;;;-1:-1:-1;3746:4:0;;3146:612;-1:-1:-1;;;;3146:612:0:o;5675:457::-;5740:7;5841:95;5975:4;5959:22;;;;;;:::i;:::-;;;;;;;;;;5808:301;;;9685:25:1;;;;9726:18;;9719:34;;;;6004:14:0;9769:18:1;;;9762:34;6041:13:0;9812:18:1;;;9805:34;6085:4:0;9855:19:1;;;9848:84;9657:19;;5808:301:0;;;;;;;;;;;;5780:344;;;;;;5760:364;;5675:457;:::o;2753:385::-;2850:10;2823:4;2840:21;;;:9;:21;;;;;:31;;2865:6;;2840:21;2823:4;;2840:31;;2865:6;;2840:31;:::i;:::-;;;;-1:-1:-1;;3022:13:0;;;;;;;:9;:13;;;;;;;:23;;;;;;3074:32;3083:10;;3074:32;;;;3039:6;1424:25:1;;1412:2;1397:18;;1278:177;14:607;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;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;612:2;542:66;537:2;529:6;525:15;521:88;510:9;506:104;502:113;494:121;;;;14:607;;;;:::o;626:196::-;694:20;;754:42;743:54;;733:65;;723:93;;812:1;809;802:12;723:93;626:196;;;:::o;827:254::-;895:6;903;956:2;944:9;935:7;931:23;927:32;924:52;;;972:1;969;962:12;924:52;995:29;1014:9;995:29;:::i;:::-;985:39;1071:2;1056:18;;;;1043:32;;-1:-1:-1;;;827:254:1:o;1460:328::-;1537:6;1545;1553;1606:2;1594:9;1585:7;1581:23;1577:32;1574:52;;;1622:1;1619;1612:12;1574:52;1645:29;1664:9;1645:29;:::i;:::-;1635:39;;1693:38;1727:2;1716:9;1712:18;1693:38;:::i;:::-;1683:48;;1778:2;1767:9;1763:18;1750:32;1740:42;;1460:328;;;;;:::o;2164:186::-;2223:6;2276:2;2264:9;2255:7;2251:23;2247:32;2244:52;;;2292:1;2289;2282:12;2244:52;2315:29;2334:9;2315:29;:::i;2586:693::-;2697:6;2705;2713;2721;2729;2737;2745;2798:3;2786:9;2777:7;2773:23;2769:33;2766:53;;;2815:1;2812;2805:12;2766:53;2838:29;2857:9;2838:29;:::i;:::-;2828:39;;2886:38;2920:2;2909:9;2905:18;2886:38;:::i;:::-;2876:48;;2971:2;2960:9;2956:18;2943:32;2933:42;;3022:2;3011:9;3007:18;2994:32;2984:42;;3076:3;3065:9;3061:19;3048:33;3121:4;3114:5;3110:16;3103:5;3100:27;3090:55;;3141:1;3138;3131:12;3090:55;2586:693;;;;-1:-1:-1;2586:693:1;;;;3164:5;3216:3;3201:19;;3188:33;;-1:-1:-1;3268:3:1;3253:19;;;3240:33;;2586:693;-1:-1:-1;;2586:693:1:o;3284:260::-;3352:6;3360;3413:2;3401:9;3392:7;3388:23;3384:32;3381:52;;;3429:1;3426;3419:12;3381:52;3452:29;3471:9;3452:29;:::i;:::-;3442:39;;3500:38;3534:2;3523:9;3519:18;3500:38;:::i;:::-;3490:48;;3284:260;;;;;:::o;3549:437::-;3628:1;3624:12;;;;3671;;;3692:61;;3746:4;3738:6;3734:17;3724:27;;3692:61;3799:2;3791:6;3788:14;3768:18;3765:38;3762:218;;3836:77;3833:1;3826:88;3937:4;3934:1;3927:15;3965:4;3962:1;3955:15;3762:218;;3549:437;;;:::o;6843:184::-;6895:77;6892:1;6885:88;6992:4;6989:1;6982:15;7016:4;7013:1;7006:15;7032:125;7097:9;;;7118:10;;;7115:36;;;7131:18;;:::i;7911:128::-;7978:9;;;7999:11;;;7996:37;;;8013:18;;:::i;8173:1248::-;8303:3;8332:1;8365:6;8359:13;8395:3;8417:1;8445:9;8441:2;8437:18;8427:28;;8505:2;8494:9;8490:18;8527;8517:61;;8571:4;8563:6;8559:17;8549:27;;8517:61;8597:2;8645;8637:6;8634:14;8614:18;8611:38;8608:222;;8684:77;8679:3;8672:90;8785:4;8782:1;8775:15;8815:4;8810:3;8803:17;8608:222;8846:18;8873:191;;;;9078:1;9073:323;;;;8839:557;;8873:191;8921:66;8910:9;8906:82;8901:3;8894:95;9044:6;9037:14;9030:22;9022:6;9018:35;9013:3;9009:45;9002:52;;8873:191;;9073:323;8120:1;8113:14;;;8157:4;8144:18;;9171:1;9185:165;9199:6;9196:1;9193:13;9185:165;;;9277:14;;9264:11;;;9257:35;9320:16;;;;9214:10;;9185:165;;;9189:3;;9379:6;9374:3;9370:16;9363:23;;8839:557;-1:-1:-1;9412:3:1;;8173:1248;-1:-1:-1;;;;;;;;8173:1248:1:o

Swarm Source

ipfs://48dbc20cf2b332518801caadc133615bd3793ac7991099c318c4d47a7d86f0b4
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.