Token Ecto

 

Overview [ERC-20]

Max Total Supply:
1,000,000 ECTO

Holders:
6

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2020-08-05
*/

//Modified from the DAI contract https://etherscan.io/address/0x6b175474e89094c44da98b954eedeac495271d0f#contracts
//Date: 2020-07-22

// Copyright (C) 2017, 2018, 2019 dbrock, rain, mrchico

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

pragma solidity 0.5.12;


contract LibNote {
    event LogNote(
        bytes4   indexed  sig,
        address  indexed  usr,
        bytes32  indexed  arg1,
        bytes32  indexed  arg2,
        bytes             data
    ) anonymous;

    modifier note {
        _;
        assembly {
            // log an 'anonymous' event with a constant 6 words of calldata
            // and four indexed topics: selector, caller, arg1 and arg2
            let mark := msize                         // end of memory ensures zero
            mstore(0x40, add(mark, 288))              // update free memory pointer
            mstore(mark, 0x20)                        // bytes type data offset
            mstore(add(mark, 0x20), 224)              // bytes size (padded)
            calldatacopy(add(mark, 0x40), 0, 224)     // bytes payload
            log4(mark, 288,                           // calldata
                 shl(224, shr(224, calldataload(0))), // msg.sig
                 caller,                              // msg.sender
                 calldataload(4),                     // arg1
                 calldataload(36)                     // arg2
                )
        }
    }
}

