Contract 0x1ae5397942bf43ce1fe3f137622a0a7a33ac4826 2

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x3731c9c592e8ca076645e44993b4a51f56011d04f6c16b8b08514325338edf4eGive Claim Bulk218971082021-11-28 11:25:1811 mins ago0xfa0bd8ccf3adee879dd8a571b0cb5bd60cb63429 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292311
0xa2bebe1db10b8f833fedc8079a475ed5ba060e4571986efdd38963ec3bff638aGive Claim Bulk218968162021-11-28 11:12:2424 mins ago0xc8f214d0e193a799191424a79cd27adce45e8db7 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292371
0x1972d17251b97f6bc25e91387ea61b2e17a7a3be8ad22e04bf213a5355ca8c59Give Claim Bulk218967772021-11-28 11:11:0625 mins ago0x39095538d0429228f2eeed1ca4d43760244f4909 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0343671
0x74d9eb9ee311c57947e725e0974050e00f666a801111f476e410a9c835144c82Give Claim Bulk218967642021-11-28 11:10:3626 mins ago0x6b2ac8529e56d49a9c277aaaaf5102eb7ee9567e IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0500709
0x9636fa2da98202ce35faebdb41c7f8cfe700260f116f6bcf8384237c2c9bbfb6Give Claim Bulk218967432021-11-28 11:09:5426 mins ago0xd4ab1c9ce222f9f5dad4a14ced7536ac78052117 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0500541
0x09d5a0869457c88567073b9e9366e0b88fa4b12e4ddef26766a9a53232c36b6cGive Claim Bulk218966702021-11-28 11:07:2429 mins ago0xceb120b2f8c0bf7b2c229003974042ae104f0e90 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0343635
0x3951dc8af959481fbab03da331f8ed2b838f10b72639af70ef80437b6d9d00c5Give Claim Bulk218966682021-11-28 11:07:2029 mins ago0x1710c9e0a329660e566ee4e4c269b06b69ae3da1 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0343671
0xa53cb1f4b4726635983df3a3e7ce6a8c6e1e18d0da5ad75896b8025f72fca89fGive Claim Bulk218966532021-11-28 11:06:5029 mins ago0xa37d40a7bf2af078f5a59418b12e40bd2bf58a34 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0343629
0x7ec8b76cac58b5a44c8a694a5150b90cd55a9a63ea0bb3f386e50af9554d069bGive Claim Bulk218966322021-11-28 11:06:0330 mins ago0xe88513dd0c4984e78f169294954ad418e793cc9e IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0343665
0x613be45f985324534b4bec30305317936a4b43e3354c79d1375030e776b95841Give Claim Bulk218965882021-11-28 11:04:3532 mins ago0x461c839107d5f8bc51d3e33f413e3bbfa0655158 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0343731
0x44b87831074e4ccc0cdd9de70a459de9e59ecc03b898c4f990c19345574a9140Give Claim Bulk218965492021-11-28 11:03:1333 mins ago0x78660008ab2136fb71f97d0fcd6469aeae054656 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.034095
0xd346c2fc7254210eabff4351bf866fac50dc105f315d4449a86bcef3b88b8693Give Claim Bulk218965222021-11-28 11:02:1934 mins ago0x7b97f608cb924de1bfbe823a3f9b4d9d17f79a29 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0814611
0xb43b5ed9e1f21e406a1ad5218bd6615cff6a15817e5ba18bed82e46d3a9666beGive Claim Bulk218965092021-11-28 11:01:4934 mins ago0x7fa0e993e12f108ec0cc9a9d56d919bdfac10dbb IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0343599
0x030e01879ddaa133fbba9a34aa5b0d429a7fe732749e0a1b78902a2894c17acfGive Claim Bulk218965002021-11-28 11:01:3135 mins ago0x331c012f7f3f8e03ce7dd087a6c136f6beeb5ad3 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0343701
0xf8531d5d3740e43791f8e562229e1d5e740830843788afa80727cd7f40f9ff64Give Claim Bulk218964932021-11-28 11:01:1735 mins ago0x184726a1a3b9c208e68e9f7dfbf4a9b6e7dcdb70 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292341
0x49298f5ed5137243c57f5765d7bc21dad99cfc131110186a7dc074b8ab10e5e4Give Claim Bulk218964192021-11-28 10:57:4339 mins ago0x7a04e583d20c9344e179a45ab6934d71eb3b349e IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292299
0x71f8d3fee86b353b2ca188d36d03e9516941030a19c7225eda5405fe450b048aGive Claim Bulk218963972021-11-28 10:56:1140 mins ago0xd51687a86eba69ae8a5358054129408535c54781 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292395
0x8f301887fb76883509bddb907a0f534bbcd3f5776b7e79d4f1d313c772a20594Give Claim Bulk218961762021-11-28 10:48:0548 mins ago0xdc5b5ac8d6147e6e26fd614facf9cb7fdfb6401b IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292335
0xd21a9c1481d1fc3f9a9de5310880c39d2676d88a56947041841c9279f7f1536fGive Claim Bulk218961712021-11-28 10:47:5548 mins ago0xb6d21a2261e3a8f74fabf341909b7296049573eb IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292461
0x4eb550eeff96e14fd3227d7ef56fcea31ba9e1c21b9437bbccca8c478b539971Give Claim Bulk218961172021-11-28 10:46:0350 mins ago0xef6a02593daff04eb865b1fbfb9c4247dfb65555 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292377
0x4e27d30526d38af527bf038a48954fb694df442622a8969023928c212e07dbbeGive Claim Bulk218961162021-11-28 10:46:0150 mins ago0xfa0bd8ccf3adee879dd8a571b0cb5bd60cb63429 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0763215
0xe79c2bcd5051678f0b764e7430bad43f14c072f2f09d2b6de5fd5ca97193530fGive Claim Bulk218960992021-11-28 10:45:2751 mins ago0xc8f214d0e193a799191424a79cd27adce45e8db7 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292395
0x37e126e6a2241039bd0e7aeeff37c7fe1d71a8f07c754ac4d121a6bf87ccceeeGive Claim Bulk218960622021-11-28 10:44:0752 mins ago0x39095538d0429228f2eeed1ca4d43760244f4909 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292311
0x51a19c47d26b68a18b7e9e62fe2539f9b028ac59c3cbf8db15f424fcd45f9217Give Claim Bulk218960622021-11-28 10:44:0752 mins ago0x6b2ac8529e56d49a9c277aaaaf5102eb7ee9567e IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292203
0x7987c6d231fe0855a920aec038fe49d5749cab9c931cafbf1f039df1b0884712Give Claim Bulk218959112021-11-28 10:36:5159 mins ago0xd4ab1c9ce222f9f5dad4a14ced7536ac78052117 IN  0x1ae5397942bf43ce1fe3f137622a0a7a33ac48260 MATIC0.0292401
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
IceKeeper

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 3: IceKeeper.sol
// SPDX-License-Identifier: -- DG --

pragma solidity ^0.8.9;

import "MerkleProof.sol";
import "SafeTransfer.sol";

/**
  * @title Smart Ice Keeper
  * @author Vitally Marinchenko
  */

