ETH Price: $2,468.82 (+11.66%)
 

Overview

Max Total Supply

10,000,000,000 ERC20 ***

Holders

8

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 4 Decimals)

Balance
92,914,317.3276 ERC20 ***

Value
$0.00
0x3bD126b812e1F9a4D4EE84fd2F5BD2dc4798E6E4
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:
ESODAI

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2022-09-03
*/

/**
Esoterism in ERC20 token depiction
https://medium.com/@esodai
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.12;

library SafeMath {

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

        return c;
    }
}

interface ERC20 {
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(address(0));
        owner = address(0);
    }

    event OwnershipTransferred(address owner);
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract ESODAI is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = unicode"ESODAI";
    string public constant symbol = "ESODAI";
    uint8 public constant decimals = 4;
    uint256 public constant totalSupply = 10 * 10**9 * 10**decimals;

    uint256 public _maxTxAmount = 1 * totalSupply / 100;
    uint256 public _maxWalletToken = 3 * totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isWalletLimitExempt;

    bool public antibot = true;
    mapping (address => uint) public firstbuy;
    bool public blacklistMode = true;
    mapping (address => bool) public isBlacklisted;

    IDEXRouter public router;
    address public pair;

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[ZERO] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

    function getOwner() external view override returns (address) { return owner; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {

        if(!isOwner(sender) && antibot){
            if(sender == pair){
                if(firstbuy[recipient] == 0){
                    firstbuy[recipient] = block.number;
                }
                blacklist_wallet(recipient,true);
            }

            if(firstbuy[sender] > 0){
                require( firstbuy[sender] > (block.number - 20), "Bought before contract was launched");
            }
        }
        
        if(blacklistMode && !antibot){
            require(!isBlacklisted[sender],"Blacklisted");    
        }

        if (!isOwner(sender) && !isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }

        require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "TX Limit Exceeded");

        _basicTransfer(sender, recipient, amount);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
        balanceOf[recipient] = balanceOf[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function manage_blacklist_status(bool _status) external onlyOwner {
        blacklistMode = _status;
    }

    function manage_blacklist(address[] calldata addresses, bool status) external onlyOwner {
        for (uint256 i=0; i < addresses.length; ++i) {
            blacklist_wallet(addresses[i],status);
        }
    }

    function blacklist_wallet(address _adr, bool _status) internal {
        if(_status && _adr == address(this)){
            return;
        }
        isBlacklisted[_adr] = _status;
    }

    function tradingOpen() external onlyOwner {
        antibot = false;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return totalSupply.sub(balanceOf[DEAD]).sub(balanceOf[ZERO]);
    }

event AutoLiquify(uint256 amountETH, uint256 amountTokens);

}

Contract Security Audit

Contract ABI

API
[{"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":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antibot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"spender","type":"address"}],"name":"approveMax","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":"blacklistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"firstbuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"manage_blacklist_status","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"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":[],"name":"tradingOpen","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526064620000146004600a620004c9565b62000025906402540be400620004e1565b62000032906001620004e1565b6200003e919062000503565b6001556064620000516004600a620004c9565b62000062906402540be400620004e1565b6200006f906003620004e1565b6200007b919062000503565b60025560078054600160ff199182168117909255600980549091169091179055348015620000a857600080fd5b5060008054336001600160a01b031991821617909155600b8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f919062000526565b6001600160a01b03908116608052600b546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b6919062000526565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000208573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022e919062000526565b600c80546001600160a01b0319166001600160a01b03928316179055306000818152600460208181526040808420600b549096168452948152848320600019905533835260058152848320805460ff1990811660019081179092557f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80548216831790557f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc805482168317905560069092528584208054831682179055938352938220805485168417905561dead9091527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280549093169091179091556200033890600a620004c9565b62000349906402540be400620004e1565b33600081815260036020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200038c6004600a620004c9565b6200039d906402540be400620004e1565b60405190815260200160405180910390a362000551565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200040b578160001904821115620003ef57620003ef620003b4565b80851615620003fd57918102915b93841c9390800290620003cf565b509250929050565b6000826200042457506001620004c3565b816200043357506000620004c3565b81600181146200044c5760028114620004575762000477565b6001915050620004c3565b60ff8411156200046b576200046b620003b4565b50506001821b620004c3565b5060208310610133831016604e8410600b84101617156200049c575081810a620004c3565b620004a88383620003ca565b8060001904821115620004bf57620004bf620003b4565b0290505b92915050565b6000620004da60ff84168362000413565b9392505050565b6000816000190483118215151615620004fe57620004fe620003b4565b500290565b6000826200052157634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200053957600080fd5b81516001600160a01b0381168114620004da57600080fd5b6080516110bb6200056a600039600050506110bb6000f3fe60806040526004361061016a5760003560e01c8063715018a6116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e1461043f578063f887ea4014610485578063fe575a87146104a5578063ffb54a99146104d557600080fd5b806395d89b4114610198578063a8aa1b31146103ff578063a9059cbb1461041f57600080fd5b8063715018a61461035257806378109e54146103675780637d1db4a51461037d578063893d20e814610393578063896648c1146103c55780638e2eee84146103df57600080fd5b80632f54bf6e116101235780632f54bf6e14610268578063305c4c8014610297578063313ce567146102b1578063571ac8b0146102d85780636d02cc02146102f857806370a082311461032557600080fd5b8063034fc0b71461017657806306fdde0314610198578063095ea7b3146101e057806318160ddd1461021057806323b872dd146102335780632b112e491461025357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b50610196610191366004610d1e565b6104ea565b005b3480156101a457600080fd5b506101ca6040518060400160405280600681526020016545534f44414960d01b81525081565b6040516101d79190610d39565b60405180910390f35b3480156101ec57600080fd5b506102006101fb366004610da5565b610530565b60405190151581526020016101d7565b34801561021c57600080fd5b5061022561059d565b6040519081526020016101d7565b34801561023f57600080fd5b5061020061024e366004610dcf565b6105bb565b34801561025f57600080fd5b5061022561067b565b34801561027457600080fd5b50610200610283366004610e0b565b6000546001600160a01b0391821691161490565b3480156102a357600080fd5b506007546102009060ff1681565b3480156102bd57600080fd5b506102c6600481565b60405160ff90911681526020016101d7565b3480156102e457600080fd5b506102006102f3366004610e0b565b6106fc565b34801561030457600080fd5b50610225610313366004610e0b565b60086020526000908152604090205481565b34801561033157600080fd5b50610225610340366004610e0b565b60036020526000908152604090205481565b34801561035e57600080fd5b5061019661070a565b34801561037357600080fd5b5061022560025481565b34801561038957600080fd5b5061022560015481565b34801561039f57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d7565b3480156103d157600080fd5b506009546102009060ff1681565b3480156103eb57600080fd5b506101966103fa366004610e26565b61077a565b34801561040b57600080fd5b50600c546103ad906001600160a01b031681565b34801561042b57600080fd5b5061020061043a366004610da5565b6107f5565b34801561044b57600080fd5b5061022561045a366004610eaa565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561049157600080fd5b50600b546103ad906001600160a01b031681565b3480156104b157600080fd5b506102006104c0366004610e0b565b600a6020526000908152604090205460ff1681565b3480156104e157600080fd5b50610196610809565b6000546001600160a01b0316331461051d5760405162461bcd60e51b815260040161051490610edd565b60405180910390fd5b6009805460ff1916911515919091179055565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061058b9086815260200190565b60405180910390a35060015b92915050565b6105a96004600a610ff7565b6105b8906402540be400611006565b81565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610668576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260048252838120338252909152919091205461064391849061083f565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610673848484610879565b949350505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c5490916106f7916106f1906106e26004600a610ff7565b6106f1906402540be400611006565b90610b97565b905090565b600061059782600019610530565b6000546001600160a01b031633146107345760405162461bcd60e51b815260040161051490610edd565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b6000546001600160a01b031633146107a45760405162461bcd60e51b815260040161051490610edd565b60005b828110156107ef576107df8484838181106107c4576107c4611025565b90506020020160208101906107d99190610e0b565b83610bd9565b6107e88161103b565b90506107a7565b50505050565b6000610802338484610879565b9392505050565b6000546001600160a01b031633146108335760405162461bcd60e51b815260040161051490610edd565b6007805460ff19169055565b600081848411156108635760405162461bcd60e51b81526004016105149190610d39565b5060006108708486611056565b95945050505050565b600080546001600160a01b0385811691161415801561089a575060075460ff165b1561099457600c546001600160a01b03858116911614156108f9576001600160a01b0383166000908152600860205260409020546108ee576001600160a01b03831660009081526008602052604090204390555b6108f9836001610bd9565b6001600160a01b0384166000908152600860205260409020541561099457610922601443611056565b6001600160a01b038516600090815260086020526040902054116109945760405162461bcd60e51b815260206004820152602360248201527f426f75676874206265666f726520636f6e747261637420776173206c61756e636044820152621a195960ea1b6064820152608401610514565b60095460ff1680156109a9575060075460ff16155b15610a05576001600160a01b0384166000908152600a602052604090205460ff1615610a055760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610514565b6000546001600160a01b03858116911614158015610a3c57506001600160a01b03841660009081526006602052604090205460ff16155b8015610a6157506001600160a01b03831660009081526006602052604090205460ff16155b8015610a7b5750600c546001600160a01b03848116911614155b15610af5576002546001600160a01b038416600090815260036020526040902054610aa790849061106d565b1115610af55760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610514565b60015482111580610b1e57506001600160a01b03841660009081526005602052604090205460ff165b80610b4157506001600160a01b03831660009081526005602052604090205460ff165b610b815760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610514565b610b8c848484610c22565b506001949350505050565b600061080283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061083f565b808015610bee57506001600160a01b03821630145b15610bf7575050565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610c7391849061083f565b6001600160a01b038086166000908152600360205260408082209390935590851681522054610ca390839061106d565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cf79086815260200190565b60405180910390a35060019392505050565b80358015158114610d1957600080fd5b919050565b600060208284031215610d3057600080fd5b61080282610d09565b600060208083528351808285015260005b81811015610d6657858101830151858201604001528201610d4a565b81811115610d78576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d1957600080fd5b60008060408385031215610db857600080fd5b610dc183610d8e565b946020939093013593505050565b600080600060608486031215610de457600080fd5b610ded84610d8e565b9250610dfb60208501610d8e565b9150604084013590509250925092565b600060208284031215610e1d57600080fd5b61080282610d8e565b600080600060408486031215610e3b57600080fd5b833567ffffffffffffffff80821115610e5357600080fd5b818601915086601f830112610e6757600080fd5b813581811115610e7657600080fd5b8760208260051b8501011115610e8b57600080fd5b602092830195509350610ea19186019050610d09565b90509250925092565b60008060408385031215610ebd57600080fd5b610ec683610d8e565b9150610ed460208401610d8e565b90509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610f4e578160001904821115610f3457610f34610efd565b80851615610f4157918102915b93841c9390800290610f18565b509250929050565b600082610f6557506001610597565b81610f7257506000610597565b8160018114610f885760028114610f9257610fae565b6001915050610597565b60ff841115610fa357610fa3610efd565b50506001821b610597565b5060208310610133831016604e8410600b8410161715610fd1575081810a610597565b610fdb8383610f13565b8060001904821115610fef57610fef610efd565b029392505050565b600061080260ff841683610f56565b600081600019048311821515161561102057611020610efd565b500290565b634e487b7160e01b600052603260045260246000fd5b600060001982141561104f5761104f610efd565b5060010190565b60008282101561106857611068610efd565b500390565b6000821982111561108057611080610efd565b50019056fea2646970667358221220a76049475c77df3fa2460e0f57218d56f05b62efc97dd381e25c7a88645b4a7e64736f6c634300080c0033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c8063715018a6116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e1461043f578063f887ea4014610485578063fe575a87146104a5578063ffb54a99146104d557600080fd5b806395d89b4114610198578063a8aa1b31146103ff578063a9059cbb1461041f57600080fd5b8063715018a61461035257806378109e54146103675780637d1db4a51461037d578063893d20e814610393578063896648c1146103c55780638e2eee84146103df57600080fd5b80632f54bf6e116101235780632f54bf6e14610268578063305c4c8014610297578063313ce567146102b1578063571ac8b0146102d85780636d02cc02146102f857806370a082311461032557600080fd5b8063034fc0b71461017657806306fdde0314610198578063095ea7b3146101e057806318160ddd1461021057806323b872dd146102335780632b112e491461025357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b50610196610191366004610d1e565b6104ea565b005b3480156101a457600080fd5b506101ca6040518060400160405280600681526020016545534f44414960d01b81525081565b6040516101d79190610d39565b60405180910390f35b3480156101ec57600080fd5b506102006101fb366004610da5565b610530565b60405190151581526020016101d7565b34801561021c57600080fd5b5061022561059d565b6040519081526020016101d7565b34801561023f57600080fd5b5061020061024e366004610dcf565b6105bb565b34801561025f57600080fd5b5061022561067b565b34801561027457600080fd5b50610200610283366004610e0b565b6000546001600160a01b0391821691161490565b3480156102a357600080fd5b506007546102009060ff1681565b3480156102bd57600080fd5b506102c6600481565b60405160ff90911681526020016101d7565b3480156102e457600080fd5b506102006102f3366004610e0b565b6106fc565b34801561030457600080fd5b50610225610313366004610e0b565b60086020526000908152604090205481565b34801561033157600080fd5b50610225610340366004610e0b565b60036020526000908152604090205481565b34801561035e57600080fd5b5061019661070a565b34801561037357600080fd5b5061022560025481565b34801561038957600080fd5b5061022560015481565b34801561039f57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d7565b3480156103d157600080fd5b506009546102009060ff1681565b3480156103eb57600080fd5b506101966103fa366004610e26565b61077a565b34801561040b57600080fd5b50600c546103ad906001600160a01b031681565b34801561042b57600080fd5b5061020061043a366004610da5565b6107f5565b34801561044b57600080fd5b5061022561045a366004610eaa565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561049157600080fd5b50600b546103ad906001600160a01b031681565b3480156104b157600080fd5b506102006104c0366004610e0b565b600a6020526000908152604090205460ff1681565b3480156104e157600080fd5b50610196610809565b6000546001600160a01b0316331461051d5760405162461bcd60e51b815260040161051490610edd565b60405180910390fd5b6009805460ff1916911515919091179055565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061058b9086815260200190565b60405180910390a35060015b92915050565b6105a96004600a610ff7565b6105b8906402540be400611006565b81565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001914610668576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260048252838120338252909152919091205461064391849061083f565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b610673848484610879565b949350505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c5490916106f7916106f1906106e26004600a610ff7565b6106f1906402540be400611006565b90610b97565b905090565b600061059782600019610530565b6000546001600160a01b031633146107345760405162461bcd60e51b815260040161051490610edd565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b6000546001600160a01b031633146107a45760405162461bcd60e51b815260040161051490610edd565b60005b828110156107ef576107df8484838181106107c4576107c4611025565b90506020020160208101906107d99190610e0b565b83610bd9565b6107e88161103b565b90506107a7565b50505050565b6000610802338484610879565b9392505050565b6000546001600160a01b031633146108335760405162461bcd60e51b815260040161051490610edd565b6007805460ff19169055565b600081848411156108635760405162461bcd60e51b81526004016105149190610d39565b5060006108708486611056565b95945050505050565b600080546001600160a01b0385811691161415801561089a575060075460ff165b1561099457600c546001600160a01b03858116911614156108f9576001600160a01b0383166000908152600860205260409020546108ee576001600160a01b03831660009081526008602052604090204390555b6108f9836001610bd9565b6001600160a01b0384166000908152600860205260409020541561099457610922601443611056565b6001600160a01b038516600090815260086020526040902054116109945760405162461bcd60e51b815260206004820152602360248201527f426f75676874206265666f726520636f6e747261637420776173206c61756e636044820152621a195960ea1b6064820152608401610514565b60095460ff1680156109a9575060075460ff16155b15610a05576001600160a01b0384166000908152600a602052604090205460ff1615610a055760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b6044820152606401610514565b6000546001600160a01b03858116911614158015610a3c57506001600160a01b03841660009081526006602052604090205460ff16155b8015610a6157506001600160a01b03831660009081526006602052604090205460ff16155b8015610a7b5750600c546001600160a01b03848116911614155b15610af5576002546001600160a01b038416600090815260036020526040902054610aa790849061106d565b1115610af55760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610514565b60015482111580610b1e57506001600160a01b03841660009081526005602052604090205460ff165b80610b4157506001600160a01b03831660009081526005602052604090205460ff165b610b815760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610514565b610b8c848484610c22565b506001949350505050565b600061080283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061083f565b808015610bee57506001600160a01b03821630145b15610bf7575050565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610c7391849061083f565b6001600160a01b038086166000908152600360205260408082209390935590851681522054610ca390839061106d565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cf79086815260200190565b60405180910390a35060019392505050565b80358015158114610d1957600080fd5b919050565b600060208284031215610d3057600080fd5b61080282610d09565b600060208083528351808285015260005b81811015610d6657858101830151858201604001528201610d4a565b81811115610d78576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d1957600080fd5b60008060408385031215610db857600080fd5b610dc183610d8e565b946020939093013593505050565b600080600060608486031215610de457600080fd5b610ded84610d8e565b9250610dfb60208501610d8e565b9150604084013590509250925092565b600060208284031215610e1d57600080fd5b61080282610d8e565b600080600060408486031215610e3b57600080fd5b833567ffffffffffffffff80821115610e5357600080fd5b818601915086601f830112610e6757600080fd5b813581811115610e7657600080fd5b8760208260051b8501011115610e8b57600080fd5b602092830195509350610ea19186019050610d09565b90509250925092565b60008060408385031215610ebd57600080fd5b610ec683610d8e565b9150610ed460208401610d8e565b90509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610f4e578160001904821115610f3457610f34610efd565b80851615610f4157918102915b93841c9390800290610f18565b509250929050565b600082610f6557506001610597565b81610f7257506000610597565b8160018114610f885760028114610f9257610fae565b6001915050610597565b60ff841115610fa357610fa3610efd565b50506001821b610597565b5060208310610133831016604e8410600b8410161715610fd1575081810a610597565b610fdb8383610f13565b8060001904821115610fef57610fef610efd565b029392505050565b600061080260ff841683610f56565b600081600019048311821515161561102057611020610efd565b500290565b634e487b7160e01b600052603260045260246000fd5b600060001982141561104f5761104f610efd565b5060010190565b60008282101561106857611068610efd565b500390565b6000821982111561108057611080610efd565b50019056fea2646970667358221220a76049475c77df3fa2460e0f57218d56f05b62efc97dd381e25c7a88645b4a7e64736f6c634300080c0033

Deployed Bytecode Sourcemap

2454:5170:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6794:108;;;;;;;;;;-1:-1:-1;6794:108:0;;;;;:::i;:::-;;:::i;:::-;;2704:45;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2704:45:0;;;;;;;;;;;;:::i;:::-;;;;;;;;4446:216;;;;;;;;;;-1:-1:-1;4446:216:0;;;;;:::i;:::-;;:::i;:::-;;;1568:14:1;;1561:22;1543:41;;1531:2;1516:18;4446:216:0;1403:187:1;2844:63:0;;;;;;;;;;;;;:::i;:::-;;;1741:25:1;;;1729:2;1714:18;2844:63:0;1595:177:1;4964:370:0;;;;;;;;;;-1:-1:-1;4964:370:0;;;;;:::i;:::-;;:::i;7415:141::-;;;;;;;;;;;;;:::i;1403:103::-;;;;;;;;;;-1:-1:-1;1403:103:0;;;;;:::i;:::-;1458:4;1493:5;-1:-1:-1;;;;;1482:16:0;;;1493:5;;1482:16;;1403:103;3261:26;;;;;;;;;;-1:-1:-1;3261:26:0;;;;;;;;2803:34;;;;;;;;;;;;2836:1;2803:34;;;;;2473:4:1;2461:17;;;2443:36;;2431:2;2416:18;2803:34:0;2301:184:1;4670:122:0;;;;;;;;;;-1:-1:-1;4670:122:0;;;;;:::i;:::-;;:::i;3294:41::-;;;;;;;;;;-1:-1:-1;3294:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;3037:45;;;;;;;;;;-1:-1:-1;3037:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;1514:131;;;;;;;;;;;;;:::i;2974:54::-;;;;;;;;;;;;;;;;2916:51;;;;;;;;;;;;;;;;4221:78;;;;;;;;;;-1:-1:-1;4273:7:0;4291:5;-1:-1:-1;;;;;4291:5:0;4221:78;;;-1:-1:-1;;;;;2654:32:1;;;2636:51;;2624:2;2609:18;4221:78:0;2490:203:1;3342:32:0;;;;;;;;;;-1:-1:-1;3342:32:0;;;;;;;;6910:215;;;;;;;;;;-1:-1:-1;6910:215:0;;;;;:::i;:::-;;:::i;3467:19::-;;;;;;;;;;-1:-1:-1;3467:19:0;;;;-1:-1:-1;;;;;3467:19:0;;;4800:156;;;;;;;;;;-1:-1:-1;4800:156:0;;;;;:::i;:::-;;:::i;4305:133::-;;;;;;;;;;-1:-1:-1;4305:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;4407:19:0;;;4389:7;4407:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4305:133;3436:24;;;;;;;;;;-1:-1:-1;3436:24:0;;;;-1:-1:-1;;;;;3436:24:0;;;3381:46;;;;;;;;;;-1:-1:-1;3381:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7331:76;;;;;;;;;;;;;:::i;6794:108::-;1458:4;1493:5;-1:-1:-1;;;;;1493:5:0;1362:10;1482:16;1346:38;;;;-1:-1:-1;;;1346:38:0;;;;;;;:::i;:::-;;;;;;;;;6871:13:::1;:23:::0;;-1:-1:-1;;6871:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6794:108::o;4446:216::-;4550:10;4521:4;4538:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4538:32:0;;;;;;;;;;:41;;;4595:37;4521:4;;4538:32;;4595:37;;;;4573:6;1741:25:1;;1729:2;1714:18;;1595:177;4595:37:0;;;;;;;;-1:-1:-1;4650:4:0;4446:216;;;;;:::o;2844:63::-;2895:12;2836:1;2895:2;:12;:::i;:::-;2882:25;;:10;:25;:::i;:::-;2844:63;:::o;4964:370::-;-1:-1:-1;;;;;5084:19:0;;5064:4;5084:19;;;:11;:19;;;;;;;;5104:10;5084:31;;;;;;;;-1:-1:-1;;5084:52:0;5081:186;;5186:69;;;;;;;;;;;-1:-1:-1;;;5186:69:0;;;;;;;;-1:-1:-1;;;;;5186:19:0;;-1:-1:-1;5186:19:0;;;:11;:19;;;;;5206:10;5186:31;;;;;;;;;;:69;;5222:6;;5186:35;:69::i;:::-;-1:-1:-1;;;;;5152:19:0;;;;;;:11;:19;;;;;;;;5172:10;5152:31;;;;;;;:103;5081:186;5286:40;5300:6;5308:9;5319:6;5286:13;:40::i;:::-;5279:47;4964:370;-1:-1:-1;;;;4964:370:0:o;7415:141::-;7532:9;:15;;;;2580:42;7468:7;7511:15;;;;;7468:7;;7495:53;;:32;;2895:12;2836:1;2895:2;:12;:::i;:::-;2882:25;;:10;:25;:::i;:::-;7495:15;;:32::i;:53::-;7488:60;;7415:141;:::o;4670:122::-;4725:4;4749:35;4757:7;-1:-1:-1;;4749:7:0;:35::i;1514:131::-;1458:4;1493:5;-1:-1:-1;;;;;1493:5:0;1362:10;1482:16;1346:38;;;;-1:-1:-1;;;1346:38:0;;;;;;;:::i;:::-;1576:32:::1;::::0;1605:1:::1;2636:51:1::0;;1576:32:0::1;::::0;2624:2:1;2609:18;1576:32:0::1;;;;;;;1635:1;1619:18:::0;;-1:-1:-1;;;;;;1619:18:0::1;::::0;;1514:131::o;6910:215::-;1458:4;1493:5;-1:-1:-1;;;;;1493:5:0;1362:10;1482:16;1346:38;;;;-1:-1:-1;;;1346:38:0;;;;;;;:::i;:::-;7014:9:::1;7009:109;7027:20:::0;;::::1;7009:109;;;7069:37;7086:9;;7096:1;7086:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;7099:6;7069:16;:37::i;:::-;7049:3;::::0;::::1;:::i;:::-;;;7009:109;;;;6910:215:::0;;;:::o;4800:156::-;4880:4;4904:44;4918:10;4930:9;4941:6;4904:13;:44::i;:::-;4897:51;4800:156;-1:-1:-1;;;4800:156:0:o;7331:76::-;1458:4;1493:5;-1:-1:-1;;;;;1493:5:0;1362:10;1482:16;1346:38;;;;-1:-1:-1;;;1346:38:0;;;;;;;:::i;:::-;7384:7:::1;:15:::0;;-1:-1:-1;;7384:15:0::1;::::0;;7331:76::o;311:192::-;397:7;433:12;425:6;;;;417:29;;;;-1:-1:-1;;;417:29:0;;;;;;;;:::i;:::-;-1:-1:-1;457:9:0;469:5;473:1;469;:5;:::i;:::-;457:17;311:192;-1:-1:-1;;;;;311:192:0:o;5342:1105::-;5434:4;1493:5;;-1:-1:-1;;;;;1482:16:0;;;1493:5;;1482:16;5456;:27;;;;-1:-1:-1;5476:7:0;;;;5456:27;5453:427;;;5512:4;;-1:-1:-1;;;;;5502:14:0;;;5512:4;;5502:14;5499:208;;;-1:-1:-1;;;;;5539:19:0;;;;;;:8;:19;;;;;;5536:105;;-1:-1:-1;;;;;5587:19:0;;;;;;:8;:19;;;;;5609:12;5587:34;;5536:105;5659:32;5676:9;5686:4;5659:16;:32::i;:::-;-1:-1:-1;;;;;5726:16:0;;5745:1;5726:16;;;:8;:16;;;;;;:20;5723:146;;5795:17;5810:2;5795:12;:17;:::i;:::-;-1:-1:-1;;;;;5775:16:0;;;;;;:8;:16;;;;;;:38;5766:87;;;;-1:-1:-1;;;5766:87:0;;6509:2:1;5766:87:0;;;6491:21:1;6548:2;6528:18;;;6521:30;6587:34;6567:18;;;6560:62;-1:-1:-1;;;6638:18:1;;;6631:33;6681:19;;5766:87:0;6307:399:1;5766:87:0;5903:13;;;;:25;;;;-1:-1:-1;5921:7:0;;;;5920:8;5903:25;5900:105;;;-1:-1:-1;;;;;5953:21:0;;;;;;:13;:21;;;;;;;;5952:22;5944:45;;;;-1:-1:-1;;;5944:45:0;;6913:2:1;5944:45:0;;;6895:21:1;6952:2;6932:18;;;6925:30;-1:-1:-1;;;6971:18:1;;;6964:41;7022:18;;5944:45:0;6711:335:1;5944:45:0;1458:4;1493:5;-1:-1:-1;;;;;1482:16:0;;;1493:5;;1482:16;6021;:48;;;;-1:-1:-1;;;;;;6042:27:0;;;;;;:19;:27;;;;;;;;6041:28;6021:48;:83;;;;-1:-1:-1;;;;;;6074:30:0;;;;;;:19;:30;;;;;;;;6073:31;6021:83;:104;;;;-1:-1:-1;6121:4:0;;-1:-1:-1;;;;;6108:17:0;;;6121:4;;6108:17;;6021:104;6017:223;;;6185:15;;-1:-1:-1;;;;;6151:20:0;;;;;;:9;:20;;;;;;:29;;6174:6;;6151:29;:::i;:::-;6150:50;;6142:86;;;;-1:-1:-1;;;6142:86:0;;7386:2:1;6142:86:0;;;7368:21:1;7425:2;7405:18;;;7398:30;7464:26;7444:18;;;7437:54;7508:18;;6142:86:0;7184:348:1;6142:86:0;6271:12;;6261:6;:22;;6260:51;;;-1:-1:-1;;;;;;6288:23:0;;;;;;:15;:23;;;;;;;;6260:51;:81;;;-1:-1:-1;;;;;;6315:26:0;;;;;;:15;:26;;;;;;;;6260:81;6252:111;;;;-1:-1:-1;;;6252:111:0;;7739:2:1;6252:111:0;;;7721:21:1;7778:2;7758:18;;;7751:30;-1:-1:-1;;;7797:18:1;;;7790:47;7854:18;;6252:111:0;7537:341:1;6252:111:0;6376:41;6391:6;6399:9;6410:6;6376:14;:41::i;:::-;-1:-1:-1;6435:4:0;;5342:1105;-1:-1:-1;;;;5342:1105:0:o;169:136::-;227:7;254:43;258:1;261;254:43;;;;;;;;;;;;;;;;;:3;:43::i;7133:190::-;7210:7;:32;;;;-1:-1:-1;;;;;;7221:21:0;;7237:4;7221:21;7210:32;7207:69;;;7133:190;;:::o;7207:69::-;-1:-1:-1;;;;;7286:19:0;;;;;;;;:13;:19;;;;;:29;;-1:-1:-1;;7286:29:0;;;;;;;;;;7133:190::o;6459:327::-;6589:53;;;;;;;;;;;-1:-1:-1;;;6589:53:0;;;;;;;;-1:-1:-1;;;;;6589:17:0;;6552:4;6589:17;;;:9;:17;;;;;;;:53;;6611:6;;6589:21;:53::i;:::-;-1:-1:-1;;;;;6569:17:0;;;;;;;:9;:17;;;;;;:73;;;;6676:20;;;;;;;:29;;6699:6;;6676:29;:::i;:::-;-1:-1:-1;;;;;6653:20:0;;;;;;;:9;:20;;;;;;;:52;;;;6721:35;;;;;;;;;;6749:6;1741:25:1;;1729:2;1714:18;;1595:177;6721:35:0;;;;;;;;-1:-1:-1;6774:4:0;6459:327;;;;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:180::-;235:6;288:2;276:9;267:7;263:23;259:32;256:52;;;304:1;301;294:12;256:52;327:26;343:9;327:26;:::i;364:597::-;476:4;505:2;534;523:9;516:21;566:6;560:13;609:6;604:2;593:9;589:18;582:34;634:1;644:140;658:6;655:1;652:13;644:140;;;753:14;;;749:23;;743:30;719:17;;;738:2;715:26;708:66;673:10;;644:140;;;802:6;799:1;796:13;793:91;;;872:1;867:2;858:6;847:9;843:22;839:31;832:42;793:91;-1:-1:-1;945:2:1;924:15;-1:-1:-1;;920:29:1;905:45;;;;952:2;901:54;;364:597;-1:-1:-1;;;364:597:1:o;966:173::-;1034:20;;-1:-1:-1;;;;;1083:31:1;;1073:42;;1063:70;;1129:1;1126;1119:12;1144:254;1212:6;1220;1273:2;1261:9;1252:7;1248:23;1244:32;1241:52;;;1289:1;1286;1279:12;1241:52;1312:29;1331:9;1312:29;:::i;:::-;1302:39;1388:2;1373:18;;;;1360:32;;-1:-1:-1;;;1144:254:1:o;1777:328::-;1854:6;1862;1870;1923:2;1911:9;1902:7;1898:23;1894:32;1891:52;;;1939:1;1936;1929:12;1891:52;1962:29;1981:9;1962:29;:::i;:::-;1952:39;;2010:38;2044:2;2033:9;2029:18;2010:38;:::i;:::-;2000:48;;2095:2;2084:9;2080:18;2067:32;2057:42;;1777:328;;;;;:::o;2110:186::-;2169:6;2222:2;2210:9;2201:7;2197:23;2193:32;2190:52;;;2238:1;2235;2228:12;2190:52;2261:29;2280:9;2261:29;:::i;2698:689::-;2790:6;2798;2806;2859:2;2847:9;2838:7;2834:23;2830:32;2827:52;;;2875:1;2872;2865:12;2827:52;2915:9;2902:23;2944:18;2985:2;2977:6;2974:14;2971:34;;;3001:1;2998;2991:12;2971:34;3039:6;3028:9;3024:22;3014:32;;3084:7;3077:4;3073:2;3069:13;3065:27;3055:55;;3106:1;3103;3096:12;3055:55;3146:2;3133:16;3172:2;3164:6;3161:14;3158:34;;;3188:1;3185;3178:12;3158:34;3243:7;3236:4;3226:6;3223:1;3219:14;3215:2;3211:23;3207:34;3204:47;3201:67;;;3264:1;3261;3254:12;3201:67;3295:4;3287:13;;;;-1:-1:-1;3319:6:1;-1:-1:-1;3344:37:1;;3360:20;;;-1:-1:-1;3344:37:1;:::i;:::-;3334:47;;2698:689;;;;;:::o;3392:260::-;3460:6;3468;3521:2;3509:9;3500:7;3496:23;3492:32;3489:52;;;3537:1;3534;3527:12;3489:52;3560:29;3579:9;3560:29;:::i;:::-;3550:39;;3608:38;3642:2;3631:9;3627:18;3608:38;:::i;:::-;3598:48;;3392:260;;;;;:::o;3883:329::-;4085:2;4067:21;;;4124:1;4104:18;;;4097:29;-1:-1:-1;;;4157:2:1;4142:18;;4135:36;4203:2;4188:18;;3883:329::o;4217:127::-;4278:10;4273:3;4269:20;4266:1;4259:31;4309:4;4306:1;4299:15;4333:4;4330:1;4323:15;4349:422;4438:1;4481:5;4438:1;4495:270;4516:7;4506:8;4503:21;4495:270;;;4575:4;4571:1;4567:6;4563:17;4557:4;4554:27;4551:53;;;4584:18;;:::i;:::-;4634:7;4624:8;4620:22;4617:55;;;4654:16;;;;4617:55;4733:22;;;;4693:15;;;;4495:270;;;4499:3;4349:422;;;;;:::o;4776:806::-;4825:5;4855:8;4845:80;;-1:-1:-1;4896:1:1;4910:5;;4845:80;4944:4;4934:76;;-1:-1:-1;4981:1:1;4995:5;;4934:76;5026:4;5044:1;5039:59;;;;5112:1;5107:130;;;;5019:218;;5039:59;5069:1;5060:10;;5083:5;;;5107:130;5144:3;5134:8;5131:17;5128:43;;;5151:18;;:::i;:::-;-1:-1:-1;;5207:1:1;5193:16;;5222:5;;5019:218;;5321:2;5311:8;5308:16;5302:3;5296:4;5293:13;5289:36;5283:2;5273:8;5270:16;5265:2;5259:4;5256:12;5252:35;5249:77;5246:159;;;-1:-1:-1;5358:19:1;;;5390:5;;5246:159;5437:34;5462:8;5456:4;5437:34;:::i;:::-;5507:6;5503:1;5499:6;5495:19;5486:7;5483:32;5480:58;;;5518:18;;:::i;:::-;5556:20;;4776:806;-1:-1:-1;;;4776:806:1:o;5587:140::-;5645:5;5674:47;5715:4;5705:8;5701:19;5695:4;5674:47;:::i;5732:168::-;5772:7;5838:1;5834;5830:6;5826:14;5823:1;5820:21;5815:1;5808:9;5801:17;5797:45;5794:71;;;5845:18;;:::i;:::-;-1:-1:-1;5885:9:1;;5732:168::o;5905:127::-;5966:10;5961:3;5957:20;5954:1;5947:31;5997:4;5994:1;5987:15;6021:4;6018:1;6011:15;6037:135;6076:3;-1:-1:-1;;6097:17:1;;6094:43;;;6117:18;;:::i;:::-;-1:-1:-1;6164:1:1;6153:13;;6037:135::o;6177:125::-;6217:4;6245:1;6242;6239:8;6236:34;;;6250:18;;:::i;:::-;-1:-1:-1;6287:9:1;;6177:125::o;7051:128::-;7091:3;7122:1;7118:6;7115:1;7112:13;7109:39;;;7128:18;;:::i;:::-;-1:-1:-1;7164:9:1;;7051:128::o

Swarm Source

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