Contract 0xefbfaeedb03ae08974611692007ed5b4545730d7

Contract Overview

Balance:
16 FTM
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xe742beed8256d16ef868ba805937ad1a0028c6eee752726c9b3d47f737f0d504Deposit161486752023-06-02 18:37:105 days 7 hrs ago0x77444a92c8294d40a097df15a12e62bb4bfa820c IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.002629085
0xefb015ccc6c103bbdd77a11e7119f15517db5e6cd08286a62ee352938ccc35a7Withdraw161477032023-06-02 18:08:265 days 8 hrs ago0x5da24c682c8a2c96f94be4d7febf7a0b6e51923c IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.000929679814
0xbac2fa6bc6b7cc2619d06276461f4aef60f6bcf8a2d64a275518c06eaeda6dd8Deposit161467442023-06-02 17:39:385 days 8 hrs ago0x77444a92c8294d40a097df15a12e62bb4bfa820c IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.0026366175
0x3d18383539424c94bd365a8accd3204f10999a4e6f4d826c36d630c43b968006Withdraw161457032023-06-02 17:08:125 days 9 hrs ago0x5da24c682c8a2c96f94be4d7febf7a0b6e51923c IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.000929629076
0x36d3bc9ddd0d941dec51b595589555dba59819dedcd7fe00b7bb97e6a208cb25Withdraw161456772023-06-02 17:07:365 days 9 hrs ago0x5da24c682c8a2c96f94be4d7febf7a0b6e51923c IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.000929643587
0x9a3b9d8846f967fa1fa63ea1a6d511b131e451e85806289926a4243ec6e0e910Withdraw161452902023-06-02 16:54:515 days 9 hrs ago0x5da24c682c8a2c96f94be4d7febf7a0b6e51923c IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.000929648121
0x416a20427e423d38461235f033113b57bf4091fb41c256af2a60fa093ab871f1Deposit161452752023-06-02 16:54:015 days 9 hrs ago0xc6e1999f8aa5b67b5f689211a35c633955db1a29 IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.003691345
0xef451ce5ea283b93f491f4ff65329a27d7674180d74699fa5677b7614d21ec7bDeposit161452672023-06-02 16:53:355 days 9 hrs ago0x77444a92c8294d40a097df15a12e62bb4bfa820c IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.0026442075
0x4e337f2351e239cd74f112f44ac2d35598a813ba96e2f91a6a8815e9c386436bWithdraw161451162023-06-02 16:47:255 days 9 hrs ago0x5da24c682c8a2c96f94be4d7febf7a0b6e51923c IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.00092990025
0xb504a5659b365210028dbbb79034a1b21751a16b4ac3d9b0e80123c02afb1a03Deposit161451072023-06-02 16:46:595 days 9 hrs ago0x2add64a6077aa946282da263a839dd0caa0d1668 IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.222000078
0xbdb8bcd032518a28d83a2e609fca83249a48a92bb1e9c3f835b6f0b8b823fca4Deposit161447002023-06-02 16:34:185 days 9 hrs ago0x77444a92c8294d40a097df15a12e62bb4bfa820c IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.002636675
0x5e6c1bb450ed580544b477105c387209b56f0e1a11d5c3dd6121185201b3ffb6Withdraw160596022023-05-31 11:34:387 days 14 hrs ago0x5da24c682c8a2c96f94be4d7febf7a0b6e51923c IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.000926130117
0x980abffe5d8da4ebf99085b0a03566e1792679be69f58067ee4e8eec99e96057Deposit160595412023-05-31 11:32:377 days 14 hrs ago0x6a93f56627306371d87fd520b7e8cc6dbdde4296 IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.003876831
0x3b9c589fbbdd2abddf9bd41d1e4851bbf7e1075a7504df9938a4f381b6eadb2dDeposit160592802023-05-31 11:25:057 days 14 hrs ago0x957922003d037ab51d1ccf8d0756933c3742c7ed IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.003887905
0x93159a706b25e975994649e28e0567808a95ad5375c1e24cc22616c013e1f4beDeposit160568672023-05-31 10:04:507 days 16 hrs ago0xbd9748a5988ffb9aad71da06aebc8c93a4cd36bc IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.001439997
0x1bfa36845474739eae83c0c90b31423dafd99b305bed5d801a9875917472aae2Withdraw158632062023-05-25 15:51:2013 days 10 hrs ago0x0a8b2b4970fa212e078f1dda9ce0eae329aaa20d IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.000929830691
0x0c322af63c09364e4040306052259dcf71c15f047de02ee2bdff34ac477ad32eDeposit158630442023-05-25 15:42:1613 days 10 hrs ago0x6a93f56627306371d87fd520b7e8cc6dbdde4296 IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.003887989
0xe72f03685049f4905b608212b192ce4a82f13f4752c6a5edb7c491720389192fWithdraw158587442023-05-25 10:46:1113 days 15 hrs ago0x0a8b2b4970fa212e078f1dda9ce0eae329aaa20d IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.000517745517
0x632c0a5536567ddaba1f57436c8dc74d1f0e35f523a48f81882600cb1d7265f3Withdraw158586792023-05-25 10:42:2013 days 15 hrs ago0xbd9748a5988ffb9aad71da06aebc8c93a4cd36bc IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.0001122771
0x0947191e77fb55abbd083325da219231fd5da8337d1e8a26296cb09d7b48118cWithdraw158586312023-05-25 10:39:1813 days 15 hrs ago0xbd9748a5988ffb9aad71da06aebc8c93a4cd36bc IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.0006972771
0xe51733c0ad3b663f0038cda2e873d07cef147fcb94141b9529a16e6fb52c6dc1Withdraw158586082023-05-25 10:38:0313 days 15 hrs ago0x0a8b2b4970fa212e078f1dda9ce0eae329aaa20d IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.00092966925
0xaba550af76aa9d73a4b8861d270bbcd8cc0931144809cfb54447d924790d9137Deposit158585882023-05-25 10:37:1913 days 15 hrs ago0xbd9748a5988ffb9aad71da06aebc8c93a4cd36bc IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.0014441414
0x348a28add9761ad000de6db7406f4c3ca8749d2a84882610cf8271342b7bc885Withdraw158585342023-05-25 10:35:3513 days 15 hrs ago0xbd9748a5988ffb9aad71da06aebc8c93a4cd36bc IN  0xefbfaeedb03ae08974611692007ed5b4545730d70 FTM0.0004461171
0xed2e88231438c0f07dc60f40de56f86af44ace4d5908d70b8929afab94920b14Deposit158584902023-05-25 10:32:1513 days 15 hrs ago0xbd9748a5988ffb9aad71da06aebc8c93a4cd36bc IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.0014482546
0x42bed6ada413abf31a7fc83f5c6bf0ed70ff774ff1b8fc8a91967e711404b17eDeposit158563362023-05-25 8:33:4413 days 17 hrs ago0xc6e1999f8aa5b67b5f689211a35c633955db1a29 IN  0xefbfaeedb03ae08974611692007ed5b4545730d71 FTM0.003670093
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xefb015ccc6c103bbdd77a11e7119f15517db5e6cd08286a62ee352938ccc35a7161477032023-06-02 18:08:265 days 8 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d7 0x00000000000000000000000000000000000000000.005 FTM
0xefb015ccc6c103bbdd77a11e7119f15517db5e6cd08286a62ee352938ccc35a7161477032023-06-02 18:08:265 days 8 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x6a93f56627306371d87fd520b7e8cc6dbdde42960.09 FTM
0xefb015ccc6c103bbdd77a11e7119f15517db5e6cd08286a62ee352938ccc35a7161477032023-06-02 18:08:265 days 8 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70xc6e1999f8aa5b67b5f689211a35c633955db1a290.905 FTM
0x3d18383539424c94bd365a8accd3204f10999a4e6f4d826c36d630c43b968006161457032023-06-02 17:08:125 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d7 0x00000000000000000000000000000000000000000.005 FTM
0x3d18383539424c94bd365a8accd3204f10999a4e6f4d826c36d630c43b968006161457032023-06-02 17:08:125 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x6a93f56627306371d87fd520b7e8cc6dbdde42960.09 FTM
0x3d18383539424c94bd365a8accd3204f10999a4e6f4d826c36d630c43b968006161457032023-06-02 17:08:125 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x77444a92c8294d40a097df15a12e62bb4bfa820c0.905 FTM
0x36d3bc9ddd0d941dec51b595589555dba59819dedcd7fe00b7bb97e6a208cb25161456772023-06-02 17:07:365 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d7 0x00000000000000000000000000000000000000000.005 FTM
0x36d3bc9ddd0d941dec51b595589555dba59819dedcd7fe00b7bb97e6a208cb25161456772023-06-02 17:07:365 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x6a93f56627306371d87fd520b7e8cc6dbdde42960.09 FTM
0x36d3bc9ddd0d941dec51b595589555dba59819dedcd7fe00b7bb97e6a208cb25161456772023-06-02 17:07:365 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x77444a92c8294d40a097df15a12e62bb4bfa820c0.905 FTM
0x9a3b9d8846f967fa1fa63ea1a6d511b131e451e85806289926a4243ec6e0e910161452902023-06-02 16:54:515 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d7 0x00000000000000000000000000000000000000000.005 FTM
0x9a3b9d8846f967fa1fa63ea1a6d511b131e451e85806289926a4243ec6e0e910161452902023-06-02 16:54:515 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x6a93f56627306371d87fd520b7e8cc6dbdde42960.09 FTM
0x9a3b9d8846f967fa1fa63ea1a6d511b131e451e85806289926a4243ec6e0e910161452902023-06-02 16:54:515 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70xc6e1999f8aa5b67b5f689211a35c633955db1a290.905 FTM
0x4e337f2351e239cd74f112f44ac2d35598a813ba96e2f91a6a8815e9c386436b161451162023-06-02 16:47:255 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d7 0x00000000000000000000000000000000000000000.005 FTM
0x4e337f2351e239cd74f112f44ac2d35598a813ba96e2f91a6a8815e9c386436b161451162023-06-02 16:47:255 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x6a93f56627306371d87fd520b7e8cc6dbdde42960.09 FTM
0x4e337f2351e239cd74f112f44ac2d35598a813ba96e2f91a6a8815e9c386436b161451162023-06-02 16:47:255 days 9 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x2add64a6077aa946282da263a839dd0caa0d16680.905 FTM
0x5e6c1bb450ed580544b477105c387209b56f0e1a11d5c3dd6121185201b3ffb6160596022023-05-31 11:34:387 days 14 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d7 0x00000000000000000000000000000000000000000.005 FTM
0x5e6c1bb450ed580544b477105c387209b56f0e1a11d5c3dd6121185201b3ffb6160596022023-05-31 11:34:387 days 14 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x6a93f56627306371d87fd520b7e8cc6dbdde42960.09 FTM
0x5e6c1bb450ed580544b477105c387209b56f0e1a11d5c3dd6121185201b3ffb6160596022023-05-31 11:34:387 days 14 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x6a93f56627306371d87fd520b7e8cc6dbdde42960.905 FTM
0x1bfa36845474739eae83c0c90b31423dafd99b305bed5d801a9875917472aae2158632062023-05-25 15:51:2013 days 10 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d7 0x00000000000000000000000000000000000000000.005 FTM
0x1bfa36845474739eae83c0c90b31423dafd99b305bed5d801a9875917472aae2158632062023-05-25 15:51:2013 days 10 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x6a93f56627306371d87fd520b7e8cc6dbdde42960.09 FTM
0x1bfa36845474739eae83c0c90b31423dafd99b305bed5d801a9875917472aae2158632062023-05-25 15:51:2013 days 10 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70xf24570901964ad4df425d5c032b5ab74d0a319c00.905 FTM
0xe51733c0ad3b663f0038cda2e873d07cef147fcb94141b9529a16e6fb52c6dc1158586082023-05-25 10:38:0313 days 15 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d7 0x00000000000000000000000000000000000000000.005 FTM
0xe51733c0ad3b663f0038cda2e873d07cef147fcb94141b9529a16e6fb52c6dc1158586082023-05-25 10:38:0313 days 15 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70x6a93f56627306371d87fd520b7e8cc6dbdde42960.09 FTM
0xe51733c0ad3b663f0038cda2e873d07cef147fcb94141b9529a16e6fb52c6dc1158586082023-05-25 10:38:0313 days 15 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d70xbd9748a5988ffb9aad71da06aebc8c93a4cd36bc0.905 FTM
0x348a28add9761ad000de6db7406f4c3ca8749d2a84882610cf8271342b7bc885158585342023-05-25 10:35:3513 days 15 hrs ago 0xefbfaeedb03ae08974611692007ed5b4545730d7 0x00000000000000000000000000000000000000000.005 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CipherCore_ETH_1

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 3 : ReentrancyGuard.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (security/ReentrancyGuard.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and making it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        _nonReentrantBefore();
        _;
        _nonReentrantAfter();
    }

    function _nonReentrantBefore() private {
        // On the first call to nonReentrant, _status will be _NOT_ENTERED
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;
    }

    function _nonReentrantAfter() private {
        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

File 2 of 3 : CipherCore_ETH_1.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

import "./MerkleTreeWithHistory.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";

interface IVerifier {
    function verifyProof(
        uint[2] memory a,
        uint[2][2] memory b,
        uint[2] memory c,
        uint[2] memory input
    ) external pure returns (bool r);
}

contract CipherCore_ETH_1 is MerkleTreeWithHistory, ReentrancyGuard {
    
    mapping(bytes32 => bool) public nullifiers;
    mapping(bytes32 => bool) public commitments;

    IVerifier public immutable verifier;
    uint public denomination = 1 ether;
    uint public platFormFee = 0.005 ether;   // 0.5%
    address payable public platFormAddress;  

    event Deposit(
        bytes32 indexed commitment,
        uint32 leafIndex,
        uint256 timestamp 
    );
    
    event Withdrawal(address to, bytes32 _nullifier, address relayer, uint256 fee);
    event Check(bytes32 _root);

    constructor(
        uint32 _levels,
        IHasher _hasher,
        IVerifier _verifier
    ) MerkleTreeWithHistory(_levels, _hasher) {
        verifier = _verifier; 
    }


    function deposit(uint256 _commitment) external payable nonReentrant  {
        require(!commitments[bytes32(_commitment)], "commitment already submitted");
        require(denomination == msg.value, "invalid deposit amount");
        commitments[bytes32(_commitment)] = true;
        uint32 insertedIndex = _insert(bytes32(_commitment));
        emit Deposit(bytes32(_commitment), insertedIndex, block.timestamp);
    }

    function withdraw(uint256 _nullifier,
        uint256 _root,
        uint[2] memory _proof_a,
        uint[2][2] memory _proof_b,
        uint[2] memory _proof_c,
        uint256 _relayerFee,
        address payable _relayer,
        address payable _recipient) external nonReentrant {   

        _nullify(bytes32(_nullifier),bytes32(_root),_proof_a,_proof_b,_proof_c);
        require(_relayerFee <= denomination / 2, "Fee too high");
        
        (bool success, ) = _recipient.call{ value: denomination - _relayerFee - platFormFee }("");
        require(success, "payment to recipient failed");

        if (_relayerFee > 0) {
            (success, ) = _relayer.call{ value: _relayerFee }("");
            require(success, "payment to relayer failed");
        }

        if (platFormFee > 0) {
            (success, ) = platFormAddress.call{ value: platFormFee }("");
            require(success, "payment to feeAddress failed");
        }

        emit Check(bytes32(_root));
        emit Withdrawal(_recipient, bytes32(_nullifier), _relayer, _relayerFee);
    }

    function _nullify(
        bytes32 _nullifier,
        bytes32 _root,
        uint[2] memory _proof_a,
        uint[2][2] memory _proof_b,
        uint[2] memory _proof_c
    ) internal {
        require(!nullifiers[_nullifier], "nullifier already submitted");
        require(isKnownRoot(_root), "cant't find your merkle root");
        require(
            verifier.verifyProof(
                _proof_a,
                _proof_b,
                _proof_c,
                [uint256(_nullifier), uint256(_root)]
            ),
            "Invalid proof"
        );

        nullifiers[_nullifier] = true;        
    }

    function isSpent(bytes32 _nullifierHash) public view returns (bool) {
        return nullifiers[_nullifierHash];
    }

    function setPlatformParamas(address payable _platformAddress, uint _platformFee) external {
        require(_platformFee <= denomination / 2 , "fee too high");
        if (platFormAddress != address(0)) {
            require(msg.sender == platFormAddress, "Unauthorized!");
        }
        platFormAddress = _platformAddress;
        platFormFee = _platformFee;
    }

}

File 3 of 3 : MerkleTreeWithHistory.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;


interface IHasher {
    function MiMCSponge(
        uint256 in_xL,
        uint256 in_xR,
        uint256 k
    ) external pure returns (uint256 xL, uint256 xR);
}

contract MerkleTreeWithHistory {
    uint256 public constant FIELD_SIZE =
        21888242871839275222246405745257275088548364400416034343698204186575808495617;
    uint256 public constant ZERO_VALUE =
        21663839004416932945382355908790599225266501822907911457504978515578255421292; 
    IHasher public immutable hasher;

    uint32 public levels;

    // the following variables are made public for easier testing and debugging and
    // are not supposed to be accessed in regular code

    // filledSubtrees and roots could be bytes32[size], but using mappings makes it cheaper because
    // it removes index range check on every interaction
    mapping(uint256 => bytes32) public filledSubtrees;
    mapping(uint256 => bytes32) public roots;
    uint32 public constant ROOT_HISTORY_SIZE = 30;
    uint32 public currentRootIndex = 0;
    uint32 public nextIndex = 0;

    constructor(uint32 _levels, IHasher _hasher) {
        require(_levels > 0, "_levels should be greater than zero");
        require(_levels < 32, "_levels should be less than 32");
        levels = _levels;
        hasher = _hasher;

        for (uint32 i = 0; i < _levels; i++) {
            filledSubtrees[i] = zeros(i);
        }

        roots[0] = zeros(_levels - 1);
    }

    /**
    @dev Hash 2 tree leaves, returns MiMC(_left, _right)
    */
    function hashLeftRight(
        uint256 _left,
        uint256 _right
    ) public view returns (bytes32) {
        require(
            _left < FIELD_SIZE,
            "_left should be inside the field"
        );
        require(
            _right < FIELD_SIZE,
            "_right should be inside the field"
        );
        uint256 R = _left;
        uint256 C = 0;
        (R, C) = hasher.MiMCSponge(R, C, 0);
        R = addmod(R, _right, FIELD_SIZE);
        (R, C) = hasher.MiMCSponge(R, C, 0);
        return bytes32(R);
    }

    function _insert(bytes32 _leaf) internal returns (uint32 index) {
        uint32 _nextIndex = nextIndex;
        require(
            _nextIndex != uint32(2) ** levels,
            "Merkle tree is full. No more leaves can be added"
        );
        uint32 currentIndex = _nextIndex;
        bytes32 currentLevelHash = _leaf;
        bytes32 left;
        bytes32 right;

        for (uint32 i = 0; i < levels; i++) {
            if (currentIndex % 2 == 0) {
                left = currentLevelHash;
                right = zeros(i);
                filledSubtrees[i] = currentLevelHash;
            } else {
                left = filledSubtrees[i];
                right = currentLevelHash;
            }
            currentLevelHash = hashLeftRight(uint256(left), uint256(right));
            currentIndex /= 2;
        }

        uint32 newRootIndex = (currentRootIndex + 1) % ROOT_HISTORY_SIZE;
        currentRootIndex = newRootIndex;
        roots[newRootIndex] = currentLevelHash;
        nextIndex = _nextIndex + 1;
        return _nextIndex;
    }

    /**
    @dev Whether the root is present in the root history
    */
    function isKnownRoot(bytes32 _root) public view returns (bool) {
        if (_root == 0) {
            return false;
        }
        uint32 _currentRootIndex = currentRootIndex;
        uint32 i = _currentRootIndex;
        do {
            if (_root == roots[i]) {
                return true;
            }
            if (i == 0) {
                i = ROOT_HISTORY_SIZE;
            }
            i--;
        } while (i != _currentRootIndex);
        return false;
    }

    /**
    @dev Returns the last root
    */
    function getLastRoot() public view returns (bytes32) {
        return roots[currentRootIndex];
    }

    /// @dev provides Zero (Empty) elements for a MiMC MerkleTree. Up to 32 levels
    function zeros(uint256 i) public pure returns (bytes32) {
        if (i == 0)
            return
                bytes32(
                    0x2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c
                );
        else if (i == 1)
            return
                bytes32(
                    0x256a6135777eee2fd26f54b8b7037a25439d5235caee224154186d2b8a52e31d
                );
        else if (i == 2)
            return
                bytes32(
                    0x1151949895e82ab19924de92c40a3d6f7bcb60d92b00504b8199613683f0c200
                );
        else if (i == 3)
            return
                bytes32(
                    0x20121ee811489ff8d61f09fb89e313f14959a0f28bb428a20dba6b0b068b3bdb
                );
        else if (i == 4)
            return
                bytes32(
                    0x0a89ca6ffa14cc462cfedb842c30ed221a50a3d6bf022a6a57dc82ab24c157c9
                );
        else if (i == 5)
            return
                bytes32(
                    0x24ca05c2b5cd42e890d6be94c68d0689f4f21c9cec9c0f13fe41d566dfb54959
                );
        else if (i == 6)
            return
                bytes32(
                    0x1ccb97c932565a92c60156bdba2d08f3bf1377464e025cee765679e604a7315c
                );
        else if (i == 7)
            return
                bytes32(
                    0x19156fbd7d1a8bf5cba8909367de1b624534ebab4f0f79e003bccdd1b182bdb4
                );
        else if (i == 8)
            return
                bytes32(
                    0x261af8c1f0912e465744641409f622d466c3920ac6e5ff37e36604cb11dfff80
                );
        else if (i == 9)
            return
                bytes32(
                    0x0058459724ff6ca5a1652fcbc3e82b93895cf08e975b19beab3f54c217d1c007
                );
        else if (i == 10)
            return
                bytes32(
                    0x1f04ef20dee48d39984d8eabe768a70eafa6310ad20849d4573c3c40c2ad1e30
                );
        else if (i == 11)
            return
                bytes32(
                    0x1bea3dec5dab51567ce7e200a30f7ba6d4276aeaa53e2686f962a46c66d511e5
                );
        else if (i == 12)
            return
                bytes32(
                    0x0ee0f941e2da4b9e31c3ca97a40d8fa9ce68d97c084177071b3cb46cd3372f0f
                );
        else if (i == 13)
            return
                bytes32(
                    0x1ca9503e8935884501bbaf20be14eb4c46b89772c97b96e3b2ebf3a36a948bbd
                );
        else if (i == 14)
            return
                bytes32(
                    0x133a80e30697cd55d8f7d4b0965b7be24057ba5dc3da898ee2187232446cb108
                );
        else if (i == 15)
            return
                bytes32(
                    0x13e6d8fc88839ed76e182c2a779af5b2c0da9dd18c90427a644f7e148a6253b6
                );
        else if (i == 16)
            return
                bytes32(
                    0x1eb16b057a477f4bc8f572ea6bee39561098f78f15bfb3699dcbb7bd8db61854
                );
        else if (i == 17)
            return
                bytes32(
                    0x0da2cb16a1ceaabf1c16b838f7a9e3f2a3a3088d9e0a6debaa748114620696ea
                );
        else if (i == 18)
            return
                bytes32(
                    0x24a3b3d822420b14b5d8cb6c28a574f01e98ea9e940551d2ebd75cee12649f9d
                );
        else if (i == 19)
            return
                bytes32(
                    0x198622acbd783d1b0d9064105b1fc8e4d8889de95c4c519b3f635809fe6afc05
                );
        else if (i == 20)
            return
                bytes32(
                    0x29d7ed391256ccc3ea596c86e933b89ff339d25ea8ddced975ae2fe30b5296d4
                );
        else if (i == 21)
            return
                bytes32(
                    0x19be59f2f0413ce78c0c3703a3a5451b1d7f39629fa33abd11548a76065b2967
                );
        else if (i == 22)
            return
                bytes32(
                    0x1ff3f61797e538b70e619310d33f2a063e7eb59104e112e95738da1254dc3453
                );
        else if (i == 23)
            return
                bytes32(
                    0x10c16ae9959cf8358980d9dd9616e48228737310a10e2b6b731c1a548f036c48
                );
        else if (i == 24)
            return
                bytes32(
                    0x0ba433a63174a90ac20992e75e3095496812b652685b5e1a2eae0b1bf4e8fcd1
                );
        else if (i == 25)
            return
                bytes32(
                    0x019ddb9df2bc98d987d0dfeca9d2b643deafab8f7036562e627c3667266a044c
                );
        else if (i == 26)
            return
                bytes32(
                    0x2d3c88b23175c5a5565db928414c66d1912b11acf974b2e644caaac04739ce99
                );
        else if (i == 27)
            return
                bytes32(
                    0x2eab55f6ae4e66e32c5189eed5c470840863445760f5ed7e7b69b2a62600f354
                );
        else if (i == 28)
            return
                bytes32(
                    0x002df37a2642621802383cf952bf4dd1f32e05433beeb1fd41031fb7eace979d
                );
        else if (i == 29)
            return
                bytes32(
                    0x104aeb41435db66c3e62feccc1d6f5d98d0a0ed75d1374db457cf462e3a1f427
                );
        else if (i == 30)
            return
                bytes32(
                    0x1f3c6fd858e9a7d4b0d1f38e256a09d81d5a5e3c963987e2d4b814cfab7c6ebb
                );
        else if (i == 31)
            return
                bytes32(
                    0x2c7a07d20dff79d01fecedc1134284a8d08436606c93693b67e333f671bf69cc
                );
        else revert("Index out of bounds");
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint32","name":"_levels","type":"uint32"},{"internalType":"contract IHasher","name":"_hasher","type":"address"},{"internalType":"contract IVerifier","name":"_verifier","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"_root","type":"bytes32"}],"name":"Check","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"commitment","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"leafIndex","type":"uint32"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"bytes32","name":"_nullifier","type":"bytes32"},{"indexed":false,"internalType":"address","name":"relayer","type":"address"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"Withdrawal","type":"event"},{"inputs":[],"name":"FIELD_SIZE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROOT_HISTORY_SIZE","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ZERO_VALUE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"commitments","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRootIndex","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"denomination","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_commitment","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"filledSubtrees","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_left","type":"uint256"},{"internalType":"uint256","name":"_right","type":"uint256"}],"name":"hashLeftRight","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hasher","outputs":[{"internalType":"contract IHasher","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"}],"name":"isKnownRoot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_nullifierHash","type":"bytes32"}],"name":"isSpent","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"levels","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextIndex","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"nullifiers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"platFormAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"platFormFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"roots","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_platformAddress","type":"address"},{"internalType":"uint256","name":"_platformFee","type":"uint256"}],"name":"setPlatformParamas","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"verifier","outputs":[{"internalType":"contract IVerifier","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_nullifier","type":"uint256"},{"internalType":"uint256","name":"_root","type":"uint256"},{"internalType":"uint256[2]","name":"_proof_a","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"_proof_b","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"_proof_c","type":"uint256[2]"},{"internalType":"uint256","name":"_relayerFee","type":"uint256"},{"internalType":"address payable","name":"_relayer","type":"address"},{"internalType":"address payable","name":"_recipient","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"i","type":"uint256"}],"name":"zeros","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"}]

