ETH Price: $3,628.40 (-2.61%)

Contract

0x8017F897AAaAbD5701b63D819590062A87732Ba0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim Tokens202170012024-07-02 6:20:11153 days ago1719901211IN
0x8017F897...A87732Ba0
0 ETH0.00045444.02781549
Claim Tokens201785922024-06-26 21:37:59158 days ago1719437879IN
0x8017F897...A87732Ba0
0 ETH0.000769356.81959005
Claim Tokens201753872024-06-26 10:52:47159 days ago1719399167IN
0x8017F897...A87732Ba0
0 ETH0.000528222.89671883
Claim Tokens196101892024-04-08 9:54:23238 days ago1712570063IN
0x8017F897...A87732Ba0
0 ETH0.0018002615.95753353
Claim Tokens195906492024-04-05 16:12:47241 days ago1712333567IN
0x8017F897...A87732Ba0
0 ETH0.0030083531.43000176
Claim Tokens191977642024-02-10 12:39:35296 days ago1707568775IN
0x8017F897...A87732Ba0
0 ETH0.0063018729.02445561
Claim Tokens190923882024-01-26 17:52:47310 days ago1706291567IN
0x8017F897...A87732Ba0
0 ETH0.0037326420.46923752
Claim Tokens188881682023-12-29 2:08:47339 days ago1703815727IN
0x8017F897...A87732Ba0
0 ETH0.0018694119.41544988
Claim Tokens184466942023-10-28 5:44:35401 days ago1698471875IN
0x8017F897...A87732Ba0
0 ETH0.001192638.05
Claim Tokens182282932023-09-27 16:29:47432 days ago1695832187IN
0x8017F897...A87732Ba0
0 ETH0.0011178814.21951988
Claim Tokens180990912023-09-09 13:20:35450 days ago1694265635IN
0x8017F897...A87732Ba0
0 ETH0.0012466111.05112627
Claim Tokens180915112023-09-08 11:50:47451 days ago1694173847IN
0x8017F897...A87732Ba0
0 ETH0.0008272610.52288345
Claim Tokens180624762023-09-04 10:20:11455 days ago1693822811IN
0x8017F897...A87732Ba0
0 ETH0.0013926512.34446547
Claim Tokens178246842023-08-02 3:39:35488 days ago1690947575IN
0x8017F897...A87732Ba0
0 ETH0.0012578516
Claim Tokens175726892023-06-27 19:13:23523 days ago1687893203IN
0x8017F897...A87732Ba0
0 ETH0.0052206638.6284093
Claim Tokens174926672023-06-16 13:22:59535 days ago1686921779IN
0x8017F897...A87732Ba0
0 ETH0.0019558217.33644864
Claim Tokens174606212023-06-12 1:08:59539 days ago1686532139IN
0x8017F897...A87732Ba0
0 ETH0.00275515.10801842
Claim Tokens174279402023-06-07 10:35:47544 days ago1686134147IN
0x8017F897...A87732Ba0
0 ETH0.0035496219.46555237
Claim Tokens173358942023-05-25 11:34:23557 days ago1685014463IN
0x8017F897...A87732Ba0
0 ETH0.0059277529.04052697
Claim Tokens173178522023-05-22 22:38:23559 days ago1684795103IN
0x8017F897...A87732Ba0
0 ETH0.0045112234.42261546
Claim Tokens172898912023-05-19 0:06:59563 days ago1684454819IN
0x8017F897...A87732Ba0
0 ETH0.0028086835.72661756
Claim Tokens172765392023-05-17 2:56:23565 days ago1684292183IN
0x8017F897...A87732Ba0
0 ETH0.0029646437.71045671
Claim Tokens172645032023-05-15 10:10:47567 days ago1684145447IN
0x8017F897...A87732Ba0
0 ETH0.0044046238.65269459
Claim Tokens172486572023-05-13 4:20:23569 days ago1683951623IN
0x8017F897...A87732Ba0
0 ETH0.0037914539.61150885
Claim Tokens172193962023-05-09 0:40:59573 days ago1683592859IN
0x8017F897...A87732Ba0
0 ETH0.0058114860
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
StakingRewardsEscrow

Compiler Version
v0.6.7+commit.b8d736ae

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-08-15
*/

/// StakingRewardsEscrow.sol

// Copyright (C) 2021 Reflexer Labs, INC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

pragma solidity 0.6.7;

