ETH Price: $2,642.00 (-0.36%)

Token

Degens Token (DEGENS)
 

Overview

Max Total Supply

1,192,720 DEGENS

Holders

164

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
14,792.280946003897056902 DEGENS

Value
$0.00
0xb580934842B33a6281b78983db0F9890f446983F
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:
DegensToken

Compiler Version
v0.7.3+commit.9bfce1f6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-10-24
*/

pragma solidity ^0.7.0;

// SPDX-License-Identifier: MIT

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "add overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "sub underflow");
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) return 0;
        uint256 c = a * b;
        require(c / a == b, "mul overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "div by zero");
        uint256 c = a / b;
        return c;
    }

    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }
}

contract DegensToken {
    using SafeMath for uint256;

    string public constant name = "Degens Token";
    string public constant symbol = "DEGENS";
    uint8 public constant decimals = 18;
    uint256 immutable public totalSupply;

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

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);

    bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");
    bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");

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

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

    function transferFrom(address from, address recipient, uint256 amount) public returns (bool) {
        require(balanceOf[from] >= amount, "insufficient balance");
        if (from != msg.sender && allowance[from][msg.sender] != uint256(-1)) {
            require(allowance[from][msg.sender] >= amount, "insufficient allowance");
            allowance[from][msg.sender] = allowance[from][msg.sender].sub(amount);
        }
        balanceOf[from] = balanceOf[from].sub(amount);
        balanceOf[recipient] = balanceOf[recipient].add(amount);
        emit Transfer(from, recipient, amount);
        return true;
    }

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

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external {
        bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));
        bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline));
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));

        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "permit: invalid signature");
        require(signatory == owner, "permit: unauthorized");
        require(block.timestamp <= deadline, "permit: signature expired");

        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function getChainId() private pure returns (uint chainId) {
        assembly { chainId := chainid() }
    }
}

contract DegensTokenDistributor {
    using SafeMath for uint256;

    bytes32 immutable public merkleRoot;
    uint256 public unclaimed;
    mapping(uint256 => uint256) public claimed; // index -> tokens claimed

    DegensToken immutable public token;
    uint64 immutable public timeDeployed;

    constructor(bytes32 merkleRoot_, uint256 unclaimed_) {
        merkleRoot = merkleRoot_;
        unclaimed = unclaimed_;

        token = new DegensToken(unclaimed_);
        timeDeployed = uint64(block.timestamp);
    }

    function amountClaimable(uint256 index, uint256 allocation, uint256 vestingYears) public view returns (uint256) {
        uint256 yearsElapsed = block.timestamp.sub(timeDeployed).mul(1e18).div(86400 * 365);

        uint256 fractionVested = vestingYears == 0 ? 1e18 : yearsElapsed.div(vestingYears).min(1e18);

        uint256 amountVested = allocation.mul(fractionVested).div(1e18).min(allocation);

        return amountVested.sub(claimed[index]);
    }

    function claim(uint256 index, address claimer, uint256 allocation, uint256 vestingYears, bytes32[] memory witnesses, uint256 path) public {
        // Validate proof

        bytes32 node = keccak256(abi.encodePacked(index, claimer, allocation, vestingYears));

        for (uint256 i = 0; i < witnesses.length; i++) {
            if ((path & 1) == 0) {
                node = keccak256(abi.encodePacked(node, witnesses[i]));
            } else {
                node = keccak256(abi.encodePacked(witnesses[i], node));
            }

            path >>= 1;
        }

        require(node == merkleRoot, "incorrect proof");

        // Compute amount claimable

        uint256 toClaim = amountClaimable(index, allocation, vestingYears);
        require(toClaim > 0, "nothing claimable");

        // Update distributor records

        claimed[index] = claimed[index].add(toClaim);
        unclaimed = unclaimed.sub(toClaim);

        // Transfer tokens

        token.transfer(claimer, toClaim);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"amountToDistribute","type":"uint256"}],"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":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":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":[{"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":"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":"from","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"}]