contract IceKeeper is SafeTransfer {

    address public constant distributionToken = address(
        0xc6C855AD634dCDAd23e64DA71Ba85b8C51E5aD7c
    );

    uint256 public maximumDrop;
    uint256 public icedropCount;

    uint256 public totalRequired;
    uint256 public totalCollected;

    address public masterAccount;

    struct Keeper {
        bytes32 root;
        uint256 total;
        uint256 claimed;
    }

    mapping(address => bool) public dropsWorkers;
    mapping(address => bool) public claimWorkers;

    mapping(uint256 => string) public ipfsData;
    mapping(bytes32 => Keeper) public icedrops;

    mapping(bytes32 => mapping(address => bool)) public hasClaimed;

    modifier onlyMaster() {
        require(
            msg.sender == masterAccount,
            'IceKeeper: invalid master'
        );
        _;
    }

    modifier onlyDropsWorker() {
        require(
            dropsWorkers[msg.sender] == true,
            'IceKeeper: invalid drops worker'
        );
        _;
    }

    modifier onlyClaimWorker() {
        require(
            claimWorkers[msg.sender] == true,
            'IceKeeper: invalid claim worker'
        );
        _;
    }

    event Withdraw(
        address indexed account,
        uint256 amount
    );

    event NewIcedrop(
        bytes32 indexed hash,
        address indexed master,
        string indexed ipfsAddress,
        uint256 total
    );

    event Claimed(
        uint256 indexed index,
        address indexed account,
        uint256 amount
    );

    constructor(
        address _masterAccount,
        address _claimWorker,
        address _dropsWorker,
        uint256 _maximumDrop
    ) {
        masterAccount = _masterAccount;

        claimWorkers[_claimWorker] = true;
        dropsWorkers[_dropsWorker] = true;

        maximumDrop = _maximumDrop;
    }

    function changeMaximumDrop(
        uint256 _newMaximumDrop
    )
        external
        onlyMaster
    {
        maximumDrop = _newMaximumDrop;
    }

    function createIceDrop(
        bytes32 _root,
        uint256 _total,
        string calldata _ipfsAddress
    )
        external
        onlyDropsWorker
    {
        require(
            _total > 0,
            'IceKeeper: invalid total'
        );

        bytes32 hash = getHash(
            _ipfsAddress
        );

        require(
            icedrops[hash].total == 0,
            'IceKeeper: already created'
        );

        icedrops[hash] = Keeper({
            root: _root,
            total: _total,
            claimed: 0
        });

        icedropCount =
        icedropCount + 1;

        ipfsData[icedropCount] = _ipfsAddress;

        totalRequired =
        totalRequired + _total;

        emit NewIcedrop(
            _root,
            masterAccount,
            _ipfsAddress,
            _total
        );
    }

    function getHash(
        string calldata _ipfsAddress
    )
        public
        pure
        returns (bytes32)
    {
        return keccak256(
            abi.encodePacked(
                _ipfsAddress
            )
        );
    }

    function isClaimed(
        bytes32 _hash,
        address _account
    )
        public
        view
        returns (bool)
    {
        return hasClaimed[_hash][_account];
    }

    function getClaim(
        bytes32 _hash,
        uint256 _index,
        uint256 _amount,
        bytes32[] calldata _merkleProof
    )
        external
    {
        _doClaim(
            _hash,
            _index,
            _amount,
            msg.sender,
            _merkleProof
        );
    }

    function getClaimBulk(
        bytes32[] calldata _hash,
        uint256[] calldata _index,
        uint256[] calldata _amount,
        bytes32[][] calldata _merkleProof
    )
        external
    {
        for (uint256 i = 0; i < _hash.length; i++) {
            _doClaim(
                _hash[i],
                _index[i],
                _amount[i],
                msg.sender,
                _merkleProof[i]
            );
        }
    }

    function giveClaim(
        bytes32 _hash,
        uint256 _index,
        uint256 _amount,
        address _account,
        bytes32[] calldata _merkleProof
    )
        external
        onlyClaimWorker
    {
        _doClaim(
            _hash,
            _index,
            _amount,
            _account,
            _merkleProof
        );
    }

    function giveClaimBulk(
        bytes32[] calldata _hash,
        uint256[] calldata _index,
        uint256[] calldata _amount,
        address[] calldata _account,
        bytes32[][] calldata _merkleProof
    )
        external
        onlyClaimWorker
    {
        for (uint256 i = 0; i < _hash.length; i++) {
            _doClaim(
                _hash[i],
                _index[i],
                _amount[i],
                _account[i],
                _merkleProof[i]
            );
        }
    }

    function _doClaim(
        bytes32 _hash,
        uint256 _index,
        uint256 _amount,
        address _account,
        bytes32[] calldata _merkleProof
    )
        private
    {
        require(
            isClaimed(_hash, _account) == false,
            'IceKeeper: already claimed'
        );

        require(
            _amount <= maximumDrop,
            'IceKeeper: invalid amount'
        );

        bytes32 node = keccak256(
            abi.encodePacked(
                _index,
                _account,
                _amount
            )
        );

        require(
            MerkleProof.verify(
                _merkleProof,
                icedrops[_hash].root,
                node
            ),
            'IceKeeper: invalid proof'
        );

        icedrops[_hash].claimed =
        icedrops[_hash].claimed + _amount;

        totalCollected =
        totalCollected + _amount;

        require(
            icedrops[_hash].total >=
            icedrops[_hash].claimed,
            'IceKeeper: claim excess'
        );

        _setClaimed(
            _hash,
            _account
        );

        safeTransfer(
            distributionToken,
            _account,
            _amount
        );

        emit Claimed(
            _index,
            _account,
            _amount
        );
    }

    function _setClaimed(
        bytes32 _hash,
        address _account
    )
        private
    {
        hasClaimed[_hash][_account] = true;
    }

    function withdrawFunds(
        uint256 _amount
    )
        external
        onlyMaster
    {
        safeTransfer(
            distributionToken,
            masterAccount,
            _amount
        );

        emit Withdraw(
            masterAccount,
            _amount
        );
    }

    function changeMaster(
        address _newMaster
    )
        external
        onlyMaster
    {
        masterAccount = _newMaster;
    }

    function changeClaimWorker(
        address _claimWorker,
        bool _isWorker
    )
        external
        onlyMaster
    {
        claimWorkers[_claimWorker] = _isWorker;
    }

    function changeDropsWorker(
        address _dropsWorker,
        bool _isWorker
    )
        external
        onlyMaster
    {
        dropsWorkers[_dropsWorker] = _isWorker;
    }

    function getBalance()
        public
        view
        returns (uint256)
    {
        return ERC20(distributionToken).balanceOf(
            address(this)
        );
    }

    function showRemaining(
        bytes32 _hash
    )
        public
        view
        returns (uint256)
    {
        return icedrops[_hash].total - icedrops[_hash].claimed;
    }

    function showExcess(
        bytes32 _hash
    )
        external
        view
        returns (int256)
    {
        return int256(getBalance()) - int256(showRemaining(_hash));
    }

    function showRemaining()
        public
        view
        returns (uint256)
    {
        return totalRequired - totalCollected;
    }

    function showExcess()
        external
        view
        returns (int256)
    {
        return int256(getBalance()) - int256(showRemaining());
    }
}

File 2 of 3: MerkleProof.sol
// SPDX-License-Identifier: -- DG --

pragma solidity ^0.8.9;

/**
 * @dev These functions deal with verification of Merkle trees (hash trees)
 */