contract Token is LibNote {
    // --- Auth ---
    mapping (address => uint) public wards;
    function rely(address guy) external note auth { wards[guy] = 1; }
    function deny(address guy) external note auth { wards[guy] = 0; }
    modifier auth {
        require(wards[msg.sender] == 1, "Token/not-authorized");
        _;
    }

    // --- ERC20 Data ---
    string  public constant name     = "Ecto";
    string  public constant symbol   = "ECTO";
    string  public constant version  = "1";
    uint8   public constant decimals = 18;
    uint256 public totalSupply;

    mapping (address => uint)                      public balanceOf;
    mapping (address => mapping (address => uint)) public allowance;
    mapping (address => uint)                      public nonces;

    event Approval(address indexed src, address indexed guy, uint wad);
    event Transfer(address indexed src, address indexed dst, uint wad);

    // --- Math ---
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x);
    }
    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x);
    }

    // --- EIP712 niceties ---
    bytes32 public DOMAIN_SEPARATOR;
    // bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address holder,address spender,uint256 nonce,uint256 expiry,bool allowed)");
    bytes32 public constant PERMIT_TYPEHASH = 0xea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb;

    constructor(uint256 chainId_) public {
        wards[msg.sender] = 1;
        DOMAIN_SEPARATOR = keccak256(abi.encode(
            keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
            keccak256(bytes(name)),
            keccak256(bytes(version)),
            chainId_,
            address(this)
        ));
    }

    // --- Token ---
    function transfer(address dst, uint wad) external returns (bool) {
        return transferFrom(msg.sender, dst, wad);
    }
    function transferFrom(address src, address dst, uint wad)
        public returns (bool)
    {
        require(balanceOf[src] >= wad, "Token/insufficient-balance");
        if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {
            require(allowance[src][msg.sender] >= wad, "Token/insufficient-allowance");
            allowance[src][msg.sender] = sub(allowance[src][msg.sender], wad);
        }
        balanceOf[src] = sub(balanceOf[src], wad);
        balanceOf[dst] = add(balanceOf[dst], wad);
        emit Transfer(src, dst, wad);
        return true;
    }
    function mint(address usr, uint wad) external auth {
        balanceOf[usr] = add(balanceOf[usr], wad);
        totalSupply    = add(totalSupply, wad);
        emit Transfer(address(0), usr, wad);
    }
    function burn(address usr, uint wad) external {
        require(balanceOf[usr] >= wad, "Token/insufficient-balance");
        if (usr != msg.sender && allowance[usr][msg.sender] != uint(-1)) {
            require(allowance[usr][msg.sender] >= wad, "Token/insufficient-allowance");
            allowance[usr][msg.sender] = sub(allowance[usr][msg.sender], wad);
        }
        balanceOf[usr] = sub(balanceOf[usr], wad);
        totalSupply    = sub(totalSupply, wad);
        emit Transfer(usr, address(0), wad);
    }
    function approve(address usr, uint wad) external returns (bool) {
        allowance[msg.sender][usr] = wad;
        emit Approval(msg.sender, usr, wad);
        return true;
    }

    // --- Alias ---
    function push(address usr, uint wad) external {
        transferFrom(msg.sender, usr, wad);
    }
    function pull(address usr, uint wad) external {
        transferFrom(usr, msg.sender, wad);
    }
    function move(address src, address dst, uint wad) external {
        transferFrom(src, dst, wad);
    }

    // --- Approve by signature ---
    function permit(address holder, address spender, uint256 nonce, uint256 expiry,
                    bool allowed, uint8 v, bytes32 r, bytes32 s) external
    {
        bytes32 digest =
            keccak256(abi.encodePacked(
                "\x19\x01",
                DOMAIN_SEPARATOR,
                keccak256(abi.encode(PERMIT_TYPEHASH,
                                     holder,
                                     spender,
                                     nonce,
                                     expiry,
                                     allowed))
        ));

        require(holder != address(0), "Token/invalid-address-0");
        require(holder == ecrecover(digest, v, r, s), "Token/invalid-permit");
        require(expiry == 0 || now <= expiry, "Token/permit-expired");
        require(nonce == nonces[holder]++, "Token/invalid-nonce");
        uint wad = allowed ? uint(-1) : 0;
        allowance[holder][spender] = wad;
        emit Approval(holder, spender, wad);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"chainId_","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"arg1","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"arg2","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"deny","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"move","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"bool","name":"allowed","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"pull","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"push","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"rely","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b506040516112623803806112628339818101604052602081101561003357600080fd5b5051336000908152602081905260409081902060019055518060526112108239604080519182900360520182208282018252600483527f4563746f0000000000000000000000000000000000000000000000000000000060209384015281518083018352600181527f3100000000000000000000000000000000000000000000000000000000000000908401528151808401919091527f1e7d5da5c8a90709d7bcb70ab407cb80e92399ad460805df7fc490efbfc82a13818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101949094523060a0808601919091528151808603909101815260c090940190528251920191909120600555506110be806101526000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80637ecebe00116100b8578063a9059cbb1161007c578063a9059cbb146103e0578063b753a98c1461040c578063bb35783b14610438578063bf353dbb1461046e578063dd62ed3e14610494578063f2d5d56b146104c257610142565b80637ecebe00146103065780638fcbaf0c1461032c57806395d89b41146103865780639c52a7f11461038e5780639dc29fac146103b457610142565b8063313ce5671161010a578063313ce5671461025e5780633644e5151461027c57806340c10f191461028457806354fd4d50146102b257806365fae35e146102ba57806370a08231146102e057610142565b806306fdde0314610147578063095ea7b3146101c657806318160ddd1461020657806323b872dd1461022057806330adf81f14610256575b600080fd5b61014f6104ee565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561018b578082015183820152602001610173565b50505050905090810190601f1680156101b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f2600480360360408110156101dc57600080fd5b506001600160a01b03813516906020013561050c565b604051901515815260200160405180910390f35b61020e61057e565b60405190815260200160405180910390f35b6101f26004803603606081101561023657600080fd5b506001600160a01b03813581169160208101359091169060400135610584565b61020e6107d6565b6102666107fa565b60405160ff909116815260200160405180910390f35b61020e6107ff565b6102b06004803603604081101561029a57600080fd5b506001600160a01b038135169060200135610805565b005b61014f6108ee565b6102b0600480360360208110156102d057600080fd5b50356001600160a01b0316610909565b61020e600480360360208110156102f657600080fd5b50356001600160a01b03166109b9565b61020e6004803603602081101561031c57600080fd5b50356001600160a01b03166109cd565b6102b0600480360361010081101561034357600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608081013515159060ff60a0820135169060c08101359060e001356109e1565b61014f610d09565b6102b0600480360360208110156103a457600080fd5b50356001600160a01b0316610d27565b6102b0600480360360408110156103ca57600080fd5b506001600160a01b038135169060200135610dd4565b6101f2600480360360408110156103f657600080fd5b506001600160a01b038135169060200135610ff3565b6102b06004803603604081101561042257600080fd5b506001600160a01b038135169060200135611007565b6102b06004803603606081101561044e57600080fd5b506001600160a01b03813581169160208101359091169060400135611017565b61020e6004803603602081101561048457600080fd5b50356001600160a01b0316611028565b61020e600480360360408110156104aa57600080fd5b506001600160a01b038135811691602001351661103c565b6102b0600480360360408110156104d857600080fd5b506001600160a01b03813516906020013561105e565b6040516040808201905260048152634563746f60e01b602082015281565b336000908152600360205281604082206001600160a01b038516600090815260209190915260409020556001600160a01b038316337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405190815260200160405180910390a35060015b92915050565b60015481565b6001600160a01b0383166000908152600260205281604082205410156105f05760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e2f696e73756666696369656e742d62616c616e6365000000000000604482015260640160405180910390fd5b6001600160a01b038416331480159061063457506001600160a01b038416600090815260036020526000199060409020336000908152602091909152604090205414155b15610713576001600160a01b03841660009081526003602052829060409020336000908152602091909152604090205410156106b65760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e2f696e73756666696369656e742d616c6c6f77616e636500000000604482015260640160405180910390fd5b6001600160a01b038416600090815260036020526106e99060409020336000908152602091909152604090205483611069565b6001600160a01b038516600090815260036020526040902033600090815260209190915260409020555b6001600160a01b0384166000908152600260205261073690604090205483611069565b6001600160a01b0385166000908152600260205260409020556001600160a01b0383166000908152600260205261077290604090205483611079565b6001600160a01b0384166000908152600260205260409020556001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060019392505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b601281565b60055481565b3360009081526020819052604090205460011461085f5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b8bdb9bdd0b585d5d1a1bdc9a5e995960621b604482015260640160405180910390fd5b6001600160a01b0382166000908152600260205261088290604090205482611079565b6001600160a01b0383166000908152600260205260409020556001546108a89082611079565b6001556001600160a01b03821660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a35050565b6040516040808201905260018152603160f81b602082015281565b336000908152602081905260409020546001146109635760405162461bcd60e51b8152602060048201526014602482015273151bdad95b8bdb9bdd0b585d5d1a1bdc9a5e995960621b604482015260640160405180910390fd5b6001600160a01b0381166000908152602081905260019060409020555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b600260205280600052604060002054905081565b600460205280600052604060002054905081565b6005546000907fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb8a8a8a8a8a60405160208101969096526001600160a01b03948516604080880191909152939094166060860152608085019190915260a084015290151560c083015260e090910190516020818303038152906040528051906020012060405161190160f01b6020820152602281019290925260428201526062016040516020818303038152906040528051906020012090506001600160a01b038916610af45760405162461bcd60e51b815260206004820152601760248201527f546f6b656e2f696e76616c69642d616464726573732d30000000000000000000604482015260640160405180910390fd5b60018185858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610b51573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b031614610bb65760405162461bcd60e51b8152602060048201526014602482015273151bdad95b8bda5b9d985b1a590b5c195c9b5a5d60621b604482015260640160405180910390fd5b851580610bc35750854211155b610c0a5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b8bdc195c9b5a5d0b595e1c1a5c995960621b604482015260640160405180910390fd5b6001600160a01b03891660009081526004602052604090208054600181019091558714610c735760405162461bcd60e51b8152602060048201526013602482015272546f6b656e2f696e76616c69642d6e6f6e636560681b604482015260640160405180910390fd5b600085610c81576000610c85565b6000195b6001600160a01b038b16600090815260036020529091508190604090206001600160a01b038b16600090815260209190915260409020556001600160a01b03808a16908b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405190815260200160405180910390a350505050505050505050565b6040516040808201905260048152634543544f60e01b602082015281565b33600090815260208190526040902054600114610d815760405162461bcd60e51b8152602060048201526014602482015273151bdad95b8bdb9bdd0b585d5d1a1bdc9a5e995960621b604482015260640160405180910390fd5b6001600160a01b0381166000908152602081905260408120555961012081016040526020815260e0602082015260e060006040830137602435600435336001600160e01b03196000351661012085a45050565b6001600160a01b03821660009081526002602052819060409020541015610e415760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e2f696e73756666696369656e742d62616c616e6365000000000000604482015260640160405180910390fd5b6001600160a01b0382163314801590610e8557506001600160a01b038216600090815260036020526000199060409020336000908152602091909152604090205414155b15610f64576001600160a01b0382166000908152600360205281906040902033600090815260209190915260409020541015610f075760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e2f696e73756666696369656e742d616c6c6f77616e636500000000604482015260640160405180910390fd5b6001600160a01b03821660009081526003602052610f3a9060409020336000908152602091909152604090205482611069565b6001600160a01b038316600090815260036020526040902033600090815260209190915260409020555b6001600160a01b03821660009081526002602052610f8790604090205482611069565b6001600160a01b038316600090815260026020526040902055600154610fad9082611069565b60015560006001600160a01b0383167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a35050565b6000611000338484610584565b9392505050565b611012338383610584565b505050565b611022838383610584565b50505050565b600060205280600052604060002054905081565b6003602052816000526040600020602052806000526040600020549150829050565b611012823383610584565b8082038281111561057857600080fd5b8082018281101561057857600080fdfea265627a7a7231582037963a1e2188f88991b3d9fe81af027b6e50bb17cf0244f05ca2cdf2ac29361264736f6c634300050c0032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e7472616374290000000000000000000000000000000000000000000000000000000000000001

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000000000000000000000000000000000000000001

-----Decoded View---------------
Arg [0] : chainId_ (uint256): 1

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000001


Deployed ByteCode Sourcemap

2104:5009:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2104:5009:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2480:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2480:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5516:183;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5516:183:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2665:26;;;:::i;:::-;;;;;;;;;;;;;;;4170:594;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4170:594:0;;;;;;;;;;;;;;;;;:::i;3515:108::-;;;:::i;2621:37::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;3332:31;;;:::i;4770:206::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4770:206:0;;;;;;;;:::i;:::-;;2576:38;;;:::i;2203:65::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2203:65:0;-1:-1:-1;;;;;2203:65:0;;:::i;2700:63::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2700:63:0;-1:-1:-1;;;;;2700:63:0;;:::i;2840:60::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2840:60:0;-1:-1:-1;;;;;2840:60:0;;:::i;6089:1021::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;6089:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2528:41::-;;;:::i;2274:65::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2274:65:0;-1:-1:-1;;;;;2274:65:0;;:::i;4982:528::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4982:528:0;;;;;;;;:::i;4039:125::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4039:125:0;;;;;;;;:::i;5729:99::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5729:99:0;;;;;;;;:::i;5939:105::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5939:105:0;;;;;;;;;;;;;;;;;:::i;2158:38::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2158:38:0;-1:-1:-1;;;;;2158:38:0;;:::i;2770:63::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2770:63:0;;;;;;;;;;:::i;5834:99::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5834:99:0;;;;;;;;:::i;2480:41::-;;;;;;;;;;;;-1:-1:-1;;;2480:41:0;;;;;:::o;5516:183::-;5601:10;5574:4;5591:21;;;:9;:21;;5620:3;5591:21;5574:4;5591:21;-1:-1:-1;;;;;5591:26:0;;;;;;;;;;;;;;:32;-1:-1:-1;;;;;5639:30:0;;5648:10;5639:30;5665:3;5639:30;;;;;;;;;;;;;;-1:-1:-1;5687:4:0;5516:183;;;;;:::o;2665:26::-;;;;:::o;4170:594::-;-1:-1:-1;;;;;4283:14:0;;4253:4;4283:14;;;:9;:14;;4301:3;4283:14;4253:4;4283:14;;:21;;4275:60;;;;-1:-1:-1;;;4275:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4350:17:0;;4357:10;4350:17;;;;:59;;-1:-1:-1;;;;;;4371:14:0;;;;;;:9;:14;;-1:-1:-1;;4406:2:0;4371:14;;;4386:10;4371:26;;;;;;;;;;;;;:38;;4350:59;4346:246;;;-1:-1:-1;;;;;4434:14:0;;;;;;:9;:14;;4464:3;;4434:14;;;4449:10;4434:26;;;;;;;;;;;;;:33;;4426:74;;;;-1:-1:-1;;;4426:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4548:14:0;;;;;;:9;:14;;4544:36;;4548:14;;;4563:10;4548:26;;;;;;;;;;;;;4576:3;4544;:36::i;:::-;-1:-1:-1;;;;;4515:14:0;;;;;;:9;:14;;;;;4530:10;4515:26;;;;;;;;;;;;:65;4346:246;-1:-1:-1;;;;;4623:14:0;;;;;;:9;:14;;4619:24;;4623:14;;;;4639:3;4619;:24::i;:::-;-1:-1:-1;;;;;4602:14:0;;;;;;:9;:14;;;;;:41;-1:-1:-1;;;;;4675:14:0;;;;;;:9;:14;;4671:24;;4675:14;;;;4691:3;4671;:24::i;:::-;-1:-1:-1;;;;;4654:14:0;;;;;;:9;:14;;;;;:41;-1:-1:-1;;;;;4711:23:0;;;;;;;4730:3;4711:23;;;;;;;;;;;;;;-1:-1:-1;4752:4:0;4170:594;;;;;:::o;3515:108::-;3557:66;3515:108;:::o;2621:37::-;2656:2;2621:37;:::o;3332:31::-;;;;:::o;4770:206::-;2384:10;2378:5;:17;;;;;;;;;;;2399:1;2378:22;2370:55;;;;-1:-1:-1;;;2370:55:0;;;;;;;;;;;;-1:-1:-1;;;2370:55:0;;;;;;;;;;;;;;-1:-1:-1;;;;;4853:14:0;;;;;;:9;:14;;4849:24;;4853:14;;;;4869:3;4849;:24::i;:::-;-1:-1:-1;;;;;4832:14:0;;;;;;:9;:14;;;;;:41;4905:11;;4901:21;;4918:3;4901;:21::i;:::-;4884:11;:38;-1:-1:-1;;;;;4938:30:0;;4955:1;4938:30;4964:3;4938:30;;;;;;;;;;;;;;4770:206;;:::o;2576:38::-;;;;;;;;;;;;-1:-1:-1;;;2576:38:0;;;;;:::o;2203:65::-;2384:10;2378:5;:17;;;;;;;;;;;2399:1;2378:22;2370:55;;;;-1:-1:-1;;;2370:55:0;;;;;;;;;;;;-1:-1:-1;;;2370:55:0;;;;;;;;;;;;;;-1:-1:-1;;;;;2251:10:0;;:5;:10;;;;;;;2264:1;;2251:10;;;:14;1357:5;1453:3;1447:4;1443:14;1437:4;1430:28;1528:4;1522;1515:18;1620:3;1613:4;1607;1603:15;1596:28;1707:3;1704:1;1697:4;1691;1687:15;1674:37;2029:2;2016:16;1966:1;1953:15;1884:6;-1:-1:-1;;;;;;1849:1:0;1836:15;1818:35;1757:3;1751:4;1746:333;1180:910;;:::o;2700:63::-;;;;;;;;;;;;-1:-1:-1;2700:63:0;:::o;2840:60::-;;;;;;;;;;;;-1:-1:-1;2840:60:0;:::o;6089:1021::-;6364:16;;6260:14;;3557:66;6475:6;6521:7;6568:5;6613:6;6659:7;6409:258;;;;;;;;;-1:-1:-1;;;;;6409:258:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6409:258:0;;;6399:269;;;;;;6300:379;;-1:-1:-1;;;6300:379:0;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6300:379:0;;;6290:390;;;;;;6260:420;-1:-1:-1;;;;;;6701:20:0;;6693:56;;;;-1:-1:-1;;;6693:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6778:26;6788:6;6796:1;6799;6802;6778:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6778:26:0;;;;;;;;-1:-1:-1;;;;;6768:36:0;:6;-1:-1:-1;;;;;6768:36:0;;6760:69;;;;-1:-1:-1;;;6760:69:0;;;;;;;;;;;;-1:-1:-1;;;6760:69:0;;;;;;;;;;;;;;6848:11;;;:28;;;6870:6;6863:3;:13;;6848:28;6840:61;;;;-1:-1:-1;;;6840:61:0;;;;;;;;;;;;-1:-1:-1;;;6840:61:0;;;;;;;;;;;;;;-1:-1:-1;;;;;6929:14:0;;;;;;:6;:14;;;;;:16;;;;;;;;6920:25;;6912:57;;;;-1:-1:-1;;;6912:57:0;;;;;;;;;;;;-1:-1:-1;;;6912:57:0;;;;;;;;;;;;;;6980:8;6991:7;:22;;7012:1;6991:22;;;-1:-1:-1;;6991:22:0;-1:-1:-1;;;;;7024:17:0;;;;;;:9;:17;;6980:33;;-1:-1:-1;6980:33:0;;7024:17;;;-1:-1:-1;;;;;7024:26:0;;;;;;;;;;;;;;:32;-1:-1:-1;;;;;7072:30:0;;;;;;;7098:3;7072:30;;;;;;;;;;;;;;6089:1021;;;;;;;;;;:::o;2528:41::-;;;;;;;;;;;;-1:-1:-1;;;2528:41:0;;;;;:::o;2274:65::-;2384:10;2378:5;:17;;;;;;;;;;;2399:1;2378:22;2370:55;;;;-1:-1:-1;;;2370:55:0;;;;;;;;;;;;-1:-1:-1;;;2370:55:0;;;;;;;;;;;;;;-1:-1:-1;;;;;2322:10:0;;2335:1;2322:10;;;;;;;;2335:1;2322:10;:14;1357:5;1453:3;1447:4;1443:14;1437:4;1430:28;1528:4;1522;1515:18;1620:3;1613:4;1607;1603:15;1596:28;1707:3;1704:1;1697:4;1691;1687:15;1674:37;2029:2;2016:16;1966:1;1953:15;1884:6;-1:-1:-1;;;;;;1849:1:0;1836:15;1818:35;1757:3;1751:4;1746:333;1180:910;;:::o;4982:528::-;-1:-1:-1;;;;;5047:14:0;;;;;;:9;:14;;5065:3;;5047:14;;;;:21;;5039:60;;;;-1:-1:-1;;;5039:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5114:17:0;;5121:10;5114:17;;;;:59;;-1:-1:-1;;;;;;5135:14:0;;;;;;:9;:14;;-1:-1:-1;;5170:2:0;5135:14;;;5150:10;5135:26;;;;;;;;;;;;;:38;;5114:59;5110:246;;;-1:-1:-1;;;;;5198:14:0;;;;;;:9;:14;;5228:3;;5198:14;;;5213:10;5198:26;;;;;;;;;;;;;:33;;5190:74;;;;-1:-1:-1;;;5190:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5312:14:0;;;;;;:9;:14;;5308:36;;5312:14;;;5327:10;5312:26;;;;;;;;;;;;;5340:3;5308;:36::i;:::-;-1:-1:-1;;;;;5279:14:0;;;;;;:9;:14;;;;;5294:10;5279:26;;;;;;;;;;;;:65;5110:246;-1:-1:-1;;;;;5387:14:0;;;;;;:9;:14;;5383:24;;5387:14;;;;5403:3;5383;:24::i;:::-;-1:-1:-1;;;;;5366:14:0;;;;;;:9;:14;;;;;:41;5439:11;;5435:21;;5452:3;5435;:21::i;:::-;5418:11;:38;5494:1;-1:-1:-1;;;;;5472:30:0;;;5498:3;5472:30;;;;;;;;;;;;;;4982:528;;:::o;4039:125::-;4098:4;4122:34;4135:10;4147:3;4152;4122:12;:34::i;:::-;4115:41;4039:125;-1:-1:-1;;;4039:125:0:o;5729:99::-;5786:34;5799:10;5811:3;5816;5786:12;:34::i;:::-;;5729:99;;:::o;5939:105::-;6009:27;6022:3;6027;6032;6009:12;:27::i;:::-;;5939:105;;;:::o;2158:38::-;;;;;;;;;;;;-1:-1:-1;2158:38:0;:::o;2770:63::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2770:63:0;;-1:-1:-1;2770:63:0:o;5834:99::-;5891:34;5904:3;5909:10;5921:3;5891:12;:34::i;3188:104::-;3272:5;;;3267:16;;;;3259:25;;;;;3078:104;3162:5;;;3157:16;;;;3149:25;;;;

Swarm Source

bzzr://37963a1e2188f88991b3d9fe81af027b6e50bb17cf0244f05ca2cdf2ac293612

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.