ETH Price: $3,966.32 (+1.91%)

Contract

0x04D6c50d54015450ce2d7Fe4b1010Df3cE69930F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Hex Staking181583062023-09-17 21:08:35455 days ago1694984915IN
0x04D6c50d...3cE69930F
0 ETH0.00022399.34240486
Stake End159769292022-11-15 17:29:23761 days ago1668533363IN
0x04D6c50d...3cE69930F
0 ETH0.0053499429.34919201
Stake End154896882022-09-07 10:08:34830 days ago1662545314IN
0x04D6c50d...3cE69930F
0 ETH0.0026105311.32899993
Stake End154500822022-09-01 1:48:59837 days ago1661996939IN
0x04D6c50d...3cE69930F
0 ETH0.0039332217.06634088
Stake Start154169782022-08-26 18:43:10842 days ago1661539390IN
0x04D6c50d...3cE69930F
0 ETH0.00445117.11213898
Approve Address1152920802022-08-07 0:49:37862 days ago1659833377IN
0x04D6c50d...3cE69930F
0 ETH0.000189456.53059578
Stake End152919952022-08-07 0:29:02862 days ago1659832142IN
0x04D6c50d...3cE69930F
0 ETH0.001230336.69439032
Stake Start152700882022-08-03 14:50:15865 days ago1659538215IN
0x04D6c50d...3cE69930F
0 ETH0.0052125620.04123909
Stake Start152587822022-08-01 20:20:53867 days ago1659385253IN
0x04D6c50d...3cE69930F
0 ETH0.0038673114.8683331
Stake Start152582002022-08-01 18:10:02867 days ago1659377402IN
0x04D6c50d...3cE69930F
0 ETH0.0031875612.25495352
Stake Start152511572022-07-31 15:51:06868 days ago1659282666IN
0x04D6c50d...3cE69930F
0 ETH0.0030517311.73275697
Stake Start152415012022-07-30 3:45:10870 days ago1659152710IN
0x04D6c50d...3cE69930F
0 ETH0.001366765.2547019
Stake Start152414902022-07-30 3:42:51870 days ago1659152571IN
0x04D6c50d...3cE69930F
0 ETH0.000186815.98017958
Stake Start152406412022-07-30 0:36:14870 days ago1659141374IN
0x04D6c50d...3cE69930F
0 ETH0.002496249.17298807
Stake End152405652022-07-30 0:18:22870 days ago1659140302IN
0x04D6c50d...3cE69930F
0 ETH0.000982339.6917985
Allow Hedron152405582022-07-30 0:17:04870 days ago1659140224IN
0x04D6c50d...3cE69930F
0 ETH0.000232228.06904555
Stake Start152405012022-07-30 0:03:15870 days ago1659139395IN
0x04D6c50d...3cE69930F
0 ETH0.001806375.80051229
Set Hex Staking152404822022-07-30 0:00:16870 days ago1659139216IN
0x04D6c50d...3cE69930F
0 ETH0.000205057.12503792
Set Hex Staking152343022022-07-29 0:50:25871 days ago1659055825IN
0x04D6c50d...3cE69930F
0 ETH0.0003182311.06246597
Transfer Custodi...152340742022-07-29 0:02:52871 days ago1659052972IN
0x04D6c50d...3cE69930F
0 ETH0.000872198.93518782
Set Octa Swap Ad...152126902022-07-25 16:12:34874 days ago1658765554IN
0x04D6c50d...3cE69930F
0 ETH0.0045929662.8450642
Approve Address2152114422022-07-25 11:36:57874 days ago1658749017IN
0x04D6c50d...3cE69930F
0 ETH0.000289636.27534662
Finalize Octa To...150414252022-06-28 20:15:03901 days ago1656447303IN
0x04D6c50d...3cE69930F
0 ETH0.0011437440.1693739
Set Octa Address150414182022-06-28 20:13:20901 days ago1656447200IN
0x04D6c50d...3cE69930F
0 ETH0.0020719142.95004171
Approve Address1150414162022-06-28 20:13:07901 days ago1656447187IN
0x04D6c50d...3cE69930F
0 ETH0.0022264848.28634613
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:
OctaStaking

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-20
*/

//SPDX-License-Identifier: UNLICENSED
/*

THE CONTRACT, SUPPORTING WEBSITES, AND ALL OTHER INTERFACES (THE SOFTWARE) IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

BY INTERACTING WITH THE SOFTWARE YOU ARE ASSERTING THAT YOU BEAR ALL THE RISKS ASSOCIATED WITH DOING SO. AN INFINITE NUMBER OF UNPREDICTABLE THINGS MAY GO WRONG WHICH COULD POTENTIALLY RESULT IN CRITICAL FAILURE AND FINANCIAL LOSS. BY INTERACTING WITH THE SOFTWARE YOU ARE ASSERTING THAT YOU AGREE THERE IS NO RECOURSE AVAILABLE AND YOU WILL NOT SEEK IT.

INTERACTING WITH THE SOFTWARE SHALL NOT BE CONSIDERED AN INVESTMENT OR A COMMON ENTERPRISE. INSTEAD, INTERACTING WITH THE SOFTWARE IS EQUIVALENT TO CARPOOLING WITH FRIENDS TO SAVE ON GAS AND EXPERIENCE THE BENEFITS OF THE H.O.V. LANE.

YOU SHALL HAVE NO EXPECTATION OF PROFIT OR ANY TYPE OF GAIN FROM THE WORK OF OTHER PEOPLE.

*/

pragma solidity ^0.8.2;

abstract contract ReentrancyGuard {
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    modifier nonReentrant() {
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
        _status = _ENTERED;
        _;
        _status = _NOT_ENTERED;
    }
}

contract OctaAA {
    function swapAndReceive(address, uint256) public returns (uint256) {}
}

contract TOKEN1 {
    function balanceOf(address account) external view returns (uint256) {}
    function transfer(address recipient, uint256 amount) external returns (bool) {}
}

contract TOKEN2 {
    function balanceOf(address account) external view returns (uint256) {}
    function transfer(address recipient, uint256 amount) external returns (bool) {}
    function approve(address spender, uint256 amount) external returns (bool) {}
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {}
    function stakeStart(uint256 newStakedHearts, uint256 newStakedDays) external {}
    function stakeEnd(uint256 stakeIndex, uint40 stakeIdParam) external {}
    function stakeGoodAccounting(address stakerAddr, uint256 stakeIndex, uint40 stakeIdParam) external {}
    function stakeCount(address stakerAddr) external view returns (uint256) {}
    function stakeLists(address owner, uint256 stakeIndex) external view returns (uint40, uint72, uint72, uint16, uint16, uint16, bool) {}
    function currentDay() external view returns (uint256) {}
}

contract TOKEN3 {
    function balanceOf(address account) external view returns (uint256) {}
    function transfer(address recipient, uint256 amount) external returns (bool) {}
    function mintNative(uint256 stakeIndex, uint40 stakeId) external returns (uint256) {}
}