library MerkleProof {
    /**
     * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree
     * defined by `root`. For this, a `proof` must be provided, containing
     * sibling hashes on the branch from the leaf to the root of the tree.
     */
    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];

            if (computedHash <= proofElement) {
                // Hash(current computed hash + current element of the proof)
                computedHash = keccak256(abi.encodePacked(computedHash, proofElement));
            } else {
                // Hash(current element of the proof + current computed hash)
                computedHash = keccak256(abi.encodePacked(proofElement, computedHash));
            }
        }
        // Check if the computed hash (root) is equal to the provided root
        return computedHash == root;
    }
}

File 3 of 3: SafeTransfer.sol
// SPDX-License-Identifier: -- ICE --

pragma solidity ^0.8.9;

interface ERC20 {

    function balanceOf(
        address _iceKeeper
    )
        external
        view
        returns (uint256);
}

contract SafeTransfer {

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

    function safeTransfer(
        address _token,
        address _to,
        uint256 _value
    )
      internal
    {
        (bool success, bytes memory data) = _token.call(
            abi.encodeWithSelector(
                TRANSFER,
                _to,
                _value
            )
        );

        require(
            success && (
                data.length == 0 || abi.decode(
                    data, (bool)
                )
            ),
            'TransferHelper: TRANSFER_FAILED'
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_masterAccount","type":"address"},{"internalType":"address","name":"_claimWorker","type":"address"},{"internalType":"address","name":"_dropsWorker","type":"address"},{"internalType":"uint256","name":"_maximumDrop","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"hash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"master","type":"address"},{"indexed":true,"internalType":"string","name":"ipfsAddress","type":"string"},{"indexed":false,"internalType":"uint256","name":"total","type":"uint256"}],"name":"NewIcedrop","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"address","name":"_claimWorker","type":"address"},{"internalType":"bool","name":"_isWorker","type":"bool"}],"name":"changeClaimWorker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_dropsWorker","type":"address"},{"internalType":"bool","name":"_isWorker","type":"bool"}],"name":"changeDropsWorker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMaster","type":"address"}],"name":"changeMaster","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaximumDrop","type":"uint256"}],"name":"changeMaximumDrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimWorkers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"string","name":"_ipfsAddress","type":"string"}],"name":"createIceDrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributionToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"dropsWorkers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes32[]","name":"_merkleProof","type":"bytes32[]"}],"name":"getClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_hash","type":"bytes32[]"},{"internalType":"uint256[]","name":"_index","type":"uint256[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"},{"internalType":"bytes32[][]","name":"_merkleProof","type":"bytes32[][]"}],"name":"getClaimBulk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_ipfsAddress","type":"string"}],"name":"getHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"bytes32[]","name":"_merkleProof","type":"bytes32[]"}],"name":"giveClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_hash","type":"bytes32[]"},{"internalType":"uint256[]","name":"_index","type":"uint256[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"},{"internalType":"address[]","name":"_account","type":"address[]"},{"internalType":"bytes32[][]","name":"_merkleProof","type":"bytes32[][]"}],"name":"giveClaimBulk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"hasClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"icedropCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"icedrops","outputs":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"uint256","name":"claimed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"ipfsData","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"name":"isClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"masterAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumDrop","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"}],"name":"showExcess","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showExcess","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showRemaining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"}],"name":"showRemaining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRequired","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawFunds","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50604051620019bc380380620019bc8339810160408190526200003491620000b0565b600480546001600160a01b0319166001600160a01b039586161790559183166000908152600660209081526040808320805460ff1990811660019081179092559490961683526005909152812080549092169093179055905562000102565b80516001600160a01b0381168114620000ab57600080fd5b919050565b60008060008060808587031215620000c757600080fd5b620000d28562000093565b9350620000e26020860162000093565b9250620000f26040860162000093565b6060959095015193969295505050565b6118aa80620001126000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80639afd453c116100f9578063ceb19ce011610097578063e94f74a711610071578063e94f74a71461043c578063f39ede0314610445578063f4ff78bf14610458578063f57f03071461046b57600080fd5b8063ceb19ce0146103fd578063e29eb83614610410578063e49e03ad1461041957600080fd5b8063a1371de2116100d3578063a1371de2146103bc578063a983299f146103c4578063b06a64b1146103d7578063b4e471ca146103ea57600080fd5b80639afd453c146103635780639d1390621461038e5780639e6021a6146103a957600080fd5b80633c9cbe8c116101665780635ddde992116101405780635ddde992146102aa5780637ac1ed9d146102f457806384ef71fb146102fc57806392a42d1d1461033557600080fd5b80633c9cbe8c1461025b5780634ca44b5e146102645780635b6beeb91461029757600080fd5b806321798309116101a2578063217983091461020c5780632658fd0a1461021f578063288166ac1461023f578063343540681461025257600080fd5b80630b4df983146101c957806312065fe0146101de578063155dd5ee146101f9575b600080fd5b6101dc6101d7366004611215565b61047e565b005b6101e6610493565b6040519081526020015b60405180910390f35b6101dc610207366004611276565b61051d565b6101dc61021a3660046112bc565b6105c1565b61023261022d366004611276565b610616565b6040516101f09190611323565b6101e661024d366004611276565b6106b0565b6101e660025481565b6101e660005481565b610287610272366004611356565b60056020526000908152604090205460ff1681565b60405190151581526020016101f0565b6101e66102a53660046113ba565b6106d3565b6102d96102b8366004611276565b60086020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016101f0565b6101e6610706565b61028761030a3660046113fc565b60009182526009602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6102876103433660046113fc565b600960209081526000928352604080842090915290825290205460ff1681565b600454610376906001600160a01b031681565b6040516001600160a01b0390911681526020016101f0565b61037673c6c855ad634dcdad23e64da71ba85b8c51e5ad7c81565b6101dc6103b7366004611428565b610722565b6101e661079c565b6101dc6103d2366004611499565b6107ae565b6101e66103e5366004611276565b6109ae565b6101dc6103f8366004611276565b6109d1565b6101dc61040b3660046114ec565b610a00565b6101e660035481565b610287610427366004611356565b60066020526000908152604090205460ff1681565b6101e660015481565b6101dc6104533660046115b0565b610aa0565b6101dc610466366004611356565b610bb5565b6101dc6104793660046112bc565b610c01565b61048c858585338686610c56565b5050505050565b6040516370a0823160e01b815230600482015260009073c6c855ad634dcdad23e64da71ba85b8c51e5ad7c906370a082319060240160206040518083038186803b1580156104e057600080fd5b505afa1580156104f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051891906116a1565b905090565b6004546001600160a01b031633146105505760405162461bcd60e51b8152600401610547906116ba565b60405180910390fd5b60045461057c9073c6c855ad634dcdad23e64da71ba85b8c51e5ad7c906001600160a01b031683610f3d565b6004546040518281526001600160a01b03909116907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a250565b6004546001600160a01b031633146105eb5760405162461bcd60e51b8152600401610547906116ba565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6007602052600090815260409020805461062f906116f1565b80601f016020809104026020016040519081016040528092919081815260200182805461065b906116f1565b80156106a85780601f1061067d576101008083540402835291602001916106a8565b820191906000526020600020905b81548152906001019060200180831161068b57829003601f168201915b505050505081565b60006106bb826109ae565b6106c3610493565b6106cd9190611742565b92915050565b600082826040516020016106e8929190611781565b60405160208183030381529060405280519060200120905092915050565b600061071061079c565b610718610493565b6105189190611742565b3360009081526006602052604090205460ff1615156001146107865760405162461bcd60e51b815260206004820152601f60248201527f4963654b65657065723a20696e76616c696420636c61696d20776f726b6572006044820152606401610547565b610794868686868686610c56565b505050505050565b60006003546002546105189190611791565b3360009081526005602052604090205460ff1615156001146108125760405162461bcd60e51b815260206004820152601f60248201527f4963654b65657065723a20696e76616c69642064726f707320776f726b6572006044820152606401610547565b600083116108625760405162461bcd60e51b815260206004820152601860248201527f4963654b65657065723a20696e76616c696420746f74616c00000000000000006044820152606401610547565b600061086e83836106d3565b600081815260086020526040902060010154909150156108d05760405162461bcd60e51b815260206004820152601a60248201527f4963654b65657065723a20616c726561647920637265617465640000000000006044820152606401610547565b60408051606081018252868152602080820187815260008385018181528682526008909352939093209151825591516001808301919091559151600290910155805461091b916117a8565b60018190556000908152600760205260409020610939908484611130565b508360025461094891906117a8565b60025560405161095b9084908490611781565b60405190819003812060045486835290916001600160a01b039091169087907f0a0d92d71068e2ec02009192d14147880b5fc70f0101c208d623783071a57c1a9060200160405180910390a45050505050565b600081815260086020526040812060028101546001909101546106cd9190611791565b6004546001600160a01b031633146109fb5760405162461bcd60e51b8152600401610547906116ba565b600055565b60005b87811015610a9557610a83898983818110610a2057610a206117c0565b90506020020135888884818110610a3957610a396117c0565b90506020020135878785818110610a5257610a526117c0565b9050602002013533878787818110610a6c57610a6c6117c0565b9050602002810190610a7e91906117d6565b610c56565b80610a8d81611820565b915050610a03565b505050505050505050565b3360009081526006602052604090205460ff161515600114610b045760405162461bcd60e51b815260206004820152601f60248201527f4963654b65657065723a20696e76616c696420636c61696d20776f726b6572006044820152606401610547565b60005b89811015610ba857610b968b8b83818110610b2457610b246117c0565b905060200201358a8a84818110610b3d57610b3d6117c0565b90506020020135898985818110610b5657610b566117c0565b90506020020135888886818110610b6f57610b6f6117c0565b9050602002016020810190610b849190611356565b878787818110610a6c57610a6c6117c0565b80610ba081611820565b915050610b07565b5050505050505050505050565b6004546001600160a01b03163314610bdf5760405162461bcd60e51b8152600401610547906116ba565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b03163314610c2b5760405162461bcd60e51b8152600401610547906116ba565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b60008681526009602090815260408083206001600160a01b038716845290915290205460ff1615610cc95760405162461bcd60e51b815260206004820152601a60248201527f4963654b65657065723a20616c726561647920636c61696d65640000000000006044820152606401610547565b600054841115610d1b5760405162461bcd60e51b815260206004820152601960248201527f4963654b65657065723a20696e76616c696420616d6f756e74000000000000006044820152606401610547565b60408051602081018790526bffffffffffffffffffffffff19606086901b169181019190915260548101859052600090607401604051602081830303815290604052805190602001209050610db183838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052508c81526008602052604090205492508591506110819050565b610dfd5760405162461bcd60e51b815260206004820152601860248201527f4963654b65657065723a20696e76616c69642070726f6f6600000000000000006044820152606401610547565b600087815260086020526040902060020154610e1a9086906117a8565b600088815260086020526040902060020155600354610e3a9086906117a8565b600355600087815260086020526040902060028101546001909101541015610ea45760405162461bcd60e51b815260206004820152601760248201527f4963654b65657065723a20636c61696d206578636573730000000000000000006044820152606401610547565b60008781526009602090815260408083206001600160a01b03881684529091529020805460ff19166001179055610ef073c6c855ad634dcdad23e64da71ba85b8c51e5ad7c8587610f3d565b836001600160a01b0316867f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed02687604051610f2c91815260200190565b60405180910390a350505050505050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b17905291516000928392871691610fc9919061183b565b6000604051808303816000865af19150503d8060008114611006576040519150601f19603f3d011682016040523d82523d6000602084013e61100b565b606091505b50915091508180156110355750805115806110355750808060200190518101906110359190611857565b61048c5760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c4544006044820152606401610547565b600081815b85518110156111255760008682815181106110a3576110a36117c0565b602002602001015190508083116110e5576040805160208101859052908101829052606001604051602081830303815290604052805190602001209250611112565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b508061111d81611820565b915050611086565b509092149392505050565b82805461113c906116f1565b90600052602060002090601f01602090048101928261115e57600085556111a4565b82601f106111775782800160ff198235161785556111a4565b828001600101855582156111a4579182015b828111156111a4578235825591602001919060010190611189565b506111b09291506111b4565b5090565b5b808211156111b057600081556001016111b5565b60008083601f8401126111db57600080fd5b50813567ffffffffffffffff8111156111f357600080fd5b6020830191508360208260051b850101111561120e57600080fd5b9250929050565b60008060008060006080868803121561122d57600080fd5b853594506020860135935060408601359250606086013567ffffffffffffffff81111561125957600080fd5b611265888289016111c9565b969995985093965092949392505050565b60006020828403121561128857600080fd5b5035919050565b80356001600160a01b03811681146112a657600080fd5b919050565b80151581146112b957600080fd5b50565b600080604083850312156112cf57600080fd5b6112d88361128f565b915060208301356112e8816112ab565b809150509250929050565b60005b8381101561130e5781810151838201526020016112f6565b8381111561131d576000848401525b50505050565b60208152600082518060208401526113428160408501602087016112f3565b601f01601f19169190910160400192915050565b60006020828403121561136857600080fd5b6113718261128f565b9392505050565b60008083601f84011261138a57600080fd5b50813567ffffffffffffffff8111156113a257600080fd5b60208301915083602082850101111561120e57600080fd5b600080602083850312156113cd57600080fd5b823567ffffffffffffffff8111156113e457600080fd5b6113f085828601611378565b90969095509350505050565b6000806040838503121561140f57600080fd5b8235915061141f6020840161128f565b90509250929050565b60008060008060008060a0878903121561144157600080fd5b86359550602087013594506040870135935061145f6060880161128f565b9250608087013567ffffffffffffffff81111561147b57600080fd5b61148789828a016111c9565b979a9699509497509295939492505050565b600080600080606085870312156114af57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156114d457600080fd5b6114e087828801611378565b95989497509550505050565b6000806000806000806000806080898b03121561150857600080fd5b883567ffffffffffffffff8082111561152057600080fd5b61152c8c838d016111c9565b909a50985060208b013591508082111561154557600080fd5b6115518c838d016111c9565b909850965060408b013591508082111561156a57600080fd5b6115768c838d016111c9565b909650945060608b013591508082111561158f57600080fd5b5061159c8b828c016111c9565b999c989b5096995094979396929594505050565b60008060008060008060008060008060a08b8d0312156115cf57600080fd5b8a3567ffffffffffffffff808211156115e757600080fd5b6115f38e838f016111c9565b909c509a5060208d013591508082111561160c57600080fd5b6116188e838f016111c9565b909a50985060408d013591508082111561163157600080fd5b61163d8e838f016111c9565b909850965060608d013591508082111561165657600080fd5b6116628e838f016111c9565b909650945060808d013591508082111561167b57600080fd5b506116888d828e016111c9565b915080935050809150509295989b9194979a5092959850565b6000602082840312156116b357600080fd5b5051919050565b60208082526019908201527f4963654b65657065723a20696e76616c6964206d617374657200000000000000604082015260600190565b600181811c9082168061170557607f821691505b6020821081141561172657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008083128015600160ff1b8501841216156117605761176061172c565b6001600160ff1b038401831381161561177b5761177b61172c565b50500390565b8183823760009101908152919050565b6000828210156117a3576117a361172c565b500390565b600082198211156117bb576117bb61172c565b500190565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126117ed57600080fd5b83018035915067ffffffffffffffff82111561180857600080fd5b6020019150600581901b360382131561120e57600080fd5b60006000198214156118345761183461172c565b5060010190565b6000825161184d8184602087016112f3565b9190910192915050565b60006020828403121561186957600080fd5b8151611371816112ab56fea26469706673582212203c47b573b7e43a67019e92310a5bf53209319a4f040165f5f3fe143568f125e264736f6c634300080900330000000000000000000000007a61a0ed364e599ae4748d1ebe74bf236dd27b090000000000000000000000003c383b7ffd5d2bf24ebd1fc8509cefa9b7d1976f000000000000000000000000c6c855ad634dcdad23e64da71ba85b8c51e5ad7c0000000000000000000000000000000000000000000000056bc75e2d63100000

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

0000000000000000000000007a61a0ed364e599ae4748d1ebe74bf236dd27b090000000000000000000000003c383b7ffd5d2bf24ebd1fc8509cefa9b7d1976f000000000000000000000000c6c855ad634dcdad23e64da71ba85b8c51e5ad7c0000000000000000000000000000000000000000000000056bc75e2d63100000

-----Decoded View---------------
Arg [0] : _masterAccount (address): 0x7a61a0ed364e599ae4748d1ebe74bf236dd27b09
Arg [1] : _claimWorker (address): 0x3c383b7ffd5d2bf24ebd1fc8509cefa9b7d1976f
Arg [2] : _dropsWorker (address): 0xc6c855ad634dcdad23e64da71ba85b8c51e5ad7c
Arg [3] : _maximumDrop (uint256): 100000000000000000000

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a61a0ed364e599ae4748d1ebe74bf236dd27b09
Arg [1] : 0000000000000000000000003c383b7ffd5d2bf24ebd1fc8509cefa9b7d1976f
Arg [2] : 000000000000000000000000c6c855ad634dcdad23e64da71ba85b8c51e5ad7c
Arg [3] : 0000000000000000000000000000000000000000000000056bc75e2d63100000


Deployed ByteCode Sourcemap

187:8088:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3474:303;;;;;;:::i;:::-;;:::i;:::-;;7422:175;;;:::i;:::-;;;1179:25:3;;;1167:2;1152:18;7422:175:0;;;;;;;;6601:294;;;;;;:::i;:::-;;:::i;7046:182::-;;;;;;:::i;:::-;;:::i;714:42::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7790:183::-;;;;;;:::i;:::-;;:::i;411:28::-;;;;;;345:26;;;;;;613:44;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3393:14:3;;3386:22;3368:41;;3356:2;3341:18;613:44:0;3228:187:3;3046:236:0;;;;;;:::i;:::-;;:::i;762:42::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4573:25:3;;;4629:2;4614:18;;4607:34;;;;4657:18;;;4650:34;4561:2;4546:18;762:42:0;4371:319:3;8122:151:0;;;:::i;3288:180::-;;;;;;:::i;:::-;3407:4;3434:17;;;:10;:17;;;;;;;;-1:-1:-1;;;;;3434:27:0;;;;;;;;;;;;;;;3288:180;811:62;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;481:28;;;;;-1:-1:-1;;;;;481:28:0;;;;;;-1:-1:-1;;;;;5118:32:3;;;5100:51;;5088:2;5073:18;481:28:0;4954:203:3;229:109:0;;290:42;229:109;;4234:352;;;;;;:::i;:::-;;:::i;7979:137::-;;;:::i;2200:840::-;;;;;;:::i;:::-;;:::i;7603:181::-;;;;;;:::i;:::-;;:::i;2042:152::-;;;;;;:::i;:::-;;:::i;3783:445::-;;;;;;:::i;:::-;;:::i;445:29::-;;;;;;663:44;;;;;;:::i;:::-;;;;;;;;;;;;;;;;377:27;;;;;;4592:508;;;;;;:::i;:::-;;:::i;6901:139::-;;;;;;:::i;:::-;;:::i;7234:182::-;;;;;;:::i;:::-;;:::i;3474:303::-;3642:128;3664:5;3683:6;3703:7;3724:10;3748:12;;3642:8;:128::i;:::-;3474:303;;;;;:::o;7422:175::-;7519:71;;-1:-1:-1;;;7519:71:0;;7575:4;7519:71;;;5100:51:3;7489:7:0;;290:42;;7519:34;;5073:18:3;;7519:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7512:78;;7422:175;:::o;6601:294::-;947:13;;-1:-1:-1;;;;;947:13:0;933:10;:27;912:99;;;;-1:-1:-1;;;912:99:0;;;;;;;:::i;:::-;;;;;;;;;6762:13:::1;::::0;6705:101:::1;::::0;290:42:::1;::::0;-1:-1:-1;;;;;6762:13:0::1;6789:7:::0;6705:12:::1;:101::i;:::-;6844:13;::::0;6822:66:::1;::::0;1179:25:3;;;-1:-1:-1;;;;;6844:13:0;;::::1;::::0;6822:66:::1;::::0;1167:2:3;1152:18;6822:66:0::1;;;;;;;6601:294:::0;:::o;7046:182::-;947:13;;-1:-1:-1;;;;;947:13:0;933:10;:27;912:99;;;;-1:-1:-1;;;912:99:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7183:26:0;;;::::1;;::::0;;;:12:::1;:26;::::0;;;;:38;;-1:-1:-1;;7183:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7046:182::o;714:42::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7790:183::-;7886:6;7945:20;7959:5;7945:13;:20::i;:::-;7922:12;:10;:12::i;:::-;7915:51;;;;:::i;:::-;7908:58;7790:183;-1:-1:-1;;7790:183:0:o;3046:236::-;3152:7;3239:12;;3205:60;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3182:93;;;;;;3175:100;;3046:236;;;;:::o;8122:151::-;8191:6;8250:15;:13;:15::i;:::-;8227:12;:10;:12::i;:::-;8220:46;;;;:::i;4234:352::-;1277:10;1264:24;;;;:12;:24;;;;;;;;:32;;:24;:32;1243:110;;;;-1:-1:-1;;;1243:110:0;;11436:2:3;1243:110:0;;;11418:21:3;11475:2;11455:18;;;11448:30;11514:33;11494:18;;;11487:61;11565:18;;1243:110:0;11234:355:3;1243:110:0;4453:126:::1;4475:5;4494:6;4514:7;4535:8;4557:12;;4453:8;:126::i;:::-;4234:352:::0;;;;;;:::o;7979:137::-;8049:7;8095:14;;8079:13;;:30;;;;:::i;2200:840::-;1106:10;1093:24;;;;:12;:24;;;;;;;;:32;;:24;:32;1072:110;;;;-1:-1:-1;;;1072:110:0;;11926:2:3;1072:110:0;;;11908:21:3;11965:2;11945:18;;;11938:30;12004:33;11984:18;;;11977:61;12055:18;;1072:110:0;11724:355:3;1072:110:0;2399:1:::1;2390:6;:10;2369:81;;;::::0;-1:-1:-1;;;2369:81:0;;12286:2:3;2369:81:0::1;::::0;::::1;12268:21:3::0;12325:2;12305:18;;;12298:30;12364:26;12344:18;;;12337:54;12408:18;;2369:81:0::1;12084:348:3::0;2369:81:0::1;2461:12;2476:43;2497:12;;2476:7;:43::i;:::-;2551:14;::::0;;;:8:::1;:14;::::0;;;;:20:::1;;::::0;2461:58;;-1:-1:-1;2551:25:0;2530:98:::1;;;::::0;-1:-1:-1;;;2530:98:0;;12639:2:3;2530:98:0::1;::::0;::::1;12621:21:3::0;12678:2;12658:18;;;12651:30;12717:28;12697:18;;;12690:56;12763:18;;2530:98:0::1;12437:350:3::0;2530:98:0::1;2656:94;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;2656:94:0;;;;;;2639:14;;;:8:::1;:14:::0;;;;;;;:111;;;;;;::::1;::::0;;::::1;::::0;;;;;;::::1;::::0;;::::1;::::0;2784:12;;:16:::1;::::0;::::1;:::i;:::-;2761:12;:39:::0;;;2811:22:::1;::::0;;;:8:::1;:22;::::0;;;;:37:::1;::::0;2836:12;;2811:37:::1;:::i;:::-;;2899:6;2883:13;;:22;;;;:::i;:::-;2859:13;:46:::0;2921:112:::1;::::0;::::1;::::0;2991:12;;;;2921:112:::1;:::i;:::-;;::::0;;;;::::1;::::0;;2964:13:::1;::::0;1179:25:3;;;2921:112:0;;-1:-1:-1;;;;;2964:13:0;;::::1;::::0;2945:5;;2921:112:::1;::::0;1167:2:3;1152:18;2921:112:0::1;;;;;;;2359:681;2200:840:::0;;;;:::o;7603:181::-;7700:7;7754:15;;;:8;:15;;;;;:23;;;;7730:21;;;;;:47;;7754:23;7730:47;:::i;2042:152::-;947:13;;-1:-1:-1;;;;;947:13:0;933:10;:27;912:99;;;;-1:-1:-1;;;912:99:0;;;;;;;:::i;:::-;2158:11:::1;:29:::0;2042:152::o;3783:445::-;3995:9;3990:232;4010:16;;;3990:232;;;4047:164;4073:5;;4079:1;4073:8;;;;;;;:::i;:::-;;;;;;;4099:6;;4106:1;4099:9;;;;;;;:::i;:::-;;;;;;;4126:7;;4134:1;4126:10;;;;;;;:::i;:::-;;;;;;;4154;4182:12;;4195:1;4182:15;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;4047:8;:164::i;:::-;4028:3;;;;:::i;:::-;;;;3990:232;;;;3783:445;;;;;;;;:::o;4592:508::-;1277:10;1264:24;;;;:12;:24;;;;;;;;:32;;:24;:32;1243:110;;;;-1:-1:-1;;;1243:110:0;;11436:2:3;1243:110:0;;;11418:21:3;11475:2;11455:18;;;11448:30;11514:33;11494:18;;;11487:61;11565:18;;1243:110:0;11234:355:3;1243:110:0;4866:9:::1;4861:233;4881:16:::0;;::::1;4861:233;;;4918:165;4944:5;;4950:1;4944:8;;;;;;;:::i;:::-;;;;;;;4970:6;;4977:1;4970:9;;;;;;;:::i;:::-;;;;;;;4997:7;;5005:1;4997:10;;;;;;;:::i;:::-;;;;;;;5025:8;;5034:1;5025:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5054:12;;5067:1;5054:15;;;;;;;:::i;4918:165::-;4899:3:::0;::::1;::::0;::::1;:::i;:::-;;;;4861:233;;;;4592:508:::0;;;;;;;;;;:::o;6901:139::-;947:13;;-1:-1:-1;;;;;947:13:0;933:10;:27;912:99;;;;-1:-1:-1;;;912:99:0;;;;;;;:::i;:::-;7007:13:::1;:26:::0;;-1:-1:-1;;;;;;7007:26:0::1;-1:-1:-1::0;;;;;7007:26:0;;;::::1;::::0;;;::::1;::::0;;6901:139::o;7234:182::-;947:13;;-1:-1:-1;;;;;947:13:0;933:10;:27;912:99;;;;-1:-1:-1;;;912:99:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7371:26:0;;;::::1;;::::0;;;:12:::1;:26;::::0;;;;:38;;-1:-1:-1;;7371:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7234:182::o;5106:1336::-;3407:4;3434:17;;;:10;:17;;;;;;;;-1:-1:-1;;;;;3434:27:0;;;;;;;;;;;;5320:35;5299:108;;;;-1:-1:-1;;;5299:108:0;;13949:2:3;5299:108:0;;;13931:21:3;13988:2;13968:18;;;13961:30;14027:28;14007:18;;;14000:56;14073:18;;5299:108:0;13747:350:3;5299:108:0;5450:11;;5439:7;:22;;5418:94;;;;-1:-1:-1;;;5418:94:0;;14304:2:3;5418:94:0;;;14286:21:3;14343:2;14323:18;;;14316:30;14382:27;14362:18;;;14355:55;14427:18;;5418:94:0;14102:349:3;5418:94:0;5561:105;;;;;;14641:19:3;;;-1:-1:-1;;14698:2:3;14694:15;;;14690:53;14676:12;;;14669:75;;;;14760:12;;;14753:28;;;5523:12:0;;14797::3;;5561:105:0;;;;;;;;;;;;5538:138;;;;;;5523:153;;5708:122;5744:12;;5708:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5774:15:0;;;:8;:15;;;;;:20;;-1:-1:-1;5812:4:0;;-1:-1:-1;5708:18:0;;-1:-1:-1;5708:122:0:i;:::-;5687:193;;;;-1:-1:-1;;;5687:193:0;;15022:2:3;5687:193:0;;;15004:21:3;15061:2;15041:18;;;15034:30;15100:26;15080:18;;;15073:54;15144:18;;5687:193:0;14820:348:3;5687:193:0;5925:15;;;;:8;:15;;;;;:23;;;:33;;5951:7;;5925:33;:::i;:::-;5891:15;;;;:8;:15;;;;;:23;;:67;5994:14;;:24;;6011:7;;5994:24;:::i;:::-;5969:14;:49;6087:15;;;;:8;:15;;;;;:23;;;;6050:21;;;;;:60;;6029:130;;;;-1:-1:-1;;;6029:130:0;;15375:2:3;6029:130:0;;;15357:21:3;15414:2;15394:18;;;15387:30;15453:25;15433:18;;;15426:53;15496:18;;6029:130:0;15173:347:3;6029:130:0;6554:17;;;;:10;:17;;;;;;;;-1:-1:-1;;;;;6554:27:0;;;;;;;;;:34;;-1:-1:-1;;6554:34:0;6584:4;6554:34;;;6243:96;290:42;6300:8;6322:7;6243:12;:96::i;:::-;6396:8;-1:-1:-1;;;;;6355:80:0;6376:6;6355:80;6418:7;6355:80;;;;1179:25:3;;1167:2;1152:18;;1033:177;6355:80:0;;;;;;;;5289:1153;5106:1336;;;;;;:::o;382:525:2:-;295:64;;;;;;;;;;;;;;;;;569:107;;-1:-1:-1;;;;;15717:32:3;;;569:107:2;;;15699:51:3;15766:18;;;;15759:34;;;569:107:2;;;;;;;;;;15672:18:3;;;;569:107:2;;;;;;;-1:-1:-1;;;;;569:107:2;-1:-1:-1;;;569:107:2;;;544:142;;-1:-1:-1;;;;544:11:2;;;:142;;569:107;544:142;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;508:178;;;;718:7;:125;;;;-1:-1:-1;747:11:2;;:16;;:82;;;799:4;767:62;;;;;;;;;;;;:::i;:::-;697:203;;;;-1:-1:-1;;;697:203:2;;16535:2:3;697:203:2;;;16517:21:3;16574:2;16554:18;;;16547:30;16613:33;16593:18;;;16586:61;16664:18;;697:203:2;16333:355:3;420:836:1;565:4;608;565;623:515;647:5;:12;643:1;:16;623:515;;;680:20;703:5;709:1;703:8;;;;;;;;:::i;:::-;;;;;;;680:31;;746:12;730;:28;726:402;;881:44;;;;;;16850:19:3;;;16885:12;;;16878:28;;;16922:12;;881:44:1;;;;;;;;;;;;871:55;;;;;;856:70;;726:402;;;1068:44;;;;;;16850:19:3;;;16885:12;;;16878:28;;;16922:12;;1068:44:1;;;;;;;;;;;;1058:55;;;;;;1043:70;;726:402;-1:-1:-1;661:3:1;;;;:::i;:::-;;;;623:515;;;-1:-1:-1;1229:20:1;;;;420:836;-1:-1:-1;;;420:836:1:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:367:3;77:8;87:6;141:3;134:4;126:6;122:17;118:27;108:55;;159:1;156;149:12;108:55;-1:-1:-1;182:20:3;;225:18;214:30;;211:50;;;257:1;254;247:12;211:50;294:4;286:6;282:17;270:29;;354:3;347:4;337:6;334:1;330:14;322:6;318:27;314:38;311:47;308:67;;;371:1;368;361:12;308:67;14:367;;;;;:::o;386:642::-;499:6;507;515;523;531;584:3;572:9;563:7;559:23;555:33;552:53;;;601:1;598;591:12;552:53;637:9;624:23;614:33;;694:2;683:9;679:18;666:32;656:42;;745:2;734:9;730:18;717:32;707:42;;800:2;789:9;785:18;772:32;827:18;819:6;816:30;813:50;;;859:1;856;849:12;813:50;898:70;960:7;951:6;940:9;936:22;898:70;:::i;:::-;386:642;;;;-1:-1:-1;386:642:3;;-1:-1:-1;987:8:3;;872:96;386:642;-1:-1:-1;;;386:642:3:o;1215:180::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;-1:-1:-1;1366:23:3;;1215:180;-1:-1:-1;1215:180:3:o;1400:173::-;1468:20;;-1:-1:-1;;;;;1517:31:3;;1507:42;;1497:70;;1563:1;1560;1553:12;1497:70;1400:173;;;:::o;1578:118::-;1664:5;1657:13;1650:21;1643:5;1640:32;1630:60;;1686:1;1683;1676:12;1630:60;1578:118;:::o;1701:315::-;1766:6;1774;1827:2;1815:9;1806:7;1802:23;1798:32;1795:52;;;1843:1;1840;1833:12;1795:52;1866:29;1885:9;1866:29;:::i;:::-;1856:39;;1945:2;1934:9;1930:18;1917:32;1958:28;1980:5;1958:28;:::i;:::-;2005:5;1995:15;;;1701:315;;;;;:::o;2021:258::-;2093:1;2103:113;2117:6;2114:1;2111:13;2103:113;;;2193:11;;;2187:18;2174:11;;;2167:39;2139:2;2132:10;2103:113;;;2234:6;2231:1;2228:13;2225:48;;;2269:1;2260:6;2255:3;2251:16;2244:27;2225:48;;2021:258;;;:::o;2284:383::-;2433:2;2422:9;2415:21;2396:4;2465:6;2459:13;2508:6;2503:2;2492:9;2488:18;2481:34;2524:66;2583:6;2578:2;2567:9;2563:18;2558:2;2550:6;2546:15;2524:66;:::i;:::-;2651:2;2630:15;-1:-1:-1;;2626:29:3;2611:45;;;;2658:2;2607:54;;2284:383;-1:-1:-1;;2284:383:3:o;3037:186::-;3096:6;3149:2;3137:9;3128:7;3124:23;3120:32;3117:52;;;3165:1;3162;3155:12;3117:52;3188:29;3207:9;3188:29;:::i;:::-;3178:39;3037:186;-1:-1:-1;;;3037:186:3:o;3420:348::-;3472:8;3482:6;3536:3;3529:4;3521:6;3517:17;3513:27;3503:55;;3554:1;3551;3544:12;3503:55;-1:-1:-1;3577:20:3;;3620:18;3609:30;;3606:50;;;3652:1;3649;3642:12;3606:50;3689:4;3681:6;3677:17;3665:29;;3741:3;3734:4;3725:6;3717;3713:19;3709:30;3706:39;3703:59;;;3758:1;3755;3748:12;3773:411;3844:6;3852;3905:2;3893:9;3884:7;3880:23;3876:32;3873:52;;;3921:1;3918;3911:12;3873:52;3961:9;3948:23;3994:18;3986:6;3983:30;3980:50;;;4026:1;4023;4016:12;3980:50;4065:59;4116:7;4107:6;4096:9;4092:22;4065:59;:::i;:::-;4143:8;;4039:85;;-1:-1:-1;3773:411:3;-1:-1:-1;;;;3773:411:3:o;4695:254::-;4763:6;4771;4824:2;4812:9;4803:7;4799:23;4795:32;4792:52;;;4840:1;4837;4830:12;4792:52;4876:9;4863:23;4853:33;;4905:38;4939:2;4928:9;4924:18;4905:38;:::i;:::-;4895:48;;4695:254;;;;;:::o;5162:717::-;5284:6;5292;5300;5308;5316;5324;5377:3;5365:9;5356:7;5352:23;5348:33;5345:53;;;5394:1;5391;5384:12;5345:53;5430:9;5417:23;5407:33;;5487:2;5476:9;5472:18;5459:32;5449:42;;5538:2;5527:9;5523:18;5510:32;5500:42;;5561:38;5595:2;5584:9;5580:18;5561:38;:::i;:::-;5551:48;;5650:3;5639:9;5635:19;5622:33;5678:18;5670:6;5667:30;5664:50;;;5710:1;5707;5700:12;5664:50;5749:70;5811:7;5802:6;5791:9;5787:22;5749:70;:::i;:::-;5162:717;;;;-1:-1:-1;5162:717:3;;-1:-1:-1;5162:717:3;;5838:8;;5162:717;-1:-1:-1;;;5162:717:3:o;5884:547::-;5973:6;5981;5989;5997;6050:2;6038:9;6029:7;6025:23;6021:32;6018:52;;;6066:1;6063;6056:12;6018:52;6102:9;6089:23;6079:33;;6159:2;6148:9;6144:18;6131:32;6121:42;;6214:2;6203:9;6199:18;6186:32;6241:18;6233:6;6230:30;6227:50;;;6273:1;6270;6263:12;6227:50;6312:59;6363:7;6354:6;6343:9;6339:22;6312:59;:::i;:::-;5884:547;;;;-1:-1:-1;6390:8:3;-1:-1:-1;;;;5884:547:3:o;6436:1431::-;6657:6;6665;6673;6681;6689;6697;6705;6713;6766:3;6754:9;6745:7;6741:23;6737:33;6734:53;;;6783:1;6780;6773:12;6734:53;6823:9;6810:23;6852:18;6893:2;6885:6;6882:14;6879:34;;;6909:1;6906;6899:12;6879:34;6948:70;7010:7;7001:6;6990:9;6986:22;6948:70;:::i;:::-;7037:8;;-1:-1:-1;6922:96:3;-1:-1:-1;7125:2:3;7110:18;;7097:32;;-1:-1:-1;7141:16:3;;;7138:36;;;7170:1;7167;7160:12;7138:36;7209:72;7273:7;7262:8;7251:9;7247:24;7209:72;:::i;:::-;7300:8;;-1:-1:-1;7183:98:3;-1:-1:-1;7388:2:3;7373:18;;7360:32;;-1:-1:-1;7404:16:3;;;7401:36;;;7433:1;7430;7423:12;7401:36;7472:72;7536:7;7525:8;7514:9;7510:24;7472:72;:::i;:::-;7563:8;;-1:-1:-1;7446:98:3;-1:-1:-1;7651:2:3;7636:18;;7623:32;;-1:-1:-1;7667:16:3;;;7664:36;;;7696:1;7693;7686:12;7664:36;;7735:72;7799:7;7788:8;7777:9;7773:24;7735:72;:::i;:::-;6436:1431;;;;-1:-1:-1;6436:1431:3;;-1:-1:-1;6436:1431:3;;;;;;7826:8;-1:-1:-1;;;6436:1431:3:o;7872:1747::-;8129:6;8137;8145;8153;8161;8169;8177;8185;8193;8201;8254:3;8242:9;8233:7;8229:23;8225:33;8222:53;;;8271:1;8268;8261:12;8222:53;8311:9;8298:23;8340:18;8381:2;8373:6;8370:14;8367:34;;;8397:1;8394;8387:12;8367:34;8436:70;8498:7;8489:6;8478:9;8474:22;8436:70;:::i;:::-;8525:8;;-1:-1:-1;8410:96:3;-1:-1:-1;8613:2:3;8598:18;;8585:32;;-1:-1:-1;8629:16:3;;;8626:36;;;8658:1;8655;8648:12;8626:36;8697:72;8761:7;8750:8;8739:9;8735:24;8697:72;:::i;:::-;8788:8;;-1:-1:-1;8671:98:3;-1:-1:-1;8876:2:3;8861:18;;8848:32;;-1:-1:-1;8892:16:3;;;8889:36;;;8921:1;8918;8911:12;8889:36;8960:72;9024:7;9013:8;9002:9;8998:24;8960:72;:::i;:::-;9051:8;;-1:-1:-1;8934:98:3;-1:-1:-1;9139:2:3;9124:18;;9111:32;;-1:-1:-1;9155:16:3;;;9152:36;;;9184:1;9181;9174:12;9152:36;9223:72;9287:7;9276:8;9265:9;9261:24;9223:72;:::i;:::-;9314:8;;-1:-1:-1;9197:98:3;-1:-1:-1;9402:3:3;9387:19;;9374:33;;-1:-1:-1;9419:16:3;;;9416:36;;;9448:1;9445;9438:12;9416:36;;9487:72;9551:7;9540:8;9529:9;9525:24;9487:72;:::i;:::-;9461:98;;9578:8;9568:18;;;9605:8;9595:18;;;7872:1747;;;;;;;;;;;;;:::o;9624:184::-;9694:6;9747:2;9735:9;9726:7;9722:23;9718:32;9715:52;;;9763:1;9760;9753:12;9715:52;-1:-1:-1;9786:16:3;;9624:184;-1:-1:-1;9624:184:3:o;9813:349::-;10015:2;9997:21;;;10054:2;10034:18;;;10027:30;10093:27;10088:2;10073:18;;10066:55;10153:2;10138:18;;9813:349::o;10167:380::-;10246:1;10242:12;;;;10289;;;10310:61;;10364:4;10356:6;10352:17;10342:27;;10310:61;10417:2;10409:6;10406:14;10386:18;10383:38;10380:161;;;10463:10;10458:3;10454:20;10451:1;10444:31;10498:4;10495:1;10488:15;10526:4;10523:1;10516:15;10380:161;;10167:380;;;:::o;10552:127::-;10613:10;10608:3;10604:20;10601:1;10594:31;10644:4;10641:1;10634:15;10668:4;10665:1;10658:15;10684:267;10723:4;10752:9;;;10777:10;;-1:-1:-1;;;10796:19:3;;10789:27;;10773:44;10770:70;;;10820:18;;:::i;:::-;-1:-1:-1;;;;;10867:27:3;;10860:35;;10852:44;;10849:70;;;10899:18;;:::i;:::-;-1:-1:-1;;10936:9:3;;10684:267::o;10956:273::-;11141:6;11133;11128:3;11115:33;11097:3;11167:16;;11192:13;;;11167:16;10956:273;-1:-1:-1;10956:273:3:o;11594:125::-;11634:4;11662:1;11659;11656:8;11653:34;;;11667:18;;:::i;:::-;-1:-1:-1;11704:9:3;;11594:125::o;12792:128::-;12832:3;12863:1;12859:6;12856:1;12853:13;12850:39;;;12869:18;;:::i;:::-;-1:-1:-1;12905:9:3;;12792:128::o;12925:127::-;12986:10;12981:3;12977:20;12974:1;12967:31;13017:4;13014:1;13007:15;13041:4;13038:1;13031:15;13057:545;13150:4;13156:6;13216:11;13203:25;13310:2;13306:7;13295:8;13279:14;13275:29;13271:43;13251:18;13247:68;13237:96;;13329:1;13326;13319:12;13237:96;13356:33;;13408:20;;;-1:-1:-1;13451:18:3;13440:30;;13437:50;;;13483:1;13480;13473:12;13437:50;13516:4;13504:17;;-1:-1:-1;13567:1:3;13563:14;;;13547;13543:35;13533:46;;13530:66;;;13592:1;13589;13582:12;13607:135;13646:3;-1:-1:-1;;13667:17:3;;13664:43;;;13687:18;;:::i;:::-;-1:-1:-1;13734:1:3;13723:13;;13607:135::o;15804:274::-;15933:3;15971:6;15965:13;15987:53;16033:6;16028:3;16021:4;16013:6;16009:17;15987:53;:::i;:::-;16056:16;;;;;15804:274;-1:-1:-1;;15804:274:3:o;16083:245::-;16150:6;16203:2;16191:9;16182:7;16178:23;16174:32;16171:52;;;16219:1;16216;16209:12;16171:52;16251:9;16245:16;16270:28;16292:5;16270:28;:::i

Swarm Source

ipfs://3c47b573b7e43a67019e92310a5bf53209319a4f040165f5f3fe143568f125e2
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.