60a060405234801561001057600080fd5b50604051610b5c380380610b5c8339818101604052602081101561003357600080fd5b5051608081905233600081815260208181526040808320859055805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350608051610ac261009a600039806103a05250610ac26000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063313ce5671161008c57806395d89b411161006657806395d89b411461025b578063a9059cbb14610263578063d505accf1461028f578063dd62ed3e146102e2576100cf565b8063313ce567146101f157806370a082311461020f5780637ecebe0014610235576100cf565b806306fdde03146100d4578063095ea7b31461015157806318160ddd1461019157806320606b70146101ab57806323b872dd146101b357806330adf81f146101e9575b600080fd5b6100dc610310565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101165781810151838201526020016100fe565b50505050905090810190601f1680156101435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561016757600080fd5b506001600160a01b038135169060200135610338565b604080519115158252519081900360200190f35b61019961039e565b60408051918252519081900360200190f35b6101996103c2565b61017d600480360360608110156101c957600080fd5b506001600160a01b038135811691602081013590911690604001356103e6565b610199610602565b6101f9610626565b6040805160ff9092168252519081900360200190f35b6101996004803603602081101561022557600080fd5b50356001600160a01b031661062b565b6101996004803603602081101561024b57600080fd5b50356001600160a01b031661063d565b6100dc61064f565b61017d6004803603604081101561027957600080fd5b506001600160a01b038135169060200135610671565b6102e0600480360360e08110156102a557600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610685565b005b610199600480360360408110156102f857600080fd5b506001600160a01b03813581169160200135166109d5565b6040518060400160405280600c81526020016b2232b3b2b739902a37b5b2b760a11b81525081565b3360008181526001602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b6001600160a01b03831660009081526020819052604081205482111561044a576040805162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6001600160a01b038416331480159061048857506001600160a01b038416600090815260016020908152604080832033845290915290205460001914155b15610551576001600160a01b03841660009081526001602090815260408083203384529091529020548211156104fe576040805162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e7420616c6c6f77616e636560501b604482015290519081900360640190fd5b6001600160a01b038416600090815260016020908152604080832033845290915290205461052c90836109f2565b6001600160a01b03851660009081526001602090815260408083203384529091529020555b6001600160a01b03841660009081526020819052604090205461057490836109f2565b6001600160a01b0380861660009081526020819052604080822093909355908516815220546105a39083610a3f565b6001600160a01b038085166000818152602081815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60006020819052908152604090205481565b60026020526000908152604090205481565b60405180604001604052806006815260200165444547454e5360d01b81525081565b600061067e3384846103e6565b9392505050565b60408051808201909152600c81526b2232b3b2b739902a37b5b2b760a11b60209091015260007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8667f063d58d231664b1fd7c6487aa84090f53b16e41a780d6568c08035afef4587126106f5610a88565b60408051602080820195909552808201939093526060830191909152306080808401919091528151808403909101815260a0830182528051908401206001600160a01b038c8116600081815260028752848120805460018082019092557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960c089015260e0880193909352928e1661010087015261012086018d90526101408601919091526101608086018c9052845180870390910181526101808601855280519087012061190160f01b6101a08701526101a286018490526101c2808701829052855180880390910181526101e2870180875281519189019190912090839052610202870180875281905260ff8c1661022288015261024287018b905261026287018a90529451939750959394909391926102828083019392601f198301929081900390910190855afa158015610851573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166108b9576040805162461bcd60e51b815260206004820152601960248201527f7065726d69743a20696e76616c6964207369676e617475726500000000000000604482015290519081900360640190fd5b8a6001600160a01b0316816001600160a01b031614610916576040805162461bcd60e51b81526020600482015260146024820152731c195c9b5a5d0e881d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b8742111561096b576040805162461bcd60e51b815260206004820152601960248201527f7065726d69743a207369676e6174757265206578706972656400000000000000604482015290519081900360640190fd5b6001600160a01b03808c166000818152600160209081526040808320948f16808452948252918290208d905581518d815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35050505050505050505050565b600160209081526000928352604080842090915290825290205481565b600082821115610a39576040805162461bcd60e51b815260206004820152600d60248201526c73756220756e646572666c6f7760981b604482015290519081900360640190fd5b50900390565b60008282018381101561067e576040805162461bcd60e51b815260206004820152600c60248201526b616464206f766572666c6f7760a01b604482015290519081900360640190fd5b469056fea2646970667358221220ce35b8b7e5a1101de304feb14f2f3bec55a67a079b9ee506505effc6f44fa18164736f6c6343000703003300000000000000000000000000000000000000000000fc917b12fa9b62400000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063313ce5671161008c57806395d89b411161006657806395d89b411461025b578063a9059cbb14610263578063d505accf1461028f578063dd62ed3e146102e2576100cf565b8063313ce567146101f157806370a082311461020f5780637ecebe0014610235576100cf565b806306fdde03146100d4578063095ea7b31461015157806318160ddd1461019157806320606b70146101ab57806323b872dd146101b357806330adf81f146101e9575b600080fd5b6100dc610310565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101165781810151838201526020016100fe565b50505050905090810190601f1680156101435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561016757600080fd5b506001600160a01b038135169060200135610338565b604080519115158252519081900360200190f35b61019961039e565b60408051918252519081900360200190f35b6101996103c2565b61017d600480360360608110156101c957600080fd5b506001600160a01b038135811691602081013590911690604001356103e6565b610199610602565b6101f9610626565b6040805160ff9092168252519081900360200190f35b6101996004803603602081101561022557600080fd5b50356001600160a01b031661062b565b6101996004803603602081101561024b57600080fd5b50356001600160a01b031661063d565b6100dc61064f565b61017d6004803603604081101561027957600080fd5b506001600160a01b038135169060200135610671565b6102e0600480360360e08110156102a557600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610685565b005b610199600480360360408110156102f857600080fd5b506001600160a01b03813581169160200135166109d5565b6040518060400160405280600c81526020016b2232b3b2b739902a37b5b2b760a11b81525081565b3360008181526001602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b7f00000000000000000000000000000000000000000000fc917b12fa9b6240000081565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b6001600160a01b03831660009081526020819052604081205482111561044a576040805162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6001600160a01b038416331480159061048857506001600160a01b038416600090815260016020908152604080832033845290915290205460001914155b15610551576001600160a01b03841660009081526001602090815260408083203384529091529020548211156104fe576040805162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e7420616c6c6f77616e636560501b604482015290519081900360640190fd5b6001600160a01b038416600090815260016020908152604080832033845290915290205461052c90836109f2565b6001600160a01b03851660009081526001602090815260408083203384529091529020555b6001600160a01b03841660009081526020819052604090205461057490836109f2565b6001600160a01b0380861660009081526020819052604080822093909355908516815220546105a39083610a3f565b6001600160a01b038085166000818152602081815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60006020819052908152604090205481565b60026020526000908152604090205481565b60405180604001604052806006815260200165444547454e5360d01b81525081565b600061067e3384846103e6565b9392505050565b60408051808201909152600c81526b2232b3b2b739902a37b5b2b760a11b60209091015260007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8667f063d58d231664b1fd7c6487aa84090f53b16e41a780d6568c08035afef4587126106f5610a88565b60408051602080820195909552808201939093526060830191909152306080808401919091528151808403909101815260a0830182528051908401206001600160a01b038c8116600081815260028752848120805460018082019092557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960c089015260e0880193909352928e1661010087015261012086018d90526101408601919091526101608086018c9052845180870390910181526101808601855280519087012061190160f01b6101a08701526101a286018490526101c2808701829052855180880390910181526101e2870180875281519189019190912090839052610202870180875281905260ff8c1661022288015261024287018b905261026287018a90529451939750959394909391926102828083019392601f198301929081900390910190855afa158015610851573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166108b9576040805162461bcd60e51b815260206004820152601960248201527f7065726d69743a20696e76616c6964207369676e617475726500000000000000604482015290519081900360640190fd5b8a6001600160a01b0316816001600160a01b031614610916576040805162461bcd60e51b81526020600482015260146024820152731c195c9b5a5d0e881d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b8742111561096b576040805162461bcd60e51b815260206004820152601960248201527f7065726d69743a207369676e6174757265206578706972656400000000000000604482015290519081900360640190fd5b6001600160a01b03808c166000818152600160209081526040808320948f16808452948252918290208d905581518d815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35050505050505050505050565b600160209081526000928352604080842090915290825290205481565b600082821115610a39576040805162461bcd60e51b815260206004820152600d60248201526c73756220756e646572666c6f7760981b604482015290519081900360640190fd5b50900390565b60008282018381101561067e576040805162461bcd60e51b815260206004820152600c60248201526b616464206f766572666c6f7760a01b604482015290519081900360640190fd5b469056fea2646970667358221220ce35b8b7e5a1101de304feb14f2f3bec55a67a079b9ee506505effc6f44fa18164736f6c63430007030033

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