contract OctaStaking is ReentrancyGuard {
    modifier onlyCustodian1() {
        require(msg.sender == custodian1);
      _;
    }

    modifier onlyCustodian2() {
        require(msg.sender == custodian2);
      _;
    }

    modifier isStakeActivated {
        require(stakeActivated == true);
        _;
    }

    event onStakeStart(
        address indexed customerAddress,
        uint256 uniqueID,
        uint256 timestamp
    );

    event onStakeEnd(
        address indexed customerAddress,
        uint256 uniqueID,
        uint256 returnAmount,
        uint256 octaAmount,
        uint256 timestamp
    );

    struct Stats {
        uint256 staked;
        uint256 activeStakes;
    }

    mapping(address => Stats) public playerStats;

    uint256 public totalStakeBalance = 0;
    uint256 public totalPlayer = 0;
    address public custodian1;
    address public custodian2;
    address public approvedAddress1;
    address public approvedAddress2;

    TOKEN1 octaToken;
    TOKEN2 hexToken;
    TOKEN3 hedronToken;
    OctaAA octaSwap;
    address public octaSwapAddress;
    bool public finalizeOctaAddress = false;
    bool public hasTransferred = false;

    struct StakeStore {
      uint40 stakeID;
      uint256 hexAmount;
      uint72 stakeShares;
      uint16 lockedDay;
      uint16 stakedDays;
      uint16 unlockedDay;
      bool started;
      bool ended;
      uint256 bonusMultiplier;
      bool swapAll;
    }

    uint256 public currentBonusMultiplier = 10;
    uint256 public minimumHex = 100000000000;
    bool public stakeActivated = false;
    bool public hedronAllowed = true;
    mapping(address => mapping(uint256 => StakeStore)) public stakeLists;

    constructor() ReentrancyGuard() {
        custodian1 = address(0xf989A6939f5fC6d85118E912aB28a699EBdEa9Ce);
        custodian2 = address(0xfE8D614431E5fea2329B05839f29B553b1Cb99A2);
        octaToken = TOKEN1(address(0x0));
        hexToken = TOKEN2(address(0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39));
        hedronToken = TOKEN3(address(0x3819f64f282bf135d62168C1e513280dAF905e06));
        octaSwapAddress = address(0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39);
        octaSwap = OctaAA(octaSwapAddress);
    }

    function transferCustodianTokens() onlyCustodian1 external {
        require(hasTransferred == false);
        uint256 _amount = octaToken.balanceOf(address(this)) / 20;
        octaToken.transfer(address(0xcAAB2DCA6fC1af9D43972095aA148738a854abe2), _amount);
        octaToken.transfer(custodian2, _amount);
        hasTransferred = true;
        stakeActivated = true;
    }

    function checkAndTransferHEX(uint256 _amount) private {
        require(hexToken.transferFrom(msg.sender, address(this), _amount) == true, "transfer must succeed");
    }

    function stakeStart(uint256 _amount, uint256 _days, bool _swapAll) nonReentrant isStakeActivated external {
        require(_amount >= minimumHex && _amount <= 4722366482869645213695);
        require(hexToken.stakeCount(address(this)) < type(uint256).max);

        checkAndTransferHEX(_amount);
        hexToken.stakeStart(_amount, _days);

        uint256 _stakeIndex;
        uint40 _stakeID;
        uint72 _stakeShares;
        uint16 _lockedDay;
        uint16 _stakedDays;

        _stakeIndex = hexToken.stakeCount(address(this));
        _stakeIndex -= 1;

        (_stakeID,,_stakeShares,_lockedDay,_stakedDays,,) = hexToken.stakeLists(address(this), _stakeIndex);

        uint256 _uniqueID =  uint256(keccak256(abi.encodePacked(_stakeID, _stakeShares)));
        require(stakeLists[msg.sender][_uniqueID].started == false);
        stakeLists[msg.sender][_uniqueID].started = true;

        stakeLists[msg.sender][_uniqueID] = StakeStore(_stakeID, _amount, _stakeShares, _lockedDay, _stakedDays, uint16(0), true, false, currentBonusMultiplier, _swapAll);

        totalStakeBalance = totalStakeBalance + _amount;
        playerStats[msg.sender].activeStakes += 1;

        if (playerStats[msg.sender].staked == 0) {
            totalPlayer++;
        }

        playerStats[msg.sender].staked += _amount;

        emit onStakeStart(msg.sender, _uniqueID, block.timestamp);
    }

    function _stakeSecurityCheck(address _stakerAddress, uint256 _stakeIndex, uint40 _stakeIdParam, uint256 _uniqueID) private view returns (uint16) {
        uint40 _stakeID;
        uint72 _stakedHearts;
        uint72 _stakeShares;
        uint16 _lockedDay;
        uint16 _stakedDays;
        uint16 _unlockedDay;

        (_stakeID,_stakedHearts,_stakeShares,_lockedDay,_stakedDays,_unlockedDay,) = hexToken.stakeLists(address(this), _stakeIndex);
        require(stakeLists[_stakerAddress][_uniqueID].started == true && stakeLists[_stakerAddress][_uniqueID].ended == false);
        require(stakeLists[_stakerAddress][_uniqueID].stakeID == _stakeIdParam && _stakeIdParam == _stakeID);
        require(stakeLists[_stakerAddress][_uniqueID].hexAmount == uint256(_stakedHearts));
        require(stakeLists[_stakerAddress][_uniqueID].stakeShares == _stakeShares);
        require(stakeLists[_stakerAddress][_uniqueID].lockedDay == _lockedDay);
        require(stakeLists[_stakerAddress][_uniqueID].stakedDays == _stakedDays);

        return _unlockedDay;
    }

    function _stakeEnd(address _stakerAddress, uint256 _stakeIndex, uint40 _stakeIdParam, uint256 _uniqueID) private {
        uint16 _unlockedDay = _stakeSecurityCheck(_stakerAddress, _stakeIndex, _stakeIdParam, _uniqueID);

        if (_unlockedDay == 0) {
          stakeLists[_stakerAddress][_uniqueID].unlockedDay = uint16(hexToken.currentDay());
        } else {
          stakeLists[_stakerAddress][_uniqueID].unlockedDay = _unlockedDay;
        }

        uint256 _balance = hexToken.balanceOf(address(this));

        if (hedronAllowed == true) {
            hedronToken.mintNative(_stakeIndex, _stakeIdParam);
            hedronToken.transfer(_stakerAddress, hedronToken.balanceOf(address(this)));
        }

        hexToken.stakeEnd(_stakeIndex, _stakeIdParam); // revert or 0 or less or equal or more hex returned.
        stakeLists[_stakerAddress][_uniqueID].ended = true;

        uint256 _amount = hexToken.balanceOf(address(this)) - _balance;
        uint256 _stakedAmount = stakeLists[_stakerAddress][_uniqueID].hexAmount;
        uint256 _bonusDividend;

        if (_amount <= _stakedAmount) {
          hexToken.transfer(_stakerAddress, _amount);
        } else if (_amount > _stakedAmount) {
          uint256 _bonusAmount;
          uint256 _difference = _amount - _stakedAmount;

          if (stakeLists[_stakerAddress][_uniqueID].swapAll) {
              _bonusDividend = octaSwap.swapAndReceive(_stakerAddress, _amount);
              _bonusDividend = _difference * _bonusDividend / _amount;
          } else {
              hexToken.transfer(_stakerAddress, _stakedAmount);
              _bonusDividend = octaSwap.swapAndReceive(_stakerAddress, _difference);
          }

          _bonusAmount = _bonusDividend * stakeLists[_stakerAddress][_uniqueID].bonusMultiplier / 100;

          if (_bonusAmount > 0) {
            if (octaToken.balanceOf(address(this)) >= _bonusAmount) {
              octaToken.transfer(_stakerAddress, _bonusAmount);
            } else {
              octaToken.transfer(_stakerAddress, octaToken.balanceOf(address(this)));
            }
          }
        }

        totalStakeBalance = totalStakeBalance - _stakedAmount;
        playerStats[_stakerAddress].activeStakes -= 1;

        emit onStakeEnd(_stakerAddress, _uniqueID, _amount, _bonusDividend, block.timestamp);
    }

    function stakeEnd(uint256 _stakeIndex, uint40 _stakeIdParam, uint256 _uniqueID) nonReentrant external {
        _stakeEnd(msg.sender, _stakeIndex, _stakeIdParam, _uniqueID);
    }

    function stakeGoodAccounting(address _stakerAddress, uint256 _stakeIndex, uint40 _stakeIdParam, uint256 _uniqueID) nonReentrant external {
        hexToken.stakeGoodAccounting(address(this), _stakeIndex, _stakeIdParam);
        _stakeEnd(_stakerAddress, _stakeIndex, _stakeIdParam, _uniqueID);
    }

    function setHexStaking(bool _stakeActivated) onlyCustodian1 external {
        stakeActivated = _stakeActivated;
    }

    function allowHedron(bool _state) onlyCustodian1 external {
        hedronAllowed = _state;
    }

    function setMinimumStakingAmount(uint256 _minimumHex) onlyCustodian1 external {
        minimumHex = _minimumHex;
    }

    function setBonusMultiplier(uint256 _newBonusMultiplier) onlyCustodian1 external {
        require(_newBonusMultiplier >= 0 || _newBonusMultiplier <= 100);
        currentBonusMultiplier = _newBonusMultiplier;
    }

    function approveAddress1(address _proposedAddress) onlyCustodian1 external {
        approvedAddress1 = _proposedAddress;
    }

    function approveAddress2(address _proposedAddress) onlyCustodian2 external {
        approvedAddress2 = _proposedAddress;
    }

    function setOctaSwapAddress() onlyCustodian1 external {
        require(approvedAddress1 == approvedAddress2);
        hexToken.approve(octaSwapAddress, 0);
        hexToken.approve(approvedAddress1, type(uint256).max);
        octaSwapAddress = approvedAddress1;
        octaSwap = OctaAA(octaSwapAddress);
    }

    function setOctaAddress(address _proposedAddress) onlyCustodian1 external {
        require(finalizeOctaAddress == false);
        octaToken = TOKEN1(_proposedAddress);
    }

    function finalizeOctaTokenAddress() onlyCustodian1 external {
        finalizeOctaAddress = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"uniqueID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"returnAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"octaAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"onStakeEnd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"uniqueID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"onStakeStart","type":"event"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"allowHedron","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_proposedAddress","type":"address"}],"name":"approveAddress1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_proposedAddress","type":"address"}],"name":"approveAddress2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"approvedAddress1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"approvedAddress2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentBonusMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"custodian1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"custodian2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalizeOctaAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalizeOctaTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hasTransferred","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hedronAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumHex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"octaSwapAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"playerStats","outputs":[{"internalType":"uint256","name":"staked","type":"uint256"},{"internalType":"uint256","name":"activeStakes","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBonusMultiplier","type":"uint256"}],"name":"setBonusMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_stakeActivated","type":"bool"}],"name":"setHexStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minimumHex","type":"uint256"}],"name":"setMinimumStakingAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_proposedAddress","type":"address"}],"name":"setOctaAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setOctaSwapAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakeActivated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_stakeIndex","type":"uint256"},{"internalType":"uint40","name":"_stakeIdParam","type":"uint40"},{"internalType":"uint256","name":"_uniqueID","type":"uint256"}],"name":"stakeEnd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_stakerAddress","type":"address"},{"internalType":"uint256","name":"_stakeIndex","type":"uint256"},{"internalType":"uint40","name":"_stakeIdParam","type":"uint40"},{"internalType":"uint256","name":"_uniqueID","type":"uint256"}],"name":"stakeGoodAccounting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakeLists","outputs":[{"internalType":"uint40","name":"stakeID","type":"uint40"},{"internalType":"uint256","name":"hexAmount","type":"uint256"},{"internalType":"uint72","name":"stakeShares","type":"uint72"},{"internalType":"uint16","name":"lockedDay","type":"uint16"},{"internalType":"uint16","name":"stakedDays","type":"uint16"},{"internalType":"uint16","name":"unlockedDay","type":"uint16"},{"internalType":"bool","name":"started","type":"bool"},{"internalType":"bool","name":"ended","type":"bool"},{"internalType":"uint256","name":"bonusMultiplier","type":"uint256"},{"internalType":"bool","name":"swapAll","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_days","type":"uint256"},{"internalType":"bool","name":"_swapAll","type":"bool"}],"name":"stakeStart","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalPlayer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakeBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transferCustodianTokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260006002819055600355600c805461ffff60a01b19169055600a600d5564174876e800600e55600f805461ffff191661010017905534801561004557600080fd5b506001600055600480546001600160a01b031990811673f989a6939f5fc6d85118e912ab28a699ebdea9ce1790915560058054821673fe8d614431e5fea2329b05839f29b553b1cb99a21790556008805482169055600980548216732b591e99afe9f32eaa6214f7b7629768c40eeb39908117909155600a80548316733819f64f282bf135d62168c1e513280daf905e06179055600c8054831682179055600b8054909216179055612039806100fc6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063a10c3839116100f9578063d74f954a11610097578063edd9614711610071578063edd9614714610494578063f0f4606e146104a7578063fd58e63a146104ba578063feed18ff146104cd57600080fd5b8063d74f954a14610470578063dbc9ae0314610483578063ea26e7961461048c57600080fd5b8063c2452abd116100d3578063c2452abd14610406578063c494a08014610418578063cdafbbb614610421578063d36a4ac91461045d57600080fd5b8063a10c3839146103cd578063a371f3ab146103e0578063b8f82c85146103f357600080fd5b80635af78833116101665780636f2f6b39116101405780636f2f6b391461038a5780637c180a681461039e5780639abc186a146103b15780639e2131c6146103ba57600080fd5b80635af788331461033f5780636185e0dc1461036a5780636603f1661461037757600080fd5b80632fc6bd87116101a25780632fc6bd87146102fa578063322608401461030d57806334949cc1146103155780634b82cab71461032c57600080fd5b8063079d9075146101c95780632607443b146101d35780632e70ecdd146102d6575b600080fd5b6101d16104e0565b005b6102656101e1366004611ccf565b60106020908152600092835260408084209091529082529020805460018201546002830154600384015460049094015464ffffffffff9093169391926001600160481b0382169261ffff600160481b8404811693600160581b8104821693600160681b82049092169260ff600160781b8304811693600160801b909304811692168a565b6040805164ffffffffff909b168b5260208b01999099526001600160481b039097169789019790975261ffff94851660608901529284166080880152921660a086015290151560c0850152151560e08401526101008301919091521515610120820152610140015b60405180910390f35b600c546102ea90600160a01b900460ff1681565b60405190151581526020016102cd565b6101d1610308366004611cf9565b6106b2565b6101d16106ce565b61031e60025481565b6040519081526020016102cd565b6101d161033a366004611d20565b610828565b600754610352906001600160a01b031681565b6040516001600160a01b0390911681526020016102cd565b600f546102ea9060ff1681565b6101d1610385366004611d44565b610852565b600c546102ea90600160a81b900460ff1681565b6101d16103ac366004611d7d565b610e1c565b61031e600d5481565b6101d16103c8366004611d7d565b610e55565b600554610352906001600160a01b031681565b600c54610352906001600160a01b031681565b600654610352906001600160a01b031681565b600f546102ea90610100900460ff1681565b61031e60035481565b61044861042f366004611d7d565b6001602081905260009182526040909120805491015482565b604080519283526020830191909152016102cd565b6101d161046b366004611d20565b610e8e565b600454610352906001600160a01b031681565b61031e600e5481565b6101d1610ebf565b6101d16104a2366004611dab565b610eeb565b6101d16104b5366004611d7d565b610f9a565b6101d16104c8366004611cf9565b610fea565b6101d16104db366004611df1565b611006565b6004546001600160a01b031633146104f757600080fd5b600c54600160a81b900460ff161561050e57600080fd5b6008546040516370a0823160e01b81523060048201526000916014916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561055c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105809190611e29565b61058a9190611e58565b60085460405163a9059cbb60e01b81529192506001600160a01b03169063a9059cbb906105d19073caab2dca6fc1af9d43972095aa148738a854abe2908590600401611e7a565b6020604051808303816000875af11580156105f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106149190611e93565b5060085460055460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb9261064b929116908590600401611e7a565b6020604051808303816000875af115801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068e9190611e93565b5050600c805460ff60a81b1916600160a81b179055600f805460ff19166001179055565b6004546001600160a01b031633146106c957600080fd5b600e55565b6004546001600160a01b031633146106e557600080fd5b6007546006546001600160a01b0390811691161461070257600080fd5b600954600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261073992911690600090600401611e7a565b6020604051808303816000875af1158015610758573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077c9190611e93565b5060095460065460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926107b59291169060001990600401611e7a565b6020604051808303816000875af11580156107d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f89190611e93565b50600654600c80546001600160a01b039092166001600160a01b03199283168117909155600b8054909216179055565b6004546001600160a01b0316331461083f57600080fd5b600f805460ff1916911515919091179055565b60026000540361087d5760405162461bcd60e51b815260040161087490611eb0565b60405180910390fd5b6002600055600f5460ff16151560011461089657600080fd5b600e5483101580156108af57506001600160481b038311155b6108b857600080fd5b60095460405163033060d960e41b8152306004820152600019916001600160a01b0316906333060d9090602401602060405180830381865afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109269190611e29565b1061093057600080fd5b61093983611043565b600954604051630a54871760e31b815260048101859052602481018490526001600160a01b03909116906352a438b890604401600060405180830381600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b505060095460405163033060d960e41b8152306004820152600093508392508291829182916001600160a01b0316906333060d9090602401602060405180830381865afa1580156109ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a139190611e29565b9450610a20600186611ee7565b600954604051632607443b60e01b81529196506001600160a01b031690632607443b90610a539030908990600401611e7a565b60e060405180830381865afa158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a949190611f27565b50506040516001600160d81b031960d887901b1660208201526001600160b81b031960b885901b16602582015294985091965094509250600091602e01905060408051808303601f19018152918152815160209283012033600090815260108452828120828252909352912060020154909150600160781b900460ff1615610b1b57600080fd5b600160106000336001600160a01b03166001600160a01b031681526020019081526020016000206000838152602001908152602001600020600201600f6101000a81548160ff0219169083151502179055506040518061014001604052808664ffffffffff1681526020018a8152602001856001600160481b031681526020018461ffff1681526020018361ffff168152602001600061ffff168152602001600115158152602001600015158152602001600d54815260200188151581525060106000336001600160a01b03166001600160a01b03168152602001908152602001600020600083815260200190815260200160002060008201518160000160006101000a81548164ffffffffff021916908364ffffffffff1602179055506020820151816001015560408201518160020160006101000a8154816001600160481b0302191690836001600160481b0316021790555060608201518160020160096101000a81548161ffff021916908361ffff160217905550608082015181600201600b6101000a81548161ffff021916908361ffff16021790555060a082015181600201600d6101000a81548161ffff021916908361ffff16021790555060c082015181600201600f6101000a81548160ff02191690831515021790555060e08201518160020160106101000a81548160ff02191690831515021790555061010082015181600301556101208201518160040160006101000a81548160ff02191690831515021790555090505088600254610d569190611fb3565b60025533600090815260016020819052604082208101805491929091610d7d908490611fb3565b9091555050336000908152600160205260408120549003610dae5760038054906000610da883611fcb565b91905055505b33600090815260016020526040812080548b9290610dcd908490611fb3565b90915550506040805182815242602082015233917ffcb8123dad95f24c74ef07cb7e9635f8bfabd8882383ff341ce8999eb7aa3860910160405180910390a25050600160005550505050505050565b6004546001600160a01b03163314610e3357600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610e6c57600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b03163314610ea557600080fd5b600f80549115156101000261ff0019909216919091179055565b6004546001600160a01b03163314610ed657600080fd5b600c805460ff60a01b1916600160a01b179055565b600260005403610f0d5760405162461bcd60e51b815260040161087490611eb0565b60026000556009546040516332e7b8d960e11b81523060048201526024810185905264ffffffffff841660448201526001600160a01b03909116906365cf71b290606401600060405180830381600087803b158015610f6b57600080fd5b505af1158015610f7f573d6000803e3d6000fd5b50505050610f8f8484848461110a565b505060016000555050565b6004546001600160a01b03163314610fb157600080fd5b600c54600160a01b900460ff1615610fc857600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b0316331461100157600080fd5b600d55565b6002600054036110285760405162461bcd60e51b815260040161087490611eb0565b60026000556110393384848461110a565b5050600160005550565b6009546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561109a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110be9190611e93565b15156001146111075760405162461bcd60e51b81526020600482015260156024820152741d1c985b9cd9995c881b5d5cdd081cdd58d8d95959605a1b6044820152606401610874565b50565b600061111885858585611a30565b90508061ffff166000036111e757600960009054906101000a90046001600160a01b03166001600160a01b0316635c9302c96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611179573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119d9190611e29565b6001600160a01b03861660009081526010602090815260408083208684529091529020600201805461ffff92909216600160681b0261ffff60681b19909216919091179055611226565b6001600160a01b03851660009081526010602090815260408083208584529091529020600201805461ffff60681b1916600160681b61ffff8416021790555b6009546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561126f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112939190611e29565b600f54909150610100900460ff1615156001036113ff57600a54604051633e04ae6960e21b81526004810187905264ffffffffff861660248201526001600160a01b039091169063f812b9a4906044016020604051808303816000875af1158015611302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113269190611e29565b50600a546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90889083906370a0823190602401602060405180830381865afa158015611379573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139d9190611e29565b6040518363ffffffff1660e01b81526004016113ba929190611e7a565b6020604051808303816000875af11580156113d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fd9190611e93565b505b600954604051631a1804d160e11b81526004810187905264ffffffffff861660248201526001600160a01b039091169063343009a290604401600060405180830381600087803b15801561145257600080fd5b505af1158015611466573d6000803e3d6000fd5b505050506001600160a01b038681166000908152601060209081526040808320878452909152808220600201805460ff60801b1916600160801b17905560095490516370a0823160e01b8152306004820152919284929116906370a0823190602401602060405180830381865afa1580156114e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115099190611e29565b6115139190611ee7565b6001600160a01b03881660009081526010602090815260408083208884529091528120600101549192508183116115bf5760095460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90611576908c908790600401611e7a565b6020604051808303816000875af1158015611595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b99190611e93565b50611990565b81831115611990576000806115d48486611ee7565b6001600160a01b038c1660009081526010602090815260408083208c845290915290206004015490915060ff161561169757600b54604051625525a160e01b81526001600160a01b0390911690625525a190611636908e908990600401611e7a565b6020604051808303816000875af1158015611655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116799190611e29565b9250846116868483611fe4565b6116909190611e58565b9250611783565b60095460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906116c9908e908890600401611e7a565b6020604051808303816000875af11580156116e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170c9190611e93565b50600b54604051625525a160e01b81526001600160a01b0390911690625525a19061173d908e908590600401611e7a565b6020604051808303816000875af115801561175c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117809190611e29565b92505b6001600160a01b038b1660009081526010602090815260408083208b84529091529020600301546064906117b79085611fe4565b6117c19190611e58565b9150811561198d576008546040516370a0823160e01b815230600482015283916001600160a01b0316906370a0823190602401602060405180830381865afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118359190611e29565b106118b55760085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061186c908e908690600401611e7a565b6020604051808303816000875af115801561188b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118af9190611e93565b5061198d565b6008546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb908d9083906370a0823190602401602060405180830381865afa158015611907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192b9190611e29565b6040518363ffffffff1660e01b8152600401611948929190611e7a565b6020604051808303816000875af1158015611967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198b9190611e93565b505b50505b8160025461199e9190611ee7565b6002556001600160a01b0389166000908152600160208190526040822081018054919290916119ce908490611ee7565b909155505060408051878152602081018590529081018290524260608201526001600160a01b038a16907f3cfedd205f4a938d3e671ceda6c16675f20d3c7aa1bf7190f572afd767dba2489060800160405180910390a2505050505050505050565b600954604051632607443b60e01b81526000918291829182918291829182916001600160a01b031690632607443b90611a6f9030908e90600401611e7a565b60e060405180830381865afa158015611a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab09190611f27565b50809650819750829850839950849a50859b50505050505050601060008c6001600160a01b03166001600160a01b031681526020019081526020016000206000898152602001908152602001600020600201600f9054906101000a900460ff16151560011515148015611b5157506001600160a01b038b1660009081526010602090815260408083208b8452909152902060020154600160801b900460ff16155b611b5a57600080fd5b6001600160a01b038b1660009081526010602090815260408083208b845290915290205464ffffffffff8a81169116148015611ba357508564ffffffffff168964ffffffffff16145b611bac57600080fd5b6001600160a01b038b1660009081526010602090815260408083208b84529091529020600101546001600160481b03861614611be757600080fd5b6001600160a01b038b1660009081526010602090815260408083208b84529091529020600201546001600160481b03858116911614611c2557600080fd5b6001600160a01b038b1660009081526010602090815260408083208b845290915290206002015461ffff848116600160481b9092041614611c6557600080fd5b6001600160a01b038b1660009081526010602090815260408083208b845290915290206002015461ffff838116600160581b9092041614611ca557600080fd5b9a9950505050505050505050565b80356001600160a01b0381168114611cca57600080fd5b919050565b60008060408385031215611ce257600080fd5b611ceb83611cb3565b946020939093013593505050565b600060208284031215611d0b57600080fd5b5035919050565b801515811461110757600080fd5b600060208284031215611d3257600080fd5b8135611d3d81611d12565b9392505050565b600080600060608486031215611d5957600080fd5b83359250602084013591506040840135611d7281611d12565b809150509250925092565b600060208284031215611d8f57600080fd5b611d3d82611cb3565b64ffffffffff8116811461110757600080fd5b60008060008060808587031215611dc157600080fd5b611dca85611cb3565b9350602085013592506040850135611de181611d98565b9396929550929360600135925050565b600080600060608486031215611e0657600080fd5b833592506020840135611e1881611d98565b929592945050506040919091013590565b600060208284031215611e3b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082611e7557634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b600060208284031215611ea557600080fd5b8151611d3d81611d12565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600082821015611ef957611ef9611e42565b500390565b80516001600160481b0381168114611cca57600080fd5b805161ffff81168114611cca57600080fd5b600080600080600080600060e0888a031215611f4257600080fd5b8751611f4d81611d98565b9650611f5b60208901611efe565b9550611f6960408901611efe565b9450611f7760608901611f15565b9350611f8560808901611f15565b9250611f9360a08901611f15565b915060c0880151611fa381611d12565b8091505092959891949750929550565b60008219821115611fc657611fc6611e42565b500190565b600060018201611fdd57611fdd611e42565b5060010190565b6000816000190483118215151615611ffe57611ffe611e42565b50029056fea264697066735822122076db3e68708af05786b66831063657c9681c9beb40f36d388fddf0676810fb0064736f6c634300080f0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c8063a10c3839116100f9578063d74f954a11610097578063edd9614711610071578063edd9614714610494578063f0f4606e146104a7578063fd58e63a146104ba578063feed18ff146104cd57600080fd5b8063d74f954a14610470578063dbc9ae0314610483578063ea26e7961461048c57600080fd5b8063c2452abd116100d3578063c2452abd14610406578063c494a08014610418578063cdafbbb614610421578063d36a4ac91461045d57600080fd5b8063a10c3839146103cd578063a371f3ab146103e0578063b8f82c85146103f357600080fd5b80635af78833116101665780636f2f6b39116101405780636f2f6b391461038a5780637c180a681461039e5780639abc186a146103b15780639e2131c6146103ba57600080fd5b80635af788331461033f5780636185e0dc1461036a5780636603f1661461037757600080fd5b80632fc6bd87116101a25780632fc6bd87146102fa578063322608401461030d57806334949cc1146103155780634b82cab71461032c57600080fd5b8063079d9075146101c95780632607443b146101d35780632e70ecdd146102d6575b600080fd5b6101d16104e0565b005b6102656101e1366004611ccf565b60106020908152600092835260408084209091529082529020805460018201546002830154600384015460049094015464ffffffffff9093169391926001600160481b0382169261ffff600160481b8404811693600160581b8104821693600160681b82049092169260ff600160781b8304811693600160801b909304811692168a565b6040805164ffffffffff909b168b5260208b01999099526001600160481b039097169789019790975261ffff94851660608901529284166080880152921660a086015290151560c0850152151560e08401526101008301919091521515610120820152610140015b60405180910390f35b600c546102ea90600160a01b900460ff1681565b60405190151581526020016102cd565b6101d1610308366004611cf9565b6106b2565b6101d16106ce565b61031e60025481565b6040519081526020016102cd565b6101d161033a366004611d20565b610828565b600754610352906001600160a01b031681565b6040516001600160a01b0390911681526020016102cd565b600f546102ea9060ff1681565b6101d1610385366004611d44565b610852565b600c546102ea90600160a81b900460ff1681565b6101d16103ac366004611d7d565b610e1c565b61031e600d5481565b6101d16103c8366004611d7d565b610e55565b600554610352906001600160a01b031681565b600c54610352906001600160a01b031681565b600654610352906001600160a01b031681565b600f546102ea90610100900460ff1681565b61031e60035481565b61044861042f366004611d7d565b6001602081905260009182526040909120805491015482565b604080519283526020830191909152016102cd565b6101d161046b366004611d20565b610e8e565b600454610352906001600160a01b031681565b61031e600e5481565b6101d1610ebf565b6101d16104a2366004611dab565b610eeb565b6101d16104b5366004611d7d565b610f9a565b6101d16104c8366004611cf9565b610fea565b6101d16104db366004611df1565b611006565b6004546001600160a01b031633146104f757600080fd5b600c54600160a81b900460ff161561050e57600080fd5b6008546040516370a0823160e01b81523060048201526000916014916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561055c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105809190611e29565b61058a9190611e58565b60085460405163a9059cbb60e01b81529192506001600160a01b03169063a9059cbb906105d19073caab2dca6fc1af9d43972095aa148738a854abe2908590600401611e7a565b6020604051808303816000875af11580156105f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106149190611e93565b5060085460055460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb9261064b929116908590600401611e7a565b6020604051808303816000875af115801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068e9190611e93565b5050600c805460ff60a81b1916600160a81b179055600f805460ff19166001179055565b6004546001600160a01b031633146106c957600080fd5b600e55565b6004546001600160a01b031633146106e557600080fd5b6007546006546001600160a01b0390811691161461070257600080fd5b600954600c5460405163095ea7b360e01b81526001600160a01b039283169263095ea7b39261073992911690600090600401611e7a565b6020604051808303816000875af1158015610758573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077c9190611e93565b5060095460065460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926107b59291169060001990600401611e7a565b6020604051808303816000875af11580156107d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f89190611e93565b50600654600c80546001600160a01b039092166001600160a01b03199283168117909155600b8054909216179055565b6004546001600160a01b0316331461083f57600080fd5b600f805460ff1916911515919091179055565b60026000540361087d5760405162461bcd60e51b815260040161087490611eb0565b60405180910390fd5b6002600055600f5460ff16151560011461089657600080fd5b600e5483101580156108af57506001600160481b038311155b6108b857600080fd5b60095460405163033060d960e41b8152306004820152600019916001600160a01b0316906333060d9090602401602060405180830381865afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109269190611e29565b1061093057600080fd5b61093983611043565b600954604051630a54871760e31b815260048101859052602481018490526001600160a01b03909116906352a438b890604401600060405180830381600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b505060095460405163033060d960e41b8152306004820152600093508392508291829182916001600160a01b0316906333060d9090602401602060405180830381865afa1580156109ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a139190611e29565b9450610a20600186611ee7565b600954604051632607443b60e01b81529196506001600160a01b031690632607443b90610a539030908990600401611e7a565b60e060405180830381865afa158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a949190611f27565b50506040516001600160d81b031960d887901b1660208201526001600160b81b031960b885901b16602582015294985091965094509250600091602e01905060408051808303601f19018152918152815160209283012033600090815260108452828120828252909352912060020154909150600160781b900460ff1615610b1b57600080fd5b600160106000336001600160a01b03166001600160a01b031681526020019081526020016000206000838152602001908152602001600020600201600f6101000a81548160ff0219169083151502179055506040518061014001604052808664ffffffffff1681526020018a8152602001856001600160481b031681526020018461ffff1681526020018361ffff168152602001600061ffff168152602001600115158152602001600015158152602001600d54815260200188151581525060106000336001600160a01b03166001600160a01b03168152602001908152602001600020600083815260200190815260200160002060008201518160000160006101000a81548164ffffffffff021916908364ffffffffff1602179055506020820151816001015560408201518160020160006101000a8154816001600160481b0302191690836001600160481b0316021790555060608201518160020160096101000a81548161ffff021916908361ffff160217905550608082015181600201600b6101000a81548161ffff021916908361ffff16021790555060a082015181600201600d6101000a81548161ffff021916908361ffff16021790555060c082015181600201600f6101000a81548160ff02191690831515021790555060e08201518160020160106101000a81548160ff02191690831515021790555061010082015181600301556101208201518160040160006101000a81548160ff02191690831515021790555090505088600254610d569190611fb3565b60025533600090815260016020819052604082208101805491929091610d7d908490611fb3565b9091555050336000908152600160205260408120549003610dae5760038054906000610da883611fcb565b91905055505b33600090815260016020526040812080548b9290610dcd908490611fb3565b90915550506040805182815242602082015233917ffcb8123dad95f24c74ef07cb7e9635f8bfabd8882383ff341ce8999eb7aa3860910160405180910390a25050600160005550505050505050565b6004546001600160a01b03163314610e3357600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610e6c57600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b03163314610ea557600080fd5b600f80549115156101000261ff0019909216919091179055565b6004546001600160a01b03163314610ed657600080fd5b600c805460ff60a01b1916600160a01b179055565b600260005403610f0d5760405162461bcd60e51b815260040161087490611eb0565b60026000556009546040516332e7b8d960e11b81523060048201526024810185905264ffffffffff841660448201526001600160a01b03909116906365cf71b290606401600060405180830381600087803b158015610f6b57600080fd5b505af1158015610f7f573d6000803e3d6000fd5b50505050610f8f8484848461110a565b505060016000555050565b6004546001600160a01b03163314610fb157600080fd5b600c54600160a01b900460ff1615610fc857600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b0316331461100157600080fd5b600d55565b6002600054036110285760405162461bcd60e51b815260040161087490611eb0565b60026000556110393384848461110a565b5050600160005550565b6009546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561109a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110be9190611e93565b15156001146111075760405162461bcd60e51b81526020600482015260156024820152741d1c985b9cd9995c881b5d5cdd081cdd58d8d95959605a1b6044820152606401610874565b50565b600061111885858585611a30565b90508061ffff166000036111e757600960009054906101000a90046001600160a01b03166001600160a01b0316635c9302c96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611179573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119d9190611e29565b6001600160a01b03861660009081526010602090815260408083208684529091529020600201805461ffff92909216600160681b0261ffff60681b19909216919091179055611226565b6001600160a01b03851660009081526010602090815260408083208584529091529020600201805461ffff60681b1916600160681b61ffff8416021790555b6009546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561126f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112939190611e29565b600f54909150610100900460ff1615156001036113ff57600a54604051633e04ae6960e21b81526004810187905264ffffffffff861660248201526001600160a01b039091169063f812b9a4906044016020604051808303816000875af1158015611302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113269190611e29565b50600a546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90889083906370a0823190602401602060405180830381865afa158015611379573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139d9190611e29565b6040518363ffffffff1660e01b81526004016113ba929190611e7a565b6020604051808303816000875af11580156113d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fd9190611e93565b505b600954604051631a1804d160e11b81526004810187905264ffffffffff861660248201526001600160a01b039091169063343009a290604401600060405180830381600087803b15801561145257600080fd5b505af1158015611466573d6000803e3d6000fd5b505050506001600160a01b038681166000908152601060209081526040808320878452909152808220600201805460ff60801b1916600160801b17905560095490516370a0823160e01b8152306004820152919284929116906370a0823190602401602060405180830381865afa1580156114e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115099190611e29565b6115139190611ee7565b6001600160a01b03881660009081526010602090815260408083208884529091528120600101549192508183116115bf5760095460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90611576908c908790600401611e7a565b6020604051808303816000875af1158015611595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b99190611e93565b50611990565b81831115611990576000806115d48486611ee7565b6001600160a01b038c1660009081526010602090815260408083208c845290915290206004015490915060ff161561169757600b54604051625525a160e01b81526001600160a01b0390911690625525a190611636908e908990600401611e7a565b6020604051808303816000875af1158015611655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116799190611e29565b9250846116868483611fe4565b6116909190611e58565b9250611783565b60095460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906116c9908e908890600401611e7a565b6020604051808303816000875af11580156116e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170c9190611e93565b50600b54604051625525a160e01b81526001600160a01b0390911690625525a19061173d908e908590600401611e7a565b6020604051808303816000875af115801561175c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117809190611e29565b92505b6001600160a01b038b1660009081526010602090815260408083208b84529091529020600301546064906117b79085611fe4565b6117c19190611e58565b9150811561198d576008546040516370a0823160e01b815230600482015283916001600160a01b0316906370a0823190602401602060405180830381865afa158015611811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118359190611e29565b106118b55760085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061186c908e908690600401611e7a565b6020604051808303816000875af115801561188b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118af9190611e93565b5061198d565b6008546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb908d9083906370a0823190602401602060405180830381865afa158015611907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192b9190611e29565b6040518363ffffffff1660e01b8152600401611948929190611e7a565b6020604051808303816000875af1158015611967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198b9190611e93565b505b50505b8160025461199e9190611ee7565b6002556001600160a01b0389166000908152600160208190526040822081018054919290916119ce908490611ee7565b909155505060408051878152602081018590529081018290524260608201526001600160a01b038a16907f3cfedd205f4a938d3e671ceda6c16675f20d3c7aa1bf7190f572afd767dba2489060800160405180910390a2505050505050505050565b600954604051632607443b60e01b81526000918291829182918291829182916001600160a01b031690632607443b90611a6f9030908e90600401611e7a565b60e060405180830381865afa158015611a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab09190611f27565b50809650819750829850839950849a50859b50505050505050601060008c6001600160a01b03166001600160a01b031681526020019081526020016000206000898152602001908152602001600020600201600f9054906101000a900460ff16151560011515148015611b5157506001600160a01b038b1660009081526010602090815260408083208b8452909152902060020154600160801b900460ff16155b611b5a57600080fd5b6001600160a01b038b1660009081526010602090815260408083208b845290915290205464ffffffffff8a81169116148015611ba357508564ffffffffff168964ffffffffff16145b611bac57600080fd5b6001600160a01b038b1660009081526010602090815260408083208b84529091529020600101546001600160481b03861614611be757600080fd5b6001600160a01b038b1660009081526010602090815260408083208b84529091529020600201546001600160481b03858116911614611c2557600080fd5b6001600160a01b038b1660009081526010602090815260408083208b845290915290206002015461ffff848116600160481b9092041614611c6557600080fd5b6001600160a01b038b1660009081526010602090815260408083208b845290915290206002015461ffff838116600160581b9092041614611ca557600080fd5b9a9950505050505050505050565b80356001600160a01b0381168114611cca57600080fd5b919050565b60008060408385031215611ce257600080fd5b611ceb83611cb3565b946020939093013593505050565b600060208284031215611d0b57600080fd5b5035919050565b801515811461110757600080fd5b600060208284031215611d3257600080fd5b8135611d3d81611d12565b9392505050565b600080600060608486031215611d5957600080fd5b83359250602084013591506040840135611d7281611d12565b809150509250925092565b600060208284031215611d8f57600080fd5b611d3d82611cb3565b64ffffffffff8116811461110757600080fd5b60008060008060808587031215611dc157600080fd5b611dca85611cb3565b9350602085013592506040850135611de181611d98565b9396929550929360600135925050565b600080600060608486031215611e0657600080fd5b833592506020840135611e1881611d98565b929592945050506040919091013590565b600060208284031215611e3b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082611e7557634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b600060208284031215611ea557600080fd5b8151611d3d81611d12565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600082821015611ef957611ef9611e42565b500390565b80516001600160481b0381168114611cca57600080fd5b805161ffff81168114611cca57600080fd5b600080600080600080600060e0888a031215611f4257600080fd5b8751611f4d81611d98565b9650611f5b60208901611efe565b9550611f6960408901611efe565b9450611f7760608901611f15565b9350611f8560808901611f15565b9250611f9360a08901611f15565b915060c0880151611fa381611d12565b8091505092959891949750929550565b60008219821115611fc657611fc6611e42565b500190565b600060018201611fdd57611fdd611e42565b5060010190565b6000816000190483118215151615611ffe57611ffe611e42565b50029056fea264697066735822122076db3e68708af05786b66831063657c9681c9beb40f36d388fddf0676810fb0064736f6c634300080f0033

Deployed Bytecode Sourcemap

3219:9762:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5517:383;;;:::i;:::-;;4909:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4909:68:0;;;;-1:-1:-1;;;4909:68:0;;;;;-1:-1:-1;;;4909:68:0;;;;;-1:-1:-1;;;4909:68:0;;;;;;;-1:-1:-1;;;4909:68:0;;;;;-1:-1:-1;;;4909:68:0;;;;;;;;;;;;;852:12:1;840:25;;;822:44;;897:2;882:18;;875:34;;;;-1:-1:-1;;;;;945:33:1;;;925:18;;;918:61;;;;998:6;1040:15;;;1035:2;1020:18;;1013:43;1093:15;;;1087:3;1072:19;;1065:44;1146:15;;1140:3;1125:19;;1118:44;1206:14;;1199:22;1193:3;1178:19;;1171:51;1266:14;1259:22;1253:3;1238:19;;1231:51;1313:3;1298:19;;1291:35;;;;1370:14;1363:22;1357:3;1342:19;;1335:51;809:3;794:19;4909:68:0;;;;;;;;4363:39;;;;;-1:-1:-1;;;4363:39:0;;;;;;;;;1562:14:1;;1555:22;1537:41;;1525:2;1510:18;4363:39:0;1397:187:1;11732:121:0;;;;;;:::i;:::-;;:::i;12361:319::-;;;:::i;4012:36::-;;;;;;;;;1920:25:1;;;1908:2;1893:18;4012:36:0;1774:177:1;11497:120:0;;;;;;:::i;:::-;;:::i;4194:31::-;;;;;-1:-1:-1;;;;;4194:31:0;;;;;;-1:-1:-1;;;;;2489:32:1;;;2471:51;;2459:2;2444:18;4194:31:0;2325:203:1;4829:34:0;;;;;;;;;6088:1425;;;;;;:::i;:::-;;:::i;4409:34::-;;;;;-1:-1:-1;;;4409:34:0;;;;;;12087:129;;;;;;:::i;:::-;;:::i;4733:42::-;;;;;;12224:129;;;;;;:::i;:::-;;:::i;4124:25::-;;;;;-1:-1:-1;;;;;4124:25:0;;;4326:30;;;;;-1:-1:-1;;;;;4326:30:0;;;4156:31;;;;;-1:-1:-1;;;;;4156:31:0;;;4870:32;;;;;;;;;;;;4055:30;;;;;;3959:44;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;3280:25:1;;;3336:2;3321:18;;3314:34;;;;3253:18;3959:44:0;3106:248:1;11625:99:0;;;;;;:::i;:::-;;:::i;4092:25::-;;;;;-1:-1:-1;;;;;4092:25:0;;;4782:40;;;;;;12873:105;;;:::i;11187:302::-;;;;;;:::i;:::-;;:::i;12688:177::-;;;;;;:::i;:::-;;:::i;11861:218::-;;;;;;:::i;:::-;;:::i;10998:181::-;;;;;;:::i;:::-;;:::i;5517:383::-;3325:10;;-1:-1:-1;;;;;3325:10:0;3311;:24;3303:33;;;;;;5595:14:::1;::::0;-1:-1:-1;;;5595:14:0;::::1;;;:23;5587:32;;;::::0;::::1;;5648:9;::::0;:34:::1;::::0;-1:-1:-1;;;5648:34:0;;5676:4:::1;5648:34;::::0;::::1;2471:51:1::0;5630:15:0::1;::::0;5685:2:::1;::::0;-1:-1:-1;;;;;5648:9:0;;::::1;::::0;:19:::1;::::0;2444:18:1;;5648:34:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:39;;;;:::i;:::-;5698:9;::::0;:80:::1;::::0;-1:-1:-1;;;5698:80:0;;5630:57;;-1:-1:-1;;;;;;5698:9:0::1;::::0;:18:::1;::::0;:80:::1;::::0;5725:42:::1;::::0;5630:57;;5698:80:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;5789:9:0::1;::::0;5808:10:::1;::::0;5789:39:::1;::::0;-1:-1:-1;;;5789:39:0;;-1:-1:-1;;;;;5789:9:0;;::::1;::::0;:18:::1;::::0;:39:::1;::::0;5808:10;::::1;::::0;5820:7;;5789:39:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;5839:14:0::1;:21:::0;;-1:-1:-1;;;;5839:21:0::1;-1:-1:-1::0;;;5839:21:0::1;::::0;;5871:14:::1;:21:::0;;-1:-1:-1;;5871:21:0::1;5856:4;5871:21;::::0;;5517:383::o;11732:121::-;3325:10;;-1:-1:-1;;;;;3325:10:0;3311;:24;3303:33;;;;;;11821:10:::1;:24:::0;11732:121::o;12361:319::-;3325:10;;-1:-1:-1;;;;;3325:10:0;3311;:24;3303:33;;;;;;12454:16:::1;::::0;12434::::1;::::0;-1:-1:-1;;;;;12434:16:0;;::::1;12454::::0;::::1;12434:36;12426:45;;;::::0;::::1;;12482:8;::::0;12499:15:::1;::::0;12482:36:::1;::::0;-1:-1:-1;;;12482:36:0;;-1:-1:-1;;;;;12482:8:0;;::::1;::::0;:16:::1;::::0;:36:::1;::::0;12499:15;::::1;::::0;12482:8:::1;::::0;:36:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12529:8:0::1;::::0;12546:16:::1;::::0;12529:53:::1;::::0;-1:-1:-1;;;12529:53:0;;-1:-1:-1;;;;;12529:8:0;;::::1;::::0;:16:::1;::::0;:53:::1;::::0;12546:16;::::1;::::0;-1:-1:-1;;12564:17:0;12529:53:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12611:16:0::1;::::0;12593:15:::1;:34:::0;;-1:-1:-1;;;;;12611:16:0;;::::1;-1:-1:-1::0;;;;;;12593:34:0;;::::1;::::0;::::1;::::0;;;12638:8:::1;:34:::0;;;;::::1;;::::0;;12361:319::o;11497:120::-;3325:10;;-1:-1:-1;;;;;3325:10:0;3311;:24;3303:33;;;;;;11577:14:::1;:32:::0;;-1:-1:-1;;11577:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11497:120::o;6088:1425::-;1445:1;1593:7;;:19;1585:63;;;;-1:-1:-1;;;1585:63:0;;;;;;;:::i;:::-;;;;;;;;;1445:1;1659:7;:18;3503:14:::1;::::0;::::1;;:22;;:14:::0;:22:::1;3495:31;;;::::0;::::1;;6224:10:::2;;6213:7;:21;;:58;;;;;-1:-1:-1::0;;;;;6238:7:0::2;:33;;6213:58;6205:67;;;::::0;::::2;;6291:8;::::0;:34:::2;::::0;-1:-1:-1;;;6291:34:0;;6319:4:::2;6291:34;::::0;::::2;2471:51:1::0;-1:-1:-1;;6328:17:0;-1:-1:-1;;;;;6291:8:0::2;::::0;:19:::2;::::0;2444:18:1;;6291:34:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:54;6283:63;;;::::0;::::2;;6359:28;6379:7;6359:19;:28::i;:::-;6398:8;::::0;:35:::2;::::0;-1:-1:-1;;;6398:35:0;;::::2;::::0;::::2;3280:25:1::0;;;3321:18;;;3314:34;;;-1:-1:-1;;;;;6398:8:0;;::::2;::::0;:19:::2;::::0;3253:18:1;;6398:35:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;6605:8:0::2;::::0;:34:::2;::::0;-1:-1:-1;;;6605:34:0;;6633:4:::2;6605:34;::::0;::::2;2471:51:1::0;6446:19:0::2;::::0;-1:-1:-1;6446:19:0;;-1:-1:-1;6446:19:0;;;;;;-1:-1:-1;;;;;6605:8:0::2;::::0;:19:::2;::::0;2444:18:1;;6605:34:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6591:48:::0;-1:-1:-1;6650:16:0::2;6665:1;6591:48:::0;6650:16:::2;:::i;:::-;6731:8;::::0;:47:::2;::::0;-1:-1:-1;;;6731:47:0;;6650:16;;-1:-1:-1;;;;;;6731:8:0::2;::::0;:19:::2;::::0;:47:::2;::::0;6759:4:::2;::::0;6650:16;;6731:47:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6830:40:0::2;::::0;-1:-1:-1;;;;;;7525:3:1;7503:16;;;7499:45;6830:40:0::2;::::0;::::2;7487:58:1::0;-1:-1:-1;;;;;;7600:3:1;7578:16;;;7574:53;7561:11;;;7554:74;6679:99:0;;-1:-1:-1;6679:99:0;;-1:-1:-1;6679:99:0;-1:-1:-1;6679:99:0;-1:-1:-1;6791:17:0::2;::::0;7644:12:1;;;-1:-1:-1;6830:40:0::2;::::0;;;;::::2;-1:-1:-1::0;;6830:40:0;;;;;;6820:51;;6830:40:::2;6820:51:::0;;::::2;::::0;6902:10:::2;6812:60;6891:22:::0;;;:10:::2;:22:::0;;;;;:33;;;;;;;;:41:::2;;::::0;6820:51;;-1:-1:-1;;;;6891:41:0;::::2;;;:50;6883:59;;;::::0;::::2;;6997:4;6953:10;:22;6964:10;-1:-1:-1::0;;;;;6953:22:0::2;-1:-1:-1::0;;;;;6953:22:0::2;;;;;;;;;;;;:33;6976:9;6953:33;;;;;;;;;;;:41;;;:48;;;;;;;;;;;;;;;;;;7050:126;;;;;;;;7061:8;7050:126;;;;;;7071:7;7050:126;;;;7080:12;-1:-1:-1::0;;;;;7050:126:0::2;;;;;7094:10;7050:126;;;;;;7106:11;7050:126;;;;;;7126:1;7050:126;;;;;;7130:4;7050:126;;;;;;7136:5;7050:126;;;;;;7143:22;;7050:126;;;;7167:8;7050:126;;;;::::0;7014:10:::2;:22;7025:10;-1:-1:-1::0;;;;;7014:22:0::2;-1:-1:-1::0;;;;;7014:22:0::2;;;;;;;;;;;;:33;7037:9;7014:33;;;;;;;;;;;:162;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7014:162:0::2;;;;;-1:-1:-1::0;;;;;7014:162:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7229:7;7209:17;;:27;;;;:::i;:::-;7189:17;:47:::0;7259:10:::2;7247:23;::::0;;;7287:1:::2;7247:23;::::0;;;;;;:36;::::2;:41:::0;;7287:1;;7247:36;;:41:::2;::::0;7287:1;;7247:41:::2;:::i;:::-;::::0;;;-1:-1:-1;;7317:10:0::2;7305:23;::::0;;;:11:::2;:23;::::0;;;;:30;:35;;7301:81:::2;;7357:11;:13:::0;;;:11:::2;:13;::::0;::::2;:::i;:::-;;;;;;7301:81;7406:10;7394:23;::::0;;;:11:::2;:23;::::0;;;;:41;;7428:7;;7394:23;:41:::2;::::0;7428:7;;7394:41:::2;:::i;:::-;::::0;;;-1:-1:-1;;7453:52:0::2;::::0;;3280:25:1;;;7489:15:0::2;3336:2:1::0;3321:18;;3314:34;7466:10:0::2;::::0;7453:52:::2;::::0;3253:18:1;7453:52:0::2;;;;;;;-1:-1:-1::0;;1401:1:0;1700:7;:22;-1:-1:-1;;;;;;;6088:1425:0:o;12087:129::-;3325:10;;-1:-1:-1;;;;;3325:10:0;3311;:24;3303:33;;;;;;12173:16:::1;:35:::0;;-1:-1:-1;;;;;;12173:35:0::1;-1:-1:-1::0;;;;;12173:35:0;;;::::1;::::0;;;::::1;::::0;;12087:129::o;12224:::-;3421:10;;-1:-1:-1;;;;;3421:10:0;3407;:24;3399:33;;;;;;12310:16:::1;:35:::0;;-1:-1:-1;;;;;;12310:35:0::1;-1:-1:-1::0;;;;;12310:35:0;;;::::1;::::0;;;::::1;::::0;;12224:129::o;11625:99::-;3325:10;;-1:-1:-1;;;;;3325:10:0;3311;:24;3303:33;;;;;;11694:13:::1;:22:::0;;;::::1;;;;-1:-1:-1::0;;11694:22:0;;::::1;::::0;;;::::1;::::0;;11625:99::o;12873:105::-;3325:10;;-1:-1:-1;;;;;3325:10:0;3311;:24;3303:33;;;;;;12944:19:::1;:26:::0;;-1:-1:-1;;;;12944:26:0::1;-1:-1:-1::0;;;12944:26:0::1;::::0;;12873:105::o;11187:302::-;1445:1;1593:7;;:19;1585:63;;;;-1:-1:-1;;;1585:63:0;;;;;;;:::i;:::-;1445:1;1659:7;:18;11335:8:::1;::::0;:71:::1;::::0;-1:-1:-1;;;11335:71:0;;11372:4:::1;11335:71;::::0;::::1;8140:51:1::0;8207:18;;;8200:34;;;8282:12;8270:25;;8250:18;;;8243:53;-1:-1:-1;;;;;11335:8:0;;::::1;::::0;:28:::1;::::0;8113:18:1;;11335:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11417:64;11427:14;11443:11;11456:13;11471:9;11417;:64::i;:::-;-1:-1:-1::0;;1401:1:0;1700:7;:22;-1:-1:-1;;11187:302:0:o;12688:177::-;3325:10;;-1:-1:-1;;;;;3325:10:0;3311;:24;3303:33;;;;;;12781:19:::1;::::0;-1:-1:-1;;;12781:19:0;::::1;;;:28;12773:37;;;::::0;::::1;;12821:9;:36:::0;;-1:-1:-1;;;;;;12821:36:0::1;-1:-1:-1::0;;;;;12821:36:0;;;::::1;::::0;;;::::1;::::0;;12688:177::o;11861:218::-;3325:10;;-1:-1:-1;;;;;3325:10:0;3311;:24;3303:33;;;;;;12027:22:::1;:44:::0;11861:218::o;10998:181::-;1445:1;1593:7;;:19;1585:63;;;;-1:-1:-1;;;1585:63:0;;;;;;;:::i;:::-;1445:1;1659:7;:18;11111:60:::1;11121:10;11133:11:::0;11146:13;11161:9;11111::::1;:60::i;:::-;-1:-1:-1::0;;1401:1:0;1700:7;:22;-1:-1:-1;10998:181:0:o;5908:172::-;5981:8;;:57;;-1:-1:-1;;;5981:57:0;;6003:10;5981:57;;;8547:34:1;6023:4:0;8597:18:1;;;8590:43;8649:18;;;8642:34;;;-1:-1:-1;;;;;5981:8:0;;;;:21;;8482:18:1;;5981:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;6042:4;5981:65;5973:99;;;;-1:-1:-1;;;5973:99:0;;8889:2:1;5973:99:0;;;8871:21:1;8928:2;8908:18;;;8901:30;-1:-1:-1;;;8947:18:1;;;8940:51;9008:18;;5973:99:0;8687:345:1;5973:99:0;5908:172;:::o;8607:2383::-;8731:19;8753:74;8773:14;8789:11;8802:13;8817:9;8753:19;:74::i;:::-;8731:96;;8844:12;:17;;8860:1;8844:17;8840:224;;8935:8;;;;;;;;;-1:-1:-1;;;;;8935:8:0;-1:-1:-1;;;;;8935:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8876:26:0;;;;;;:10;:26;;;;;;;;:37;;;;;;;;:49;;:81;;;;;;;-1:-1:-1;;;8876:81:0;-1:-1:-1;;;;8876:81:0;;;;;;;;;8840:224;;;-1:-1:-1;;;;;8988:26:0;;;;;;:10;:26;;;;;;;;:37;;;;;;;;:49;;:64;;-1:-1:-1;;;;8988:64:0;-1:-1:-1;;;8988:64:0;;;;;;;8840:224;9095:8;;:33;;-1:-1:-1;;;9095:33:0;;9122:4;9095:33;;;2471:51:1;9076:16:0;;-1:-1:-1;;;;;9095:8:0;;:18;;2444::1;;9095:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9145:13;;9076:52;;-1:-1:-1;9145:13:0;;;;;:21;;:13;:21;9141:193;;9183:11;;:50;;-1:-1:-1;;;9183:50:0;;;;;9209:25:1;;;9282:12;9270:25;;9250:18;;;9243:53;-1:-1:-1;;;;;9183:11:0;;;;:22;;9182:18:1;;9183:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9248:11:0;;9285:36;;-1:-1:-1;;;9285:36:0;;9315:4;9285:36;;;2471:51:1;-1:-1:-1;;;;;9248:11:0;;;;:20;;9269:14;;9248:11;;9285:21;;2444:18:1;;9285:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9248:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9141:193;9346:8;;:45;;-1:-1:-1;;;9346:45:0;;;;;9209:25:1;;;9282:12;9270:25;;9250:18;;;9243:53;-1:-1:-1;;;;;9346:8:0;;;;:17;;9182:18:1;;9346:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;9456:26:0;;;;;;;:10;:26;;;;;;;;:37;;;;;;;;;:43;;:50;;-1:-1:-1;;;;9456:50:0;-1:-1:-1;;;9456:50:0;;;9537:8;;:33;;-1:-1:-1;;;9537:33:0;;9564:4;9537:33;;;2471:51:1;9456:26:0;;9573:8;;9537;;;:18;;2444::1;;9537:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;;;;:::i;:::-;-1:-1:-1;;;;;9616:26:0;;9592:21;9616:26;;;:10;:26;;;;;;;;:37;;;;;;;;:47;;;9519:62;;-1:-1:-1;9713:24:0;;;9709:1055;;9752:8;;:42;;-1:-1:-1;;;9752:42:0;;-1:-1:-1;;;;;9752:8:0;;;;:17;;:42;;9770:14;;9786:7;;9752:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9709:1055;;;9826:13;9816:7;:23;9812:952;;;9854:20;;9909:23;9919:13;9909:7;:23;:::i;:::-;-1:-1:-1;;;;;9951:26:0;;;;;;:10;:26;;;;;;;;:37;;;;;;;;:45;;;9887;;-1:-1:-1;9951:45:0;;9947:390;;;10032:8;;:48;;-1:-1:-1;;;10032:48:0;;-1:-1:-1;;;;;10032:8:0;;;;:23;;:48;;10056:14;;10072:7;;10032:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10015:65;-1:-1:-1;10145:7:0;10114:28;10015:65;10114:11;:28;:::i;:::-;:38;;;;:::i;:::-;10097:55;;9947:390;;;10189:8;;:48;;-1:-1:-1;;;10189:48:0;;-1:-1:-1;;;;;10189:8:0;;;;:17;;:48;;10207:14;;10223:13;;10189:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10271:8:0;;:52;;-1:-1:-1;;;10271:52:0;;-1:-1:-1;;;;;10271:8:0;;;;:23;;:52;;10295:14;;10311:11;;10271:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10254:69;;9947:390;-1:-1:-1;;;;;10383:26:0;;;;;;:10;:26;;;;;;;;:37;;;;;;;;:53;;;10439:3;;10366:70;;:14;:70;:::i;:::-;:76;;;;:::i;:::-;10351:91;-1:-1:-1;10461:16:0;;10457:296;;10498:9;;:34;;-1:-1:-1;;;10498:34:0;;10526:4;10498:34;;;2471:51:1;10536:12:0;;-1:-1:-1;;;;;10498:9:0;;:19;;2444:18:1;;10498:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:50;10494:246;;10567:9;;:48;;-1:-1:-1;;;10567:48:0;;-1:-1:-1;;;;;10567:9:0;;;;:18;;:48;;10586:14;;10602:12;;10567:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10494:246;;;10654:9;;10689:34;;-1:-1:-1;;;10689:34:0;;10717:4;10689:34;;;2471:51:1;-1:-1:-1;;;;;10654:9:0;;;;:18;;10673:14;;10654:9;;10689:19;;2444:18:1;;10689:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10654:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10494:246;9841:923;;9812:952;10816:13;10796:17;;:33;;;;:::i;:::-;10776:17;:53;-1:-1:-1;;;;;10840:27:0;;;;;;10884:1;10840:27;;;;;;;:40;;:45;;10884:1;;10840:40;;:45;;10884:1;;10840:45;:::i;:::-;;;;-1:-1:-1;;10903:79:0;;;9711:25:1;;;9767:2;9752:18;;9745:34;;;9795:18;;;9788:34;;;10966:15:0;9853:2:1;9838:18;;9831:34;-1:-1:-1;;;;;10903:79:0;;;;;9698:3:1;9683:19;10903:79:0;;;;;;;8720:2270;;;;;8607:2383;;;;:::o;7521:1078::-;7930:8;;:47;;-1:-1:-1;;;7930:47:0;;7658:6;;;;;;;;;;;;;;-1:-1:-1;;;;;7930:8:0;;:19;;:47;;7958:4;;7965:11;;7930:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7853:124;;;;;;;;;;;;;;;;;;;;;;;;;7996:10;:26;8007:14;-1:-1:-1;;;;;7996:26:0;-1:-1:-1;;;;;7996:26:0;;;;;;;;;;;;:37;8023:9;7996:37;;;;;;;;;;;:45;;;;;;;;;;;;:53;;8045:4;7996:53;;;:109;;;;-1:-1:-1;;;;;;8053:26:0;;;;;;:10;:26;;;;;;;;:37;;;;;;;;:43;;;-1:-1:-1;;;8053:43:0;;;;:52;7996:109;7988:118;;;;;;-1:-1:-1;;;;;8125:26:0;;;;;;:10;:26;;;;;;;;:37;;;;;;;;:45;:62;;;;:45;;:62;:91;;;;;8208:8;8191:25;;:13;:25;;;8125:91;8117:100;;;;;;-1:-1:-1;;;;;8236:26:0;;;;;;:10;:26;;;;;;;;:37;;;;;;;;:47;;;-1:-1:-1;;;;;8287:22:0;;8236:73;8228:82;;;;;;-1:-1:-1;;;;;8329:26:0;;;;;;:10;:26;;;;;;;;:37;;;;;;;;:49;;;-1:-1:-1;;;;;8329:65:0;;;:49;;:65;8321:74;;;;;;-1:-1:-1;;;;;8414:26:0;;;;;;:10;:26;;;;;;;;:37;;;;;;;;:47;;;:61;;;;-1:-1:-1;;;8414:47:0;;;;:61;8406:70;;;;;;-1:-1:-1;;;;;8495:26:0;;;;;;:10;:26;;;;;;;;:37;;;;;;;;:48;;;:63;;;;-1:-1:-1;;;8495:48:0;;;;:63;8487:72;;;;;;8579:12;7521:1078;-1:-1:-1;;;;;;;;;;7521:1078:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:1:o;1589:180::-;1648:6;1701:2;1689:9;1680:7;1676:23;1672:32;1669:52;;;1717:1;1714;1707:12;1669:52;-1:-1:-1;1740:23:1;;1589:180;-1:-1:-1;1589:180:1:o;1956:118::-;2042:5;2035:13;2028:21;2021:5;2018:32;2008:60;;2064:1;2061;2054:12;2079:241;2135:6;2188:2;2176:9;2167:7;2163:23;2159:32;2156:52;;;2204:1;2201;2194:12;2156:52;2243:9;2230:23;2262:28;2284:5;2262:28;:::i;:::-;2309:5;2079:241;-1:-1:-1;;;2079:241:1:o;2533:377::-;2607:6;2615;2623;2676:2;2664:9;2655:7;2651:23;2647:32;2644:52;;;2692:1;2689;2682:12;2644:52;2728:9;2715:23;2705:33;;2785:2;2774:9;2770:18;2757:32;2747:42;;2839:2;2828:9;2824:18;2811:32;2852:28;2874:5;2852:28;:::i;:::-;2899:5;2889:15;;;2533:377;;;;;:::o;2915:186::-;2974:6;3027:2;3015:9;3006:7;3002:23;2998:32;2995:52;;;3043:1;3040;3033:12;2995:52;3066:29;3085:9;3066:29;:::i;3359:123::-;3444:12;3437:5;3433:24;3426:5;3423:35;3413:63;;3472:1;3469;3462:12;3487:456;3572:6;3580;3588;3596;3649:3;3637:9;3628:7;3624:23;3620:33;3617:53;;;3666:1;3663;3656:12;3617:53;3689:29;3708:9;3689:29;:::i;:::-;3679:39;;3765:2;3754:9;3750:18;3737:32;3727:42;;3819:2;3808:9;3804:18;3791:32;3832:30;3856:5;3832:30;:::i;:::-;3487:456;;;;-1:-1:-1;3881:5:1;;3933:2;3918:18;3905:32;;-1:-1:-1;;3487:456:1:o;3948:381::-;4024:6;4032;4040;4093:2;4081:9;4072:7;4068:23;4064:32;4061:52;;;4109:1;4106;4099:12;4061:52;4145:9;4132:23;4122:33;;4205:2;4194:9;4190:18;4177:32;4218:30;4242:5;4218:30;:::i;:::-;3948:381;;4267:5;;-1:-1:-1;;;4319:2:1;4304:18;;;;4291:32;;3948:381::o;4334:184::-;4404:6;4457:2;4445:9;4436:7;4432:23;4428:32;4425:52;;;4473:1;4470;4463:12;4425:52;-1:-1:-1;4496:16:1;;4334:184;-1:-1:-1;4334:184:1:o;4523:127::-;4584:10;4579:3;4575:20;4572:1;4565:31;4615:4;4612:1;4605:15;4639:4;4636:1;4629:15;4655:217;4695:1;4721;4711:132;;4765:10;4760:3;4756:20;4753:1;4746:31;4800:4;4797:1;4790:15;4828:4;4825:1;4818:15;4711:132;-1:-1:-1;4857:9:1;;4655:217::o;4877:274::-;-1:-1:-1;;;;;5069:32:1;;;;5051:51;;5133:2;5118:18;;5111:34;5039:2;5024:18;;4877:274::o;5156:245::-;5223:6;5276:2;5264:9;5255:7;5251:23;5247:32;5244:52;;;5292:1;5289;5282:12;5244:52;5324:9;5318:16;5343:28;5365:5;5343:28;:::i;5693:355::-;5895:2;5877:21;;;5934:2;5914:18;;;5907:30;5973:33;5968:2;5953:18;;5946:61;6039:2;6024:18;;5693:355::o;6053:125::-;6093:4;6121:1;6118;6115:8;6112:34;;;6126:18;;:::i;:::-;-1:-1:-1;6163:9:1;;6053:125::o;6183:177::-;6261:13;;-1:-1:-1;;;;;6303:32:1;;6293:43;;6283:71;;6350:1;6347;6340:12;6365:163;6443:13;;6496:6;6485:18;;6475:29;;6465:57;;6518:1;6515;6508:12;6533:796;6648:6;6656;6664;6672;6680;6688;6696;6749:3;6737:9;6728:7;6724:23;6720:33;6717:53;;;6766:1;6763;6756:12;6717:53;6798:9;6792:16;6817:30;6841:5;6817:30;:::i;:::-;6866:5;-1:-1:-1;6890:48:1;6934:2;6919:18;;6890:48;:::i;:::-;6880:58;;6957:48;7001:2;6990:9;6986:18;6957:48;:::i;:::-;6947:58;;7024:48;7068:2;7057:9;7053:18;7024:48;:::i;:::-;7014:58;;7091:49;7135:3;7124:9;7120:19;7091:49;:::i;:::-;7081:59;;7159:49;7203:3;7192:9;7188:19;7159:49;:::i;:::-;7149:59;;7253:3;7242:9;7238:19;7232:26;7267:30;7289:7;7267:30;:::i;:::-;7316:7;7306:17;;;6533:796;;;;;;;;;;:::o;7667:128::-;7707:3;7738:1;7734:6;7731:1;7728:13;7725:39;;;7744:18;;:::i;:::-;-1:-1:-1;7780:9:1;;7667:128::o;7800:135::-;7839:3;7860:17;;;7857:43;;7880:18;;:::i;:::-;-1:-1:-1;7927:1:1;7916:13;;7800:135::o;9307:168::-;9347:7;9413:1;9409;9405:6;9401:14;9398:1;9395:21;9390:1;9383:9;9376:17;9372:45;9369:71;;;9420:18;;:::i;:::-;-1:-1:-1;9460:9:1;;9307:168::o

Swarm Source

ipfs://76db3e68708af05786b66831063657c9681c9beb40f36d388fddf0676810fb00

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.