/**
 * @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 () internal {
        _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 make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

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

        _;

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

abstract contract TokenLike {
    function balanceOf(address) virtual public view returns (uint256);
    function transfer(address, uint256) virtual external returns (bool);
}

contract StakingRewardsEscrow is ReentrancyGuard {
    // --- Auth ---
    mapping (address => uint) public authorizedAccounts;
    /**
     * @notice Add auth to an account
     * @param account Account to add auth to
     */
    function addAuthorization(address account) virtual external isAuthorized {
        authorizedAccounts[account] = 1;
        emit AddAuthorization(account);
    }
    /**
     * @notice Remove auth from an account
     * @param account Account to remove auth from
     */
    function removeAuthorization(address account) virtual external isAuthorized {
        authorizedAccounts[account] = 0;
        emit RemoveAuthorization(account);
    }
    /**
    * @notice Checks whether msg.sender can call an authed function
    **/
    modifier isAuthorized {
        require(authorizedAccounts[msg.sender] == 1, "StakingRewardsEscrow/account-not-authorized");
        _;
    }

    // --- Structs ---
    struct EscrowSlot {
        uint256 total;
        uint256 startDate;
        uint256 duration;
        uint256 claimedUntil;
        uint256 amountClaimed;
    }

    // --- Variables ---
    // The address allowed to request escrows
    address   public escrowRequestor;
    // The time during which a chunk is escrowed
    uint256   public escrowDuration;
    // Time in a slot during which rewards to escrow can be added without creating a new escrow slot
    uint256   public durationToStartEscrow;
    // Current amount of slots to claim in one shot
    uint256   public slotsToClaim;
    // The token to escrow
    TokenLike public token;

    uint256   public constant MAX_ESCROW_DURATION          = 365 days;
    uint256   public constant MAX_DURATION_TO_START_ESCROW = 30 days;
    uint256   public constant MAX_SLOTS_TO_CLAIM           = 25;

    // Oldest slot from which to start claiming unlocked rewards
    mapping (address => uint256)                        public oldestEscrowSlot;
    // Next slot to fill for every user
    mapping (address => uint256)                        public currentEscrowSlot;
    // All escrows for all accounts
    mapping (address => mapping(uint256 => EscrowSlot)) public escrows;

    // --- Events ---
    event AddAuthorization(address account);
    event RemoveAuthorization(address account);
    event ModifyParameters(bytes32 indexed parameter, uint256 data);
    event ModifyParameters(bytes32 indexed parameter, address data);
    event EscrowRewards(address indexed who, uint256 amount, uint256 currentEscrowSlot);
    event ClaimRewards(address indexed who, uint256 amount);

    constructor(
      address escrowRequestor_,
      address token_,
      uint256 escrowDuration_,
      uint256 durationToStartEscrow_
    ) public {
      require(escrowRequestor_ != address(0), "StakingRewardsEscrow/null-requestor");
      require(token_ != address(0), "StakingRewardsEscrow/null-token");
      require(both(escrowDuration_ > 0, escrowDuration_ <= MAX_ESCROW_DURATION), "StakingRewardsEscrow/invalid-escrow-duration");
      require(both(durationToStartEscrow_ > 0, durationToStartEscrow_ < escrowDuration_), "StakingRewardsEscrow/invalid-duration-start-escrow");
      require(escrowDuration_ > durationToStartEscrow_, "StakingRewardsEscrow/");

      authorizedAccounts[msg.sender] = 1;

      escrowRequestor        = escrowRequestor_;
      token                  = TokenLike(token_);
      escrowDuration         = escrowDuration_;
      durationToStartEscrow  = durationToStartEscrow_;
      slotsToClaim           = MAX_SLOTS_TO_CLAIM;

      emit AddAuthorization(msg.sender);
    }

    // --- Boolean Logic ---
    function both(bool x, bool y) internal pure returns (bool z) {
        assembly{ z := and(x, y)}
    }
    function either(bool x, bool y) internal pure returns (bool z) {
        assembly{ z := or(x, y)}
    }

    // --- Math ---
    function addition(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require((z = x + y) >= x, "StakingRewardsEscrow/add-overflow");
    }
    function subtract(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require((z = x - y) <= x, "StakingRewardsEscrow/sub-underflow");
    }
    function multiply(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, "StakingRewardsEscrow/mul-overflow");
    }
    function minimum(uint256 x, uint256 y) internal pure returns (uint256 z) {
        return x <= y ? x : y;
    }

    // --- Administration ---
    /*
    * @notify Modify an uint256 parameter
    * @param parameter The name of the parameter to modify
    * @param data New value for the parameter
    */
    function modifyParameters(bytes32 parameter, uint256 data) external isAuthorized {
        if (parameter == "escrowDuration") {
          require(both(data > 0, data <= MAX_ESCROW_DURATION), "StakingRewardsEscrow/invalid-escrow-duration");
          require(data > durationToStartEscrow, "StakingRewardsEscrow/smaller-than-start-escrow-duration");
          escrowDuration = data;
        }
        else if (parameter == "durationToStartEscrow") {
          require(both(data > 1, data <= MAX_DURATION_TO_START_ESCROW), "StakingRewardsEscrow/duration-to-start-escrow");
          require(data < escrowDuration, "StakingRewardsEscrow/not-lower-than-escrow-duration");
          durationToStartEscrow = data;
        }
        else if (parameter == "slotsToClaim") {
          require(both(data >= 1, data <= MAX_SLOTS_TO_CLAIM), "StakingRewardsEscrow/invalid-slots-to-claim");
          slotsToClaim = data;
        }
        else revert("StakingRewardsEscrow/modify-unrecognized-param");
        emit ModifyParameters(parameter, data);
    }
    /*
    * @notify Modify an address parameter
    * @param parameter The name of the parameter to modify
    * @param data New value for the parameter
    */
    function modifyParameters(bytes32 parameter, address data) external isAuthorized {
        require(data != address(0), "StakingRewardsEscrow/null-data");

        if (parameter == "escrowRequestor") {
            escrowRequestor = data;
        }
        else revert("StakingRewardsEscrow/modify-unrecognized-param");
        emit ModifyParameters(parameter, data);
    }

    // --- Core Logic ---
    /*
    * @notice Put more rewards under escrow for a specific address
    * @param who The address that will get escrowed tokens
    * @param amount Amount of tokens to escrow
    */
    function escrowRewards(address who, uint256 amount) external nonReentrant {
        require(escrowRequestor == msg.sender, "StakingRewardsEscrow/not-requestor");
        require(who != address(0), "StakingRewardsEscrow/null-who");
        require(amount > 0, "StakingRewardsEscrow/null-amount");

        if (
          either(currentEscrowSlot[who] == 0,
          now > addition(escrows[who][currentEscrowSlot[who] - 1].startDate, durationToStartEscrow))
        ) {
          escrows[who][currentEscrowSlot[who]] = EscrowSlot(amount, now, escrowDuration, now, 0);
          currentEscrowSlot[who] = addition(currentEscrowSlot[who], 1);
        } else {
          escrows[who][currentEscrowSlot[who] - 1].total = addition(escrows[who][currentEscrowSlot[who] - 1].total, amount);
        }

        emit EscrowRewards(who, amount, currentEscrowSlot[who] - 1);
    }
    /**
    * @notice Return the total amount of tokens that are being escrowed for a specific account
    * @param who The address for which we calculate the amount of tokens that are still waiting to be unlocked
    */
    function getTokensBeingEscrowed(address who) public view returns (uint256) {
        if (oldestEscrowSlot[who] >= currentEscrowSlot[who]) return 0;

        EscrowSlot memory escrowReward;

        uint256 totalEscrowed;
        uint256 endDate;

        for (uint i = oldestEscrowSlot[who]; i <= currentEscrowSlot[who]; i++) {
            escrowReward = escrows[who][i];
            endDate      = addition(escrowReward.startDate, escrowReward.duration);

            if (escrowReward.amountClaimed >= escrowReward.total) {
              continue;
            }

            if (both(escrowReward.claimedUntil < endDate, now >= endDate)) {
              continue;
            }

            totalEscrowed = addition(totalEscrowed, subtract(escrowReward.total, escrowReward.amountClaimed));
        }

        return totalEscrowed;
    }
    /*
    * @notice Return the total amount of tokens that can be claimed right now for an address
    * @param who The address to claim on behalf of
    */
    function getClaimableTokens(address who) public view returns (uint256) {
        if (currentEscrowSlot[who] == 0) return 0;
        if (oldestEscrowSlot[who] >= currentEscrowSlot[who]) return 0;

        uint256 lastSlotToClaim = (subtract(currentEscrowSlot[who], oldestEscrowSlot[who]) > slotsToClaim) ?
          addition(oldestEscrowSlot[who], subtract(slotsToClaim, 1)) : subtract(currentEscrowSlot[who], 1);

        EscrowSlot memory escrowReward;

        uint256 totalToTransfer;
        uint256 endDate;
        uint256 reward;

        for (uint i = oldestEscrowSlot[who]; i <= lastSlotToClaim; i++) {
            escrowReward = escrows[who][i];
            endDate      = addition(escrowReward.startDate, escrowReward.duration);

            if (escrowReward.amountClaimed >= escrowReward.total) {
              continue;
            }

            if (both(escrowReward.claimedUntil < endDate, now >= endDate)) {
              totalToTransfer = addition(totalToTransfer, subtract(escrowReward.total, escrowReward.amountClaimed));
              continue;
            }

            if (escrowReward.claimedUntil == now) continue;

            reward = subtract(escrowReward.total, escrowReward.amountClaimed) / subtract(endDate, escrowReward.claimedUntil);
            reward = multiply(reward, subtract(now, escrowReward.claimedUntil));
            if (addition(escrowReward.amountClaimed, reward) > escrowReward.total) {
              reward = subtract(escrowReward.total, escrowReward.amountClaimed);
            }

            totalToTransfer = addition(totalToTransfer, reward);
        }

        return totalToTransfer;
    }
    /*
    * @notice Claim vested tokens
    * @param who The address to claim on behalf of
    */
    function claimTokens(address who) public nonReentrant {
        require(currentEscrowSlot[who] > 0, "StakingRewardsEscrow/invalid-address");
        require(oldestEscrowSlot[who] < currentEscrowSlot[who], "StakingRewardsEscrow/no-slot-to-claim");

        uint256 lastSlotToClaim = (subtract(currentEscrowSlot[who], oldestEscrowSlot[who]) > slotsToClaim) ?
          addition(oldestEscrowSlot[who], subtract(slotsToClaim, 1)) : subtract(currentEscrowSlot[who], 1);

        EscrowSlot storage escrowReward;

        uint256 totalToTransfer;
        uint256 endDate;
        uint256 reward;

        for (uint i = oldestEscrowSlot[who]; i <= lastSlotToClaim; i++) {
            escrowReward = escrows[who][i];
            endDate      = addition(escrowReward.startDate, escrowReward.duration);

            if (escrowReward.amountClaimed >= escrowReward.total) {
              oldestEscrowSlot[who] = addition(oldestEscrowSlot[who], 1);
              continue;
            }

            if (both(escrowReward.claimedUntil < endDate, now >= endDate)) {
              totalToTransfer            = addition(totalToTransfer, subtract(escrowReward.total, escrowReward.amountClaimed));
              escrowReward.amountClaimed = escrowReward.total;
              escrowReward.claimedUntil  = now;
              oldestEscrowSlot[who]      = addition(oldestEscrowSlot[who], 1);
              continue;
            }

            if (escrowReward.claimedUntil == now) continue;

            reward = subtract(escrowReward.total, escrowReward.amountClaimed) / subtract(endDate, escrowReward.claimedUntil);
            reward = multiply(reward, subtract(now, escrowReward.claimedUntil));
            if (addition(escrowReward.amountClaimed, reward) > escrowReward.total) {
              reward = subtract(escrowReward.total, escrowReward.amountClaimed);
            }

            totalToTransfer            = addition(totalToTransfer, reward);
            escrowReward.amountClaimed = addition(escrowReward.amountClaimed, reward);
            escrowReward.claimedUntil  = now;
        }

        if (totalToTransfer > 0) {
            require(token.transfer(who, totalToTransfer), "StakingRewardsEscrow/cannot-transfer-rewards");
        }

        emit ClaimRewards(who, totalToTransfer);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"escrowRequestor_","type":"address"},{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"escrowDuration_","type":"uint256"},{"internalType":"uint256","name":"durationToStartEscrow_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"AddAuthorization","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"who","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClaimRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"who","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"currentEscrowSlot","type":"uint256"}],"name":"EscrowRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"parameter","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"data","type":"uint256"}],"name":"ModifyParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"parameter","type":"bytes32"},{"indexed":false,"internalType":"address","name":"data","type":"address"}],"name":"ModifyParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"RemoveAuthorization","type":"event"},{"inputs":[],"name":"MAX_DURATION_TO_START_ESCROW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_ESCROW_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SLOTS_TO_CLAIM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedAccounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"currentEscrowSlot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"durationToStartEscrow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"escrowDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"escrowRequestor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"escrowRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"escrows","outputs":[{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"uint256","name":"startDate","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"claimedUntil","type":"uint256"},{"internalType":"uint256","name":"amountClaimed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"getClaimableTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"getTokensBeingEscrowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"address","name":"data","type":"address"}],"name":"modifyParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"uint256","name":"data","type":"uint256"}],"name":"modifyParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"oldestEscrowSlot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"slotsToClaim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract TokenLike","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b5060405162001b4938038062001b49833981810160405260808110156200003757600080fd5b508051602082015160408301516060909301516001600055919290916001600160a01b0384166200009a5760405162461bcd60e51b815260040180806020018281038252602381526020018062001b266023913960400191505060405180910390fd5b6001600160a01b038316620000f6576040805162461bcd60e51b815260206004820152601f60248201527f5374616b696e6752657761726473457363726f772f6e756c6c2d746f6b656e00604482015290519081900360640190fd5b620001148215156301e133808411156001600160e01b036200028d16565b620001515760405162461bcd60e51b815260040180806020018281038252602c81526020018062001ac8602c913960400191505060405180910390fd5b6200016a8115158383106001600160e01b036200028d16565b620001a75760405162461bcd60e51b815260040180806020018281038252603281526020018062001af46032913960400191505060405180910390fd5b808211620001fc576040805162461bcd60e51b815260206004820152601560248201527f5374616b696e6752657761726473457363726f772f0000000000000000000000604482015290519081900360640190fd5b3360008181526001602081815260409283902091909155600280546001600160a01b038981166001600160a01b0319928316179092556006805492891692909116919091179055600385905560048490556019600555815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a15050505062000291565b1690565b61182780620002a16000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806376b655ba116100ad578063b4a6dc5511610071578063b4a6dc5514610324578063c310b19b1461034a578063df8de3e714610352578063fc0c546a14610378578063fe4f5890146103805761012c565b806376b655ba1461028657806380e1e5441461028e57806394f3f81d146102b257806397684988146102d85780639eed8896146102fe5761012c565b806335b28153116100f457806335b281531461021c57806341ab72fc1461024257806357c2c2ba1461024a578063628e2382146102525780636614f0101461025a5761012c565b806304a54aa7146101315780630794305e146101885780631b831ead146101a257806324ba5884146101c85780632877f04c146101ee575b600080fd5b61015d6004803603604081101561014757600080fd5b506001600160a01b0381351690602001356103a3565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6101906103dd565b60408051918252519081900360200190f35b610190600480360360208110156101b857600080fd5b50356001600160a01b03166103e5565b610190600480360360208110156101de57600080fd5b50356001600160a01b0316610654565b61021a6004803603604081101561020457600080fd5b506001600160a01b038135169060200135610666565b005b61021a6004803603602081101561023257600080fd5b50356001600160a01b031661098d565b610190610a30565b610190610a36565b610190610a3c565b61021a6004803603604081101561027057600080fd5b50803590602001356001600160a01b0316610a42565b610190610ba0565b610296610ba5565b604080516001600160a01b039092168252519081900360200190f35b61021a600480360360208110156102c857600080fd5b50356001600160a01b0316610bb4565b610190600480360360208110156102ee57600080fd5b50356001600160a01b0316610c56565b6101906004803603602081101561031457600080fd5b50356001600160a01b0316610c68565b6101906004803603602081101561033a57600080fd5b50356001600160a01b0316610da0565b610190610db2565b61021a6004803603602081101561036857600080fd5b50356001600160a01b0316610db9565b61029661122c565b61021a6004803603604081101561039657600080fd5b508035906020013561123b565b6009602090815260009283526040808420909152908252902080546001820154600283015460038401546004909401549293919290919085565b6301e1338081565b6001600160a01b03811660009081526008602052604081205461040a5750600061064f565b6001600160a01b0382166000908152600860209081526040808320546007909252909120541061043c5750600061064f565b6005546001600160a01b03831660009081526008602090815260408083205460079092528220549192916104709190611498565b1161049e576001600160a01b038316600090815260086020526040902054610499906001611498565b6104cf565b6001600160a01b0383166000908152600760205260409020546005546104cf91906104ca906001611498565b6114e0565b90506104d9611580565b6001600160a01b038416600090815260076020526040812054819081905b858111610646576001600160a01b0388166000908152600960209081526040808320848452825291829020825160a08101845281548152600182015492810183905260028201549381018490526003820154606082015260049091015460808201529650610564916114e0565b9250846000015185608001511061057a5761063e565b61058d8386606001511084421015611522565b156105af576105a8846104ca87600001518860800151611498565b935061063e565b42856060015114156105c05761063e565b6105ce838660600151611498565b6105e086600001518760800151611498565b816105e757fe5b049150610601826105fc428860600151611498565b611526565b915084600001516106168660800151846114e0565b11156106315761062e85600001518660800151611498565b91505b61063b84836114e0565b93505b6001016104f7565b50919450505050505b919050565b60016020526000908152604090205481565b600260005414156106be576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000819055546001600160a01b0316331461070c5760405162461bcd60e51b815260040180806020018281038252602281526020018061172b6022913960400191505060405180910390fd5b6001600160a01b038216610767576040805162461bcd60e51b815260206004820152601d60248201527f5374616b696e6752657761726473457363726f772f6e756c6c2d77686f000000604482015290519081900360640190fd5b600081116107bc576040805162461bcd60e51b815260206004820181905260248201527f5374616b696e6752657761726473457363726f772f6e756c6c2d616d6f756e74604482015290519081900360640190fd5b6001600160a01b038216600090815260086020908152604080832054600983528184206000198201855290925290912060010154600454610809921591610802916114e0565b421161157c565b156108bf576040805160a08101825282815242602080830182815260038054858701908152606086019485526000608087018181526001600160a01b038b168083526009875289832060088089528b8520805486529189529a842099518a5595516001808b0191909155935160028a01559651938801939093559151600490960195909555929092529290925290546108a1916114e0565b6001600160a01b038316600090815260086020526040902055610928565b6001600160a01b038216600090815260096020908152604080832060088352818420546000190184529091529020546108f890826114e0565b6001600160a01b038316600090815260096020908152604080832060088352818420546000190184529091529020555b6001600160a01b0382166000818152600860209081526040918290205482518581526000199091019181019190915281517f7b3eac1327ee14abf53fb3cdb1695e373bfa5501eff88bfe977a27109acacc3d929181900390910190a250506001600055565b33600090815260016020819052604090912054146109dc5760405162461bcd60e51b815260040180806020018281038252602b8152602001806117c7602b913960400191505060405180910390fd5b6001600160a01b03811660008181526001602081815260409283902091909155815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b60055481565b60035481565b60045481565b3360009081526001602081905260409091205414610a915760405162461bcd60e51b815260040180806020018281038252602b8152602001806117c7602b913960400191505060405180910390fd5b6001600160a01b038116610aec576040805162461bcd60e51b815260206004820152601e60248201527f5374616b696e6752657761726473457363726f772f6e756c6c2d646174610000604482015290519081900360640190fd5b816e32b9b1b937bba932b8bab2b9ba37b960891b1415610b2657600280546001600160a01b0319166001600160a01b038316179055610b5d565b60405162461bcd60e51b815260040180806020018281038252602e815260200180611600602e913960400191505060405180910390fd5b604080516001600160a01b0383168152905183917fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1919081900360200190a25050565b601981565b6002546001600160a01b031681565b3360009081526001602081905260409091205414610c035760405162461bcd60e51b815260040180806020018281038252602b8152602001806117c7602b913960400191505060405180910390fd5b6001600160a01b038116600081815260016020908152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b60086020526000908152604090205481565b6001600160a01b038116600090815260086020908152604080832054600790925282205410610c995750600061064f565b610ca1611580565b6001600160a01b03831660009081526007602052604081205481905b6001600160a01b0386166000908152600860205260409020548111610d96576001600160a01b0386166000908152600960209081526040808320848452825291829020825160a08101845281548152600182015492810183905260028201549381018490526003820154606082015260049091015460808201529550610d42916114e0565b91508360000151846080015110610d5857610d8e565b610d6b8285606001511083421015611522565b15610d7557610d8e565b610d8b836104ca86600001518760800151611498565b92505b600101610cbd565b5090949350505050565b60076020526000908152604090205481565b62278d0081565b60026000541415610e11576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260009081556001600160a01b038216815260086020526040902054610e695760405162461bcd60e51b81526004018080602001828103825260248152602001806116b26024913960400191505060405180910390fd5b6001600160a01b03811660009081526008602090815260408083205460079092529091205410610eca5760405162461bcd60e51b81526004018080602001828103825260258152602001806115db6025913960400191505060405180910390fd5b6005546001600160a01b0382166000908152600860209081526040808320546007909252822054919291610efe9190611498565b11610f2c576001600160a01b038216600090815260086020526040902054610f27906001611498565b610f58565b6001600160a01b038216600090815260076020526040902054600554610f5891906104ca906001611498565b6001600160a01b038316600090815260076020526040812054919250908190819081905b85811161111c576001600160a01b0387166000908152600960209081526040808320848452909152902060018101546002820154919650610fbc916114e0565b9250846000015485600401541061100f576001600160a01b038716600090815260076020526040902054610ff19060016114e0565b6001600160a01b038816600090815260076020526040902055611114565b6110228386600301541084421015611522565b156110715761103d846104ca87600001548860040154611498565b855460048701554260038701556001600160a01b038816600090815260076020526040902054909450610ff19060016114e0565b428560030154141561108257611114565b611090838660030154611498565b6110a286600001548760040154611498565b816110a957fe5b0491506110be826105fc428860030154611498565b915084600001546110d38660040154846114e0565b11156110ee576110eb85600001548660040154611498565b91505b6110f884836114e0565b93506111088560040154836114e0565b60048601554260038601555b600101610f7c565b5082156111e0576006546040805163a9059cbb60e01b81526001600160a01b038981166004830152602482018790529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561117957600080fd5b505af115801561118d573d6000803e3d6000fd5b505050506040513d60208110156111a357600080fd5b50516111e05760405162461bcd60e51b815260040180806020018281038252602c81526020018061179b602c913960400191505060405180910390fd5b6040805184815290516001600160a01b038816917f1f89f96333d3133000ee447473151fa9606543368f02271c9d95ae14f13bcc67919081900360200190a25050600160005550505050565b6006546001600160a01b031681565b336000908152600160208190526040909120541461128a5760405162461bcd60e51b815260040180806020018281038252602b8152602001806117c7602b913960400191505060405180910390fd5b816d32b9b1b937bba23ab930ba34b7b760911b141561133c576112b7600082116301e13380831115611522565b6112f25760405162461bcd60e51b815260040180806020018281038252602c815260200180611686602c913960400191505060405180910390fd5b60045481116113325760405162461bcd60e51b815260040180806020018281038252603781526020018061164f6037913960400191505060405180910390fd5b600381905561145e565b81746475726174696f6e546f5374617274457363726f7760581b14156113f45761136f6001821162278d00831115611522565b6113aa5760405162461bcd60e51b815260040180806020018281038252602d81526020018061176e602d913960400191505060405180910390fd5b60035481106113ea5760405162461bcd60e51b81526004018080602001828103825260338152602001806116f86033913960400191505060405180910390fd5b600481905561145e565b816b736c6f7473546f436c61696d60a01b1415610b265761141d60018210156019831115611522565b6114585760405162461bcd60e51b815260040180806020018281038252602b8152602001806115b0602b913960400191505060405180910390fd5b60058190555b60408051828152905183917fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a919081900360200190a25050565b808203828111156114da5760405162461bcd60e51b81526004018080602001828103825260228152602001806116d66022913960400191505060405180910390fd5b92915050565b808201828110156114da5760405162461bcd60e51b815260040180806020018281038252602181526020018061174d6021913960400191505060405180910390fd5b1690565b60008115806115415750508082028282828161153e57fe5b04145b6114da5760405162461bcd60e51b815260040180806020018281038252602181526020018061162e6021913960400191505060405180910390fd5b1790565b6040518060a001604052806000815260200160008152602001600081526020016000815260200160008152509056fe5374616b696e6752657761726473457363726f772f696e76616c69642d736c6f74732d746f2d636c61696d5374616b696e6752657761726473457363726f772f6e6f2d736c6f742d746f2d636c61696d5374616b696e6752657761726473457363726f772f6d6f646966792d756e7265636f676e697a65642d706172616d5374616b696e6752657761726473457363726f772f6d756c2d6f766572666c6f775374616b696e6752657761726473457363726f772f736d616c6c65722d7468616e2d73746172742d657363726f772d6475726174696f6e5374616b696e6752657761726473457363726f772f696e76616c69642d657363726f772d6475726174696f6e5374616b696e6752657761726473457363726f772f696e76616c69642d616464726573735374616b696e6752657761726473457363726f772f7375622d756e646572666c6f775374616b696e6752657761726473457363726f772f6e6f742d6c6f7765722d7468616e2d657363726f772d6475726174696f6e5374616b696e6752657761726473457363726f772f6e6f742d726571756573746f725374616b696e6752657761726473457363726f772f6164642d6f766572666c6f775374616b696e6752657761726473457363726f772f6475726174696f6e2d746f2d73746172742d657363726f775374616b696e6752657761726473457363726f772f63616e6e6f742d7472616e736665722d726577617264735374616b696e6752657761726473457363726f772f6163636f756e742d6e6f742d617574686f72697a6564a26469706673582212204bc7c338a69b84c48351cb2207f960ee034b8cf7230bee53d0e511031ec5f77964736f6c634300060700335374616b696e6752657761726473457363726f772f696e76616c69642d657363726f772d6475726174696f6e5374616b696e6752657761726473457363726f772f696e76616c69642d6475726174696f6e2d73746172742d657363726f775374616b696e6752657761726473457363726f772f6e756c6c2d726571756573746f72000000000000000000000000fa5e4955a11902f849ecaddef355db69c2036de60000000000000000000000006243d8cea23066d098a15582d81a598b4e8391f40000000000000000000000000000000000000000000000000000000000f0c8a00000000000000000000000000000000000000000000000000000000000127500

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806376b655ba116100ad578063b4a6dc5511610071578063b4a6dc5514610324578063c310b19b1461034a578063df8de3e714610352578063fc0c546a14610378578063fe4f5890146103805761012c565b806376b655ba1461028657806380e1e5441461028e57806394f3f81d146102b257806397684988146102d85780639eed8896146102fe5761012c565b806335b28153116100f457806335b281531461021c57806341ab72fc1461024257806357c2c2ba1461024a578063628e2382146102525780636614f0101461025a5761012c565b806304a54aa7146101315780630794305e146101885780631b831ead146101a257806324ba5884146101c85780632877f04c146101ee575b600080fd5b61015d6004803603604081101561014757600080fd5b506001600160a01b0381351690602001356103a3565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6101906103dd565b60408051918252519081900360200190f35b610190600480360360208110156101b857600080fd5b50356001600160a01b03166103e5565b610190600480360360208110156101de57600080fd5b50356001600160a01b0316610654565b61021a6004803603604081101561020457600080fd5b506001600160a01b038135169060200135610666565b005b61021a6004803603602081101561023257600080fd5b50356001600160a01b031661098d565b610190610a30565b610190610a36565b610190610a3c565b61021a6004803603604081101561027057600080fd5b50803590602001356001600160a01b0316610a42565b610190610ba0565b610296610ba5565b604080516001600160a01b039092168252519081900360200190f35b61021a600480360360208110156102c857600080fd5b50356001600160a01b0316610bb4565b610190600480360360208110156102ee57600080fd5b50356001600160a01b0316610c56565b6101906004803603602081101561031457600080fd5b50356001600160a01b0316610c68565b6101906004803603602081101561033a57600080fd5b50356001600160a01b0316610da0565b610190610db2565b61021a6004803603602081101561036857600080fd5b50356001600160a01b0316610db9565b61029661122c565b61021a6004803603604081101561039657600080fd5b508035906020013561123b565b6009602090815260009283526040808420909152908252902080546001820154600283015460038401546004909401549293919290919085565b6301e1338081565b6001600160a01b03811660009081526008602052604081205461040a5750600061064f565b6001600160a01b0382166000908152600860209081526040808320546007909252909120541061043c5750600061064f565b6005546001600160a01b03831660009081526008602090815260408083205460079092528220549192916104709190611498565b1161049e576001600160a01b038316600090815260086020526040902054610499906001611498565b6104cf565b6001600160a01b0383166000908152600760205260409020546005546104cf91906104ca906001611498565b6114e0565b90506104d9611580565b6001600160a01b038416600090815260076020526040812054819081905b858111610646576001600160a01b0388166000908152600960209081526040808320848452825291829020825160a08101845281548152600182015492810183905260028201549381018490526003820154606082015260049091015460808201529650610564916114e0565b9250846000015185608001511061057a5761063e565b61058d8386606001511084421015611522565b156105af576105a8846104ca87600001518860800151611498565b935061063e565b42856060015114156105c05761063e565b6105ce838660600151611498565b6105e086600001518760800151611498565b816105e757fe5b049150610601826105fc428860600151611498565b611526565b915084600001516106168660800151846114e0565b11156106315761062e85600001518660800151611498565b91505b61063b84836114e0565b93505b6001016104f7565b50919450505050505b919050565b60016020526000908152604090205481565b600260005414156106be576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000819055546001600160a01b0316331461070c5760405162461bcd60e51b815260040180806020018281038252602281526020018061172b6022913960400191505060405180910390fd5b6001600160a01b038216610767576040805162461bcd60e51b815260206004820152601d60248201527f5374616b696e6752657761726473457363726f772f6e756c6c2d77686f000000604482015290519081900360640190fd5b600081116107bc576040805162461bcd60e51b815260206004820181905260248201527f5374616b696e6752657761726473457363726f772f6e756c6c2d616d6f756e74604482015290519081900360640190fd5b6001600160a01b038216600090815260086020908152604080832054600983528184206000198201855290925290912060010154600454610809921591610802916114e0565b421161157c565b156108bf576040805160a08101825282815242602080830182815260038054858701908152606086019485526000608087018181526001600160a01b038b168083526009875289832060088089528b8520805486529189529a842099518a5595516001808b0191909155935160028a01559651938801939093559151600490960195909555929092529290925290546108a1916114e0565b6001600160a01b038316600090815260086020526040902055610928565b6001600160a01b038216600090815260096020908152604080832060088352818420546000190184529091529020546108f890826114e0565b6001600160a01b038316600090815260096020908152604080832060088352818420546000190184529091529020555b6001600160a01b0382166000818152600860209081526040918290205482518581526000199091019181019190915281517f7b3eac1327ee14abf53fb3cdb1695e373bfa5501eff88bfe977a27109acacc3d929181900390910190a250506001600055565b33600090815260016020819052604090912054146109dc5760405162461bcd60e51b815260040180806020018281038252602b8152602001806117c7602b913960400191505060405180910390fd5b6001600160a01b03811660008181526001602081815260409283902091909155815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b60055481565b60035481565b60045481565b3360009081526001602081905260409091205414610a915760405162461bcd60e51b815260040180806020018281038252602b8152602001806117c7602b913960400191505060405180910390fd5b6001600160a01b038116610aec576040805162461bcd60e51b815260206004820152601e60248201527f5374616b696e6752657761726473457363726f772f6e756c6c2d646174610000604482015290519081900360640190fd5b816e32b9b1b937bba932b8bab2b9ba37b960891b1415610b2657600280546001600160a01b0319166001600160a01b038316179055610b5d565b60405162461bcd60e51b815260040180806020018281038252602e815260200180611600602e913960400191505060405180910390fd5b604080516001600160a01b0383168152905183917fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1919081900360200190a25050565b601981565b6002546001600160a01b031681565b3360009081526001602081905260409091205414610c035760405162461bcd60e51b815260040180806020018281038252602b8152602001806117c7602b913960400191505060405180910390fd5b6001600160a01b038116600081815260016020908152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b60086020526000908152604090205481565b6001600160a01b038116600090815260086020908152604080832054600790925282205410610c995750600061064f565b610ca1611580565b6001600160a01b03831660009081526007602052604081205481905b6001600160a01b0386166000908152600860205260409020548111610d96576001600160a01b0386166000908152600960209081526040808320848452825291829020825160a08101845281548152600182015492810183905260028201549381018490526003820154606082015260049091015460808201529550610d42916114e0565b91508360000151846080015110610d5857610d8e565b610d6b8285606001511083421015611522565b15610d7557610d8e565b610d8b836104ca86600001518760800151611498565b92505b600101610cbd565b5090949350505050565b60076020526000908152604090205481565b62278d0081565b60026000541415610e11576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260009081556001600160a01b038216815260086020526040902054610e695760405162461bcd60e51b81526004018080602001828103825260248152602001806116b26024913960400191505060405180910390fd5b6001600160a01b03811660009081526008602090815260408083205460079092529091205410610eca5760405162461bcd60e51b81526004018080602001828103825260258152602001806115db6025913960400191505060405180910390fd5b6005546001600160a01b0382166000908152600860209081526040808320546007909252822054919291610efe9190611498565b11610f2c576001600160a01b038216600090815260086020526040902054610f27906001611498565b610f58565b6001600160a01b038216600090815260076020526040902054600554610f5891906104ca906001611498565b6001600160a01b038316600090815260076020526040812054919250908190819081905b85811161111c576001600160a01b0387166000908152600960209081526040808320848452909152902060018101546002820154919650610fbc916114e0565b9250846000015485600401541061100f576001600160a01b038716600090815260076020526040902054610ff19060016114e0565b6001600160a01b038816600090815260076020526040902055611114565b6110228386600301541084421015611522565b156110715761103d846104ca87600001548860040154611498565b855460048701554260038701556001600160a01b038816600090815260076020526040902054909450610ff19060016114e0565b428560030154141561108257611114565b611090838660030154611498565b6110a286600001548760040154611498565b816110a957fe5b0491506110be826105fc428860030154611498565b915084600001546110d38660040154846114e0565b11156110ee576110eb85600001548660040154611498565b91505b6110f884836114e0565b93506111088560040154836114e0565b60048601554260038601555b600101610f7c565b5082156111e0576006546040805163a9059cbb60e01b81526001600160a01b038981166004830152602482018790529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561117957600080fd5b505af115801561118d573d6000803e3d6000fd5b505050506040513d60208110156111a357600080fd5b50516111e05760405162461bcd60e51b815260040180806020018281038252602c81526020018061179b602c913960400191505060405180910390fd5b6040805184815290516001600160a01b038816917f1f89f96333d3133000ee447473151fa9606543368f02271c9d95ae14f13bcc67919081900360200190a25050600160005550505050565b6006546001600160a01b031681565b336000908152600160208190526040909120541461128a5760405162461bcd60e51b815260040180806020018281038252602b8152602001806117c7602b913960400191505060405180910390fd5b816d32b9b1b937bba23ab930ba34b7b760911b141561133c576112b7600082116301e13380831115611522565b6112f25760405162461bcd60e51b815260040180806020018281038252602c815260200180611686602c913960400191505060405180910390fd5b60045481116113325760405162461bcd60e51b815260040180806020018281038252603781526020018061164f6037913960400191505060405180910390fd5b600381905561145e565b81746475726174696f6e546f5374617274457363726f7760581b14156113f45761136f6001821162278d00831115611522565b6113aa5760405162461bcd60e51b815260040180806020018281038252602d81526020018061176e602d913960400191505060405180910390fd5b60035481106113ea5760405162461bcd60e51b81526004018080602001828103825260338152602001806116f86033913960400191505060405180910390fd5b600481905561145e565b816b736c6f7473546f436c61696d60a01b1415610b265761141d60018210156019831115611522565b6114585760405162461bcd60e51b815260040180806020018281038252602b8152602001806115b0602b913960400191505060405180910390fd5b60058190555b60408051828152905183917fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a919081900360200190a25050565b808203828111156114da5760405162461bcd60e51b81526004018080602001828103825260228152602001806116d66022913960400191505060405180910390fd5b92915050565b808201828110156114da5760405162461bcd60e51b815260040180806020018281038252602181526020018061174d6021913960400191505060405180910390fd5b1690565b60008115806115415750508082028282828161153e57fe5b04145b6114da5760405162461bcd60e51b815260040180806020018281038252602181526020018061162e6021913960400191505060405180910390fd5b1790565b6040518060a001604052806000815260200160008152602001600081526020016000815260200160008152509056fe5374616b696e6752657761726473457363726f772f696e76616c69642d736c6f74732d746f2d636c61696d5374616b696e6752657761726473457363726f772f6e6f2d736c6f742d746f2d636c61696d5374616b696e6752657761726473457363726f772f6d6f646966792d756e7265636f676e697a65642d706172616d5374616b696e6752657761726473457363726f772f6d756c2d6f766572666c6f775374616b696e6752657761726473457363726f772f736d616c6c65722d7468616e2d73746172742d657363726f772d6475726174696f6e5374616b696e6752657761726473457363726f772f696e76616c69642d657363726f772d6475726174696f6e5374616b696e6752657761726473457363726f772f696e76616c69642d616464726573735374616b696e6752657761726473457363726f772f7375622d756e646572666c6f775374616b696e6752657761726473457363726f772f6e6f742d6c6f7765722d7468616e2d657363726f772d6475726174696f6e5374616b696e6752657761726473457363726f772f6e6f742d726571756573746f725374616b696e6752657761726473457363726f772f6164642d6f766572666c6f775374616b696e6752657761726473457363726f772f6475726174696f6e2d746f2d73746172742d657363726f775374616b696e6752657761726473457363726f772f63616e6e6f742d7472616e736665722d726577617264735374616b696e6752657761726473457363726f772f6163636f756e742d6e6f742d617574686f72697a6564a26469706673582212204bc7c338a69b84c48351cb2207f960ee034b8cf7230bee53d0e511031ec5f77964736f6c63430006070033

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

000000000000000000000000fa5e4955a11902f849ecaddef355db69c2036de60000000000000000000000006243d8cea23066d098a15582d81a598b4e8391f40000000000000000000000000000000000000000000000000000000000f0c8a00000000000000000000000000000000000000000000000000000000000127500

-----Decoded View---------------
Arg [0] : escrowRequestor_ (address): 0xfA5e4955a11902f849ECaddEf355Db69C2036de6
Arg [1] : token_ (address): 0x6243d8CEA23066d098a15582d81a598b4e8391F4
Arg [2] : escrowDuration_ (uint256): 15780000
Arg [3] : durationToStartEscrow_ (uint256): 1209600

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000fa5e4955a11902f849ecaddef355db69c2036de6
Arg [1] : 0000000000000000000000006243d8cea23066d098a15582d81a598b4e8391f4
Arg [2] : 0000000000000000000000000000000000000000000000000000000000f0c8a0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000127500


Deployed Bytecode Sourcemap

3574:12861:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3574:12861:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;5725:66:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;5725:66:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5205:65;;;:::i;:::-;;;;;;;;;;;;;;;;12309:1681;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12309:1681:0;-1:-1:-1;;;;;12309:1681:0;;:::i;3651:51::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3651:51:0;-1:-1:-1;;;;;3651:51:0;;:::i;10167:882::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;10167:882:0;;;;;;;;:::i;:::-;;3812:164;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3812:164:0;-1:-1:-1;;;;;3812:164:0;;:::i;5110:29::-;;;:::i;4872:31::-;;;:::i;5012:38::-;;;:::i;9561:379::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9561:379:0;;;;;;-1:-1:-1;;;;;9561:379:0;;:::i;5348:59::-;;;:::i;4783:32::-;;;:::i;:::-;;;;-1:-1:-1;;;;;4783:32:0;;;;;;;;;;;;;;4095:170;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4095:170:0;-1:-1:-1;;;;;4095:170:0;;:::i;5605:76::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5605:76:0;-1:-1:-1;;;;;5605:76:0;;:::i;11280:861::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11280:861:0;-1:-1:-1;;;;;11280:861:0;;:::i;5482:75::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5482:75:0;-1:-1:-1;;;;;5482:75:0;;:::i;5277:64::-;;;:::i;14099:2333::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14099:2333:0;-1:-1:-1;;;;;14099:2333:0;;:::i;5174:22::-;;;:::i;8331:1058::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8331:1058:0;;;;;;;:::i;5725:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5205:65::-;5262:8;5205:65;:::o;12309:1681::-;-1:-1:-1;;;;;12395:22:0;;12371:7;12395:22;;;:17;:22;;;;;;12391:41;;-1:-1:-1;12431:1:0;12424:8;;12391:41;-1:-1:-1;;;;;12472:22:0;;;;;;:17;:22;;;;;;;;;12447:16;:21;;;;;;;:47;12443:61;;-1:-1:-1;12503:1:0;12496:8;;12443:61;12602:12;;-1:-1:-1;;;;;12553:22:0;;12517:23;12553:22;;;:17;:22;;;;;;;;;12577:16;:21;;;;;;12517:23;;12602:12;12544:55;;12553:22;12544:8;:55::i;:::-;:70;12543:182;;-1:-1:-1;;;;;12699:22:0;;;;;;:17;:22;;;;;;12690:35;;12723:1;12690:8;:35::i;:::-;12543:182;;;-1:-1:-1;;;;;12638:21:0;;;;;;:16;:21;;;;;;12670:12;;12629:58;;12638:21;12661:25;;12684:1;12661:8;:25::i;:::-;12629:8;:58::i;:::-;12517:208;;12738:30;;:::i;:::-;-1:-1:-1;;;;;12882:21:0;;12781:23;12882:21;;;:16;:21;;;;;;12781:23;;;;12868:1080;12910:15;12905:1;:20;12868:1080;;-1:-1:-1;;;;;12962:12:0;;;;;;:7;:12;;;;;;;;:15;;;;;;;;;12947:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13007:55:0;;:8;:55::i;:::-;12992:70;;13113:12;:18;;;13083:12;:26;;;:48;13079:95;;13150:8;;13079:95;13194:57;13227:7;13199:12;:25;;;:35;13243:7;13236:3;:14;;13194:4;:57::i;:::-;13190:222;;;13288:83;13297:15;13314:56;13323:12;:18;;;13343:12;:26;;;13314:8;:56::i;13288:83::-;13270:101;;13388:8;;13190:222;13461:3;13432:12;:25;;;:32;13428:46;;;13466:8;;13428:46;13559:44;13568:7;13577:12;:25;;;13559:8;:44::i;:::-;13500:56;13509:12;:18;;;13529:12;:26;;;13500:8;:56::i;:::-;:103;;;;;;13491:112;;13627:58;13636:6;13644:40;13653:3;13658:12;:25;;;13644:8;:40::i;:::-;13627:8;:58::i;:::-;13618:67;;13751:12;:18;;;13704:44;13713:12;:26;;;13741:6;13704:8;:44::i;:::-;:65;13700:169;;;13797:56;13806:12;:18;;;13826:12;:26;;;13797:8;:56::i;:::-;13788:65;;13700:169;13903:33;13912:15;13929:6;13903:8;:33::i;:::-;13885:51;;12868:1080;12927:3;;12868:1080;;;-1:-1:-1;13967:15:0;;-1:-1:-1;;;;;12309:1681:0;;;;:::o;3651:51::-;;;;;;;;;;;;;:::o;10167:882::-;2437:1;3043:7;;:19;;3035:63;;;;;-1:-1:-1;;;3035:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2437:1;3176:7;:18;;;10260:15;-1:-1:-1;;;;;10260:15:0::1;10279:10;10260:29;10252:76;;;;-1:-1:-1::0;;;10252:76:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;10347:17:0;::::1;10339:59;;;::::0;;-1:-1:-1;;;10339:59:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;10426:1;10417:6;:10;10409:55;;;::::0;;-1:-1:-1;;;10409:55:0;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;10500:22:0;::::1;;::::0;;;:17:::1;:22;::::0;;;;;;;;10555:7:::1;:12:::0;;;;;-1:-1:-1;;10568:26:0;;10555:40;;;;;;;;10593:1:::1;10555:50;::::0;10607:21:::1;::::0;10493:137:::1;::::0;10500:27;;10546:83:::1;::::0;:8:::1;:83::i;:::-;10540:3;:89;10493:6;:137::i;:::-;10477:493;;;10694:47;::::0;;::::1;::::0;::::1;::::0;;;;;10713:3:::1;10694:47;::::0;;::::1;::::0;;;10718:14:::1;::::0;;10694:47;;;;;;;;;;;;-1:-1:-1;10694:47:0;;;;;;-1:-1:-1;;;;;10655:12:0;::::1;::::0;;;:7:::1;:12:::0;;;;;10668:17:::1;:22:::0;;;;;;;;10655:36;;;;;;;;:86;;;;;;::::1;::::0;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;::::1;::::0;;::::1;::::0;;;;10788:22;;;;;;;;;;10779:35:::1;::::0;:8:::1;:35::i;:::-;-1:-1:-1::0;;;;;10754:22:0;::::1;;::::0;;;:17:::1;:22;::::0;;;;:60;10477:493:::1;;;-1:-1:-1::0;;;;;10903:12:0;::::1;;::::0;;;:7:::1;:12;::::0;;;;;;;10916:17:::1;:22:::0;;;;;;-1:-1:-1;;10916:26:0;10903:40;;;;;;;:46;10894:64:::1;::::0;10951:6;10894:8:::1;:64::i;:::-;-1:-1:-1::0;;;;;10845:12:0;::::1;;::::0;;;:7:::1;:12;::::0;;;;;;;10858:17:::1;:22:::0;;;;;;-1:-1:-1;;10858:26:0;10845:40;;;;;;;:113;10477:493:::1;-1:-1:-1::0;;;;;10987:54:0;::::1;11014:22;::::0;;;:17:::1;:22;::::0;;;;;;;;;10987:54;;;;;-1:-1:-1;;11014:26:0;;;10987:54;;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;::::1;-1:-1:-1::0;;2393:1:0;3355:7;:22;10167:882::o;3812:164::-;4418:10;4399:30;;;;:18;:30;;;;;;;;;:35;4391:91;;;;-1:-1:-1;;;4391:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3896:27:0;::::1;;::::0;;;3926:1:::1;3896:27;::::0;;;;;;;;:31;;;;3943:25;;;;;;;::::1;::::0;;;;;;;;::::1;3812:164:::0;:::o;5110:29::-;;;;:::o;4872:31::-;;;;:::o;5012:38::-;;;;:::o;9561:379::-;4418:10;4399:30;;;;:18;:30;;;;;;;;;:35;4391:91;;;;-1:-1:-1;;;4391:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9661:18:0;::::1;9653:61;;;::::0;;-1:-1:-1;;;9653:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;9731:9;-1:-1:-1::0;;;9731:30:0::1;9727:156;;;9778:15;:22:::0;;-1:-1:-1;;;;;;9778:22:0::1;-1:-1:-1::0;;;;;9778:22:0;::::1;;::::0;;9727:156:::1;;;9827:56;;-1:-1:-1::0;;;9827:56:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9727:156;9899:33;::::0;;-1:-1:-1;;;;;9899:33:0;::::1;::::0;;;;9916:9;;9899:33:::1;::::0;;;;;::::1;::::0;;::::1;9561:379:::0;;:::o;5348:59::-;5405:2;5348:59;:::o;4783:32::-;;;-1:-1:-1;;;;;4783:32:0;;:::o;4095:170::-;4418:10;4399:30;;;;:18;:30;;;;;;;;;:35;4391:91;;;;-1:-1:-1;;;4391:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4182:27:0;::::1;4212:1;4182:27:::0;;;:18:::1;:27;::::0;;;;;;;:31;;;;4229:28;;;;;;;::::1;::::0;;;;;;;;::::1;4095:170:::0;:::o;5605:76::-;;;;;;;;;;;;;:::o;11280:861::-;-1:-1:-1;;;;;11395:22:0;;11346:7;11395:22;;;:17;:22;;;;;;;;;11370:16;:21;;;;;;:47;11366:61;;-1:-1:-1;11426:1:0;11419:8;;11366:61;11440:30;;:::i;:::-;-1:-1:-1;;;;;11557:21:0;;11483;11557;;;:16;:21;;;;;;11483;;11543:558;-1:-1:-1;;;;;11585:22:0;;;;;;:17;:22;;;;;;11580:27;;11543:558;;-1:-1:-1;;;;;11644:12:0;;;;;;:7;:12;;;;;;;;:15;;;;;;;;;11629:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11689:55:0;;:8;:55::i;:::-;11674:70;;11795:12;:18;;;11765:12;:26;;;:48;11761:95;;11832:8;;11761:95;11876:57;11909:7;11881:12;:25;;;:35;11925:7;11918:3;:14;;11876:4;:57::i;:::-;11872:104;;;11952:8;;11872:104;12008:81;12017:13;12032:56;12041:12;:18;;;12061:12;:26;;;12032:8;:56::i;12008:81::-;11992:97;;11543:558;11609:3;;11543:558;;;-1:-1:-1;12120:13:0;;11280:861;-1:-1:-1;;;;11280:861:0:o;5482:75::-;;;;;;;;;;;;;:::o;5277:64::-;5334:7;5277:64;:::o;14099:2333::-;2437:1;3043:7;;:19;;3035:63;;;;;-1:-1:-1;;;3035:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2437:1;3176:7;:18;;;-1:-1:-1;;;;;14172:22:0;::::1;::::0;;:17:::1;:22;::::0;;;;;14164:75:::1;;;;-1:-1:-1::0;;;14164:75:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;14282:22:0;::::1;;::::0;;;:17:::1;:22;::::0;;;;;;;;14258:16:::1;:21:::0;;;;;;;:46:::1;14250:96;;;;-1:-1:-1::0;;;14250:96:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14444:12;::::0;-1:-1:-1;;;;;14395:22:0;::::1;14359:23;14395:22:::0;;;:17:::1;:22;::::0;;;;;;;;14419:16:::1;:21:::0;;;;;;14359:23;;14444:12;14386:55:::1;::::0;14395:22;14386:8:::1;:55::i;:::-;:70;14385:182;;-1:-1:-1::0;;;;;14541:22:0;::::1;;::::0;;;:17:::1;:22;::::0;;;;;14532:35:::1;::::0;14565:1:::1;14532:8;:35::i;:::-;14385:182;;;-1:-1:-1::0;;;;;14480:21:0;::::1;;::::0;;;:16:::1;:21;::::0;;;;;14512:12:::1;::::0;14471:58:::1;::::0;14480:21;14503:25:::1;::::0;14526:1:::1;14503:8;:25::i;14471:58::-;-1:-1:-1::0;;;;;14725:21:0;::::1;14580:31;14725:21:::0;;;:16:::1;:21;::::0;;;;;14359:208;;-1:-1:-1;14580:31:0;;;;;;;14711:1505:::1;14753:15;14748:1;:20;14711:1505;;-1:-1:-1::0;;;;;14805:12:0;::::1;;::::0;;;:7:::1;:12;::::0;;;;;;;:15;;;;;;;;14859:22:::1;::::0;::::1;::::0;14883:21:::1;::::0;::::1;::::0;14805:15;;-1:-1:-1;14850:55:0::1;::::0;:8:::1;:55::i;:::-;14835:70;;14956:12;:18;;;14926:12;:26;;;:48;14922:170;;-1:-1:-1::0;;;;;15026:21:0;::::1;;::::0;;;:16:::1;:21;::::0;;;;;15017:34:::1;::::0;15049:1:::1;15017:8;:34::i;:::-;-1:-1:-1::0;;;;;14993:21:0;::::1;;::::0;;;:16:::1;:21;::::0;;;;:58;15068:8:::1;;14922:170;15112:57;15145:7;15117:12;:25;;;:35;15161:7;15154:3;:14;;15112:4;:57::i;:::-;15108:426;;;15217:83;15226:15;15243:56;15252:12;:18;;;15272:12;:26;;;15243:8;:56::i;15217:83::-;15346:18:::0;;15317:26:::1;::::0;::::1;:47:::0;15410:3:::1;15381:25;::::0;::::1;:32:::0;-1:-1:-1;;;;;15468:21:0;::::1;15346:18;15468:21:::0;;;:16:::1;:21;::::0;;;;;15188:112;;-1:-1:-1;15459:34:0::1;::::0;-1:-1:-1;15459:8:0::1;:34::i;15108:426::-;15583:3;15554:12;:25;;;:32;15550:46;;;15588:8;;15550:46;15681:44;15690:7;15699:12;:25;;;15681:8;:44::i;:::-;15622:56;15631:12;:18;;;15651:12;:26;;;15622:8;:56::i;:::-;:103;;;;;;15613:112;;15749:58;15758:6;15766:40;15775:3;15780:12;:25;;;15766:8;:40::i;15749:58::-;15740:67;;15873:12;:18;;;15826:44;15835:12;:26;;;15863:6;15826:8;:44::i;:::-;:65;15822:169;;;15919:56;15928:12;:18;;;15948:12;:26;;;15919:8;:56::i;:::-;15910:65;;15822:169;16036:33;16045:15;16062:6;16036:8;:33::i;:::-;16007:62;;16113:44;16122:12;:26;;;16150:6;16113:8;:44::i;:::-;16084:26;::::0;::::1;:73:::0;16201:3:::1;16172:25;::::0;::::1;:32:::0;14711:1505:::1;14770:3;;14711:1505;;;-1:-1:-1::0;16232:19:0;;16228:145:::1;;16276:5;::::0;:36:::1;::::0;;-1:-1:-1;;;16276:36:0;;-1:-1:-1;;;;;16276:36:0;;::::1;;::::0;::::1;::::0;;;;;;;;;:5;;;::::1;::::0;:14:::1;::::0;:36;;;;;::::1;::::0;;;;;;;;:5:::1;::::0;:36;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;16276:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;16276:36:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;16276:36:0;16268:93:::1;;;;-1:-1:-1::0;;;16268:93:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16390:34;::::0;;;;;;;-1:-1:-1;;;;;16390:34:0;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;-1:-1:-1::0;;2393:1:0;3355:7;:22;-1:-1:-1;;;;14099:2333:0:o;5174:22::-;;;-1:-1:-1;;;;;5174:22:0;;:::o;8331:1058::-;4418:10;4399:30;;;;:18;:30;;;;;;;;;:35;4391:91;;;;-1:-1:-1;;;4391:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8427:9:::1;-1:-1:-1::0;;;8427:29:0::1;8423:909;;;8479:43;8491:1;8484:4;:8;5262;8494:4;:27;;8479:4;:43::i;:::-;8471:100;;;;-1:-1:-1::0;;;8471:100:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8599:21;;8592:4;:28;8584:96;;;;-1:-1:-1::0;;;8584:96:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8693:14;:21:::0;;;8423:909:::1;;;8745:9;-1:-1:-1::0;;;8745:36:0::1;8741:591;;;8804:52;8816:1;8809:4;:8;5334:7;8819:4;:36;;8804:4;:52::i;:::-;8796:110;;;;-1:-1:-1::0;;;8796:110:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8934:14;;8927:4;:21;8919:85;;;;-1:-1:-1::0;;;8919:85:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9017:21;:28:::0;;;8741:591:::1;;;9076:9;-1:-1:-1::0;;;9076:27:0::1;9072:260;;;9126:43;9139:1;9131:4;:9;;5405:2;9142:4;:26;;9126:4;:43::i;:::-;9118:99;;;;-1:-1:-1::0;;;9118:99:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9230:12;:19:::0;;;9072:260:::1;9348:33;::::0;;;;;;;9365:9;;9348:33:::1;::::0;;;;;::::1;::::0;;::::1;8331:1058:::0;;:::o;7685:156::-;7783:5;;;7778:16;;;;7770:63;;;;-1:-1:-1;;;7770:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7685:156;;;;:::o;7524:155::-;7622:5;;;7617:16;;;;7609:62;;;;-1:-1:-1;;;7609:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7280:104;7367:9;;7360:17::o;7847:160::-;7904:6;7931;;;:30;;-1:-1:-1;;7946:5:0;;;7960:1;7955;7946:5;7955:1;7941:15;;;;;:20;7931:30;7923:76;;;;-1:-1:-1;;;7923:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7390:105;7479:8;;7472:16::o;3574:12861::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://4bc7c338a69b84c48351cb2207f960ee034b8cf7230bee53d0e511031ec5f779

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.