00000000000000000000000000000000000000000000fc917b12fa9b62400000

-----Decoded View---------------
Arg [0] : amountToDistribute (uint256): 1192720000000000000000000

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


Deployed Bytecode Sourcemap

921:3031:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;984:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2788:207;;;;;;;;;;;;;;;;-1:-1:-1;2788:207:0;;-1:-1:-1;;;;;2788:207:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1124:36;;;:::i;:::-;;;;;;;;;;;;;;;;1505:122;;;:::i;2154:626::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2154:626:0;;;;;;;;;;;;;;;;;:::i;1634:137::-;;;:::i;1082:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1169:44;;;;;;;;;;;;;;;;-1:-1:-1;1169:44:0;-1:-1:-1;;;;;1169:44:0;;:::i;1291:41::-;;;;;;;;;;;;;;;;-1:-1:-1;1291:41:0;-1:-1:-1;;;;;1291:41:0;;:::i;1035:40::-;;;:::i;2000:146::-;;;;;;;;;;;;;;;;-1:-1:-1;2000:146:0;;-1:-1:-1;;;;;2000:146:0;;;;;;:::i;3003:829::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3003:829:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3003:829:0;;;;;;;;:::i;:::-;;1220:64;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1220:64:0;;;;;;;;;;:::i;984:44::-;;;;;;;;;;;;;-1:-1:-1;;;984:44:0;;;;;:::o;2788:207::-;2883:10;2856:4;2873:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;2873:30:0;;;;;;;;;;;:39;;;2928:37;;;;;;;2856:4;;2873:30;;2883:10;;2928:37;;;;;;;;-1:-1:-1;2983:4:0;2788:207;;;;:::o;1124:36::-;;;:::o;1505:122::-;1547:80;1505:122;:::o;2154:626::-;-1:-1:-1;;;;;2266:15:0;;2241:4;2266:15;;;;;;;;;;;-1:-1:-1;;2266:25:0;2258:58;;;;;-1:-1:-1;;;2258:58:0;;;;;;;;;;;;-1:-1:-1;;;2258:58:0;;;;;;;;;;;;;;;2339:10;-1:-1:-1;;;;;2331:18:0;;;;;;:64;;-1:-1:-1;;;;;;2353:15:0;;;;;;-1:-1:-1;2353:15:0;;;;;;;;2369:10;2353:27;;;;;;;;-1:-1:-1;;2353:42:0;;2331:64;2327:253;;;-1:-1:-1;;;;;2420:15:0;;;;;;-1:-1:-1;2420:15:0;;;;;;;;2436:10;2420:27;;;;;;;;-1:-1:-1;;2420:37:0;2412:72;;;;;-1:-1:-1;;;2412:72:0;;;;;;;;;;;;-1:-1:-1;;;2412:72:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;2529:15:0;;;;;;-1:-1:-1;2529:15:0;;;;;;;;2545:10;2529:27;;;;;;;;:39;;2561:6;2529:31;:39::i;:::-;-1:-1:-1;;;;;2499:15:0;;;;;;-1:-1:-1;2499:15:0;;;;;;;;2515:10;2499:27;;;;;;;:69;2327:253;-1:-1:-1;;;;;2608:15:0;;:9;:15;;;;;;;;;;;:27;;2628:6;2608:19;:27::i;:::-;-1:-1:-1;;;;;2590:15:0;;;:9;:15;;;;;;;;;;;:45;;;;2669:20;;;;;;;:32;;2694:6;2669:24;:32::i;:::-;-1:-1:-1;;;;;2646:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;2717:33;;;;;;;2646:20;;2717:33;;;;;;;;;;;;;-1:-1:-1;2768:4:0;2154:626;;;;;:::o;1634:137::-;1676:95;1634:137;:::o;1082:35::-;1115:2;1082:35;:::o;1169:44::-;;;;;;;;;;;;;;:::o;1291:41::-;;;;;;;;;;;;;:::o;1035:40::-;;;;;;;;;;;;;-1:-1:-1;;;1035:40:0;;;;;:::o;2000:146::-;2071:4;2095:43;2108:10;2120:9;2131:6;2095:12;:43::i;:::-;2088:50;2000:146;-1:-1:-1;;;2000:146:0:o;3003:829::-;3209:4;;;;;;;;;;;;-1:-1:-1;;;3209:4:0;;;;;-1:-1:-1;1547:80:0;3193:22;3217:12;:10;:12::i;:::-;3165:80;;;;;;;;;;;;;;;;;;;;;;;;;3239:4;3165:80;;;;;;;;;;;;;;;;;;;;;;;3155:91;;;;;;-1:-1:-1;;;;;3339:13:0;;;-1:-1:-1;3339:13:0;;;:6;:13;;;;;:15;;-1:-1:-1;3339:15:0;;;;;;1676:95;3288:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3278:88;;;;;;-1:-1:-1;;;3404:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3394:68;;;;;;;;;3495:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3155:91;;-1:-1:-1;3278:88:0;3394:68;;-1:-1:-1;;;;3495:26:0;;;;;3165:80;-1:-1:-1;;3495:26:0;;;;;;;;;;;-1:-1:-1;3495:26:0;;;;;;;;;;;;;;;-1:-1:-1;;3495:26:0;;-1:-1:-1;;3495:26:0;;;-1:-1:-1;;;;;;;3540:23:0;;3532:61;;;;;-1:-1:-1;;;3532:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3612:18:0;;;;;;;3604:51;;;;;-1:-1:-1;;;3604:51:0;;;;;;;;;;;;-1:-1:-1;;;3604:51:0;;;;;;;;;;;;;;;3693:8;3674:15;:27;;3666:65;;;;;-1:-1:-1;;;3666:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3744:16:0;;;;;;;-1:-1:-1;3744:16:0;;;;;;;;:25;;;;;;;;;;;;;:33;;;3793:31;;;;;;;;;;;;;;;;;3003:829;;;;;;;;;;;:::o;1220:64::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;258:165::-;316:7;349:1;344;:6;;336:32;;;;;-1:-1:-1;;;336:32:0;;;;;;;;;;;;-1:-1:-1;;;336:32:0;;;;;;;;;;;;;;;-1:-1:-1;391:5:0;;;258:165::o;86:164::-;144:7;176:5;;;200:6;;;;192:31;;;;;-1:-1:-1;;;192:31:0;;;;;;;;;;;;-1:-1:-1;;;192:31:0;;;;;;;;;;;;;;3840:109;3931:9;;3918:24::o

Swarm Source

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