ETH Price: $2,124.14 (+2.12%)

Contract

0x8504bfE4321d7a7368F2A96E7AA619811AAaB28a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

ContractCreator

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw To Trea...236273582025-10-21 17:15:59134 days ago1761066959IN
0x8504bfE4...11AAaB28a
0 ETH0.00010292.45641721
Transfer233668682025-09-15 7:04:47171 days ago1757919887IN
0x8504bfE4...11AAaB28a
4.99 ETH0.000016870.8017091
Transfer233668642025-09-15 7:03:59171 days ago1757919839IN
0x8504bfE4...11AAaB28a
0.01 ETH0.0000170.80753488

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer236273582025-10-21 17:15:59134 days ago1761066959
0x8504bfE4...11AAaB28a
5.02 ETH
Transfer233768462025-09-16 16:32:35169 days ago1758040355
0x8504bfE4...11AAaB28a
0.01 ETH
Transfer233763432025-09-16 14:51:47169 days ago1758034307
0x8504bfE4...11AAaB28a
0.01 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KnineRecoveryBountyDecayAccept

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-09-15
*/

// Sources flattened with hardhat v3.0.6 https://hardhat.org

/*

TermsURI: ipfs://bafkreigeqwkn2fojl4ruo7xokv6zm4xrfnq4w2xopoc3cxuiuajsik55dq
 _  _____    _____ _                              ____    _    ___  
| |/ / _ \  |  ___(_)_ __   __ _ _ __   ___ ___  |  _ \  / \  / _ \ 
| ' / (_) | | |_  | | '_ \ / _` | '_ \ / __/ _ \ | | | |/ _ \| | | |
| . \\__, | |  _| | | | | | (_| | | | | (_|  __/ | |_| / ___ \ |_| |
|_|\_\ /_/  |_|   |_|_| |_|\__,_|_| |_|\___\___| |____/_/   \_\___/ 

 ____  _     ___   _     ___   _  _____  ____  ___        
| |_  \ \_/ | |_) | |   / / \ | |  | |  | |_  | |_)       
|_|__ /_/ \ |_|   |_|__ \_\_/ |_|  |_|  |_|__ |_| \       
 ___   ___   _     _     _____  _                         
| |_) / / \ | | | | |\ |  | |  \ \_/                      
|_|_) \_\_/ \_\_/ |_| \|  |_|   |_|   
                   

             ██▓▒░░░░░░░░▒▓██             
          █▒░   ░▒▒▒▓▓▒▒▒░░  ░▒██         
       ▓▓░ ░▒▓▓▒░░░░░░░░░░▒▓▓▒░ ░▓█       
     █▓░ ░▓▓░░   ░░░░░▒░░░  ░░▒▓░ ░▓█     
    █░ ░▓▒░   ░░▒▓▒░░░░▒▓▒░░   ░▒▓▒ ▒▓    
   ▓░ ▓▓░   ░░▒▓▓▒▓▓▒▒▓▓▒▓▓▒░░   ░▓▓░░▓█  
 █▒░░▓▒░  ░░░▒▓░ ░░▒▓▓  ░░▒▓▒░░░  ░▒▓░░▓█ 
 ▓░░▓▒░ ░░▒▓▓▒▓ ░░░░▓▓ ░░░▒▓▒▒▓▒░░ ░▒▓░▒▓ 
█▒ ▒▓░░░░▒▓▓▓▓▓░░░░░▓▓ ░░░▒▓▓▓▓▓▒░░░░▒▒░▓▓
▓░░▓▒░░░▒▓░ ░░▓▓▒▒▒▓▓▓▒▒▒▓▓▒ ░░▒▓▒░░░▒▓░▒▓
▓ ░▓░░░░▒▓░░░░▒▓█▓█▓▒▓▓█▓█▓ ░░░▒▓▒░░░░▓░░▓
▓ ░▓▒░░▒░▓░░░░▒▓█▓░   ░▒▓█▓░░░░▒▓▒▒░░▒▓░░▓
▓ ░▓▒░▒░░▓▓▒▒▒▓▓▒  ░░░░░▒▓▓▒▒▒▓▓▓░░▒▒▒▓░░▓
▓░░▓▒░░░░░▒▓▓█▓░ ░░░░░░░░░▓▓█▓▓▓░░░░░▒▓░▒▓
▓▒ ▒▓▒░░░░░▒▓▒  ░▓▓▒░▒▓▒▒░░▒▓▓▒░░░░░▒▓▒░▓▓
 ▓░░▓▓▒░░░▒▓▒ ░░░▒▒▓▒░▒▓▒░░░▒▓▓▒░░░▒▒▓░▒▓ 
 █▓░░▓▓▒░░▒▓▓░░░░░░░░░░░░░░▒▒▓▓▒░░▒▓▓░░▓█ 
  █▓░░▓▓▒▒░▒▓█▓▒▓▓▓█▓█▓▓▓▓▒▓█▓▒░▒▒▓▓░░▓█  
    ▓▒░░▓▓▒▒▒▒▓▓▓▓▒▒▒▒▒▒▓▓▓▓▒▒▒▒▓▓▒ ▒▓    
     █▓▒░░▓▓▓▒▒▒░░░▒░░▒░░▒▒▒▒▓▓▓▒░▒▓█     
       █▓▒░░▒▓▓▓▓▓▒▒▓▓▒▒▒▓▓▓▓▒░░▒▓▓       
         ▓▓▓▒░░░░▒▒▓▓▓▓▒▒░░░░▒▓▓█         
             ██▓▓▓▒▒▒▒▒▒▓▓▓██         

*/
// SPDX-License-Identifier: MIT

// File contracts/KnineRecoveryBountyDecayAccept.sol

// Original license: SPDX_License_Identifier: MIT
pragma solidity ^0.8.20;

/**
 * @title   KnineRecoveryBountyDecayAccept
 * @author  Shima @ K9 Finance DAO
 * @notice  Adds `accept()` so the exploiter can freeze the decay once they are ready:
 *          - `accept()` requires allowance >= AMOUNT, and records `acceptedAt`.
 *          - `recoverKnine()` pays using the frozen time (or now if not accepted), then finalizes.
 *          - `withdrawToTreasury()` is blocked if `acceptedAt>0` AND exploiter still has allowance+balance (prevents reneging).
 *
 * TermsURI: ipfs://bafkreigeqwkn2fojl4ruo7xokv6zm4xrfnq4w2xopoc3cxuiuajsik55dq
 */