60c06040526000600360006101000a81548163ffffffff021916908363ffffffff1602179055506000600360046101000a81548163ffffffff021916908363ffffffff160217905550670de0b6b3a76400006007556611c37937e080006008553480156200006c57600080fd5b5060405162003cad38038062003cad833981810160405281019062000092919062000a4b565b828260008263ffffffff1611620000e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000d79062000b2e565b60405180910390fd5b60208263ffffffff16106200012c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001239062000ba0565b60405180910390fd5b816000806101000a81548163ffffffff021916908363ffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060005b8263ffffffff168163ffffffff161015620001e257620001af8163ffffffff166200026660201b60201c565b600160008363ffffffff168152602001908152602001600020819055508080620001d99062000bf1565b91505062000183565b5062000208600183620001f6919062000c22565b63ffffffff166200026660201b60201c565b6002600080815260200190815260200160002081905550505060016004819055508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505050505062000cd3565b60008082036200029c577f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60001b905062000942565b60018203620002d1577f256a6135777eee2fd26f54b8b7037a25439d5235caee224154186d2b8a52e31d60001b905062000942565b6002820362000306577f1151949895e82ab19924de92c40a3d6f7bcb60d92b00504b8199613683f0c20060001b905062000942565b600382036200033b577f20121ee811489ff8d61f09fb89e313f14959a0f28bb428a20dba6b0b068b3bdb60001b905062000942565b6004820362000370577f0a89ca6ffa14cc462cfedb842c30ed221a50a3d6bf022a6a57dc82ab24c157c960001b905062000942565b60058203620003a5577f24ca05c2b5cd42e890d6be94c68d0689f4f21c9cec9c0f13fe41d566dfb5495960001b905062000942565b60068203620003da577f1ccb97c932565a92c60156bdba2d08f3bf1377464e025cee765679e604a7315c60001b905062000942565b600782036200040f577f19156fbd7d1a8bf5cba8909367de1b624534ebab4f0f79e003bccdd1b182bdb460001b905062000942565b6008820362000444577f261af8c1f0912e465744641409f622d466c3920ac6e5ff37e36604cb11dfff8060001b905062000942565b6009820362000478577e58459724ff6ca5a1652fcbc3e82b93895cf08e975b19beab3f54c217d1c00760001b905062000942565b600a8203620004ad577f1f04ef20dee48d39984d8eabe768a70eafa6310ad20849d4573c3c40c2ad1e3060001b905062000942565b600b8203620004e2577f1bea3dec5dab51567ce7e200a30f7ba6d4276aeaa53e2686f962a46c66d511e560001b905062000942565b600c820362000517577f0ee0f941e2da4b9e31c3ca97a40d8fa9ce68d97c084177071b3cb46cd3372f0f60001b905062000942565b600d82036200054c577f1ca9503e8935884501bbaf20be14eb4c46b89772c97b96e3b2ebf3a36a948bbd60001b905062000942565b600e820362000581577f133a80e30697cd55d8f7d4b0965b7be24057ba5dc3da898ee2187232446cb10860001b905062000942565b600f8203620005b6577f13e6d8fc88839ed76e182c2a779af5b2c0da9dd18c90427a644f7e148a6253b660001b905062000942565b60108203620005eb577f1eb16b057a477f4bc8f572ea6bee39561098f78f15bfb3699dcbb7bd8db6185460001b905062000942565b6011820362000620577f0da2cb16a1ceaabf1c16b838f7a9e3f2a3a3088d9e0a6debaa748114620696ea60001b905062000942565b6012820362000655577f24a3b3d822420b14b5d8cb6c28a574f01e98ea9e940551d2ebd75cee12649f9d60001b905062000942565b601382036200068a577f198622acbd783d1b0d9064105b1fc8e4d8889de95c4c519b3f635809fe6afc0560001b905062000942565b60148203620006bf577f29d7ed391256ccc3ea596c86e933b89ff339d25ea8ddced975ae2fe30b5296d460001b905062000942565b60158203620006f4577f19be59f2f0413ce78c0c3703a3a5451b1d7f39629fa33abd11548a76065b296760001b905062000942565b6016820362000729577f1ff3f61797e538b70e619310d33f2a063e7eb59104e112e95738da1254dc345360001b905062000942565b601782036200075e577f10c16ae9959cf8358980d9dd9616e48228737310a10e2b6b731c1a548f036c4860001b905062000942565b6018820362000793577f0ba433a63174a90ac20992e75e3095496812b652685b5e1a2eae0b1bf4e8fcd160001b905062000942565b60198203620007c8577f019ddb9df2bc98d987d0dfeca9d2b643deafab8f7036562e627c3667266a044c60001b905062000942565b601a8203620007fd577f2d3c88b23175c5a5565db928414c66d1912b11acf974b2e644caaac04739ce9960001b905062000942565b601b820362000832577f2eab55f6ae4e66e32c5189eed5c470840863445760f5ed7e7b69b2a62600f35460001b905062000942565b601c820362000866577e2df37a2642621802383cf952bf4dd1f32e05433beeb1fd41031fb7eace979d60001b905062000942565b601d82036200089b577f104aeb41435db66c3e62feccc1d6f5d98d0a0ed75d1374db457cf462e3a1f42760001b905062000942565b601e8203620008d0577f1f3c6fd858e9a7d4b0d1f38e256a09d81d5a5e3c963987e2d4b814cfab7c6ebb60001b905062000942565b601f820362000905577f2c7a07d20dff79d01fecedc1134284a8d08436606c93693b67e333f671bf69cc60001b905062000942565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009399062000cb1565b60405180910390fd5b919050565b600080fd5b600063ffffffff82169050919050565b62000967816200094c565b81146200097357600080fd5b50565b60008151905062000987816200095c565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009ba826200098d565b9050919050565b6000620009ce82620009ad565b9050919050565b620009e081620009c1565b8114620009ec57600080fd5b50565b60008151905062000a0081620009d5565b92915050565b600062000a1382620009ad565b9050919050565b62000a258162000a06565b811462000a3157600080fd5b50565b60008151905062000a458162000a1a565b92915050565b60008060006060848603121562000a675762000a6662000947565b5b600062000a778682870162000976565b935050602062000a8a86828701620009ef565b925050604062000a9d8682870162000a34565b9150509250925092565b600082825260208201905092915050565b7f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60008201527f65726f0000000000000000000000000000000000000000000000000000000000602082015250565b600062000b1660238362000aa7565b915062000b238262000ab8565b604082019050919050565b6000602082019050818103600083015262000b498162000b07565b9050919050565b7f5f6c6576656c732073686f756c64206265206c657373207468616e2033320000600082015250565b600062000b88601e8362000aa7565b915062000b958262000b50565b602082019050919050565b6000602082019050818103600083015262000bbb8162000b79565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000bfe826200094c565b915063ffffffff820362000c175762000c1662000bc2565b5b600182019050919050565b600062000c2f826200094c565b915062000c3c836200094c565b9250828203905063ffffffff81111562000c5b5762000c5a62000bc2565b5b92915050565b7f496e646578206f7574206f6620626f756e647300000000000000000000000000600082015250565b600062000c9960138362000aa7565b915062000ca68262000c61565b602082019050919050565b6000602082019050818103600083015262000ccc8162000c8a565b9050919050565b60805160a051612f9f62000d0e600039600081816105c10152611811015260008181610bbf01528181610c9901526116c70152612f9f6000f3fe6080604052600436106101405760003560e01c806390eeb02b116100b6578063e82955881161006f578063e829558814610479578063ec2a5740146104b6578063ec732959146104e1578063ed33639f1461050c578063f178e47c14610537578063fc7e9c6f1461057457610140565b806390eeb02b14610362578063b6b55f251461038d578063ba70f757146103a9578063c2b40ae4146103d4578063cd87a3b414610411578063e5285dcc1461043c57610140565b80634ecf518b116101085780634ecf518b1461022a5780635bb93995146102555780636d9833e314610292578063839df945146102cf57806388a7c05e1461030c5780638bca6d161461033757610140565b80632997e86b146101455780632b7ac3f31461018257806331cb9a3b146101ad578063414a37ba146101d6578063487636c014610201575b600080fd5b34801561015157600080fd5b5061016c60048036038101906101679190611b8f565b61059f565b6040516101799190611bd7565b60405180910390f35b34801561018e57600080fd5b506101976105bf565b6040516101a49190611c71565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf9190611d00565b6105e3565b005b3480156101e257600080fd5b506101eb610767565b6040516101f89190611d4f565b60405180910390f35b34801561020d57600080fd5b5061022860048036038101906102239190611f62565b61078b565b005b34801561023657600080fd5b5061023f610adc565b60405161024c919061203b565b60405180910390f35b34801561026157600080fd5b5061027c60048036038101906102779190612056565b610af0565b60405161028991906120a5565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190611b8f565b610d4b565b6040516102c69190611bd7565b60405180910390f35b3480156102db57600080fd5b506102f660048036038101906102f19190611b8f565b610de8565b6040516103039190611bd7565b60405180910390f35b34801561031857600080fd5b50610321610e08565b60405161032e91906120cf565b60405180910390f35b34801561034357600080fd5b5061034c610e2e565b6040516103599190611d4f565b60405180910390f35b34801561036e57600080fd5b50610377610e34565b604051610384919061203b565b60405180910390f35b6103a760048036038101906103a291906120ea565b610e4a565b005b3480156103b557600080fd5b506103be610f82565b6040516103cb91906120a5565b60405180910390f35b3480156103e057600080fd5b506103fb60048036038101906103f691906120ea565b610fb5565b60405161040891906120a5565b60405180910390f35b34801561041d57600080fd5b50610426610fcd565b604051610433919061203b565b60405180910390f35b34801561044857600080fd5b50610463600480360381019061045e9190611b8f565b610fd2565b6040516104709190611bd7565b60405180910390f35b34801561048557600080fd5b506104a0600480360381019061049b91906120ea565b610ffc565b6040516104ad91906120a5565b60405180910390f35b3480156104c257600080fd5b506104cb61169b565b6040516104d89190611d4f565b60405180910390f35b3480156104ed57600080fd5b506104f66116a1565b6040516105039190611d4f565b60405180910390f35b34801561051857600080fd5b506105216116c5565b60405161052e9190612138565b60405180910390f35b34801561054357600080fd5b5061055e600480360381019061055991906120ea565b6116e9565b60405161056b91906120a5565b60405180910390f35b34801561058057600080fd5b50610589611701565b604051610596919061203b565b60405180910390f35b60056020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60026007546105f291906121b1565b811115610634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062b9061223f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071b57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461071a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610711906122ab565b60405180910390fd5b5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806008819055505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181565b610793611717565b6107a68860001b8860001b888888611766565b60026007546107b591906121b1565b8311156107f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ee90612317565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff16600854856007546108219190612337565b61082b9190612337565b6040516108379061239c565b60006040518083038185875af1925050503d8060008114610874576040519150601f19603f3d011682016040523d82523d6000602084013e610879565b606091505b50509050806108bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b4906123fd565b60405180910390fd5b6000841115610973578273ffffffffffffffffffffffffffffffffffffffff16846040516108ea9061239c565b60006040518083038185875af1925050503d8060008114610927576040519150601f19603f3d011682016040523d82523d6000602084013e61092c565b606091505b50508091505080610972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096990612469565b60405180910390fd5b5b60006008541115610a4f57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166008546040516109c69061239c565b60006040518083038185875af1925050503d8060008114610a03576040519150601f19603f3d011682016040523d82523d6000602084013e610a08565b606091505b50508091505080610a4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a45906124d5565b60405180910390fd5b5b7f412a7038da14fcc38021fb24ee4f1db984419a88f7278fa6da8a65437aa6c1ac8860001b604051610a8191906120a5565b60405180910390a17fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931828a60001b8587604051610ac19493929190612516565b60405180910390a150610ad261193b565b5050505050505050565b60008054906101000a900463ffffffff1681565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018310610b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4b906125a7565b60405180910390fd5b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018210610bb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bad90612639565b60405180910390fd5b600083905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633f1a1187838360006040518463ffffffff1660e01b8152600401610c1b93929190612694565b6040805180830381865afa158015610c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5b91906126e0565b80925081935050507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000180610c9257610c91612153565b5b84830891507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633f1a1187838360006040518463ffffffff1660e01b8152600401610cf593929190612694565b6040805180830381865afa158015610d11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3591906126e0565b80925081935050508160001b9250505092915050565b60008060001b8203610d605760009050610de3565b6000600360009054906101000a900463ffffffff16905060008190505b600260008263ffffffff168152602001908152602001600020548403610da857600192505050610de3565b60008163ffffffff1603610dbb57601e90505b8080610dc690612720565b9150508163ffffffff168163ffffffff1603610d7d576000925050505b919050565b60066020528060005260406000206000915054906101000a900460ff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b600360009054906101000a900463ffffffff1681565b610e52611717565b600660008260001b815260200190815260200160002060009054906101000a900460ff1615610eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ead90612795565b60405180910390fd5b3460075414610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef190612801565b60405180910390fd5b6001600660008360001b815260200190815260200160002060006101000a81548160ff0219169083151502179055506000610f378260001b611945565b90508160001b7fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff1968242604051610f6e929190612821565b60405180910390a250610f7f61193b565b50565b600060026000600360009054906101000a900463ffffffff1663ffffffff16815260200190815260200160002054905090565b60026020528060005260406000206000915090505481565b601e81565b60006005600083815260200190815260200160002060009054906101000a900460ff169050919050565b6000808203611030577f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60001b9050611696565b60018203611063577f256a6135777eee2fd26f54b8b7037a25439d5235caee224154186d2b8a52e31d60001b9050611696565b60028203611096577f1151949895e82ab19924de92c40a3d6f7bcb60d92b00504b8199613683f0c20060001b9050611696565b600382036110c9577f20121ee811489ff8d61f09fb89e313f14959a0f28bb428a20dba6b0b068b3bdb60001b9050611696565b600482036110fc577f0a89ca6ffa14cc462cfedb842c30ed221a50a3d6bf022a6a57dc82ab24c157c960001b9050611696565b6005820361112f577f24ca05c2b5cd42e890d6be94c68d0689f4f21c9cec9c0f13fe41d566dfb5495960001b9050611696565b60068203611162577f1ccb97c932565a92c60156bdba2d08f3bf1377464e025cee765679e604a7315c60001b9050611696565b60078203611195577f19156fbd7d1a8bf5cba8909367de1b624534ebab4f0f79e003bccdd1b182bdb460001b9050611696565b600882036111c8577f261af8c1f0912e465744641409f622d466c3920ac6e5ff37e36604cb11dfff8060001b9050611696565b600982036111fa577e58459724ff6ca5a1652fcbc3e82b93895cf08e975b19beab3f54c217d1c00760001b9050611696565b600a820361122d577f1f04ef20dee48d39984d8eabe768a70eafa6310ad20849d4573c3c40c2ad1e3060001b9050611696565b600b8203611260577f1bea3dec5dab51567ce7e200a30f7ba6d4276aeaa53e2686f962a46c66d511e560001b9050611696565b600c8203611293577f0ee0f941e2da4b9e31c3ca97a40d8fa9ce68d97c084177071b3cb46cd3372f0f60001b9050611696565b600d82036112c6577f1ca9503e8935884501bbaf20be14eb4c46b89772c97b96e3b2ebf3a36a948bbd60001b9050611696565b600e82036112f9577f133a80e30697cd55d8f7d4b0965b7be24057ba5dc3da898ee2187232446cb10860001b9050611696565b600f820361132c577f13e6d8fc88839ed76e182c2a779af5b2c0da9dd18c90427a644f7e148a6253b660001b9050611696565b6010820361135f577f1eb16b057a477f4bc8f572ea6bee39561098f78f15bfb3699dcbb7bd8db6185460001b9050611696565b60118203611392577f0da2cb16a1ceaabf1c16b838f7a9e3f2a3a3088d9e0a6debaa748114620696ea60001b9050611696565b601282036113c5577f24a3b3d822420b14b5d8cb6c28a574f01e98ea9e940551d2ebd75cee12649f9d60001b9050611696565b601382036113f8577f198622acbd783d1b0d9064105b1fc8e4d8889de95c4c519b3f635809fe6afc0560001b9050611696565b6014820361142b577f29d7ed391256ccc3ea596c86e933b89ff339d25ea8ddced975ae2fe30b5296d460001b9050611696565b6015820361145e577f19be59f2f0413ce78c0c3703a3a5451b1d7f39629fa33abd11548a76065b296760001b9050611696565b60168203611491577f1ff3f61797e538b70e619310d33f2a063e7eb59104e112e95738da1254dc345360001b9050611696565b601782036114c4577f10c16ae9959cf8358980d9dd9616e48228737310a10e2b6b731c1a548f036c4860001b9050611696565b601882036114f7577f0ba433a63174a90ac20992e75e3095496812b652685b5e1a2eae0b1bf4e8fcd160001b9050611696565b6019820361152a577f019ddb9df2bc98d987d0dfeca9d2b643deafab8f7036562e627c3667266a044c60001b9050611696565b601a820361155d577f2d3c88b23175c5a5565db928414c66d1912b11acf974b2e644caaac04739ce9960001b9050611696565b601b8203611590577f2eab55f6ae4e66e32c5189eed5c470840863445760f5ed7e7b69b2a62600f35460001b9050611696565b601c82036115c2577e2df37a2642621802383cf952bf4dd1f32e05433beeb1fd41031fb7eace979d60001b9050611696565b601d82036115f5577f104aeb41435db66c3e62feccc1d6f5d98d0a0ed75d1374db457cf462e3a1f42760001b9050611696565b601e8203611628577f1f3c6fd858e9a7d4b0d1f38e256a09d81d5a5e3c963987e2d4b814cfab7c6ebb60001b9050611696565b601f820361165b577f2c7a07d20dff79d01fecedc1134284a8d08436606c93693b67e333f671bf69cc60001b9050611696565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168d90612896565b60405180910390fd5b919050565b60085481565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b7f000000000000000000000000000000000000000000000000000000000000000081565b60016020528060005260406000206000915090505481565b600360049054906101000a900463ffffffff1681565b60026004540361175c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175390612902565b60405180910390fd5b6002600481905550565b6005600086815260200190815260200160002060009054906101000a900460ff16156117c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117be9061296e565b60405180910390fd5b6117d084610d4b565b61180f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611806906129da565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f5c9d69e84848460405180604001604052808b60001c81526020018a60001c8152506040518563ffffffff1660e01b81526004016118889493929190612ba3565b602060405180830381865afa1580156118a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c99190612c16565b611908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ff90612c8f565b60405180910390fd5b60016005600087815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505050565b6001600481905550565b600080600360049054906101000a900463ffffffff16905060008054906101000a900463ffffffff16600261197a9190612de2565b63ffffffff168163ffffffff16036119c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119be90612e83565b60405180910390fd5b6000819050600084905060008060005b60008054906101000a900463ffffffff1663ffffffff168163ffffffff161015611aa0576000600286611a0a9190612ea3565b63ffffffff1603611a4c57839250611a278163ffffffff16610ffc565b915083600160008363ffffffff16815260200190815260200160002081905550611a6c565b600160008263ffffffff1681526020019081526020016000205492508391505b611a7c8360001c8360001c610af0565b9350600285611a8b9190612ed4565b94508080611a9890612f05565b9150506119d7565b506000601e6001600360009054906101000a900463ffffffff16611ac49190612f31565b611ace9190612ea3565b905080600360006101000a81548163ffffffff021916908363ffffffff16021790555083600260008363ffffffff16815260200190815260200160002081905550600186611b1c9190612f31565b600360046101000a81548163ffffffff021916908363ffffffff160217905550859650505050505050919050565b6000604051905090565b600080fd5b6000819050919050565b611b6c81611b59565b8114611b7757600080fd5b50565b600081359050611b8981611b63565b92915050565b600060208284031215611ba557611ba4611b54565b5b6000611bb384828501611b7a565b91505092915050565b60008115159050919050565b611bd181611bbc565b82525050565b6000602082019050611bec6000830184611bc8565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000611c37611c32611c2d84611bf2565b611c12565b611bf2565b9050919050565b6000611c4982611c1c565b9050919050565b6000611c5b82611c3e565b9050919050565b611c6b81611c50565b82525050565b6000602082019050611c866000830184611c62565b92915050565b6000611c9782611bf2565b9050919050565b611ca781611c8c565b8114611cb257600080fd5b50565b600081359050611cc481611c9e565b92915050565b6000819050919050565b611cdd81611cca565b8114611ce857600080fd5b50565b600081359050611cfa81611cd4565b92915050565b60008060408385031215611d1757611d16611b54565b5b6000611d2585828601611cb5565b9250506020611d3685828601611ceb565b9150509250929050565b611d4981611cca565b82525050565b6000602082019050611d646000830184611d40565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611db882611d6f565b810181811067ffffffffffffffff82111715611dd757611dd6611d80565b5b80604052505050565b6000611dea611b4a565b9050611df68282611daf565b919050565b600067ffffffffffffffff821115611e1657611e15611d80565b5b602082029050919050565b600080fd5b6000611e39611e3484611dfb565b611de0565b90508060208402830185811115611e5357611e52611e21565b5b835b81811015611e7c5780611e688882611ceb565b845260208401935050602081019050611e55565b5050509392505050565b600082601f830112611e9b57611e9a611d6a565b5b6002611ea8848285611e26565b91505092915050565b600067ffffffffffffffff821115611ecc57611ecb611d80565b5b602082029050919050565b6000611eea611ee584611eb1565b611de0565b90508060408402830185811115611f0457611f03611e21565b5b835b81811015611f2d5780611f198882611e86565b845260208401935050604081019050611f06565b5050509392505050565b600082601f830112611f4c57611f4b611d6a565b5b6002611f59848285611ed7565b91505092915050565b6000806000806000806000806101a0898b031215611f8357611f82611b54565b5b6000611f918b828c01611ceb565b9850506020611fa28b828c01611ceb565b9750506040611fb38b828c01611e86565b9650506080611fc48b828c01611f37565b955050610100611fd68b828c01611e86565b945050610140611fe88b828c01611ceb565b935050610160611ffa8b828c01611cb5565b92505061018061200c8b828c01611cb5565b9150509295985092959890939650565b600063ffffffff82169050919050565b6120358161201c565b82525050565b6000602082019050612050600083018461202c565b92915050565b6000806040838503121561206d5761206c611b54565b5b600061207b85828601611ceb565b925050602061208c85828601611ceb565b9150509250929050565b61209f81611b59565b82525050565b60006020820190506120ba6000830184612096565b92915050565b6120c981611c8c565b82525050565b60006020820190506120e460008301846120c0565b92915050565b600060208284031215612100576120ff611b54565b5b600061210e84828501611ceb565b91505092915050565b600061212282611c3e565b9050919050565b61213281612117565b82525050565b600060208201905061214d6000830184612129565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121bc82611cca565b91506121c783611cca565b9250826121d7576121d6612153565b5b828204905092915050565b600082825260208201905092915050565b7f66656520746f6f20686967680000000000000000000000000000000000000000600082015250565b6000612229600c836121e2565b9150612234826121f3565b602082019050919050565b600060208201905081810360008301526122588161221c565b9050919050565b7f556e617574686f72697a65642100000000000000000000000000000000000000600082015250565b6000612295600d836121e2565b91506122a08261225f565b602082019050919050565b600060208201905081810360008301526122c481612288565b9050919050565b7f46656520746f6f20686967680000000000000000000000000000000000000000600082015250565b6000612301600c836121e2565b915061230c826122cb565b602082019050919050565b60006020820190508181036000830152612330816122f4565b9050919050565b600061234282611cca565b915061234d83611cca565b925082820390508181111561236557612364612182565b5b92915050565b600081905092915050565b50565b600061238660008361236b565b915061239182612376565b600082019050919050565b60006123a782612379565b9150819050919050565b7f7061796d656e7420746f20726563697069656e74206661696c65640000000000600082015250565b60006123e7601b836121e2565b91506123f2826123b1565b602082019050919050565b60006020820190508181036000830152612416816123da565b9050919050565b7f7061796d656e7420746f2072656c61796572206661696c656400000000000000600082015250565b60006124536019836121e2565b915061245e8261241d565b602082019050919050565b6000602082019050818103600083015261248281612446565b9050919050565b7f7061796d656e7420746f2066656541646472657373206661696c656400000000600082015250565b60006124bf601c836121e2565b91506124ca82612489565b602082019050919050565b600060208201905081810360008301526124ee816124b2565b9050919050565b600061250082611c3e565b9050919050565b612510816124f5565b82525050565b600060808201905061252b6000830187612507565b6125386020830186612096565b6125456040830185612507565b6125526060830184611d40565b95945050505050565b7f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64600082015250565b60006125916020836121e2565b915061259c8261255b565b602082019050919050565b600060208201905081810360008301526125c081612584565b9050919050565b7f5f72696768742073686f756c6420626520696e7369646520746865206669656c60008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006126236021836121e2565b915061262e826125c7565b604082019050919050565b6000602082019050818103600083015261265281612616565b9050919050565b6000819050919050565b600061267e61267961267484612659565b611c12565b611cca565b9050919050565b61268e81612663565b82525050565b60006060820190506126a96000830186611d40565b6126b66020830185611d40565b6126c36040830184612685565b949350505050565b6000815190506126da81611cd4565b92915050565b600080604083850312156126f7576126f6611b54565b5b6000612705858286016126cb565b9250506020612716858286016126cb565b9150509250929050565b600061272b8261201c565b91506000820361273e5761273d612182565b5b600182039050919050565b7f636f6d6d69746d656e7420616c7265616479207375626d697474656400000000600082015250565b600061277f601c836121e2565b915061278a82612749565b602082019050919050565b600060208201905081810360008301526127ae81612772565b9050919050565b7f696e76616c6964206465706f73697420616d6f756e7400000000000000000000600082015250565b60006127eb6016836121e2565b91506127f6826127b5565b602082019050919050565b6000602082019050818103600083015261281a816127de565b9050919050565b6000604082019050612836600083018561202c565b6128436020830184611d40565b9392505050565b7f496e646578206f7574206f6620626f756e647300000000000000000000000000600082015250565b60006128806013836121e2565b915061288b8261284a565b602082019050919050565b600060208201905081810360008301526128af81612873565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b60006128ec601f836121e2565b91506128f7826128b6565b602082019050919050565b6000602082019050818103600083015261291b816128df565b9050919050565b7f6e756c6c696669657220616c7265616479207375626d69747465640000000000600082015250565b6000612958601b836121e2565b915061296382612922565b602082019050919050565b600060208201905081810360008301526129878161294b565b9050919050565b7f63616e7427742066696e6420796f7572206d65726b6c6520726f6f7400000000600082015250565b60006129c4601c836121e2565b91506129cf8261298e565b602082019050919050565b600060208201905081810360008301526129f3816129b7565b9050919050565b600060029050919050565b600081905092915050565b6000819050919050565b612a2381611cca565b82525050565b6000612a358383612a1a565b60208301905092915050565b6000602082019050919050565b612a57816129fa565b612a618184612a05565b9250612a6c82612a10565b8060005b83811015612a9d578151612a848782612a29565b9650612a8f83612a41565b925050600181019050612a70565b505050505050565b600060029050919050565b600081905092915050565b6000819050919050565b600081905092915050565b612ad9816129fa565b612ae38184612ac5565b9250612aee82612a10565b8060005b83811015612b1f578151612b068782612a29565b9650612b1183612a41565b925050600181019050612af2565b505050505050565b6000612b338383612ad0565b60408301905092915050565b6000602082019050919050565b612b5581612aa5565b612b5f8184612ab0565b9250612b6a82612abb565b8060005b83811015612b9b578151612b828782612b27565b9650612b8d83612b3f565b925050600181019050612b6e565b505050505050565b600061014082019050612bb96000830187612a4e565b612bc66040830186612b4c565b612bd360c0830185612a4e565b612be1610100830184612a4e565b95945050505050565b612bf381611bbc565b8114612bfe57600080fd5b50565b600081519050612c1081612bea565b92915050565b600060208284031215612c2c57612c2b611b54565b5b6000612c3a84828501612c01565b91505092915050565b7f496e76616c69642070726f6f6600000000000000000000000000000000000000600082015250565b6000612c79600d836121e2565b9150612c8482612c43565b602082019050919050565b60006020820190508181036000830152612ca881612c6c565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115612d0657808604811115612ce257612ce1612182565b5b6001851615612cf15780820291505b8081029050612cff85612caf565b9450612cc6565b94509492505050565b600082612d1f5760019050612ddb565b81612d2d5760009050612ddb565b8160018114612d435760028114612d4d57612d7c565b6001915050612ddb565b60ff841115612d5f57612d5e612182565b5b8360020a915084821115612d7657612d75612182565b5b50612ddb565b5060208310610133831016604e8410600b8410161715612db15782820a905083811115612dac57612dab612182565b5b612ddb565b612dbe8484846001612cbc565b92509050818404811115612dd557612dd4612182565b5b81810290505b9392505050565b6000612ded8261201c565b9150612df88361201c565b9250612e0963ffffffff8484612d0f565b905092915050565b7f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160008201527f7665732063616e20626520616464656400000000000000000000000000000000602082015250565b6000612e6d6030836121e2565b9150612e7882612e11565b604082019050919050565b60006020820190508181036000830152612e9c81612e60565b9050919050565b6000612eae8261201c565b9150612eb98361201c565b925082612ec957612ec8612153565b5b828206905092915050565b6000612edf8261201c565b9150612eea8361201c565b925082612efa57612ef9612153565b5b828204905092915050565b6000612f108261201c565b915063ffffffff8203612f2657612f25612182565b5b600182019050919050565b6000612f3c8261201c565b9150612f478361201c565b9250828201905063ffffffff811115612f6357612f62612182565b5b9291505056fea26469706673582212206b9f083e751c3a7aa885da66a89e0ea6374753adf09f27b7bdc8c46b438f653c64736f6c634300081100330000000000000000000000000000000000000000000000000000000000000014000000000000000000000000eb13b29323c4391068315dbf64f2a37eaf5c6a7b00000000000000000000000057cead722401e048a37fa1ad5b5944ceb4c1174c

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

0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000eb13b29323c4391068315dbf64f2a37eaf5c6a7b00000000000000000000000057cead722401e048a37fa1ad5b5944ceb4c1174c

-----Decoded View---------------
Arg [0] : _levels (uint32): 20
Arg [1] : _hasher (address): 0xeb13b29323c4391068315dbf64f2a37eaf5c6a7b
Arg [2] : _verifier (address): 0x57cead722401e048a37fa1ad5b5944ceb4c1174c

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [1] : 000000000000000000000000eb13b29323c4391068315dbf64f2a37eaf5c6a7b
Arg [2] : 00000000000000000000000057cead722401e048a37fa1ad5b5944ceb4c1174c


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading