ETH Price: $3,790.11 (-1.73%)
Gas: 24 Gwei

Token

Verse (VERSE)
 

Overview

Max Total Supply

196,214,425,099.272053267567388295 VERSE

Holders

9,139 ( 0.055%)

Total Transfers

-

Market

Price

$0.00 @ 0.000000 ETH (-0.78%)

Onchain Market Cap

$43,953,993.37

Circulating Supply Market Cap

$2,872,662.00

Other Info

Token Contract (WITH 18 Decimals)

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):$125,798.00
Market Capitalization:$2,872,662.00
Circulating Supply:12,823,886,155.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
[ 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.