contract KnineRecoveryBountyDecayAccept {
    string public constant IPFS_TERMS_URI =
        "ipfs://bafkreigeqwkn2fojl4ruo7xokv6zm4xrfnq4w2xopoc3cxuiuajsik55dq";

    IERC20 public constant KNINE =
        IERC20(0x91fbB2503AC69702061f1AC6885759Fc853e6EaE);
    address public constant TREASURY =
        0xDA4Df6E2121eDaB7c33Ed7FE0f109350939eDA84;
    address public constant EXPLOITER =
        0x999E025a2a0558c07DBf7F021b2C9852B367e80A;
    /// @notice 248.9894 Billion KNINE (with 18 decimals)
    uint256 public constant AMOUNT = 248989400000000000000000000000;

    /// @notice Bounty claim start timestamp
    /// @dev starts immediately on contract deployment
    uint256 public immutable START;
    /// @notice (optional) initial claim window (in seconds), before reward decay starts, where exploiter can claim 100% of the bounty
    uint256 public immutable INITIAL;
    /// @notice Time window for bounty claim (in seconds) during which available claim decreases linearly
    uint256 public immutable DECAY;
    /// @notice Keccak256 of human‑readable terms (e.g., IPFS text) for safe‑harbor / scope.
    bytes32 public immutable TERMS_HASH;
    /// @notice Timestamp (if any) at which the exploiter froze the decay; 0 if not accepted.
    uint256 public acceptedAt;
    /// @notice True once KNINE is successfully recovered and bounty paid.
    bool public finalized;

    /// @notice Emitted when the exploiter freezes the offer (decay is evaluated at this timestamp).
    event Accepted(uint256 at, bytes32 termsHash);

    /// @notice Emitted when the deal is successfully completed.
    /// @param exploiter  The exploiter address that received the bounty.
    /// @param paidEth    Amount of ETH paid (entire contract balance).
    /// @param termsHash  Terms anchor agreed to by execution.
    event DealFinalized(
        address indexed exploiter,
        uint256 paidEth,
        bytes32 termsHash
    );

    /**
     *
     * @param initialPeriod seconds to set initial (100% bounty claim) window.
     * @param decayPeriod   seconds to set for the decay claim windown
     * @param termsHash     keccak256 of public terms text hosted in IPFS
     */
    constructor(
        uint256 initialPeriod,
        uint256 decayPeriod,
        bytes32 termsHash
    ) payable {
        require(decayPeriod > 0, "BAD_DECAY");
        START = block.timestamp;
        INITIAL = initialPeriod;
        DECAY = decayPeriod;
        TERMS_HASH = termsHash;
    }

    // allow funding contract with ETH bounty after creation
    receive() external payable {}

    /**
     * @notice  Exploiter calls to accept bounty and freeze the decay at the current time by showing readiness.
     *          Once accepted, as long as exploiter does not remove allowance, bountry cannot be revoked or renegged by K9 Finance DAO
     * @dev     Requires (1) not finalized; (2) called by exploiter; (3) allowance >= AMOUNT; (4) not already accepted
     */
    function accept() external {
        require(block.timestamp < START + INITIAL + DECAY, "TOO_LATE");
        require(!finalized, "FINALIZED");
        require(msg.sender == EXPLOITER, "ONLY_EXPLOITER");
        require(
            KNINE.allowance(EXPLOITER, address(this)) >= AMOUNT,
            "ALLOWANCE"
        );
        require(acceptedAt == 0, "ACK");
        acceptedAt = block.timestamp;
        emit Accepted(acceptedAt, TERMS_HASH);
    }

    /// @dev Returns the ETH payout if executed at timestamp `ts`.
    /// @return payoutAmount amount of ETH (in wei) to pay out
    function _payoutAt(
        uint256 ts
    ) internal view returns (uint256 payoutAmount) {
        payoutAmount = address(this).balance;
        uint256 t = (ts > START) ? (ts - START) : 0;
        if (t <= INITIAL) return payoutAmount;
        if (t >= INITIAL + DECAY) return 0;
        return (payoutAmount * (INITIAL + DECAY - t)) / DECAY;
    }

    /**
     * @notice  Pulls KNINE into `TREASURY` and pays the ETH bounty to exploiter.
     * @dev     Uses `acceptedAt` if present (exploiter called accept), else `block.timestamp`.
     *          Sets `finalized` BEFORE sending ETH to prevent re‑acceptance via callback.
     */
    function recoverKnine() external {
        require(!finalized, "FINALIZED");
        uint256 ref = (acceptedAt > 0) ? acceptedAt : block.timestamp;
        uint256 pay = _payoutAt(ref);
        require(pay > 0, "EXPIRED");

        uint balStart = KNINE.balanceOf(TREASURY);
        require(
            KNINE.transferFrom(EXPLOITER, TREASURY, AMOUNT),
            "TRANSFER_FAIL"
        );

        if (KNINE.balanceOf(TREASURY) < balStart + AMOUNT) {
            revert("wtf"); // super duper check that we got the KNINE back
        }

        // Prevent any re‑acceptance during ETH send.
        // will fail if exploiter tries reentrancy (using 7702 magic, EOA to contract shinanigans)
        finalized = true;

        (bool ok, ) = payable(EXPLOITER).call{value: pay}("");
        require(ok, "ETH_PAY_FAIL");
        emit DealFinalized(EXPLOITER, pay, TERMS_HASH);
    }

    /**
     * @notice After bounty claim window completion (initial + decay), reclaim remaining ETH to treasury
     *         unless the exploiter has a valid frozen acceptance.
     *         Prevents K9 Finance DAO from renegging after exploiter accepts deal.
     * @dev    If `acceptedAt>0` AND exploiter still has BOTH allowance and balance >= AMOUNT, withdrawal is blocked
     */
    function withdrawToTreasury() external {
        require(block.timestamp >= START + INITIAL + DECAY, "EARLY");
        // Prevent reneging on a valid frozen acceptance.
        if (!finalized && acceptedAt > 0) {
            if (
                KNINE.allowance(EXPLOITER, address(this)) >= AMOUNT &&
                KNINE.balanceOf(EXPLOITER) >= AMOUNT
            ) {
                revert("LOCKED_BY_ACCEPT");
            }
        }
        (bool ok, ) = payable(TREASURY).call{value: address(this).balance}("");
        require(ok, "WITHDRAW_FAIL");
    }
}


// File npm/@openzeppelin/[email protected]/token/ERC20/IERC20.sol

// Original license: SPDX_License_Identifier: MIT
// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/IERC20.sol)

pragma solidity >=0.4.16;

