ETH Price: $3,128.84 (-4.45%)

Token

Verse (VERSE)
 

Overview

Max Total Supply

196,210,091,347.762085361079136633 VERSE

Holders

10,864 ( 0.110%)

Market

Price

$0.00 @ 0.000000 ETH (-3.74%)

Onchain Market Cap

$36,204,686.06

Circulating Supply Market Cap

$3,940,802.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.654928806969864064 VERSE

Value
$0.00 ( ~0 Eth) [0.0000%]
0x9aeffcf155230c983793e3856368a53eae0690c3
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

VERSE is Bitcoin.com’s ecosystem token. It provides utility and rewards to users of Bitcoin.com’s products and services which include the multichain self-custodial Bitcoin.com Wallet, a decentralized exchange (Verse DEX), an award-winning news network and more.

Market

Volume (24H):$37,929.00
Market Capitalization:$3,940,802.00
Circulating Supply:21,334,217,071.00 VERSE
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
VerseToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 4 of 4: VerseToken.sol
// SPDX-License-Identifier: --BCOM--

pragma solidity =0.8.17;

import "./VerseClaimer.sol";

contract VerseToken {

    string public constant name = "Verse";
    string public constant symbol = "VERSE";
    uint8 public constant decimals = 18;

    VerseClaimer public immutable claimer;

    address constant ZERO_ADDRESS = address(0);
    uint256 constant UINT256_MAX = type(uint256).max;

    uint256 public totalSupply;

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

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

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

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

    constructor(
        uint256 _initialSupply,
        uint256 _minimumTimeFrame,
        bytes32 _merkleRoot
    ) {
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                keccak256(bytes(name)),
                keccak256(bytes("1")),
                block.chainid,
                address(this)
            )
        );

        claimer = new VerseClaimer(
            _merkleRoot,
            _minimumTimeFrame,
            address(this)
        );

        _mint(
            address(claimer),
            _initialSupply
        );
    }

    function _mint(
        address _to,
        uint256 _value
    )
        internal
    {
        totalSupply =
        totalSupply + _value;

        unchecked {
            balanceOf[_to] =
            balanceOf[_to] + _value;
        }

        emit Transfer(
            ZERO_ADDRESS,
            _to,
            _value
        );
    }

    function burn(
        uint256 _value
    )
        external
    {
        _burn(
            msg.sender,
            _value
        );
    }

    function _burn(
        address _from,
        uint256 _value
    )
        internal
    {
        unchecked {
            totalSupply =
            totalSupply - _value;
        }

        balanceOf[_from] =
        balanceOf[_from] - _value;

        emit Transfer(
            _from,
            ZERO_ADDRESS,
            _value
        );
    }

    function _approve(
        address _owner,
        address _spender,
        uint256 _value
    )
        private
    {
        allowance[_owner][_spender] = _value;

        emit Approval(
            _owner,
            _spender,
            _value
        );
    }

    function _transfer(
        address _from,
        address _to,
        uint256 _value
    )
        private
    {
        balanceOf[_from] =
        balanceOf[_from] - _value;

        unchecked {
            balanceOf[_to] =
            balanceOf[_to] + _value;
        }

        emit Transfer(
            _from,
            _to,
            _value
        );
    }

    function approve(
        address _spender,
        uint256 _value
    )
        external
        returns (bool)
    {
        _approve(
            msg.sender,
            _spender,
            _value
        );

        return true;
    }

    function increaseAllowance(
        address _spender,
        uint256 _addedValue
    )
        external
        returns (bool)
    {
        _approve(
            msg.sender,
            _spender,
            allowance[msg.sender][_spender] + _addedValue
        );

        return true;
    }

    function decreaseAllowance(
        address _spender,
        uint256 _subtractedValue
    )
        external
        returns (bool)
    {
        _approve(
            msg.sender,
            _spender,
            allowance[msg.sender][_spender] - _subtractedValue
        );

        return true;
    }

    function transfer(
        address _to,
        uint256 _value
    )
        external
        returns (bool)
    {
        _transfer(
            msg.sender,
            _to,
            _value
        );

        return true;
    }

    function transferFrom(
        address _from,
        address _to,
        uint256 _value
    )
        external
        returns (bool)
    {
        if (allowance[_from][msg.sender] != UINT256_MAX) {
            allowance[_from][msg.sender] -= _value;
        }

        _transfer(
            _from,
            _to,
            _value
        );

        return true;
    }

    function permit(
        address _owner,
        address _spender,
        uint256 _value,
        uint256 _deadline,
        uint8 _v,
        bytes32 _r,
        bytes32 _s
    )
        external
    {
        require(
            _deadline >= block.timestamp,
            "VerseToken: PERMIT_CALL_EXPIRED"
        );

        bytes32 digest = keccak256(
            abi.encodePacked(
                "\x19\x01",
                DOMAIN_SEPARATOR,
                keccak256(
                    abi.encode(
                        PERMIT_TYPEHASH,
                        _owner,
                        _spender,
                        _value,
                        nonces[_owner]++,
                        _deadline
                    )
                )
            )
        );

        if (uint256(_s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {
            revert("VerseToken: INVALID_SIGNATURE");
        }

        address recoveredAddress = ecrecover(
            digest,
            _v,
            _r,
            _s
        );

        require(
            recoveredAddress != ZERO_ADDRESS &&
            recoveredAddress == _owner,
            "VerseToken: INVALID_SIGNATURE"
        );

        _approve(
            _owner,
            _spender,
            _value
        );
    }
}

File 1 of 4: MerkleProof.sol
// SPDX-License-Identifier: --BCOM--

pragma solidity =0.8.17;

library MerkleProof {

    function verify(
        bytes32[] memory proof,
        bytes32 root,
        bytes32 leaf
    )
        internal
        pure
        returns (bool)
    {
        bytes32 computedHash = leaf;

        for (uint256 i = 0; i < proof.length; i++) {

            bytes32 proofElement = proof[i];

            computedHash = computedHash <= proofElement
                ? keccak256(abi.encodePacked(computedHash, proofElement))
                : keccak256(abi.encodePacked(proofElement, computedHash));
        }

        return computedHash == root;
    }
}

File 2 of 4: VerseClaimer.sol
// SPDX-License-Identifier: --BCOM--

pragma solidity =0.8.17;

import "./MerkleProof.sol";
import "./VerseHelper.sol";

contract VerseClaimer is VerseHelper {

    bytes32 public immutable merkleRoot;
    uint256 public immutable createTime;

    uint256 immutable minimumTimeFrame;

    struct KeeperInfo {
        uint256 keeperRate;
        uint256 keeperTill;
        uint256 keeperInstant;
        uint256 keeperPayouts;
    }

    mapping(address => KeeperInfo) public keeperList;

    constructor(
        bytes32 _merkleRoot,
        uint256 _minimumTimeFrame,
        address _verseTokenAddress
    )
        VerseHelper(_verseTokenAddress)
    {
        require(
            _minimumTimeFrame > 0,
            "VerseClaimer: INVALID_TIMEFRAME"
        );

        require(
            _merkleRoot > 0,
            "VerseClaimer: INVALID_MERKLE_ROOT"
        );

        createTime = getNow();
        merkleRoot = _merkleRoot;
        minimumTimeFrame = _minimumTimeFrame;
    }

    function enrollRecipient(
        uint256 _index,
        address _recipient,
        uint256 _tokensLocked,
        uint256 _tokensOpened,
        uint256 _timeFrame,
        bytes32[] calldata _merkleProof
    )
        external
    {
        _enrollRecipient(
            _index,
            _recipient,
            _tokensLocked,
            _tokensOpened,
            _timeFrame,
            _merkleProof
        );
    }

    function enrollRecipientBulk(
        uint256 _index,
        address[] calldata _recipient,
        uint256[] calldata _tokensLocked,
        uint256[] calldata _tokensOpened,
        uint256[] calldata _timeFrame,
        bytes32[][] calldata _merkleProof
    )
        external
    {
        require(
            _recipient.length < 10,
            "VerseClaimer: TOO_MANY"
        );

        for (uint256 i = 0; i < _recipient.length; i++) {
            _enrollRecipient(
                _index + i,
                _recipient[i],
                _tokensLocked[i],
                _tokensOpened[i],
                _timeFrame[i],
                _merkleProof[i]
            );
        }
    }

    function _enrollRecipient(
        uint256 _index,
        address _recipient,
        uint256 _tokensLocked,
        uint256 _tokensOpened,
        uint256 _timeFrame,
        bytes32[] memory _merkleProof
    )
        private
    {
        require(
            keeperList[_recipient].keeperTill == 0,
            "VerseClaimer: RECIPIENT_ALREADY_ENROLLED"
        );

        bytes32 node = keccak256(
            abi.encodePacked(
                _index,
                _recipient,
                _tokensLocked,
                _tokensOpened,
                _timeFrame
            )
        );

        require(
            MerkleProof.verify(
                _merkleProof,
                merkleRoot,
                node
            ),
            "VerseClaimer: INVALID_PROOF"
        );

        _allocateTokens(
            _recipient,
            _tokensLocked,
            _tokensOpened,
            _timeFrame
        );
    }

    function _allocateTokens(
        address _recipient,
        uint256 _tokensLocked,
        uint256 _tokensOpened,
        uint256 _timeFrame
    )
        private
    {
        require(
            _timeFrame >= minimumTimeFrame,
            "VerseClaimer: INVALID_TIME_FRAME"
        );

        totalRequired = totalRequired
            + _tokensOpened
            + _tokensLocked;

        keeperList[_recipient].keeperTill = createTime
            + _timeFrame;

        keeperList[_recipient].keeperRate = _tokensLocked
            / _timeFrame;

        keeperList[_recipient].keeperInstant = _tokensLocked
            % _timeFrame
            + _tokensOpened;

        _checkVerseBalance(
            totalRequired
        );

        emit recipientEnrolled(
            _recipient,
            _timeFrame,
            _tokensLocked,
            _tokensOpened
        );
    }

    function enrollAndScrape(
        uint256 _index,
        uint256 _tokensLocked,
        uint256 _tokensOpened,
        uint256 _timeFrame,
        bytes32[] calldata _merkleProof
    )
        external
    {
        _enrollRecipient(
            _index,
            msg.sender,
            _tokensLocked,
            _tokensOpened,
            _timeFrame,
            _merkleProof
        );

        _scrapeTokens(
            msg.sender
        );
    }

    function scrapeMyTokens()
        external
    {
        _scrapeTokens(
            msg.sender
        );
    }

    function _scrapeTokens(
        address _recipient
    )
        private
    {
        uint256 scrapeAmount = availableBalance(
            _recipient
        );

        keeperList[_recipient].keeperPayouts += scrapeAmount;

        _safeVerseScrape(
            _recipient,
            scrapeAmount
        );

        emit tokensScraped(
            _recipient,
            scrapeAmount,
            getNow()
        );
    }

    function availableBalance(
        address _recipient
    )
        public
        view
        returns (uint256 balance)
    {
        uint256 timeNow = getNow();
        uint256 timeMax = keeperList[_recipient].keeperTill;

        if (timeMax == 0) return 0;

        uint256 timePassed = timeNow > timeMax
            ? timeMax - createTime
            : timeNow - createTime;

        balance = keeperList[_recipient].keeperRate
            * timePassed
            + keeperList[_recipient].keeperInstant
            - keeperList[_recipient].keeperPayouts;
    }

    function lockedBalance(
        address _recipient
    )
        external
        view
        returns (uint256 balance)
    {
        uint256 timeNow = getNow();

        uint256 timeRemaining =
            keeperList[_recipient].keeperTill > timeNow ?
            keeperList[_recipient].keeperTill - timeNow : 0;

        balance = keeperList[_recipient].keeperRate
            * timeRemaining;
    }
}

File 3 of 4: VerseHelper.sol
// SPDX-License-Identifier: --BCOM--

pragma solidity =0.8.17;

contract VerseHelper {

    uint256 public totalRequired;
    address public immutable verseToken;

    event recipientEnrolled(
        address indexed recipient,
        uint256 timeFrame,
        uint256 tokensLocked,
        uint256 tokensOpened
    );

    event tokensScraped(
        address indexed scraper,
        uint256 scrapedAmount,
        uint256 timestamp
    );

    constructor(
        address _verseTokenAddress
    ) {
        if (_verseTokenAddress == address(0x0)) {
            revert("VerseHelper: INVALID_VERSE_TOKEN");
        }

        verseToken = _verseTokenAddress;
    }

    bytes4 private constant TRANSFER = bytes4(
        keccak256(
            bytes(
                "transfer(address,uint256)"
            )
        )
    );

    bytes4 private constant BALANCEOF = bytes4(
        keccak256(
            bytes(
                "balanceOf(address)"
            )
        )
    );

    function _safeVerseScrape(
        address _to,
        uint256 _scrapeAmount
    )
        internal
    {
        totalRequired -= _scrapeAmount;

        (bool success, bytes memory data) = verseToken.call(
            abi.encodeWithSelector(
                TRANSFER,
                _to,
                _scrapeAmount
            )
        );

        require(
            success && (
                abi.decode(
                    data, (bool)
                )
            ),
            "VerseHelper: TRANSFER_FAILED"
        );
    }

    function _checkVerseBalance(
        uint256 _required
    )
        internal
    {
        (bool success, bytes memory data) = verseToken.call(
            abi.encodeWithSelector(
                BALANCEOF,
                address(this)
            )
        );

        require(
            success && abi.decode(
                data, (uint256)
            ) >= _required,
            "VerseHelper: BALANCE_CHECK_FAILED"
        );
    }

    function getNow()
        public
        view
        returns (uint256 time)
    {
        time = block.timestamp;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_initialSupply","type":"uint256"},{"internalType":"uint256","name":"_minimumTimeFrame","type":"uint256"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"}],"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_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimer","outputs":[{"internalType":"contract VerseClaimer","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60c060405234801561001057600080fd5b50604051611f89380380611f8983398101604081905261002f916101e0565b6040805180820182526005815264566572736560d81b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f918101919091527f6407b9a2f7ca9789c9366042780be252d3b29744da8aab9d1558ccd820a82bce918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c0016040516020818303038152906040528051906020012060a08181525050808230604051610112906101d3565b92835260208301919091526001600160a01b03166040820152606001604051809103906000f08015801561014a573d6000803e3d6000fd5b506001600160a01b03166080819052610163908461016b565b505050610235565b80600054610179919061020e565b60009081556001600160a01b038316808252600160209081526040808420805486019055518481529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b61128480610d0583390190565b6000806000606084860312156101f557600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561022f57634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a051610aa4610261600039600081816101dd01526104bd015260006102b60152610aa46000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806342966c68116100a2578063a457c2d711610071578063a457c2d71461028b578063a9059cbb1461029e578063d379be23146102b1578063d505accf146102f0578063dd62ed3e1461030357600080fd5b806342966c681461021257806370a08231146102275780637ecebe001461024757806395d89b411461026757600080fd5b806330adf81f116100de57806330adf81f14610197578063313ce567146101be5780633644e515146101d857806339509351146101ff57600080fd5b806306fdde0314610110578063095ea7b31461014a57806318160ddd1461016d57806323b872dd14610184575b600080fd5b61013460405180604001604052806005815260200164566572736560d81b81525081565b6040516101419190610868565b60405180910390f35b61015d6101583660046108d2565b61032e565b6040519015158152602001610141565b61017660005481565b604051908152602001610141565b61015d6101923660046108fc565b610345565b6101767f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6101c6601281565b60405160ff9091168152602001610141565b6101767f000000000000000000000000000000000000000000000000000000000000000081565b61015d61020d3660046108d2565b6103bf565b610225610220366004610938565b6103fb565b005b610176610235366004610951565b60016020526000908152604090205481565b610176610255366004610951565b60036020526000908152604090205481565b61013460405180604001604052806005815260200164564552534560d81b81525081565b61015d6102993660046108d2565b610408565b61015d6102ac3660046108d2565b61043f565b6102d87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610141565b6102256102fe366004610973565b61044c565b6101766103113660046109e6565b600260209081526000928352604080842090915290825290205481565b600061033b3384846106ff565b5060015b92915050565b6001600160a01b0383166000908152600260209081526040808320338452909152812054600019146103aa576001600160a01b0384166000908152600260209081526040808320338452909152812080548492906103a4908490610a2f565b90915550505b6103b5848484610761565b5060019392505050565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161033b9185906103f6908690610a42565b6106ff565b61040533826107e4565b50565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161033b9185906103f6908690610a2f565b600061033b338484610761565b428410156104a15760405162461bcd60e51b815260206004820152601f60248201527f5665727365546f6b656e3a205045524d49545f43414c4c5f455850495245440060448201526064015b60405180910390fd5b6001600160a01b038716600090815260036020526040812080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b918761050f83610a55565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e0016040516020818303038152906040528051906020012060405160200161058892919061190160f01b81526002810192909252602282015260420190565b6040516020818303038152906040528051906020012090507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c11156106135760405162461bcd60e51b815260206004820152601d60248201527f5665727365546f6b656e3a20494e56414c49445f5349474e41545552450000006044820152606401610498565b6040805160008082526020820180845284905260ff871692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa158015610667573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061069d5750886001600160a01b0316816001600160a01b0316145b6106e95760405162461bcd60e51b815260206004820152601d60248201527f5665727365546f6b656e3a20494e56414c49445f5349474e41545552450000006044820152606401610498565b6106f48989896106ff565b505050505050505050565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316600090815260016020526040902054610785908290610a2f565b6001600160a01b0384811660008181526001602090815260408083209590955592861680825290849020805486019055925184815290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610754565b6000805482900381556001600160a01b03831681526001602052604090205461080e908290610a2f565b6001600160a01b0383166000818152600160205260408082209390935591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061085c9085815260200190565b60405180910390a35050565b600060208083528351808285015260005b8181101561089557858101830151858201604001528201610879565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108cd57600080fd5b919050565b600080604083850312156108e557600080fd5b6108ee836108b6565b946020939093013593505050565b60008060006060848603121561091157600080fd5b61091a846108b6565b9250610928602085016108b6565b9150604084013590509250925092565b60006020828403121561094a57600080fd5b5035919050565b60006020828403121561096357600080fd5b61096c826108b6565b9392505050565b600080600080600080600060e0888a03121561098e57600080fd5b610997886108b6565b96506109a5602089016108b6565b95506040880135945060608801359350608088013560ff811681146109c957600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156109f957600080fd5b610a02836108b6565b9150610a10602084016108b6565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561033f5761033f610a19565b8082018082111561033f5761033f610a19565b600060018201610a6757610a67610a19565b506001019056fea2646970667358221220934ddcf9779e5d045164e9c83335aeb41d9c16d1d018bc1ad1783067e92d899e64736f6c6343000811003361010060405234801561001157600080fd5b506040516112843803806112848339810160408190526100309161014f565b806001600160a01b03811661008c5760405162461bcd60e51b815260206004820181905260248201527f566572736548656c7065723a20494e56414c49445f56455253455f544f4b454e60448201526064015b60405180910390fd5b6001600160a01b0316608052816100e55760405162461bcd60e51b815260206004820152601f60248201527f5665727365436c61696d65723a20494e56414c49445f54494d454652414d45006044820152606401610083565b8261013c5760405162461bcd60e51b815260206004820152602160248201527f5665727365436c61696d65723a20494e56414c49445f4d45524b4c455f524f4f6044820152601560fa1b6064820152608401610083565b4260c0525060a09190915260e052610195565b60008060006060848603121561016457600080fd5b83516020850151604086015191945092506001600160a01b038116811461018a57600080fd5b809150509250925092565b60805160a05160c05160e05161108d6101f7600039600061081701526000818161017f015281816104d70152818161050601526108a701526000818160be01526106580152600081816101b901528181610a320152610b7a015261108d6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063681a992111610071578063681a9921146101a157806395025926146101b45780639ae697bf146101f3578063a0821be314610206578063b5609be414610219578063bbe4fd501461022157600080fd5b80632eb4a7ab146100b957806334354068146100f3578063374e0241146100fc57806346c81436146101115780635e192de61461012457806361dcd7ab1461017a575b600080fd5b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6100e060005481565b61010f61010a366004610cba565b610227565b005b61010f61011f366004610dba565b61037a565b61015a610132366004610e40565b6001602081905260009182526040909120805491810154600282015460039092015490919084565b6040805194855260208501939093529183015260608201526080016100ea565b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b61010f6101af366004610e62565b6103cc565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ea565b6100e0610201366004610e40565b610416565b6100e0610214366004610e40565b61049a565b61010f61057b565b426100e0565b600a89106102755760405162461bcd60e51b81526020600482015260166024820152755665727365436c61696d65723a20544f4f5f4d414e5960501b60448201526064015b60405180910390fd5b60005b8981101561036c5761035a61028d828e610ef3565b8c8c8481811061029f5761029f610f0c565b90506020020160208101906102b49190610e40565b8b8b858181106102c6576102c6610f0c565b905060200201358a8a868181106102df576102df610f0c565b905060200201358989878181106102f8576102f8610f0c565b9050602002013588888881811061031157610311610f0c565b90506020028101906103239190610f22565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061058692505050565b8061036481610f6c565b915050610278565b505050505050505050505050565b6103bb863387878787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061058692505050565b6103c4336106d5565b505050505050565b61040d878787878787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061058692505050565b50505050505050565b6001600160a01b03811660009081526001602081905260408220015442908290821061044357600061046b565b6001600160a01b0384166000908152600160208190526040909120015461046b908390610f85565b6001600160a01b038516600090815260016020526040902054909150610492908290610f98565b949350505050565b6001600160a01b03811660009081526001602081905260408220015442908083036104c9575060009392505050565b6000818311610501576104fc7f000000000000000000000000000000000000000000000000000000000000000084610f85565b61052b565b61052b7f000000000000000000000000000000000000000000000000000000000000000083610f85565b6001600160a01b03861660009081526001602052604090206003810154600282015491549293509161055e908490610f98565b6105689190610ef3565b6105729190610f85565b95945050505050565b610584336106d5565b565b6001600160a01b03851660009081526001602081905260409091200154156106015760405162461bcd60e51b815260206004820152602860248201527f5665727365436c61696d65723a20524543495049454e545f414c52454144595f60448201526711539493d313115160c21b606482015260840161026c565b604080516020808201899052606088901b6bffffffffffffffffffffffff191682840152605482018790526074820186905260948083018690528351808403909101815260b4909201909252805191012061067d827f000000000000000000000000000000000000000000000000000000000000000083610766565b6106c95760405162461bcd60e51b815260206004820152601b60248201527f5665727365436c61696d65723a20494e56414c49445f50524f4f460000000000604482015260640161026c565b61040d86868686610815565b60006106e08261049a565b6001600160a01b038316600090815260016020526040812060030180549293508392909190610710908490610ef3565b909155506107209050828261099b565b6040805182815242602082015281516001600160a01b038516927ff4c6297f72d4e746c679dde16c732ea9af03893c22fe2ca98037465dd6a3bb2b928290030190a25050565b600081815b855181101561080a57600086828151811061078857610788610f0c565b60200260200101519050808311156107c9576040805160208101839052908101849052606001604051602081830303815290604052805190602001206107f4565b6040805160208101859052908101829052606001604051602081830303815290604052805190602001205b925050808061080290610f6c565b91505061076b565b509092149392505050565b7f00000000000000000000000000000000000000000000000000000000000000008110156108855760405162461bcd60e51b815260206004820181905260248201527f5665727365436c61696d65723a20494e56414c49445f54494d455f4652414d45604482015260640161026c565b82826000546108949190610ef3565b61089e9190610ef3565b6000556108cb817f0000000000000000000000000000000000000000000000000000000000000000610ef3565b6001600160a01b038516600090815260016020819052604090912001556108f28184610fc5565b6001600160a01b038516600090815260016020526040902055816109168285610fd9565b6109209190610ef3565b6001600160a01b0385166000908152600160205260408120600201919091555461094990610b12565b60408051828152602081018590529081018390526001600160a01b038516907f8ceefb1ee30c963bc99d8216add67b76190bb2d0403a4e8f0e321ae3e41d7fbe9060600160405180910390a250505050565b806000808282546109ac9190610f85565b9091555050604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b179052915160009283927f00000000000000000000000000000000000000000000000000000000000000001691610a5d9190610fed565b6000604051808303816000865af19150503d8060008114610a9a576040519150601f19603f3d011682016040523d82523d6000602084013e610a9f565b606091505b5091509150818015610ac0575080806020019051810190610ac0919061101c565b610b0c5760405162461bcd60e51b815260206004820152601c60248201527f566572736548656c7065723a205452414e534645525f4641494c454400000000604482015260640161026c565b50505050565b604080518082018252601281527162616c616e63654f6628616464726573732960701b602091820152815130602480830191909152835180830390910181526044909101835290810180516001600160e01b03166370a0823160e01b179052905160009182917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691610bac91610fed565b6000604051808303816000865af19150503d8060008114610be9576040519150601f19603f3d011682016040523d82523d6000602084013e610bee565b606091505b5091509150818015610c1357508281806020019051810190610c10919061103e565b10155b610c695760405162461bcd60e51b815260206004820152602160248201527f566572736548656c7065723a2042414c414e43455f434845434b5f4641494c456044820152601160fa1b606482015260840161026c565b505050565b60008083601f840112610c8057600080fd5b50813567ffffffffffffffff811115610c9857600080fd5b6020830191508360208260051b8501011115610cb357600080fd5b9250929050565b600080600080600080600080600080600060c08c8e031215610cdb57600080fd5b8b359a5067ffffffffffffffff8060208e01351115610cf957600080fd5b610d098e60208f01358f01610c6e565b909b50995060408d0135811015610d1f57600080fd5b610d2f8e60408f01358f01610c6e565b909950975060608d0135811015610d4557600080fd5b610d558e60608f01358f01610c6e565b909750955060808d0135811015610d6b57600080fd5b610d7b8e60808f01358f01610c6e565b909550935060a08d0135811015610d9157600080fd5b50610da28d60a08e01358e01610c6e565b81935080925050509295989b509295989b9093969950565b60008060008060008060a08789031215610dd357600080fd5b86359550602087013594506040870135935060608701359250608087013567ffffffffffffffff811115610e0657600080fd5b610e1289828a01610c6e565b979a9699509497509295939492505050565b80356001600160a01b0381168114610e3b57600080fd5b919050565b600060208284031215610e5257600080fd5b610e5b82610e24565b9392505050565b600080600080600080600060c0888a031215610e7d57600080fd5b87359650610e8d60208901610e24565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115610ebe57600080fd5b610eca8a828b01610c6e565b989b979a50959850939692959293505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610f0657610f06610edd565b92915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112610f3957600080fd5b83018035915067ffffffffffffffff821115610f5457600080fd5b6020019150600581901b3603821315610cb357600080fd5b600060018201610f7e57610f7e610edd565b5060010190565b81810381811115610f0657610f06610edd565b8082028115828204841417610f0657610f06610edd565b634e487b7160e01b600052601260045260246000fd5b600082610fd457610fd4610faf565b500490565b600082610fe857610fe8610faf565b500690565b6000825160005b8181101561100e5760208186018101518583015201610ff4565b506000920191825250919050565b60006020828403121561102e57600080fd5b81518015158114610e5b57600080fd5b60006020828403121561105057600080fd5b505191905056fea26469706673582212204954ce87625480e8867f55b5adc0d4f8031ef2e6976573c38b677338be82cdca64736f6c634300081100330000000000000000000000000000000000000002a68bedbb190931f6500000000000000000000000000000000000000000000000000000000000000001e16a30208f34053f93e6e263cbc7ed2a289b6607ec98dd67d4163ec3011a5d768c68e5

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806342966c68116100a2578063a457c2d711610071578063a457c2d71461028b578063a9059cbb1461029e578063d379be23146102b1578063d505accf146102f0578063dd62ed3e1461030357600080fd5b806342966c681461021257806370a08231146102275780637ecebe001461024757806395d89b411461026757600080fd5b806330adf81f116100de57806330adf81f14610197578063313ce567146101be5780633644e515146101d857806339509351146101ff57600080fd5b806306fdde0314610110578063095ea7b31461014a57806318160ddd1461016d57806323b872dd14610184575b600080fd5b61013460405180604001604052806005815260200164566572736560d81b81525081565b6040516101419190610868565b60405180910390f35b61015d6101583660046108d2565b61032e565b6040519015158152602001610141565b61017660005481565b604051908152602001610141565b61015d6101923660046108fc565b610345565b6101767f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6101c6601281565b60405160ff9091168152602001610141565b6101767f1d2df9c8e3422bf9ca691e736d999c2cdd4f150dfaceea19721be0ddba100cb781565b61015d61020d3660046108d2565b6103bf565b610225610220366004610938565b6103fb565b005b610176610235366004610951565b60016020526000908152604090205481565b610176610255366004610951565b60036020526000908152604090205481565b61013460405180604001604052806005815260200164564552534560d81b81525081565b61015d6102993660046108d2565b610408565b61015d6102ac3660046108d2565b61043f565b6102d87f000000000000000000000000e5ac5142bde69cfa722662d9c3e4c8111f60b8d581565b6040516001600160a01b039091168152602001610141565b6102256102fe366004610973565b61044c565b6101766103113660046109e6565b600260209081526000928352604080842090915290825290205481565b600061033b3384846106ff565b5060015b92915050565b6001600160a01b0383166000908152600260209081526040808320338452909152812054600019146103aa576001600160a01b0384166000908152600260209081526040808320338452909152812080548492906103a4908490610a2f565b90915550505b6103b5848484610761565b5060019392505050565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161033b9185906103f6908690610a42565b6106ff565b61040533826107e4565b50565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161033b9185906103f6908690610a2f565b600061033b338484610761565b428410156104a15760405162461bcd60e51b815260206004820152601f60248201527f5665727365546f6b656e3a205045524d49545f43414c4c5f455850495245440060448201526064015b60405180910390fd5b6001600160a01b038716600090815260036020526040812080547f1d2df9c8e3422bf9ca691e736d999c2cdd4f150dfaceea19721be0ddba100cb7917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b918761050f83610a55565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e0016040516020818303038152906040528051906020012060405160200161058892919061190160f01b81526002810192909252602282015260420190565b6040516020818303038152906040528051906020012090507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c11156106135760405162461bcd60e51b815260206004820152601d60248201527f5665727365546f6b656e3a20494e56414c49445f5349474e41545552450000006044820152606401610498565b6040805160008082526020820180845284905260ff871692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa158015610667573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061069d5750886001600160a01b0316816001600160a01b0316145b6106e95760405162461bcd60e51b815260206004820152601d60248201527f5665727365546f6b656e3a20494e56414c49445f5349474e41545552450000006044820152606401610498565b6106f48989896106ff565b505050505050505050565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316600090815260016020526040902054610785908290610a2f565b6001600160a01b0384811660008181526001602090815260408083209590955592861680825290849020805486019055925184815290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610754565b6000805482900381556001600160a01b03831681526001602052604090205461080e908290610a2f565b6001600160a01b0383166000818152600160205260408082209390935591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061085c9085815260200190565b60405180910390a35050565b600060208083528351808285015260005b8181101561089557858101830151858201604001528201610879565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108cd57600080fd5b919050565b600080604083850312156108e557600080fd5b6108ee836108b6565b946020939093013593505050565b60008060006060848603121561091157600080fd5b61091a846108b6565b9250610928602085016108b6565b9150604084013590509250925092565b60006020828403121561094a57600080fd5b5035919050565b60006020828403121561096357600080fd5b61096c826108b6565b9392505050565b600080600080600080600060e0888a03121561098e57600080fd5b610997886108b6565b96506109a5602089016108b6565b95506040880135945060608801359350608088013560ff811681146109c957600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156109f957600080fd5b610a02836108b6565b9150610a10602084016108b6565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561033f5761033f610a19565b8082018082111561033f5761033f610a19565b600060018201610a6757610a67610a19565b506001019056fea2646970667358221220934ddcf9779e5d045164e9c83335aeb41d9c16d1d018bc1ad1783067e92d899e64736f6c63430008110033

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

0000000000000000000000000000000000000002a68bedbb190931f6500000000000000000000000000000000000000000000000000000000000000001e16a30208f34053f93e6e263cbc7ed2a289b6607ec98dd67d4163ec3011a5d768c68e5

-----Decoded View---------------
Arg [0] : _initialSupply (uint256): 210000000000000000000000000000
Arg [1] : _minimumTimeFrame (uint256): 31550000
Arg [2] : _merkleRoot (bytes32): 0x208f34053f93e6e263cbc7ed2a289b6607ec98dd67d4163ec3011a5d768c68e5

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000002a68bedbb190931f650000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000001e16a30
Arg [2] : 208f34053f93e6e263cbc7ed2a289b6607ec98dd67d4163ec3011a5d768c68e5


Deployed Bytecode Sourcemap

94:5916:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;121:37;;;;;;;;;;;;;;;-1:-1:-1;;;121:37:3;;;;;;;;;;;;:::i;:::-;;;;;;;;3202:240;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:4;;1162:22;1144:41;;1132:2;1117:18;3202:240:3;1004:187:4;398:26:3;;;;;;;;;1342:25:4;;;1330:2;1315:18;398:26:3;1196:177:4;4296:376:3;;;;;;:::i;:::-;;:::i;646:151::-;;688:109;646:151;;209:35;;242:2;209:35;;;;;2065:4:4;2053:17;;;2035:36;;2023:2;2008:18;209:35:3;1893:184:4;599:41:3;;;;;3448:294;;;;;;:::i;:::-;;:::i;2053:141::-;;;;;;:::i;:::-;;:::i;:::-;;431:44;;;;;;:::i;:::-;;;;;;;;;;;;;;551:41;;;;;;:::i;:::-;;;;;;;;;;;;;;164:39;;;;;;;;;;;;;;;-1:-1:-1;;;164:39:3;;;;;3748:304;;;;;;:::i;:::-;;:::i;4058:232::-;;;;;;:::i;:::-;;:::i;251:37::-;;;;;;;;-1:-1:-1;;;;;2642:32:4;;;2624:51;;2612:2;2597:18;251:37:3;2458:223:4;4678:1330:3;;;;;;:::i;:::-;;:::i;481:64::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;3202:240;3309:4;3329:84;3351:10;3375:8;3397:6;3329:8;:84::i;:::-;-1:-1:-1;3431:4:3;3202:240;;;;;:::o;4296:376::-;-1:-1:-1;;;;;4450:16:3;;4426:4;4450:16;;;:9;:16;;;;;;;;4467:10;4450:28;;;;;;;;-1:-1:-1;;4450:43:3;4446:112;;-1:-1:-1;;;;;4509:16:3;;;;;;:9;:16;;;;;;;;4526:10;4509:28;;;;;;;:38;;4541:6;;4509:16;:38;;4541:6;;4509:38;:::i;:::-;;;;-1:-1:-1;;4446:112:3;4568:75;4591:5;4610:3;4627:6;4568:9;:75::i;:::-;-1:-1:-1;4661:4:3;4296:376;;;;;:::o;3448:294::-;3612:10;3570:4;3658:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;3658:31:3;;;;;;;;;;3570:4;;3590:123;;3636:8;;3658:45;;3692:11;;3658:45;:::i;:::-;3590:8;:123::i;2053:141::-;2128:59;2147:10;2171:6;2128:5;:59::i;:::-;2053:141;:::o;3748:304::-;3917:10;3875:4;3963:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;3963:31:3;;;;;;;;;;3875:4;;3895:128;;3941:8;;3963:50;;3997:16;;3963:50;:::i;4058:232::-;4161:4;4181:80;4204:10;4228:3;4245:6;4181:9;:80::i;4678:1330::-;4924:15;4911:9;:28;;4890:106;;;;-1:-1:-1;;;4890:106:3;;4246:2:4;4890:106:3;;;4228:21:4;4285:2;4265:18;;;4258:30;4324:33;4304:18;;;4297:61;4375:18;;4890:106:3;;;;;;;;;-1:-1:-1;;;;;5349:14:3;;5007;5349;;;:6;:14;;;;;:16;;5109;;688:109;;5251:6;;5283:8;;5317:6;;5007:14;5349:16;;;:::i;:::-;;;;-1:-1:-1;5174:248:3;;;;;;4831:25:4;;;;-1:-1:-1;;;;;4930:15:4;;;4910:18;;;4903:43;4982:15;;;;4962:18;;;4955:43;5014:18;;;5007:34;5057:19;;;5050:35;5101:19;;;5094:35;;;4803:19;;5174:248:3;;;;;;;;;;;;5143:297;;;;;;5047:407;;;;;;;;-1:-1:-1;;;5398:27:4;;5450:1;5441:11;;5434:27;;;;5486:2;5477:12;;5470:28;5523:2;5514:12;;5140:392;5047:407:3;;;;;;;;;;;;;5024:440;;;;;;5007:457;;5493:66;5487:2;5479:11;;:80;5475:150;;;5575:39;;-1:-1:-1;;;5575:39:3;;5739:2:4;5575:39:3;;;5721:21:4;5778:2;5758:18;;;5751:30;5817:31;5797:18;;;5790:59;5866:18;;5575:39:3;5537:353:4;5475:150:3;5662:87;;;5635:24;5662:87;;;;;;;;;6122:25:4;;;6195:4;6183:17;;6163:18;;;6156:45;;;;6217:18;;;6210:34;;;6260:18;;;6253:34;;;5662:87:3;;6094:19:4;;5662:87:3;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5662:87:3;;-1:-1:-1;;5662:87:3;;;-1:-1:-1;;;;;;;5781:32:3;;;;;;:74;;;5849:6;-1:-1:-1;;;;;5829:26:3;:16;-1:-1:-1;;;;;5829:26:3;;5781:74;5760:150;;;;-1:-1:-1;;;5760:150:3;;5739:2:4;5760:150:3;;;5721:21:4;5778:2;5758:18;;;5751:30;5817:31;5797:18;;;5790:59;5866:18;;5760:150:3;5537:353:4;5760:150:3;5921:80;5943:6;5963:8;5985:6;5921:8;:80::i;:::-;4880:1128;;4678:1330;;;;;;;:::o;2554:267::-;-1:-1:-1;;;;;2682:17:3;;;;;;;:9;:17;;;;;;;;:27;;;;;;;;;;;;;:36;;;2734:80;;1342:25:4;;;2734:80:3;;1315:18:4;2734:80:3;;;;;;;;2554:267;;;:::o;2827:369::-;-1:-1:-1;;;;;2977:16:3;;;;;;:9;:16;;;;;;:25;;2996:6;;2977:25;:::i;:::-;-1:-1:-1;;;;;2950:16:3;;;;;;;:9;:16;;;;;;;;:52;;;;3066:14;;;;;;;;;;;;:23;;3037:52;;3115:74;;1342:25:4;;;2950:16:3;;3115:74;;1315:18:4;3115:74:3;1196:177:4;2200:348:3;2349:11;;;:20;;;2323:46;;-1:-1:-1;;;;;2417:16:3;;;;-1:-1:-1;2417:16:3;;;;;;:25;;2363:6;;2417:25;:::i;:::-;-1:-1:-1;;;;;2390:16:3;;;;;;:9;:16;;;;;;:52;;;;2458:83;;;;;;2525:6;1342:25:4;;1330:2;1315:18;;1196:177;2458:83:3;;;;;;;;2200:348;;:::o;14:548:4:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:4;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:4:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;2082:180::-;2141:6;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;-1:-1:-1;2233:23:4;;2082:180;-1:-1:-1;2082:180:4:o;2267:186::-;2326:6;2379:2;2367:9;2358:7;2354:23;2350:32;2347:52;;;2395:1;2392;2385:12;2347:52;2418:29;2437:9;2418:29;:::i;:::-;2408:39;2267:186;-1:-1:-1;;;2267:186:4:o;2686:693::-;2797:6;2805;2813;2821;2829;2837;2845;2898:3;2886:9;2877:7;2873:23;2869:33;2866:53;;;2915:1;2912;2905:12;2866:53;2938:29;2957:9;2938:29;:::i;:::-;2928:39;;2986:38;3020:2;3009:9;3005:18;2986:38;:::i;:::-;2976:48;;3071:2;3060:9;3056:18;3043:32;3033:42;;3122:2;3111:9;3107:18;3094:32;3084:42;;3176:3;3165:9;3161:19;3148:33;3221:4;3214:5;3210:16;3203:5;3200:27;3190:55;;3241:1;3238;3231:12;3190:55;2686:693;;;;-1:-1:-1;2686:693:4;;;;3264:5;3316:3;3301:19;;3288:33;;-1:-1:-1;3368:3:4;3353:19;;;3340:33;;2686:693;-1:-1:-1;;2686:693:4:o;3384:260::-;3452:6;3460;3513:2;3501:9;3492:7;3488:23;3484:32;3481:52;;;3529:1;3526;3519:12;3481:52;3552:29;3571:9;3552:29;:::i;:::-;3542:39;;3600:38;3634:2;3623:9;3619:18;3600:38;:::i;:::-;3590:48;;3384:260;;;;;:::o;3649:127::-;3710:10;3705:3;3701:20;3698:1;3691:31;3741:4;3738:1;3731:15;3765:4;3762:1;3755:15;3781:128;3848:9;;;3869:11;;;3866:37;;;3883:18;;:::i;3914:125::-;3979:9;;;4000:10;;;3997:36;;;4013:18;;:::i;4404:135::-;4443:3;4464:17;;;4461:43;;4484:18;;:::i;:::-;-1:-1:-1;4531:1:4;4520:13;;4404:135::o

Swarm Source

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