/**
 * @dev Interface of the ERC-20 standard as defined in the ERC.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the value of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the value of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves a `value` amount of tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 value) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets a `value` amount of tokens as the allowance of `spender` over the
     * caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 value) external returns (bool);

    /**
     * @dev Moves a `value` amount of tokens from `from` to `to` using the
     * allowance mechanism. `value` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address from, address to, uint256 value) external returns (bool);
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"uint256","name":"initialPeriod","type":"uint256"},{"internalType":"uint256","name":"decayPeriod","type":"uint256"},{"internalType":"bytes32","name":"termsHash","type":"bytes32"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"at","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"termsHash","type":"bytes32"}],"name":"Accepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"exploiter","type":"address"},{"indexed":false,"internalType":"uint256","name":"paidEth","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"termsHash","type":"bytes32"}],"name":"DealFinalized","type":"event"},{"inputs":[],"name":"AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DECAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EXPLOITER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INITIAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"IPFS_TERMS_URI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"KNINE","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"START","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TERMS_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TREASURY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accept","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"acceptedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverKnine","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawToTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

610100604052604051611cfc380380611cfc833981810160405281019061002691906100fa565b5f8211610068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161005f906101a4565b60405180910390fd5b42608081815250508260a081815250508160c081815250508060e081815250505050506101c2565b5f5ffd5b5f819050919050565b6100a681610094565b81146100b0575f5ffd5b50565b5f815190506100c18161009d565b92915050565b5f819050919050565b6100d9816100c7565b81146100e3575f5ffd5b50565b5f815190506100f4816100d0565b92915050565b5f5f5f6060848603121561011157610110610090565b5b5f61011e868287016100b3565b935050602061012f868287016100b3565b9250506040610140868287016100e6565b9150509250925092565b5f82825260208201905092915050565b7f4241445f444543415900000000000000000000000000000000000000000000005f82015250565b5f61018e60098361014a565b91506101998261015a565b602082019050919050565b5f6020820190508181035f8301526101bb81610182565b9050919050565b60805160a05160c05160e051611a976102655f395f81816105e3015281816106340152610eac01525f81816102fd01528181610694015281816109dd01528181610fbc01528181611017015261103901525f818161031e01528181610670015281816106b501528181610f8f01528181610fdd015261105a01525f818161033f015281816106d601528181610a1301528181610f330152610f600152611a975ff3fe6080604052600436106100e0575f3560e01c8063a438bcd41161007e578063be2ee3f311610058578063be2ee3f314610267578063caa65d0f1461027d578063d1789176146102a7578063d44f7a9e146102d1576100e7565b8063a438bcd4146101e9578063b3f05b9714610213578063ba9a061a1461023d576100e7565b8063634950a8116100ba578063634950a8146101555780636f5f20ce1461017f5780637e80c186146101a957806399001c5c146101bf576100e7565b80632852b71c146100eb5780632d2c5565146101015780634ec424db1461012b576100e7565b366100e757005b5f5ffd5b3480156100f6575f5ffd5b506100ff6102fb565b005b34801561010c575f5ffd5b5061011561061a565b60405161012291906110ea565b60405180910390f35b348015610136575f5ffd5b5061013f610632565b60405161014c919061111b565b60405180910390f35b348015610160575f5ffd5b50610169610656565b60405161017691906110ea565b60405180910390f35b34801561018a575f5ffd5b5061019361066e565b6040516101a0919061114c565b60405180910390f35b3480156101b4575f5ffd5b506101bd610692565b005b3480156101ca575f5ffd5b506101d36109d6565b6040516101e0919061114c565b60405180910390f35b3480156101f4575f5ffd5b506101fd6109db565b60405161020a919061114c565b60405180910390f35b34801561021e575f5ffd5b506102276109ff565b604051610234919061117f565b60405180910390f35b348015610248575f5ffd5b50610251610a11565b60405161025e919061114c565b60405180910390f35b348015610272575f5ffd5b5061027b610a35565b005b348015610288575f5ffd5b50610291610ee7565b60405161029e91906111f3565b60405180910390f35b3480156102b2575f5ffd5b506102bb610eff565b6040516102c8919061114c565b60405180910390f35b3480156102dc575f5ffd5b506102e5610f10565b6040516102f2919061127c565b60405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061036891906112c9565b61037291906112c9565b42106103b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103aa90611346565b60405180910390fd5b60015f9054906101000a900460ff1615610402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f9906113ae565b60405180910390fd5b73999e025a2a0558c07dbf7f021b2c9852b367e80a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047b90611416565b60405180910390fd5b6c03248734544b097233970000007391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e73999e025a2a0558c07dbf7f021b2c9852b367e80a306040518363ffffffff1660e01b81526004016104f5929190611434565b602060405180830381865afa158015610510573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105349190611489565b1015610575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056c906114fe565b60405180910390fd5b5f5f54146105b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105af90611566565b60405180910390fd5b425f819055507fcde8e1d905d47e3acd069a7a8df77275b4b14d32d1c0a59e1d2664d5f0155dde5f547f0000000000000000000000000000000000000000000000000000000000000000604051610610929190611584565b60405180910390a1565b73da4df6e2121edab7c33ed7fe0f109350939eda8481565b7f000000000000000000000000000000000000000000000000000000000000000081565b73999e025a2a0558c07dbf7f021b2c9852b367e80a81565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106ff91906112c9565b61070991906112c9565b42101561074b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610742906115f5565b60405180910390fd5b60015f9054906101000a900460ff1615801561076757505f5f54115b15610917576c03248734544b097233970000007391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e73999e025a2a0558c07dbf7f021b2c9852b367e80a306040518363ffffffff1660e01b81526004016107dd929190611434565b602060405180830381865afa1580156107f8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081c9190611489565b101580156108d657506c03248734544b097233970000007391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff166370a0823173999e025a2a0558c07dbf7f021b2c9852b367e80a6040518263ffffffff1660e01b815260040161089491906110ea565b602060405180830381865afa1580156108af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d39190611489565b10155b15610916576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090d9061165d565b60405180910390fd5b5b5f73da4df6e2121edab7c33ed7fe0f109350939eda8473ffffffffffffffffffffffffffffffffffffffff1647604051610950906116a8565b5f6040518083038185875af1925050503d805f811461098a576040519150601f19603f3d011682016040523d82523d5f602084013e61098f565b606091505b50509050806109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca90611706565b60405180910390fd5b50565b5f5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015f9054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015f9054906101000a900460ff1615610a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7b906113ae565b60405180910390fd5b5f5f5f5411610a935742610a96565b5f545b90505f610aa282610f2c565b90505f8111610ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610add9061176e565b60405180910390fd5b5f7391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff166370a0823173da4df6e2121edab7c33ed7fe0f109350939eda846040518263ffffffff1660e01b8152600401610b4891906110ea565b602060405180830381865afa158015610b63573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b879190611489565b90507391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff166323b872dd73999e025a2a0558c07dbf7f021b2c9852b367e80a73da4df6e2121edab7c33ed7fe0f109350939eda846c03248734544b097233970000006040518463ffffffff1660e01b8152600401610c0f9392919061178c565b6020604051808303815f875af1158015610c2b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4f91906117eb565b610c8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8590611860565b60405180910390fd5b6c03248734544b0972339700000081610ca791906112c9565b7391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff166370a0823173da4df6e2121edab7c33ed7fe0f109350939eda846040518263ffffffff1660e01b8152600401610d0891906110ea565b602060405180830381865afa158015610d23573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d479190611489565b1015610d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7f906118c8565b60405180910390fd5b6001805f6101000a81548160ff0219169083151502179055505f73999e025a2a0558c07dbf7f021b2c9852b367e80a73ffffffffffffffffffffffffffffffffffffffff1683604051610dda906116a8565b5f6040518083038185875af1925050503d805f8114610e14576040519150601f19603f3d011682016040523d82523d5f602084013e610e19565b606091505b5050905080610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5490611930565b60405180910390fd5b73999e025a2a0558c07dbf7f021b2c9852b367e80a73ffffffffffffffffffffffffffffffffffffffff167f41318f2e244979cecf67c8ddc3b28943eee2be79fac9599f8dcaba944941fd5a847f0000000000000000000000000000000000000000000000000000000000000000604051610ed9929190611584565b60405180910390a250505050565b7391fbb2503ac69702061f1ac6885759fc853e6eae81565b6c03248734544b0972339700000081565b604051806080016040528060428152602001611a206042913981565b5f4790505f7f00000000000000000000000000000000000000000000000000000000000000008311610f5e575f610f8b565b7f000000000000000000000000000000000000000000000000000000000000000083610f8a919061194e565b5b90507f00000000000000000000000000000000000000000000000000000000000000008111610fba57506110a6565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061100691906112c9565b8110611015575f9150506110a6565b7f0000000000000000000000000000000000000000000000000000000000000000817f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061108391906112c9565b61108d919061194e565b836110989190611981565b6110a291906119ef565b9150505b919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110d4826110ab565b9050919050565b6110e4816110ca565b82525050565b5f6020820190506110fd5f8301846110db565b92915050565b5f819050919050565b61111581611103565b82525050565b5f60208201905061112e5f83018461110c565b92915050565b5f819050919050565b61114681611134565b82525050565b5f60208201905061115f5f83018461113d565b92915050565b5f8115159050919050565b61117981611165565b82525050565b5f6020820190506111925f830184611170565b92915050565b5f819050919050565b5f6111bb6111b66111b1846110ab565b611198565b6110ab565b9050919050565b5f6111cc826111a1565b9050919050565b5f6111dd826111c2565b9050919050565b6111ed816111d3565b82525050565b5f6020820190506112065f8301846111e4565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61124e8261120c565b6112588185611216565b9350611268818560208601611226565b61127181611234565b840191505092915050565b5f6020820190508181035f8301526112948184611244565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6112d382611134565b91506112de83611134565b92508282019050808211156112f6576112f561129c565b5b92915050565b7f544f4f5f4c4154450000000000000000000000000000000000000000000000005f82015250565b5f611330600883611216565b915061133b826112fc565b602082019050919050565b5f6020820190508181035f83015261135d81611324565b9050919050565b7f46494e414c495a454400000000000000000000000000000000000000000000005f82015250565b5f611398600983611216565b91506113a382611364565b602082019050919050565b5f6020820190508181035f8301526113c58161138c565b9050919050565b7f4f4e4c595f4558504c4f495445520000000000000000000000000000000000005f82015250565b5f611400600e83611216565b915061140b826113cc565b602082019050919050565b5f6020820190508181035f83015261142d816113f4565b9050919050565b5f6040820190506114475f8301856110db565b61145460208301846110db565b9392505050565b5f5ffd5b61146881611134565b8114611472575f5ffd5b50565b5f815190506114838161145f565b92915050565b5f6020828403121561149e5761149d61145b565b5b5f6114ab84828501611475565b91505092915050565b7f414c4c4f57414e434500000000000000000000000000000000000000000000005f82015250565b5f6114e8600983611216565b91506114f3826114b4565b602082019050919050565b5f6020820190508181035f830152611515816114dc565b9050919050565b7f41434b00000000000000000000000000000000000000000000000000000000005f82015250565b5f611550600383611216565b915061155b8261151c565b602082019050919050565b5f6020820190508181035f83015261157d81611544565b9050919050565b5f6040820190506115975f83018561113d565b6115a4602083018461110c565b9392505050565b7f4541524c590000000000000000000000000000000000000000000000000000005f82015250565b5f6115df600583611216565b91506115ea826115ab565b602082019050919050565b5f6020820190508181035f83015261160c816115d3565b9050919050565b7f4c4f434b45445f42595f414343455054000000000000000000000000000000005f82015250565b5f611647601083611216565b915061165282611613565b602082019050919050565b5f6020820190508181035f8301526116748161163b565b9050919050565b5f81905092915050565b50565b5f6116935f8361167b565b915061169e82611685565b5f82019050919050565b5f6116b282611688565b9150819050919050565b7f57495448445241575f4641494c000000000000000000000000000000000000005f82015250565b5f6116f0600d83611216565b91506116fb826116bc565b602082019050919050565b5f6020820190508181035f83015261171d816116e4565b9050919050565b7f45585049524544000000000000000000000000000000000000000000000000005f82015250565b5f611758600783611216565b915061176382611724565b602082019050919050565b5f6020820190508181035f8301526117858161174c565b9050919050565b5f60608201905061179f5f8301866110db565b6117ac60208301856110db565b6117b9604083018461113d565b949350505050565b6117ca81611165565b81146117d4575f5ffd5b50565b5f815190506117e5816117c1565b92915050565b5f60208284031215611800576117ff61145b565b5b5f61180d848285016117d7565b91505092915050565b7f5452414e534645525f4641494c000000000000000000000000000000000000005f82015250565b5f61184a600d83611216565b915061185582611816565b602082019050919050565b5f6020820190508181035f8301526118778161183e565b9050919050565b7f77746600000000000000000000000000000000000000000000000000000000005f82015250565b5f6118b2600383611216565b91506118bd8261187e565b602082019050919050565b5f6020820190508181035f8301526118df816118a6565b9050919050565b7f4554485f5041595f4641494c00000000000000000000000000000000000000005f82015250565b5f61191a600c83611216565b9150611925826118e6565b602082019050919050565b5f6020820190508181035f8301526119478161190e565b9050919050565b5f61195882611134565b915061196383611134565b925082820390508181111561197b5761197a61129c565b5b92915050565b5f61198b82611134565b915061199683611134565b92508282026119a481611134565b915082820484148315176119bb576119ba61129c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6119f982611134565b9150611a0483611134565b925082611a1457611a136119c2565b5b82820490509291505056fe697066733a2f2f6261666b726569676571776b6e32666f6a6c3472756f37786f6b76367a6d347872666e71347732786f706f63336378756975616a73696b35356471a2646970667358221220f1d89dec4e293638924be4fb0382215e05c4fd8c21fda695fa68fed2b51ff98764736f6c634300081c003300000000000000000000000000000000000000000000000000000000000a8c0000000000000000000000000000000000000000000000000000000000001baf80ce05e792f591bc617f475e9be1d00df89446c592738f73ff72b23c84107e645e

Deployed Bytecode

0x6080604052600436106100e0575f3560e01c8063a438bcd41161007e578063be2ee3f311610058578063be2ee3f314610267578063caa65d0f1461027d578063d1789176146102a7578063d44f7a9e146102d1576100e7565b8063a438bcd4146101e9578063b3f05b9714610213578063ba9a061a1461023d576100e7565b8063634950a8116100ba578063634950a8146101555780636f5f20ce1461017f5780637e80c186146101a957806399001c5c146101bf576100e7565b80632852b71c146100eb5780632d2c5565146101015780634ec424db1461012b576100e7565b366100e757005b5f5ffd5b3480156100f6575f5ffd5b506100ff6102fb565b005b34801561010c575f5ffd5b5061011561061a565b60405161012291906110ea565b60405180910390f35b348015610136575f5ffd5b5061013f610632565b60405161014c919061111b565b60405180910390f35b348015610160575f5ffd5b50610169610656565b60405161017691906110ea565b60405180910390f35b34801561018a575f5ffd5b5061019361066e565b6040516101a0919061114c565b60405180910390f35b3480156101b4575f5ffd5b506101bd610692565b005b3480156101ca575f5ffd5b506101d36109d6565b6040516101e0919061114c565b60405180910390f35b3480156101f4575f5ffd5b506101fd6109db565b60405161020a919061114c565b60405180910390f35b34801561021e575f5ffd5b506102276109ff565b604051610234919061117f565b60405180910390f35b348015610248575f5ffd5b50610251610a11565b60405161025e919061114c565b60405180910390f35b348015610272575f5ffd5b5061027b610a35565b005b348015610288575f5ffd5b50610291610ee7565b60405161029e91906111f3565b60405180910390f35b3480156102b2575f5ffd5b506102bb610eff565b6040516102c8919061114c565b60405180910390f35b3480156102dc575f5ffd5b506102e5610f10565b6040516102f2919061127c565b60405180910390f35b7f00000000000000000000000000000000000000000000000000000000001baf807f00000000000000000000000000000000000000000000000000000000000a8c007f0000000000000000000000000000000000000000000000000000000068c75c7b61036891906112c9565b61037291906112c9565b42106103b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103aa90611346565b60405180910390fd5b60015f9054906101000a900460ff1615610402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f9906113ae565b60405180910390fd5b73999e025a2a0558c07dbf7f021b2c9852b367e80a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047b90611416565b60405180910390fd5b6c03248734544b097233970000007391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e73999e025a2a0558c07dbf7f021b2c9852b367e80a306040518363ffffffff1660e01b81526004016104f5929190611434565b602060405180830381865afa158015610510573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105349190611489565b1015610575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056c906114fe565b60405180910390fd5b5f5f54146105b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105af90611566565b60405180910390fd5b425f819055507fcde8e1d905d47e3acd069a7a8df77275b4b14d32d1c0a59e1d2664d5f0155dde5f547fce05e792f591bc617f475e9be1d00df89446c592738f73ff72b23c84107e645e604051610610929190611584565b60405180910390a1565b73da4df6e2121edab7c33ed7fe0f109350939eda8481565b7fce05e792f591bc617f475e9be1d00df89446c592738f73ff72b23c84107e645e81565b73999e025a2a0558c07dbf7f021b2c9852b367e80a81565b7f00000000000000000000000000000000000000000000000000000000000a8c0081565b7f00000000000000000000000000000000000000000000000000000000001baf807f00000000000000000000000000000000000000000000000000000000000a8c007f0000000000000000000000000000000000000000000000000000000068c75c7b6106ff91906112c9565b61070991906112c9565b42101561074b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610742906115f5565b60405180910390fd5b60015f9054906101000a900460ff1615801561076757505f5f54115b15610917576c03248734544b097233970000007391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e73999e025a2a0558c07dbf7f021b2c9852b367e80a306040518363ffffffff1660e01b81526004016107dd929190611434565b602060405180830381865afa1580156107f8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081c9190611489565b101580156108d657506c03248734544b097233970000007391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff166370a0823173999e025a2a0558c07dbf7f021b2c9852b367e80a6040518263ffffffff1660e01b815260040161089491906110ea565b602060405180830381865afa1580156108af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d39190611489565b10155b15610916576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090d9061165d565b60405180910390fd5b5b5f73da4df6e2121edab7c33ed7fe0f109350939eda8473ffffffffffffffffffffffffffffffffffffffff1647604051610950906116a8565b5f6040518083038185875af1925050503d805f811461098a576040519150601f19603f3d011682016040523d82523d5f602084013e61098f565b606091505b50509050806109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca90611706565b60405180910390fd5b50565b5f5481565b7f00000000000000000000000000000000000000000000000000000000001baf8081565b60015f9054906101000a900460ff1681565b7f0000000000000000000000000000000000000000000000000000000068c75c7b81565b60015f9054906101000a900460ff1615610a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7b906113ae565b60405180910390fd5b5f5f5f5411610a935742610a96565b5f545b90505f610aa282610f2c565b90505f8111610ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610add9061176e565b60405180910390fd5b5f7391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff166370a0823173da4df6e2121edab7c33ed7fe0f109350939eda846040518263ffffffff1660e01b8152600401610b4891906110ea565b602060405180830381865afa158015610b63573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b879190611489565b90507391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff166323b872dd73999e025a2a0558c07dbf7f021b2c9852b367e80a73da4df6e2121edab7c33ed7fe0f109350939eda846c03248734544b097233970000006040518463ffffffff1660e01b8152600401610c0f9392919061178c565b6020604051808303815f875af1158015610c2b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4f91906117eb565b610c8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8590611860565b60405180910390fd5b6c03248734544b0972339700000081610ca791906112c9565b7391fbb2503ac69702061f1ac6885759fc853e6eae73ffffffffffffffffffffffffffffffffffffffff166370a0823173da4df6e2121edab7c33ed7fe0f109350939eda846040518263ffffffff1660e01b8152600401610d0891906110ea565b602060405180830381865afa158015610d23573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d479190611489565b1015610d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7f906118c8565b60405180910390fd5b6001805f6101000a81548160ff0219169083151502179055505f73999e025a2a0558c07dbf7f021b2c9852b367e80a73ffffffffffffffffffffffffffffffffffffffff1683604051610dda906116a8565b5f6040518083038185875af1925050503d805f8114610e14576040519150601f19603f3d011682016040523d82523d5f602084013e610e19565b606091505b5050905080610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5490611930565b60405180910390fd5b73999e025a2a0558c07dbf7f021b2c9852b367e80a73ffffffffffffffffffffffffffffffffffffffff167f41318f2e244979cecf67c8ddc3b28943eee2be79fac9599f8dcaba944941fd5a847fce05e792f591bc617f475e9be1d00df89446c592738f73ff72b23c84107e645e604051610ed9929190611584565b60405180910390a250505050565b7391fbb2503ac69702061f1ac6885759fc853e6eae81565b6c03248734544b0972339700000081565b604051806080016040528060428152602001611a206042913981565b5f4790505f7f0000000000000000000000000000000000000000000000000000000068c75c7b8311610f5e575f610f8b565b7f0000000000000000000000000000000000000000000000000000000068c75c7b83610f8a919061194e565b5b90507f00000000000000000000000000000000000000000000000000000000000a8c008111610fba57506110a6565b7f00000000000000000000000000000000000000000000000000000000001baf807f00000000000000000000000000000000000000000000000000000000000a8c0061100691906112c9565b8110611015575f9150506110a6565b7f00000000000000000000000000000000000000000000000000000000001baf80817f00000000000000000000000000000000000000000000000000000000001baf807f00000000000000000000000000000000000000000000000000000000000a8c0061108391906112c9565b61108d919061194e565b836110989190611981565b6110a291906119ef565b9150505b919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110d4826110ab565b9050919050565b6110e4816110ca565b82525050565b5f6020820190506110fd5f8301846110db565b92915050565b5f819050919050565b61111581611103565b82525050565b5f60208201905061112e5f83018461110c565b92915050565b5f819050919050565b61114681611134565b82525050565b5f60208201905061115f5f83018461113d565b92915050565b5f8115159050919050565b61117981611165565b82525050565b5f6020820190506111925f830184611170565b92915050565b5f819050919050565b5f6111bb6111b66111b1846110ab565b611198565b6110ab565b9050919050565b5f6111cc826111a1565b9050919050565b5f6111dd826111c2565b9050919050565b6111ed816111d3565b82525050565b5f6020820190506112065f8301846111e4565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61124e8261120c565b6112588185611216565b9350611268818560208601611226565b61127181611234565b840191505092915050565b5f6020820190508181035f8301526112948184611244565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6112d382611134565b91506112de83611134565b92508282019050808211156112f6576112f561129c565b5b92915050565b7f544f4f5f4c4154450000000000000000000000000000000000000000000000005f82015250565b5f611330600883611216565b915061133b826112fc565b602082019050919050565b5f6020820190508181035f83015261135d81611324565b9050919050565b7f46494e414c495a454400000000000000000000000000000000000000000000005f82015250565b5f611398600983611216565b91506113a382611364565b602082019050919050565b5f6020820190508181035f8301526113c58161138c565b9050919050565b7f4f4e4c595f4558504c4f495445520000000000000000000000000000000000005f82015250565b5f611400600e83611216565b915061140b826113cc565b602082019050919050565b5f6020820190508181035f83015261142d816113f4565b9050919050565b5f6040820190506114475f8301856110db565b61145460208301846110db565b9392505050565b5f5ffd5b61146881611134565b8114611472575f5ffd5b50565b5f815190506114838161145f565b92915050565b5f6020828403121561149e5761149d61145b565b5b5f6114ab84828501611475565b91505092915050565b7f414c4c4f57414e434500000000000000000000000000000000000000000000005f82015250565b5f6114e8600983611216565b91506114f3826114b4565b602082019050919050565b5f6020820190508181035f830152611515816114dc565b9050919050565b7f41434b00000000000000000000000000000000000000000000000000000000005f82015250565b5f611550600383611216565b915061155b8261151c565b602082019050919050565b5f6020820190508181035f83015261157d81611544565b9050919050565b5f6040820190506115975f83018561113d565b6115a4602083018461110c565b9392505050565b7f4541524c590000000000000000000000000000000000000000000000000000005f82015250565b5f6115df600583611216565b91506115ea826115ab565b602082019050919050565b5f6020820190508181035f83015261160c816115d3565b9050919050565b7f4c4f434b45445f42595f414343455054000000000000000000000000000000005f82015250565b5f611647601083611216565b915061165282611613565b602082019050919050565b5f6020820190508181035f8301526116748161163b565b9050919050565b5f81905092915050565b50565b5f6116935f8361167b565b915061169e82611685565b5f82019050919050565b5f6116b282611688565b9150819050919050565b7f57495448445241575f4641494c000000000000000000000000000000000000005f82015250565b5f6116f0600d83611216565b91506116fb826116bc565b602082019050919050565b5f6020820190508181035f83015261171d816116e4565b9050919050565b7f45585049524544000000000000000000000000000000000000000000000000005f82015250565b5f611758600783611216565b915061176382611724565b602082019050919050565b5f6020820190508181035f8301526117858161174c565b9050919050565b5f60608201905061179f5f8301866110db565b6117ac60208301856110db565b6117b9604083018461113d565b949350505050565b6117ca81611165565b81146117d4575f5ffd5b50565b5f815190506117e5816117c1565b92915050565b5f60208284031215611800576117ff61145b565b5b5f61180d848285016117d7565b91505092915050565b7f5452414e534645525f4641494c000000000000000000000000000000000000005f82015250565b5f61184a600d83611216565b915061185582611816565b602082019050919050565b5f6020820190508181035f8301526118778161183e565b9050919050565b7f77746600000000000000000000000000000000000000000000000000000000005f82015250565b5f6118b2600383611216565b91506118bd8261187e565b602082019050919050565b5f6020820190508181035f8301526118df816118a6565b9050919050565b7f4554485f5041595f4641494c00000000000000000000000000000000000000005f82015250565b5f61191a600c83611216565b9150611925826118e6565b602082019050919050565b5f6020820190508181035f8301526119478161190e565b9050919050565b5f61195882611134565b915061196383611134565b925082820390508181111561197b5761197a61129c565b5b92915050565b5f61198b82611134565b915061199683611134565b92508282026119a481611134565b915082820484148315176119bb576119ba61129c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6119f982611134565b9150611a0483611134565b925082611a1457611a136119c2565b5b82820490509291505056fe697066733a2f2f6261666b726569676571776b6e32666f6a6c3472756f37786f6b76367a6d347872666e71347732786f706f63336378756975616a73696b35356471a2646970667358221220f1d89dec4e293638924be4fb0382215e05c4fd8c21fda695fa68fed2b51ff98764736f6c634300081c0033

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

00000000000000000000000000000000000000000000000000000000000a8c0000000000000000000000000000000000000000000000000000000000001baf80ce05e792f591bc617f475e9be1d00df89446c592738f73ff72b23c84107e645e

-----Decoded View---------------
Arg [0] : initialPeriod (uint256): 691200
Arg [1] : decayPeriod (uint256): 1814400
Arg [2] : termsHash (bytes32): 0xce05e792f591bc617f475e9be1d00df89446c592738f73ff72b23c84107e645e

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000a8c00
Arg [1] : 00000000000000000000000000000000000000000000000000000000001baf80
Arg [2] : ce05e792f591bc617f475e9be1d00df89446c592738f73ff72b23c84107e645e


Deployed Bytecode Sourcemap

4097:6175:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7126:462;;;;;;;;;;;;;:::i;:::-;;4367:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5241:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4460:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4960:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9695:574;;;;;;;;;;;;;:::i;:::-;;5378:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5106:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5486:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4787:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8386:906;;;;;;;;;;;;;:::i;:::-;;4270:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4613:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4144:117;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7126:462;7208:5;7198:7;7190:5;:15;;;;:::i;:::-;:23;;;;:::i;:::-;7172:15;:41;7164:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;7246:9;;;;;;;;;;;7245:10;7237:32;;;;;;;;;;;;:::i;:::-;;;;;;;;;4505:42;7288:23;;:10;:23;;;7280:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;4646:30;4317:42;7363:15;;;4505:42;7398:4;7363:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;;7341:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;7484:1;7470:10;;:15;7462:31;;;;;;;;;;;;:::i;:::-;;;;;;;;;7517:15;7504:10;:28;;;;7548:32;7557:10;;7569;7548:32;;;;;;;:::i;:::-;;;;;;;;7126:462::o;4367:86::-;4411:42;4367:86;:::o;5241:35::-;;;:::o;4460:87::-;4505:42;4460:87;:::o;4960:32::-;;;:::o;9695:574::-;9790:5;9780:7;9772:5;:15;;;;:::i;:::-;:23;;;;:::i;:::-;9753:15;:42;;9745:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9880:9;;;;;;;;;;;9879:10;:28;;;;;9906:1;9893:10;;:14;9879:28;9875:267;;;4646:30;4317:42;9946:15;;;4505:42;9981:4;9946:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;;:108;;;;;4646:30;4317:42;10018:15;;;4505:42;10018:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:36;;9946:108;9924:207;;;10089:26;;;;;;;;;;:::i;:::-;;;;;;;;9924:207;9875:267;10153:7;4411:42;10166:22;;10196:21;10166:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10152:70;;;10241:2;10233:28;;;;;;;;;;;;:::i;:::-;;;;;;;;;9734:535;9695:574::o;5378:25::-;;;;:::o;5106:30::-;;;:::o;5486:21::-;;;;;;;;;;;;;:::o;4787:30::-;;;:::o;8386:906::-;8439:9;;;;;;;;;;;8438:10;8430:32;;;;;;;;;;;;:::i;:::-;;;;;;;;;8473:11;8501:1;8488:10;;:14;8487:47;;8519:15;8487:47;;;8506:10;;8487:47;8473:61;;8545:11;8559:14;8569:3;8559:9;:14::i;:::-;8545:28;;8598:1;8592:3;:7;8584:27;;;;;;;;;;;;:::i;:::-;;;;;;;;;8624:13;4317:42;8640:15;;;4411:42;8640:25;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8624:41;;4317:42;8698:18;;;4505:42;4411;4646:30;8698:47;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8676:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;4646:30;8831:8;:17;;;;:::i;:::-;4317:42;8803:15;;;4411:42;8803:25;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;8799:139;;;8865:13;;;;;;;;;;:::i;:::-;;;;;;;;8799:139;9119:4;9107:9;;:16;;;;;;;;;;;;;;;;;;9137:7;4505:42;9150:23;;9181:3;9150:39;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9136:53;;;9208:2;9200:27;;;;;;;;;;;;:::i;:::-;;;;;;;;;4505:42;9243:41;;;9268:3;9273:10;9243:41;;;;;;;:::i;:::-;;;;;;;;8419:873;;;;8386:906::o;4270:90::-;4317:42;4270:90;:::o;4613:63::-;4646:30;4613:63;:::o;4144:117::-;;;;;;;;;;;;;;;;;;;:::o;7728:358::-;7798:20;7846:21;7831:36;;7878:9;7896:5;7891:2;:10;7890:31;;7920:1;7890:31;;;7911:5;7906:2;:10;;;;:::i;:::-;7890:31;7878:43;;7941:7;7936:1;:12;7932:37;;7950:19;;;7932:37;7999:5;7989:7;:15;;;;:::i;:::-;7984:1;:20;7980:34;;8013:1;8006:8;;;;;7980:34;8073:5;8067:1;8059:5;8049:7;:15;;;;:::i;:::-;:19;;;;:::i;:::-;8033:12;:36;;;;:::i;:::-;8032:46;;;;:::i;:::-;8025:53;;;7728:358;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:77::-;630:7;659:5;648:16;;593:77;;;:::o;676:118::-;763:24;781:5;763:24;:::i;:::-;758:3;751:37;676:118;;:::o;800:222::-;893:4;931:2;920:9;916:18;908:26;;944:71;1012:1;1001:9;997:17;988:6;944:71;:::i;:::-;800:222;;;;:::o;1028:77::-;1065:7;1094:5;1083:16;;1028:77;;;:::o;1111:118::-;1198:24;1216:5;1198:24;:::i;:::-;1193:3;1186:37;1111:118;;:::o;1235:222::-;1328:4;1366:2;1355:9;1351:18;1343:26;;1379:71;1447:1;1436:9;1432:17;1423:6;1379:71;:::i;:::-;1235:222;;;;:::o;1463:90::-;1497:7;1540:5;1533:13;1526:21;1515:32;;1463:90;;;:::o;1559:109::-;1640:21;1655:5;1640:21;:::i;:::-;1635:3;1628:34;1559:109;;:::o;1674:210::-;1761:4;1799:2;1788:9;1784:18;1776:26;;1812:65;1874:1;1863:9;1859:17;1850:6;1812:65;:::i;:::-;1674:210;;;;:::o;1890:60::-;1918:3;1939:5;1932:12;;1890:60;;;:::o;1956:142::-;2006:9;2039:53;2057:34;2066:24;2084:5;2066:24;:::i;:::-;2057:34;:::i;:::-;2039:53;:::i;:::-;2026:66;;1956:142;;;:::o;2104:126::-;2154:9;2187:37;2218:5;2187:37;:::i;:::-;2174:50;;2104:126;;;:::o;2236:140::-;2300:9;2333:37;2364:5;2333:37;:::i;:::-;2320:50;;2236:140;;;:::o;2382:159::-;2483:51;2528:5;2483:51;:::i;:::-;2478:3;2471:64;2382:159;;:::o;2547:250::-;2654:4;2692:2;2681:9;2677:18;2669:26;;2705:85;2787:1;2776:9;2772:17;2763:6;2705:85;:::i;:::-;2547:250;;;;:::o;2803:99::-;2855:6;2889:5;2883:12;2873:22;;2803:99;;;:::o;2908:169::-;2992:11;3026:6;3021:3;3014:19;3066:4;3061:3;3057:14;3042:29;;2908:169;;;;:::o;3083:139::-;3172:6;3167:3;3162;3156:23;3213:1;3204:6;3199:3;3195:16;3188:27;3083:139;;;:::o;3228:102::-;3269:6;3320:2;3316:7;3311:2;3304:5;3300:14;3296:28;3286:38;;3228:102;;;:::o;3336:377::-;3424:3;3452:39;3485:5;3452:39;:::i;:::-;3507:71;3571:6;3566:3;3507:71;:::i;:::-;3500:78;;3587:65;3645:6;3640:3;3633:4;3626:5;3622:16;3587:65;:::i;:::-;3677:29;3699:6;3677:29;:::i;:::-;3672:3;3668:39;3661:46;;3428:285;3336:377;;;;:::o;3719:313::-;3832:4;3870:2;3859:9;3855:18;3847:26;;3919:9;3913:4;3909:20;3905:1;3894:9;3890:17;3883:47;3947:78;4020:4;4011:6;3947:78;:::i;:::-;3939:86;;3719:313;;;;:::o;4038:180::-;4086:77;4083:1;4076:88;4183:4;4180:1;4173:15;4207:4;4204:1;4197:15;4224:191;4264:3;4283:20;4301:1;4283:20;:::i;:::-;4278:25;;4317:20;4335:1;4317:20;:::i;:::-;4312:25;;4360:1;4357;4353:9;4346:16;;4381:3;4378:1;4375:10;4372:36;;;4388:18;;:::i;:::-;4372:36;4224:191;;;;:::o;4421:158::-;4561:10;4557:1;4549:6;4545:14;4538:34;4421:158;:::o;4585:365::-;4727:3;4748:66;4812:1;4807:3;4748:66;:::i;:::-;4741:73;;4823:93;4912:3;4823:93;:::i;:::-;4941:2;4936:3;4932:12;4925:19;;4585:365;;;:::o;4956:419::-;5122:4;5160:2;5149:9;5145:18;5137:26;;5209:9;5203:4;5199:20;5195:1;5184:9;5180:17;5173:47;5237:131;5363:4;5237:131;:::i;:::-;5229:139;;4956:419;;;:::o;5381:159::-;5521:11;5517:1;5509:6;5505:14;5498:35;5381:159;:::o;5546:365::-;5688:3;5709:66;5773:1;5768:3;5709:66;:::i;:::-;5702:73;;5784:93;5873:3;5784:93;:::i;:::-;5902:2;5897:3;5893:12;5886:19;;5546:365;;;:::o;5917:419::-;6083:4;6121:2;6110:9;6106:18;6098:26;;6170:9;6164:4;6160:20;6156:1;6145:9;6141:17;6134:47;6198:131;6324:4;6198:131;:::i;:::-;6190:139;;5917:419;;;:::o;6342:164::-;6482:16;6478:1;6470:6;6466:14;6459:40;6342:164;:::o;6512:366::-;6654:3;6675:67;6739:2;6734:3;6675:67;:::i;:::-;6668:74;;6751:93;6840:3;6751:93;:::i;:::-;6869:2;6864:3;6860:12;6853:19;;6512:366;;;:::o;6884:419::-;7050:4;7088:2;7077:9;7073:18;7065:26;;7137:9;7131:4;7127:20;7123:1;7112:9;7108:17;7101:47;7165:131;7291:4;7165:131;:::i;:::-;7157:139;;6884:419;;;:::o;7309:332::-;7430:4;7468:2;7457:9;7453:18;7445:26;;7481:71;7549:1;7538:9;7534:17;7525:6;7481:71;:::i;:::-;7562:72;7630:2;7619:9;7615:18;7606:6;7562:72;:::i;:::-;7309:332;;;;;:::o;7728:117::-;7837:1;7834;7827:12;7974:122;8047:24;8065:5;8047:24;:::i;:::-;8040:5;8037:35;8027:63;;8086:1;8083;8076:12;8027:63;7974:122;:::o;8102:143::-;8159:5;8190:6;8184:13;8175:22;;8206:33;8233:5;8206:33;:::i;:::-;8102:143;;;;:::o;8251:351::-;8321:6;8370:2;8358:9;8349:7;8345:23;8341:32;8338:119;;;8376:79;;:::i;:::-;8338:119;8496:1;8521:64;8577:7;8568:6;8557:9;8553:22;8521:64;:::i;:::-;8511:74;;8467:128;8251:351;;;;:::o;8608:159::-;8748:11;8744:1;8736:6;8732:14;8725:35;8608:159;:::o;8773:365::-;8915:3;8936:66;9000:1;8995:3;8936:66;:::i;:::-;8929:73;;9011:93;9100:3;9011:93;:::i;:::-;9129:2;9124:3;9120:12;9113:19;;8773:365;;;:::o;9144:419::-;9310:4;9348:2;9337:9;9333:18;9325:26;;9397:9;9391:4;9387:20;9383:1;9372:9;9368:17;9361:47;9425:131;9551:4;9425:131;:::i;:::-;9417:139;;9144:419;;;:::o;9569:153::-;9709:5;9705:1;9697:6;9693:14;9686:29;9569:153;:::o;9728:365::-;9870:3;9891:66;9955:1;9950:3;9891:66;:::i;:::-;9884:73;;9966:93;10055:3;9966:93;:::i;:::-;10084:2;10079:3;10075:12;10068:19;;9728:365;;;:::o;10099:419::-;10265:4;10303:2;10292:9;10288:18;10280:26;;10352:9;10346:4;10342:20;10338:1;10327:9;10323:17;10316:47;10380:131;10506:4;10380:131;:::i;:::-;10372:139;;10099:419;;;:::o;10524:332::-;10645:4;10683:2;10672:9;10668:18;10660:26;;10696:71;10764:1;10753:9;10749:17;10740:6;10696:71;:::i;:::-;10777:72;10845:2;10834:9;10830:18;10821:6;10777:72;:::i;:::-;10524:332;;;;;:::o;10862:155::-;11002:7;10998:1;10990:6;10986:14;10979:31;10862:155;:::o;11023:365::-;11165:3;11186:66;11250:1;11245:3;11186:66;:::i;:::-;11179:73;;11261:93;11350:3;11261:93;:::i;:::-;11379:2;11374:3;11370:12;11363:19;;11023:365;;;:::o;11394:419::-;11560:4;11598:2;11587:9;11583:18;11575:26;;11647:9;11641:4;11637:20;11633:1;11622:9;11618:17;11611:47;11675:131;11801:4;11675:131;:::i;:::-;11667:139;;11394:419;;;:::o;11819:166::-;11959:18;11955:1;11947:6;11943:14;11936:42;11819:166;:::o;11991:366::-;12133:3;12154:67;12218:2;12213:3;12154:67;:::i;:::-;12147:74;;12230:93;12319:3;12230:93;:::i;:::-;12348:2;12343:3;12339:12;12332:19;;11991:366;;;:::o;12363:419::-;12529:4;12567:2;12556:9;12552:18;12544:26;;12616:9;12610:4;12606:20;12602:1;12591:9;12587:17;12580:47;12644:131;12770:4;12644:131;:::i;:::-;12636:139;;12363:419;;;:::o;12788:147::-;12889:11;12926:3;12911:18;;12788:147;;;;:::o;12941:114::-;;:::o;13061:398::-;13220:3;13241:83;13322:1;13317:3;13241:83;:::i;:::-;13234:90;;13333:93;13422:3;13333:93;:::i;:::-;13451:1;13446:3;13442:11;13435:18;;13061:398;;;:::o;13465:379::-;13649:3;13671:147;13814:3;13671:147;:::i;:::-;13664:154;;13835:3;13828:10;;13465:379;;;:::o;13850:163::-;13990:15;13986:1;13978:6;13974:14;13967:39;13850:163;:::o;14019:366::-;14161:3;14182:67;14246:2;14241:3;14182:67;:::i;:::-;14175:74;;14258:93;14347:3;14258:93;:::i;:::-;14376:2;14371:3;14367:12;14360:19;;14019:366;;;:::o;14391:419::-;14557:4;14595:2;14584:9;14580:18;14572:26;;14644:9;14638:4;14634:20;14630:1;14619:9;14615:17;14608:47;14672:131;14798:4;14672:131;:::i;:::-;14664:139;;14391:419;;;:::o;14816:157::-;14956:9;14952:1;14944:6;14940:14;14933:33;14816:157;:::o;14979:365::-;15121:3;15142:66;15206:1;15201:3;15142:66;:::i;:::-;15135:73;;15217:93;15306:3;15217:93;:::i;:::-;15335:2;15330:3;15326:12;15319:19;;14979:365;;;:::o;15350:419::-;15516:4;15554:2;15543:9;15539:18;15531:26;;15603:9;15597:4;15593:20;15589:1;15578:9;15574:17;15567:47;15631:131;15757:4;15631:131;:::i;:::-;15623:139;;15350:419;;;:::o;15775:442::-;15924:4;15962:2;15951:9;15947:18;15939:26;;15975:71;16043:1;16032:9;16028:17;16019:6;15975:71;:::i;:::-;16056:72;16124:2;16113:9;16109:18;16100:6;16056:72;:::i;:::-;16138;16206:2;16195:9;16191:18;16182:6;16138:72;:::i;:::-;15775:442;;;;;;:::o;16223:116::-;16293:21;16308:5;16293:21;:::i;:::-;16286:5;16283:32;16273:60;;16329:1;16326;16319:12;16273:60;16223:116;:::o;16345:137::-;16399:5;16430:6;16424:13;16415:22;;16446:30;16470:5;16446:30;:::i;:::-;16345:137;;;;:::o;16488:345::-;16555:6;16604:2;16592:9;16583:7;16579:23;16575:32;16572:119;;;16610:79;;:::i;:::-;16572:119;16730:1;16755:61;16808:7;16799:6;16788:9;16784:22;16755:61;:::i;:::-;16745:71;;16701:125;16488:345;;;;:::o;16839:163::-;16979:15;16975:1;16967:6;16963:14;16956:39;16839:163;:::o;17008:366::-;17150:3;17171:67;17235:2;17230:3;17171:67;:::i;:::-;17164:74;;17247:93;17336:3;17247:93;:::i;:::-;17365:2;17360:3;17356:12;17349:19;;17008:366;;;:::o;17380:419::-;17546:4;17584:2;17573:9;17569:18;17561:26;;17633:9;17627:4;17623:20;17619:1;17608:9;17604:17;17597:47;17661:131;17787:4;17661:131;:::i;:::-;17653:139;;17380:419;;;:::o;17805:153::-;17945:5;17941:1;17933:6;17929:14;17922:29;17805:153;:::o;17964:365::-;18106:3;18127:66;18191:1;18186:3;18127:66;:::i;:::-;18120:73;;18202:93;18291:3;18202:93;:::i;:::-;18320:2;18315:3;18311:12;18304:19;;17964:365;;;:::o;18335:419::-;18501:4;18539:2;18528:9;18524:18;18516:26;;18588:9;18582:4;18578:20;18574:1;18563:9;18559:17;18552:47;18616:131;18742:4;18616:131;:::i;:::-;18608:139;;18335:419;;;:::o;18760:162::-;18900:14;18896:1;18888:6;18884:14;18877:38;18760:162;:::o;18928:366::-;19070:3;19091:67;19155:2;19150:3;19091:67;:::i;:::-;19084:74;;19167:93;19256:3;19167:93;:::i;:::-;19285:2;19280:3;19276:12;19269:19;;18928:366;;;:::o;19300:419::-;19466:4;19504:2;19493:9;19489:18;19481:26;;19553:9;19547:4;19543:20;19539:1;19528:9;19524:17;19517:47;19581:131;19707:4;19581:131;:::i;:::-;19573:139;;19300:419;;;:::o;19725:194::-;19765:4;19785:20;19803:1;19785:20;:::i;:::-;19780:25;;19819:20;19837:1;19819:20;:::i;:::-;19814:25;;19863:1;19860;19856:9;19848:17;;19887:1;19881:4;19878:11;19875:37;;;19892:18;;:::i;:::-;19875:37;19725:194;;;;:::o;19925:410::-;19965:7;19988:20;20006:1;19988:20;:::i;:::-;19983:25;;20022:20;20040:1;20022:20;:::i;:::-;20017:25;;20077:1;20074;20070:9;20099:30;20117:11;20099:30;:::i;:::-;20088:41;;20278:1;20269:7;20265:15;20262:1;20259:22;20239:1;20232:9;20212:83;20189:139;;20308:18;;:::i;:::-;20189:139;19973:362;19925:410;;;;:::o;20341:180::-;20389:77;20386:1;20379:88;20486:4;20483:1;20476:15;20510:4;20507:1;20500:15;20527:185;20567:1;20584:20;20602:1;20584:20;:::i;:::-;20579:25;;20618:20;20636:1;20618:20;:::i;:::-;20613:25;;20657:1;20647:35;;20662:18;;:::i;:::-;20647:35;20704:1;20701;20697:9;20692:14;;20527:185;;;;:::o

Swarm Source

ipfs://f1d89dec4e293638924be4fb0382215e05c4fd8c21fda695fa68fed2b51ff987

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.