ETH Price: $3,329.84 (+1.42%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
WITHDRAW208353652024-09-26 14:23:47121 days ago1727360627IN
0x5a604CFf...804e427D1
0 ETH0.0035955828.44135088
CLAIMREWARD207969012024-09-21 5:35:23127 days ago1726896923IN
0x5a604CFf...804e427D1
0 ETH0.000899399.68954667
CLAIMREWARD207968872024-09-21 5:32:11127 days ago1726896731IN
0x5a604CFf...804e427D1
0 ETH0.000754428.12770437
CLAIMREWARD207968692024-09-21 5:28:35127 days ago1726896515IN
0x5a604CFf...804e427D1
0 ETH0.000805718.68031495
CLAIMREWARD204689042024-08-06 10:22:59172 days ago1722939779IN
0x5a604CFf...804e427D1
0 ETH0.000084963.32791754
CLAIMREWARD203478682024-07-20 12:53:35189 days ago1721480015IN
0x5a604CFf...804e427D1
0 ETH0.000119054.66308782
WITHDRAW202046562024-06-30 12:59:23209 days ago1719752363IN
0x5a604CFf...804e427D1
0 ETH0.000360453.75386853
WITHDRAW202046522024-06-30 12:58:35209 days ago1719752315IN
0x5a604CFf...804e427D1
0 ETH0.000665783.74621935
CLAIMREWARD201463112024-06-22 9:20:11217 days ago1719048011IN
0x5a604CFf...804e427D1
0 ETH0.000062022.42928909
CLAIMREWARD201462972024-06-22 9:17:23217 days ago1719047843IN
0x5a604CFf...804e427D1
0 ETH0.000054522.13550527
CLAIMREWARD200538942024-06-09 11:13:23230 days ago1717931603IN
0x5a604CFf...804e427D1
0 ETH0.000107774.22140948
CLAIMREWARD199988712024-06-01 18:50:23238 days ago1717267823IN
0x5a604CFf...804e427D1
0 ETH0.000239168.39162207
CLAIMREWARD199635152024-05-27 20:12:59243 days ago1716840779IN
0x5a604CFf...804e427D1
0 ETH0.0006356622.30401634
STAKE199003842024-05-19 0:23:35252 days ago1716078215IN
0x5a604CFf...804e427D1
0 ETH0.000146793.64965248
CLAIMREWARD198821192024-05-16 11:03:59254 days ago1715857439IN
0x5a604CFf...804e427D1
0 ETH0.000530047
WITHDRAW198787072024-05-15 23:36:47255 days ago1715816207IN
0x5a604CFf...804e427D1
0 ETH0.000553744.04511235
CLAIMREWARD198580292024-05-13 2:11:23258 days ago1715566283IN
0x5a604CFf...804e427D1
0 ETH0.000106834.18449582
STAKE198370102024-05-10 3:39:59261 days ago1715312399IN
0x5a604CFf...804e427D1
0 ETH0.00008553
WITHDRAW198272142024-05-08 18:45:59262 days ago1715193959IN
0x5a604CFf...804e427D1
0 ETH0.000725.25964411
CLAIMREWARD198177552024-05-07 11:00:59263 days ago1715079659IN
0x5a604CFf...804e427D1
0 ETH0.000172826.7694075
WITHDRAW198177452024-05-07 10:58:59263 days ago1715079539IN
0x5a604CFf...804e427D1
0 ETH0.000971556.7694075
CLAIMREWARD197924322024-05-03 22:00:59267 days ago1714773659IN
0x5a604CFf...804e427D1
0 ETH0.000130365.10602416
CLAIMREWARD197902332024-05-03 14:38:35267 days ago1714747115IN
0x5a604CFf...804e427D1
0 ETH0.00022798.92661363
CLAIMREWARD197840072024-05-02 17:43:59268 days ago1714671839IN
0x5a604CFf...804e427D1
0 ETH0.0002937911.50751356
WITHDRAW197839702024-05-02 17:36:35268 days ago1714671395IN
0x5a604CFf...804e427D1
0 ETH0.0012577311.50751356
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
207969012024-09-21 5:35:23127 days ago1726896923
0x5a604CFf...804e427D1
0.01204209 ETH
207968872024-09-21 5:32:11127 days ago1726896731
0x5a604CFf...804e427D1
0.01204209 ETH
207968692024-09-21 5:28:35127 days ago1726896515
0x5a604CFf...804e427D1
0.01204209 ETH
194851912024-03-21 19:45:11310 days ago1711050311
0x5a604CFf...804e427D1
5.43013824 ETH
194851862024-03-21 19:44:11310 days ago1711050251
0x5a604CFf...804e427D1
0.02494684 ETH
194851462024-03-21 19:36:11310 days ago1711049771
0x5a604CFf...804e427D1
0.02630344 ETH
194849542024-03-21 18:56:47310 days ago1711047407
0x5a604CFf...804e427D1
0.0158806 ETH
194849352024-03-21 18:52:59310 days ago1711047179
0x5a604CFf...804e427D1
0.01816951 ETH
194849182024-03-21 18:49:35310 days ago1711046975
0x5a604CFf...804e427D1
0.00894211 ETH
194842622024-03-21 16:37:11310 days ago1711039031
0x5a604CFf...804e427D1
0.02229064 ETH
194791402024-03-20 23:19:23311 days ago1710976763
0x5a604CFf...804e427D1
0.05185956 ETH
194671362024-03-19 6:53:35313 days ago1710831215
0x5a604CFf...804e427D1
0.11194804 ETH
194514452024-03-17 1:56:35315 days ago1710640595
0x5a604CFf...804e427D1
0.01378687 ETH
194498862024-03-16 20:40:59315 days ago1710621659
0x5a604CFf...804e427D1
0.44014598 ETH
194479092024-03-16 13:59:47315 days ago1710597587
0x5a604CFf...804e427D1
0.00166545 ETH
194471102024-03-16 11:17:59315 days ago1710587879
0x5a604CFf...804e427D1
0.02246989 ETH
194454612024-03-16 5:42:59316 days ago1710567779
0x5a604CFf...804e427D1
0.01484262 ETH
194410352024-03-15 14:46:47316 days ago1710514007
0x5a604CFf...804e427D1
0.03719455 ETH
194402342024-03-15 12:05:23316 days ago1710504323
0x5a604CFf...804e427D1
0.00392021 ETH
194359942024-03-14 21:47:23317 days ago1710452843
0x5a604CFf...804e427D1
0.10185697 ETH
194356862024-03-14 20:45:35317 days ago1710449135
0x5a604CFf...804e427D1
0.020286 ETH
194289242024-03-13 21:51:59318 days ago1710366719
0x5a604CFf...804e427D1
0.05319522 ETH
194166552024-03-12 4:36:47320 days ago1710218207
0x5a604CFf...804e427D1
0.03871227 ETH
194148922024-03-11 22:40:47320 days ago1710196847
0x5a604CFf...804e427D1
0.02757375 ETH
194085402024-03-11 1:22:11321 days ago1710120131
0x5a604CFf...804e427D1
0.03570947 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PabloStakeETH

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-29
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.7.4;

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {

        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }

    function ceil(uint a, uint m) internal pure returns (uint r) {
        return (a + m - 1) / m * m;
    }
}

contract Owned {
    address payable public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address payable _newOwner) public onlyOwner {
        require(_newOwner != address(0), "ERC20: sending to the zero address");
        owner = _newOwner;
        emit OwnershipTransferred(msg.sender, _newOwner);
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address tokenOwner) external view returns (uint256 balance);
    function allowance(address tokenOwner, address spender) external view returns (uint256 remaining);
    function transfer(address to, uint256 tokens) external returns (bool success);
    function approve(address spender, uint256 tokens) external returns (bool success);
    function transferFrom(address from, address to, uint256 tokens) external returns (bool success);
    function burnTokens(uint256 _amount) external;
    event Transfer(address indexed from, address indexed to, uint256 tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint256 tokens);
}

contract PabloStakeETH is Owned {
    using SafeMath for uint256;

    address public Pablo = 0x926FF6584b5905CC793cfB19bfc0AD6443671F47;

    uint256 public totalStakes = 0;
    uint256 unstakingFee = 0; 
    uint256 public totalDividends = 0;
    uint256 private scaledRemainder = 0;
    uint256 private scaling = uint256(10) ** 12; 
    uint public round = 1;

   bool public breaker = false; 
    mapping(address => uint256) public farmTime;
    address[] public farmers;
    uint256 public profitGenerated = 0;
    struct USER{
        uint256 stakedTokens;
        uint256 lastDividends;
        uint256 fromTotalDividend;
        uint round;
        uint256 remainder;
        bool initialized;
    }

    address[] internal stakeholders;
    mapping(address => USER) stakers;
    mapping (uint => uint256) public payouts;                   

    event STAKED(address staker, uint256 tokens, uint256 time);
    event EARNED(address staker, uint256 tokens);
    event UNSTAKED(address staker, uint256 tokens, uint256 time);
    event PAYOUT(uint256 round, uint256 tokens, address sender);
    event CLAIMEDREWARD(address staker, uint256 reward);
    event WithdrawalLockDurationSet(uint256 value, address sender);

    function setPABLO(address _token) external onlyOwner {
        require(_token != address(0), "ERC20: Setting Zero Address");
        Pablo = _token;
    }

    function unlockTime(address _staker) public view returns(uint256){
        return farmTime[_staker]+90 days;
    }
    function setBreaker(bool _breaker) external onlyOwner {
        breaker = _breaker;
    }

    function getFarmersLength() public view returns (uint256) {
        return farmers.length;
    }

    function isStakeholder(address _address)
       public
       view
       returns(bool)
   {

       if(stakers[_address].initialized) return true;
       else return false;
   }

   function addStakeholder(address _stakeholder)
       internal
   {
       (bool _isStakeholder) = isStakeholder(_stakeholder);
       if(!_isStakeholder) {
           stakers[_stakeholder].initialized = true;
            farmers.push(_stakeholder);
       }

       farmTime[_stakeholder] =  block.timestamp;
   }

    function STAKE(uint256 tokens) external {
        require(IERC20(Pablo).transferFrom(msg.sender, address(this), tokens), "Tokens cannot be transferred from user account");

            uint256 owing = pendingReward(msg.sender);
            stakers[msg.sender].remainder += owing;

            stakers[msg.sender].stakedTokens = tokens.add(stakers[msg.sender].stakedTokens);
            stakers[msg.sender].lastDividends = owing;
            stakers[msg.sender].fromTotalDividend= totalDividends;
            stakers[msg.sender].round =  round;

            totalStakes = totalStakes.add(tokens);
            addStakeholder(msg.sender);

            emit STAKED(msg.sender, tokens, block.timestamp);

    }

    function ADDFUNDS() external payable{
        uint256 tokens = msg.value;
        require(tokens > 0, "Must send some ethers"); 
        profitGenerated = profitGenerated.add(tokens);
        _addPayout(tokens);
    }

    function _addPayout(uint256 tokens) private{

        uint256 available = (tokens.mul(scaling)).add(scaledRemainder); 
        uint256 dividendPerToken = available.div(totalStakes);
        scaledRemainder = available.mod(totalStakes);

        totalDividends = totalDividends.add(dividendPerToken);
        payouts[round] = payouts[round - 1].add(dividendPerToken);

        emit PAYOUT(round, tokens, msg.sender);
        round++;
    }

    function CLAIMREWARD() public {

        if(totalDividends > stakers[msg.sender].fromTotalDividend){
            uint256 owing = pendingReward(msg.sender);

            owing = owing.add(stakers[msg.sender].remainder);
            stakers[msg.sender].remainder = 0;

            stakers[msg.sender].lastDividends = owing; 
            stakers[msg.sender].round = round; 
            stakers[msg.sender].fromTotalDividend = totalDividends; 

            ( bool transferOne, ) = payable(msg.sender).call{value: owing}("");
            require(transferOne, "ERROR: error in sending reward from contract");

            emit CLAIMEDREWARD(msg.sender, owing);
        }
    }

    function pendingReward(address staker) private returns (uint256) {
        require(staker != address(0), "ERC20: sending to the zero address");

        uint stakersRound = stakers[staker].round;
        uint256 amount =  ((totalDividends.sub(payouts[stakersRound - 1])).mul(stakers[staker].stakedTokens)).div(scaling);
        stakers[staker].remainder += ((totalDividends.sub(payouts[stakersRound - 1])).mul(stakers[staker].stakedTokens)) % scaling ;
        return amount;
    }

    function getPendingReward(address staker) public view returns(uint256 _pendingReward) {
        require(staker != address(0), "ERC20: sending to the zero address");
         uint stakersRound = stakers[staker].round;

        uint256 amount =  ((totalDividends.sub(payouts[stakersRound - 1])).mul(stakers[staker].stakedTokens)).div(scaling);
        amount += ((totalDividends.sub(payouts[stakersRound - 1])).mul(stakers[staker].stakedTokens)) % scaling ;
        return (amount.add(stakers[staker].remainder));
    }

    function WITHDRAW(uint256 tokens) external {
        require(breaker == false, "Admin Restricted WITHDRAW");
        require(stakers[msg.sender].stakedTokens >= tokens && tokens > 0, "Invalid token amount to withdraw");

        if(unlockTime(msg.sender) >= block.timestamp){
            unstakingFee = 800; 
        }
        uint256 _unstakingFee = (onePercent(tokens).mul(unstakingFee)).div(10);

        uint256 owing = pendingReward(msg.sender);
        stakers[msg.sender].remainder += owing;

        stakers[msg.sender].stakedTokens = stakers[msg.sender].stakedTokens.sub(tokens);
        stakers[msg.sender].lastDividends = owing;
        stakers[msg.sender].fromTotalDividend= totalDividends;
        stakers[msg.sender].round =  round;

        totalStakes = totalStakes.sub(tokens);

        if(_unstakingFee > 0){
            require(IERC20(Pablo).transfer(owner, (_unstakingFee)), "Error in sending tokens");
        }
        require(IERC20(Pablo).transfer(msg.sender, tokens.sub(_unstakingFee)), "Error in un-staking tokens");

        if(stakers[msg.sender].stakedTokens == 0){
            farmTime[msg.sender] =  0;
        }

        emit UNSTAKED(msg.sender, tokens.sub(_unstakingFee), block.timestamp);
    }

    function onePercent(uint256 _tokens) private pure returns (uint256){
        uint256 roundValue = _tokens.ceil(100);
        uint onePercentofTokens = roundValue.mul(100).div(100 * 10**uint(2));
        return onePercentofTokens;
    }

    function StakedPabloTokens(address staker) public view returns(uint256 stakedPablo){
        require(staker != address(0), "ERC20: sending to the zero address");
        return stakers[staker].stakedTokens;
    }

    function saveEmergencyTokens(address tokenAddress) external onlyOwner {
        IERC20 token = IERC20(tokenAddress);
        uint256 tokenBalance = token.balanceOf(address(this));
        token.transfer(owner, tokenBalance);
    }

    function saveETH() external onlyOwner {
        payable(owner).transfer(address(this).balance);
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"CLAIMEDREWARD","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"EARNED","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"round","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"},{"indexed":false,"internalType":"address","name":"sender","type":"address"}],"name":"PAYOUT","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"STAKED","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"UNSTAKED","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"address","name":"sender","type":"address"}],"name":"WithdrawalLockDurationSet","type":"event"},{"inputs":[],"name":"ADDFUNDS","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"CLAIMREWARD","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Pablo","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"STAKE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"staker","type":"address"}],"name":"StakedPabloTokens","outputs":[{"internalType":"uint256","name":"stakedPablo","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"WITHDRAW","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"breaker","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"farmTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"farmers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFarmersLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"staker","type":"address"}],"name":"getPendingReward","outputs":[{"internalType":"uint256","name":"_pendingReward","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isStakeholder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"payouts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"profitGenerated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"round","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"saveETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"saveEmergencyTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_breaker","type":"bool"}],"name":"setBreaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"setPABLO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_staker","type":"address"}],"name":"unlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b03191673926ff6584b5905cc793cfb19bfc0ad6443671f471781556000600281905560038190556004819055600581905564e8d4a510006006556007919091556008805460ff19169055600b5534801561006857600080fd5b50600080546001600160a01b031916331790556117608061008a6000396000f3fe60806040526004361061014f5760003560e01c806376b467b7116100b6578063c3f344a81161006f578063c3f344a814610405578063ca84d59114610438578063cc16ab6e14610462578063e7572fe91461046a578063ef037b901461047f578063f2fde38b146104b257610156565b806376b467b714610338578063896f1a951461036b5780638afdd669146103805780638da5cb5b146103c6578063997664d7146103db578063bf9befb1146103f057610156565b80634baf782e116101085780634baf782e146102495780634df9d6ba1461025e5780634e11e06f146102915780634f6c8f8e146102c45780635c0aeb0e146102d95780636b9703111461030557610156565b80630f41e0d21461015b578063146ca5311461018457806329652e86146101ab5780632c75bcda146101d55780633b88eccf146102015780634af0b4eb1461023457610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706104e5565b604080519115158252519081900360200190f35b34801561019057600080fd5b506101996104ee565b60408051918252519081900360200190f35b3480156101b757600080fd5b50610199600480360360208110156101ce57600080fd5b50356104f4565b3480156101e157600080fd5b506101ff600480360360208110156101f857600080fd5b5035610506565b005b34801561020d57600080fd5b506101ff6004803603602081101561022457600080fd5b50356001600160a01b03166108b6565b34801561024057600080fd5b5061019961094a565b34801561025557600080fd5b506101ff610950565b34801561026a57600080fd5b506101996004803603602081101561028157600080fd5b50356001600160a01b0316610a8a565b34801561029d57600080fd5b506101ff600480360360208110156102b457600080fd5b50356001600160a01b0316610ba3565b3480156102d057600080fd5b50610199610cbd565b3480156102e557600080fd5b506101ff600480360360208110156102fc57600080fd5b50351515610cc3565b34801561031157600080fd5b506101996004803603602081101561032857600080fd5b50356001600160a01b0316610ced565b34801561034457600080fd5b506101996004803603602081101561035b57600080fd5b50356001600160a01b0316610d50565b34801561037757600080fd5b506101ff610d70565b34801561038c57600080fd5b506103aa600480360360208110156103a357600080fd5b5035610dc4565b604080516001600160a01b039092168252519081900360200190f35b3480156103d257600080fd5b506103aa610dee565b3480156103e757600080fd5b50610199610dfd565b3480156103fc57600080fd5b50610199610e03565b34801561041157600080fd5b506101996004803603602081101561042857600080fd5b50356001600160a01b0316610e09565b34801561044457600080fd5b506101ff6004803603602081101561045b57600080fd5b5035610e1b565b6101ff610f9a565b34801561047657600080fd5b506103aa610ffe565b34801561048b57600080fd5b50610170600480360360208110156104a257600080fd5b50356001600160a01b031661100d565b3480156104be57600080fd5b506101ff600480360360208110156104d557600080fd5b50356001600160a01b0316611041565b60085460ff1681565b60075481565b600e6020526000908152604090205481565b60085460ff161561055e576040805162461bcd60e51b815260206004820152601960248201527f41646d696e205265737472696374656420574954484452415700000000000000604482015290519081900360640190fd5b336000908152600d6020526040902054811180159061057d5750600081115b6105ce576040805162461bcd60e51b815260206004820181905260248201527f496e76616c696420746f6b656e20616d6f756e7420746f207769746864726177604482015290519081900360640190fd5b426105d833610d50565b106105e4576103206003555b6000610606600a6106006003546105fa866110e8565b90611107565b90611169565b90506000610613336111ab565b336000908152600d60205260409020600481018054830190555490915061063a90846112b9565b336000908152600d60205260409020908155600181018290556004546002808301919091556007546003909201919091555461067690846112b9565b600255811561075957600154600080546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018790529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b1580156106dc57600080fd5b505af11580156106f0573d6000803e3d6000fd5b505050506040513d602081101561070657600080fd5b5051610759576040805162461bcd60e51b815260206004820152601760248201527f4572726f7220696e2073656e64696e6720746f6b656e73000000000000000000604482015290519081900360640190fd5b6001546001600160a01b031663a9059cbb3361077586866112b9565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107bb57600080fd5b505af11580156107cf573d6000803e3d6000fd5b505050506040513d60208110156107e557600080fd5b5051610838576040805162461bcd60e51b815260206004820152601a60248201527f4572726f7220696e20756e2d7374616b696e6720746f6b656e73000000000000604482015290519081900360640190fd5b336000908152600d602052604090205461085d57336000908152600960205260408120555b7faeb913af138cc126643912346d844a49a83761eb58fcfc9e571fc99e1b3d9fa23361088985856112b9565b604080516001600160a01b03909316835260208301919091524282820152519081900360600190a1505050565b6000546001600160a01b031633146108cd57600080fd5b6001600160a01b038116610928576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a2053657474696e67205a65726f20416464726573730000000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600b5481565b336000908152600d60205260409020600201546004541115610a88576000610977336111ab565b336000908152600d60205260409020600401549091506109989082906112fb565b336000818152600d6020526040808220600480820184905560018201869055600754600383015554600290910155519293509183908381818185875af1925050503d8060008114610a05576040519150601f19603f3d011682016040523d82523d6000602084013e610a0a565b606091505b5050905080610a4a5760405162461bcd60e51b815260040180806020018281038252602c81526020018061168e602c913960400191505060405180910390fd5b604080513381526020810184905281517f8a0128b5f12decc7d739e546c0521c3388920368915393f80120bc5b408c7c9e929181900390910190a150505b565b60006001600160a01b038216610ad15760405162461bcd60e51b81526004018080602001828103825260228152602001806116ba6022913960400191505060405180910390fd5b6001600160a01b0382166000908152600d602090815260408083206003810154600654915460001982018652600e90945291842054600454929493610b1e93610600926105fa91906112b9565b6006546001600160a01b0386166000908152600d602090815260408083205460001988018452600e909252909120546004549394509192610b63926105fa91906112b9565b81610b6a57fe5b6001600160a01b0386166000908152600d60205260409020600401549190069190910190610b999082906112fb565b925050505b919050565b6000546001600160a01b03163314610bba57600080fd5b604080516370a0823160e01b8152306004820152905182916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610c0557600080fd5b505afa158015610c19573d6000803e3d6000fd5b505050506040513d6020811015610c2f57600080fd5b5051600080546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b158015610c8c57600080fd5b505af1158015610ca0573d6000803e3d6000fd5b505050506040513d6020811015610cb657600080fd5b5050505050565b600a5490565b6000546001600160a01b03163314610cda57600080fd5b6008805460ff1916911515919091179055565b60006001600160a01b038216610d345760405162461bcd60e51b81526004018080602001828103825260228152602001806116ba6022913960400191505060405180910390fd5b506001600160a01b03166000908152600d602052604090205490565b6001600160a01b03166000908152600960205260409020546276a7000190565b6000546001600160a01b03163314610d8757600080fd5b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610dc1573d6000803e3d6000fd5b50565b600a8181548110610dd457600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031681565b60045481565b60025481565b60096020526000908152604090205481565b600154604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610e7557600080fd5b505af1158015610e89573d6000803e3d6000fd5b505050506040513d6020811015610e9f57600080fd5b5051610edc5760405162461bcd60e51b815260040180806020018281038252602e8152602001806116fd602e913960400191505060405180910390fd5b6000610ee7336111ab565b336000908152600d602052604090206004810180548301905554909150610f0f9083906112fb565b336000908152600d602052604090209081556001810182905560045460028083019190915560075460039092019190915554610f4b90836112fb565b600255610f5733611355565b6040805133815260208101849052428183015290517f99b6f4b247a06a3dbcda8d2244b818e254005608c2455221a00383939a119e7c9181900360600190a15050565b3480610fe5576040805162461bcd60e51b81526020600482015260156024820152744d7573742073656e6420736f6d652065746865727360581b604482015290519081900360640190fd5b600b54610ff290826112fb565b600b55610dc1816113ed565b6001546001600160a01b031681565b6001600160a01b0381166000908152600d602052604081206005015460ff161561103957506001610b9e565b506000610b9e565b6000546001600160a01b0316331461105857600080fd5b6001600160a01b03811661109d5760405162461bcd60e51b81526004018080602001828103825260228152602001806116ba6022913960400191505060405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000806110f68360646114d8565b90506000610b996127106106008460645b60008261111657506000611163565b8282028284828161112357fe5b04146111605760405162461bcd60e51b81526004018080602001828103825260218152602001806116dc6021913960400191505060405180910390fd5b90505b92915050565b600061116083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f2565b60006001600160a01b0382166111f25760405162461bcd60e51b81526004018080602001828103825260228152602001806116ba6022913960400191505060405180910390fd5b6001600160a01b0382166000908152600d602090815260408083206003810154600654915460001982018652600e9094529184205460045492949361123f93610600926105fa91906112b9565b6006546001600160a01b0386166000908152600d602090815260408083205460001988018452600e909252909120546004549394509192611284926105fa91906112b9565b8161128b57fe5b6001600160a01b03959095166000908152600d60205260409020600401805491909506019093555090919050565b600061116083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611594565b600082820183811015611160576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006113608261100d565b9050806113d0576001600160a01b0382166000818152600d60205260408120600501805460ff19166001908117909155600a805491820181559091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b03191690911790555b506001600160a01b03166000908152600960205260409020429055565b600061141060055461140a6006548561110790919063ffffffff16565b906112fb565b905060006114296002548361116990919063ffffffff16565b9050611440600254836115ee90919063ffffffff16565b60055560045461145090826112fb565b600455600754600019016000908152600e602052604090205461147390826112fb565b600780546000908152600e602090815260409182902093909355905481519081529182018590523382820152517fddf8c05dcee82ec75482e095e6c06768c848d5a7df7147686033433d141328b69181900360600190a1505060078054600101905550565b60008182600184860103816114e957fe5b04029392505050565b6000818361157e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561154357818101518382015260200161152b565b50505050905090810190601f1680156115705780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161158a57fe5b0495945050505050565b600081848411156115e65760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561154357818101518382015260200161152b565b505050900390565b600061116083836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f00000000000000008152506000818361167a5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561154357818101518382015260200161152b565b5082848161168457fe5b0694935050505056fe4552524f523a206572726f7220696e2073656e64696e67207265776172642066726f6d20636f6e747261637445524332303a2073656e64696e6720746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f6b656e732063616e6e6f74206265207472616e736665727265642066726f6d2075736572206163636f756e74a2646970667358221220288a6db502dffc89e1b5db73036333f8c8aec1efd25ccb166aeaf21c9fabd39a64736f6c63430007040033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c806376b467b7116100b6578063c3f344a81161006f578063c3f344a814610405578063ca84d59114610438578063cc16ab6e14610462578063e7572fe91461046a578063ef037b901461047f578063f2fde38b146104b257610156565b806376b467b714610338578063896f1a951461036b5780638afdd669146103805780638da5cb5b146103c6578063997664d7146103db578063bf9befb1146103f057610156565b80634baf782e116101085780634baf782e146102495780634df9d6ba1461025e5780634e11e06f146102915780634f6c8f8e146102c45780635c0aeb0e146102d95780636b9703111461030557610156565b80630f41e0d21461015b578063146ca5311461018457806329652e86146101ab5780632c75bcda146101d55780633b88eccf146102015780634af0b4eb1461023457610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706104e5565b604080519115158252519081900360200190f35b34801561019057600080fd5b506101996104ee565b60408051918252519081900360200190f35b3480156101b757600080fd5b50610199600480360360208110156101ce57600080fd5b50356104f4565b3480156101e157600080fd5b506101ff600480360360208110156101f857600080fd5b5035610506565b005b34801561020d57600080fd5b506101ff6004803603602081101561022457600080fd5b50356001600160a01b03166108b6565b34801561024057600080fd5b5061019961094a565b34801561025557600080fd5b506101ff610950565b34801561026a57600080fd5b506101996004803603602081101561028157600080fd5b50356001600160a01b0316610a8a565b34801561029d57600080fd5b506101ff600480360360208110156102b457600080fd5b50356001600160a01b0316610ba3565b3480156102d057600080fd5b50610199610cbd565b3480156102e557600080fd5b506101ff600480360360208110156102fc57600080fd5b50351515610cc3565b34801561031157600080fd5b506101996004803603602081101561032857600080fd5b50356001600160a01b0316610ced565b34801561034457600080fd5b506101996004803603602081101561035b57600080fd5b50356001600160a01b0316610d50565b34801561037757600080fd5b506101ff610d70565b34801561038c57600080fd5b506103aa600480360360208110156103a357600080fd5b5035610dc4565b604080516001600160a01b039092168252519081900360200190f35b3480156103d257600080fd5b506103aa610dee565b3480156103e757600080fd5b50610199610dfd565b3480156103fc57600080fd5b50610199610e03565b34801561041157600080fd5b506101996004803603602081101561042857600080fd5b50356001600160a01b0316610e09565b34801561044457600080fd5b506101ff6004803603602081101561045b57600080fd5b5035610e1b565b6101ff610f9a565b34801561047657600080fd5b506103aa610ffe565b34801561048b57600080fd5b50610170600480360360208110156104a257600080fd5b50356001600160a01b031661100d565b3480156104be57600080fd5b506101ff600480360360208110156104d557600080fd5b50356001600160a01b0316611041565b60085460ff1681565b60075481565b600e6020526000908152604090205481565b60085460ff161561055e576040805162461bcd60e51b815260206004820152601960248201527f41646d696e205265737472696374656420574954484452415700000000000000604482015290519081900360640190fd5b336000908152600d6020526040902054811180159061057d5750600081115b6105ce576040805162461bcd60e51b815260206004820181905260248201527f496e76616c696420746f6b656e20616d6f756e7420746f207769746864726177604482015290519081900360640190fd5b426105d833610d50565b106105e4576103206003555b6000610606600a6106006003546105fa866110e8565b90611107565b90611169565b90506000610613336111ab565b336000908152600d60205260409020600481018054830190555490915061063a90846112b9565b336000908152600d60205260409020908155600181018290556004546002808301919091556007546003909201919091555461067690846112b9565b600255811561075957600154600080546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018790529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b1580156106dc57600080fd5b505af11580156106f0573d6000803e3d6000fd5b505050506040513d602081101561070657600080fd5b5051610759576040805162461bcd60e51b815260206004820152601760248201527f4572726f7220696e2073656e64696e6720746f6b656e73000000000000000000604482015290519081900360640190fd5b6001546001600160a01b031663a9059cbb3361077586866112b9565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107bb57600080fd5b505af11580156107cf573d6000803e3d6000fd5b505050506040513d60208110156107e557600080fd5b5051610838576040805162461bcd60e51b815260206004820152601a60248201527f4572726f7220696e20756e2d7374616b696e6720746f6b656e73000000000000604482015290519081900360640190fd5b336000908152600d602052604090205461085d57336000908152600960205260408120555b7faeb913af138cc126643912346d844a49a83761eb58fcfc9e571fc99e1b3d9fa23361088985856112b9565b604080516001600160a01b03909316835260208301919091524282820152519081900360600190a1505050565b6000546001600160a01b031633146108cd57600080fd5b6001600160a01b038116610928576040805162461bcd60e51b815260206004820152601b60248201527f45524332303a2053657474696e67205a65726f20416464726573730000000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600b5481565b336000908152600d60205260409020600201546004541115610a88576000610977336111ab565b336000908152600d60205260409020600401549091506109989082906112fb565b336000818152600d6020526040808220600480820184905560018201869055600754600383015554600290910155519293509183908381818185875af1925050503d8060008114610a05576040519150601f19603f3d011682016040523d82523d6000602084013e610a0a565b606091505b5050905080610a4a5760405162461bcd60e51b815260040180806020018281038252602c81526020018061168e602c913960400191505060405180910390fd5b604080513381526020810184905281517f8a0128b5f12decc7d739e546c0521c3388920368915393f80120bc5b408c7c9e929181900390910190a150505b565b60006001600160a01b038216610ad15760405162461bcd60e51b81526004018080602001828103825260228152602001806116ba6022913960400191505060405180910390fd5b6001600160a01b0382166000908152600d602090815260408083206003810154600654915460001982018652600e90945291842054600454929493610b1e93610600926105fa91906112b9565b6006546001600160a01b0386166000908152600d602090815260408083205460001988018452600e909252909120546004549394509192610b63926105fa91906112b9565b81610b6a57fe5b6001600160a01b0386166000908152600d60205260409020600401549190069190910190610b999082906112fb565b925050505b919050565b6000546001600160a01b03163314610bba57600080fd5b604080516370a0823160e01b8152306004820152905182916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610c0557600080fd5b505afa158015610c19573d6000803e3d6000fd5b505050506040513d6020811015610c2f57600080fd5b5051600080546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b158015610c8c57600080fd5b505af1158015610ca0573d6000803e3d6000fd5b505050506040513d6020811015610cb657600080fd5b5050505050565b600a5490565b6000546001600160a01b03163314610cda57600080fd5b6008805460ff1916911515919091179055565b60006001600160a01b038216610d345760405162461bcd60e51b81526004018080602001828103825260228152602001806116ba6022913960400191505060405180910390fd5b506001600160a01b03166000908152600d602052604090205490565b6001600160a01b03166000908152600960205260409020546276a7000190565b6000546001600160a01b03163314610d8757600080fd5b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610dc1573d6000803e3d6000fd5b50565b600a8181548110610dd457600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031681565b60045481565b60025481565b60096020526000908152604090205481565b600154604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610e7557600080fd5b505af1158015610e89573d6000803e3d6000fd5b505050506040513d6020811015610e9f57600080fd5b5051610edc5760405162461bcd60e51b815260040180806020018281038252602e8152602001806116fd602e913960400191505060405180910390fd5b6000610ee7336111ab565b336000908152600d602052604090206004810180548301905554909150610f0f9083906112fb565b336000908152600d602052604090209081556001810182905560045460028083019190915560075460039092019190915554610f4b90836112fb565b600255610f5733611355565b6040805133815260208101849052428183015290517f99b6f4b247a06a3dbcda8d2244b818e254005608c2455221a00383939a119e7c9181900360600190a15050565b3480610fe5576040805162461bcd60e51b81526020600482015260156024820152744d7573742073656e6420736f6d652065746865727360581b604482015290519081900360640190fd5b600b54610ff290826112fb565b600b55610dc1816113ed565b6001546001600160a01b031681565b6001600160a01b0381166000908152600d602052604081206005015460ff161561103957506001610b9e565b506000610b9e565b6000546001600160a01b0316331461105857600080fd5b6001600160a01b03811661109d5760405162461bcd60e51b81526004018080602001828103825260228152602001806116ba6022913960400191505060405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000806110f68360646114d8565b90506000610b996127106106008460645b60008261111657506000611163565b8282028284828161112357fe5b04146111605760405162461bcd60e51b81526004018080602001828103825260218152602001806116dc6021913960400191505060405180910390fd5b90505b92915050565b600061116083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f2565b60006001600160a01b0382166111f25760405162461bcd60e51b81526004018080602001828103825260228152602001806116ba6022913960400191505060405180910390fd5b6001600160a01b0382166000908152600d602090815260408083206003810154600654915460001982018652600e9094529184205460045492949361123f93610600926105fa91906112b9565b6006546001600160a01b0386166000908152600d602090815260408083205460001988018452600e909252909120546004549394509192611284926105fa91906112b9565b8161128b57fe5b6001600160a01b03959095166000908152600d60205260409020600401805491909506019093555090919050565b600061116083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611594565b600082820183811015611160576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006113608261100d565b9050806113d0576001600160a01b0382166000818152600d60205260408120600501805460ff19166001908117909155600a805491820181559091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b03191690911790555b506001600160a01b03166000908152600960205260409020429055565b600061141060055461140a6006548561110790919063ffffffff16565b906112fb565b905060006114296002548361116990919063ffffffff16565b9050611440600254836115ee90919063ffffffff16565b60055560045461145090826112fb565b600455600754600019016000908152600e602052604090205461147390826112fb565b600780546000908152600e602090815260409182902093909355905481519081529182018590523382820152517fddf8c05dcee82ec75482e095e6c06768c848d5a7df7147686033433d141328b69181900360600190a1505060078054600101905550565b60008182600184860103816114e957fe5b04029392505050565b6000818361157e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561154357818101518382015260200161152b565b50505050905090810190601f1680156115705780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161158a57fe5b0495945050505050565b600081848411156115e65760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561154357818101518382015260200161152b565b505050900390565b600061116083836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f00000000000000008152506000818361167a5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561154357818101518382015260200161152b565b5082848161168457fe5b0694935050505056fe4552524f523a206572726f7220696e2073656e64696e67207265776172642066726f6d20636f6e747261637445524332303a2073656e64696e6720746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f6b656e732063616e6e6f74206265207472616e736665727265642066726f6d2075736572206163636f756e74a2646970667358221220288a6db502dffc89e1b5db73036333f8c8aec1efd25ccb166aeaf21c9fabd39a64736f6c63430007040033

Deployed Bytecode Sourcemap

2956:7539:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3335:27;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3306:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3771:40;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3771:40:0;;:::i;8372:1258::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8372:1258:0;;:::i;:::-;;4217:157;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4217:157:0;-1:-1:-1;;;;;4217:157:0;;:::i;3451:34::-;;;;;;;;;;;;;:::i;6649:687::-;;;;;;;;;;;;;:::i;7840:524::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7840:524:0;-1:-1:-1;;;;;7840:524:0;;:::i;10108:234::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10108:234:0;-1:-1:-1;;;;;10108:234:0;;:::i;4603:98::-;;;;;;;;;;;;;:::i;4504:91::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4504:91:0;;;;:::i;9885:215::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9885:215:0;-1:-1:-1;;;;;9885:215:0;;:::i;4382:116::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4382:116:0;-1:-1:-1;;;;;4382:116:0;;:::i;10350:103::-;;;;;;;;;;;;;:::i;3420:24::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3420:24:0;;:::i;:::-;;;;-1:-1:-1;;;;;3420:24:0;;;;;;;;;;;;;;1671:28;;;;;;;;;;;;;:::i;3173:33::-;;;;;;;;;;;;;:::i;3104:30::-;;;;;;;;;;;;;:::i;3370:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3370:43:0;-1:-1:-1;;;;;3370:43:0;;:::i;5233:721::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5233:721:0;;:::i;5962:222::-;;;:::i;3030:65::-;;;;;;;;;;;;;:::i;4709:186::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4709:186:0;-1:-1:-1;;;;;4709:186:0;;:::i;1932:247::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1932:247:0;-1:-1:-1;;;;;1932:247:0;;:::i;3335:27::-;;;;;;:::o;3306:21::-;;;;:::o;3771:40::-;;;;;;;;;;;;;:::o;8372:1258::-;8434:7;;;;:16;8426:54;;;;;-1:-1:-1;;;8426:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8507:10;8499:19;;;;:7;:19;;;;;:32;:42;-1:-1:-1;8499:42:0;;;:56;;;8554:1;8545:6;:10;8499:56;8491:101;;;;;-1:-1:-1;;;8491:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8634:15;8608:22;8619:10;8608;:22::i;:::-;:41;8605:91;;8680:3;8665:12;:18;8605:91;8706:21;8730:46;8773:2;8731:36;8754:12;;8731:18;8742:6;8731:10;:18::i;:::-;:22;;:36::i;:::-;8730:42;;:46::i;:::-;8706:70;;8789:13;8805:25;8819:10;8805:13;:25::i;:::-;8849:10;8841:19;;;;:7;:19;;;;;:29;;;:38;;;;;;8927:32;8789:41;;-1:-1:-1;8927:44:0;;8964:6;8927:36;:44::i;:::-;8900:10;8892:19;;;;:7;:19;;;;;:79;;;8982:33;;;:41;;;9073:14;;9034:37;;;;:53;;;;9127:5;;9098:25;;;;:34;;;;9159:11;:23;;9175:6;9159:15;:23::i;:::-;9145:11;:37;9198:17;;9195:130;;9246:5;;;9262;;9239:46;;;-1:-1:-1;;;9239:46:0;;-1:-1:-1;;;;;9262:5:0;;;9239:46;;;;;;;;;;;;9246:5;;;;;9239:22;;:46;;;;;;;;;;;;;;;;;;;9246:5;9239:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9239:46:0;9231:82;;;;;-1:-1:-1;;;9231:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9350:5;;-1:-1:-1;;;;;9350:5:0;9343:22;9366:10;9378:25;:6;9389:13;9378:10;:25::i;:::-;9343:61;;;;;;;;;;;;;-1:-1:-1;;;;;9343:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9343:61:0;9335:100;;;;;-1:-1:-1;;;9335:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9459:10;9451:19;;;;:7;:19;;;;;:32;9448:93;;9513:10;9528:1;9504:20;;;:8;:20;;;;;:25;9448:93;9558:64;9567:10;9579:25;:6;9590:13;9579:10;:25::i;:::-;9558:64;;;-1:-1:-1;;;;;9558:64:0;;;;;;;;;;;;9606:15;9558:64;;;;;;;;;;;;;8372:1258;;;:::o;4217:157::-;1898:5;;-1:-1:-1;;;;;1898:5:0;1884:10;:19;1876:28;;;;;;-1:-1:-1;;;;;4289:20:0;::::1;4281:60;;;::::0;;-1:-1:-1;;;4281:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;4352:5;:14:::0;;-1:-1:-1;;;;;;4352:14:0::1;-1:-1:-1::0;;;;;4352:14:0;;;::::1;::::0;;;::::1;::::0;;4217:157::o;3451:34::-;;;;:::o;6649:687::-;6720:10;6712:19;;;;:7;:19;;;;;:37;;;6695:14;;:54;6692:637;;;6765:13;6781:25;6795:10;6781:13;:25::i;:::-;6849:10;6841:19;;;;:7;:19;;;;;:29;;;6765:41;;-1:-1:-1;6831:40:0;;6765:41;;6831:9;:40::i;:::-;6894:10;6918:1;6886:19;;;:7;:19;;;;;;:29;;;;:33;;;6936;;;:41;;;7021:5;;-1:-1:-1;6993:25:0;;:33;7082:14;7042:37;;;;:54;7138:42;6823:48;;-1:-1:-1;6918:1:0;6823:48;;6918:1;7138:42;6918:1;7138:42;6823:48;6894:10;7138:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7114:66;;;7203:11;7195:68;;;;-1:-1:-1;;;7195:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7285:32;;;7299:10;7285:32;;;;;;;;;;;;;;;;;;;;;6692:637;;;6649:687::o;7840:524::-;7902:22;-1:-1:-1;;;;;7945:20:0;;7937:67;;;;-1:-1:-1;;;7937:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8036:15:0;;8016:17;8036:15;;;:7;:15;;;;;;;;:21;;;;8176:7;;8141:28;;-1:-1:-1;;8117:16:0;;8109:25;;:7;:25;;;;;;;8090:14;;8036:21;;8016:17;8088:96;;8089:81;;8090:45;;:14;:18;:45::i;8088:96::-;8291:7;;-1:-1:-1;;;;;8258:15:0;;;;;;:7;:15;;;;;;;;:28;-1:-1:-1;;8234:16:0;;8226:25;;:7;:25;;;;;;;8207:14;;8070:114;;-1:-1:-1;8291:7:0;;8206:81;;8207:45;;:14;:18;:45::i;8206:81::-;8205:93;;;;;-1:-1:-1;;;;;8329:15:0;;;;;;:7;:15;;;;;:25;;;8205:93;;;8195:103;;;;;8318:37;;8195:103;;8318:10;:37::i;:::-;8310:46;;;;7840:524;;;;:::o;10108:234::-;1898:5;;-1:-1:-1;;;;;1898:5:0;1884:10;:19;1876:28;;;;;;10258:30:::1;::::0;;-1:-1:-1;;;10258:30:0;;10282:4:::1;10258:30;::::0;::::1;::::0;;;10211:12;;10189::::1;::::0;-1:-1:-1;;;;;10258:15:0;::::1;::::0;::::1;::::0;:30;;;;;::::1;::::0;;;;;;;;:15;:30;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;10258:30:0;10314:5:::1;::::0;;10299:35:::1;::::0;;-1:-1:-1;;;10299:35:0;;-1:-1:-1;;;;;10314:5:0;;::::1;10299:35;::::0;::::1;::::0;;;;;;;;;10258:30;;-1:-1:-1;10299:14:0;;::::1;::::0;::::1;::::0;:35;;;;;10258:30:::1;::::0;10299:35;;;;;;;;;;;:14;:35;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;;;;10108:234:0:o;4603:98::-;4679:7;:14;4603:98;:::o;4504:91::-;1898:5;;-1:-1:-1;;;;;1898:5:0;1884:10;:19;1876:28;;;;;;4569:7:::1;:18:::0;;-1:-1:-1;;4569:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;4504:91::o;9885:215::-;9948:19;-1:-1:-1;;;;;9987:20:0;;9979:67;;;;-1:-1:-1;;;9979:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10064:15:0;;;;;:7;:15;;;;;:28;;9885:215::o;4382:116::-;-1:-1:-1;;;;;4465:17:0;4439:7;4465:17;;;:8;:17;;;;;;4483:7;4465:25;;4382:116::o;10350:103::-;1898:5;;-1:-1:-1;;;;;1898:5:0;1884:10;:19;1876:28;;;;;;10407:5:::1;::::0;;10399:46:::1;::::0;-1:-1:-1;;;;;10407:5:0;;::::1;::::0;10423:21:::1;10399:46:::0;::::1;;;::::0;10423:21;;10399:46;10407:5;10399:46;10423:21;10407:5;10399:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10350:103::o:0;3420:24::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3420:24:0;;-1:-1:-1;3420:24:0;:::o;1671:28::-;;;-1:-1:-1;;;;;1671:28:0;;:::o;3173:33::-;;;;:::o;3104:30::-;;;;:::o;3370:43::-;;;;;;;;;;;;;:::o;5233:721::-;5299:5;;5292:61;;;-1:-1:-1;;;5292:61:0;;5319:10;5292:61;;;;5339:4;5292:61;;;;;;;;;;;;-1:-1:-1;;;;;5299:5:0;;;;5292:26;;:61;;;;;;;;;;;;;;;5299:5;;5292:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5292:61:0;5284:120;;;;-1:-1:-1;;;5284:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:13;5437:25;5451:10;5437:13;:25::i;:::-;5485:10;5477:19;;;;:7;:19;;;;;:29;;;:38;;;;;;5578:32;5421:41;;-1:-1:-1;5567:44:0;;:6;;:10;:44::i;:::-;5540:10;5532:19;;;;:7;:19;;;;;:79;;;5626:33;;;:41;;;5721:14;;5682:37;;;;:53;;;;5779:5;;5750:25;;;;:34;;;;5815:11;:23;;5831:6;5815:15;:23::i;:::-;5801:11;:37;5853:26;5868:10;5853:14;:26::i;:::-;5901:43;;;5908:10;5901:43;;;;;;;;5928:15;5901:43;;;;;;;;;;;;;;;5233:721;;:::o;5962:222::-;6026:9;6054:10;6046:44;;;;;-1:-1:-1;;;6046:44:0;;;;;;;;;;;;-1:-1:-1;;;6046:44:0;;;;;;;;;;;;;;;6120:15;;:27;;6140:6;6120:19;:27::i;:::-;6102:15;:45;6158:18;6169:6;6158:10;:18::i;3030:65::-;;;-1:-1:-1;;;;;3030:65:0;;:::o;4709:186::-;-1:-1:-1;;;;;4819:17:0;;4794:4;4819:17;;;:7;:17;;;;;:29;;;;;4816:72;;;-1:-1:-1;4857:4:0;4850:11;;4816:72;-1:-1:-1;4883:5:0;4876:12;;1932:247;1898:5;;-1:-1:-1;;;;;1898:5:0;1884:10;:19;1876:28;;;;;;-1:-1:-1;;;;;2022:23:0;::::1;2014:70;;;;-1:-1:-1::0;;;2014:70:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2095:5;:17:::0;;-1:-1:-1;;;;;;2095:17:0::1;-1:-1:-1::0;;;;;2095:17:0;::::1;::::0;;::::1;::::0;;2128:43:::1;::::0;2095:17;;2149:10:::1;::::0;2128:43:::1;::::0;2095:5;2128:43:::1;1932:247:::0;:::o;9638:239::-;9697:7;;9737:17;:7;9750:3;9737:12;:17::i;:::-;9716:38;-1:-1:-1;9765:23:0;9791:42;9815:17;9791:19;9716:38;9821:11;625:252;683:7;709:6;705:47;;-1:-1:-1;739:1:0;732:8;;705:47;776:5;;;780:1;776;:5;:1;800:5;;;;;:10;792:56;;;;-1:-1:-1;;;792:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:1;-1:-1:-1;625:252:0;;;;;:::o;885:132::-;943:7;970:39;974:1;977;970:39;;;;;;;;;;;;;;;;;:3;:39::i;7344:488::-;7400:7;-1:-1:-1;;;;;7428:20:0;;7420:67;;;;-1:-1:-1;;;7420:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7520:15:0;;7500:17;7520:15;;;:7;:15;;;;;;;;:21;;;;7658:7;;7623:28;;-1:-1:-1;;7599:16:0;;7591:25;;:7;:25;;;;;;;7572:14;;7520:21;;7500:17;7570:96;;7571:81;;7572:45;;:14;:18;:45::i;7570:96::-;7792:7;;-1:-1:-1;;;;;7759:15:0;;;;;;:7;:15;;;;;;;;:28;-1:-1:-1;;7735:16:0;;7727:25;;:7;:25;;;;;;;7708:14;;7552:114;;-1:-1:-1;7792:7:0;;7707:81;;7708:45;;:14;:18;:45::i;7707:81::-;7706:93;;;;;-1:-1:-1;;;;;7677:15:0;;;;;;;;:7;:15;;;;;:25;;:122;;7706:93;;;;7677:122;;;;-1:-1:-1;7818:6:0;;7344:488;-1:-1:-1;7344:488:0:o;281:136::-;339:7;366:43;370:1;373;366:43;;;;;;;;;;;;;;;;;:3;:43::i;92:181::-;150:7;182:5;;;206:6;;;;198:46;;;;;-1:-1:-1;;;198:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4902:323;4980:19;5003:27;5017:12;5003:13;:27::i;:::-;4979:51;;5044:14;5040:126;;-1:-1:-1;;;;;5074:21:0;;;;;;:7;:21;;;;;:33;;:40;;-1:-1:-1;;5074:40:0;5110:4;5074:40;;;;;;5129:7;:26;;;;;;;;;;;;;;-1:-1:-1;;;;;;5129:26:0;;;;;;5040:126;-1:-1:-1;;;;;;5177:22:0;;;;;:8;:22;;;;;5203:15;5177:41;;4902:323::o;6192:449::-;6248:17;6268:42;6294:15;;6269:19;6280:7;;6269:6;:10;;:19;;;;:::i;:::-;6268:25;;:42::i;:::-;6248:62;;6322:24;6349:26;6363:11;;6349:9;:13;;:26;;;;:::i;:::-;6322:53;;6404:26;6418:11;;6404:9;:13;;:26;;;;:::i;:::-;6386:15;:44;6460:14;;:36;;6479:16;6460:18;:36::i;:::-;6443:14;:53;6532:5;;-1:-1:-1;;6532:9:0;6524:18;;;;:7;:18;;;;;;:40;;6547:16;6524:22;:40::i;:::-;6515:5;;;6507:14;;;;:7;:14;;;;;;;;;:57;;;;6589:5;;6582:33;;;;;;;;;;;6604:10;6582:33;;;;;;;;;;;;;;-1:-1:-1;;6626:5:0;:7;;;;;;-1:-1:-1;6192:449:0:o;1536:106::-;1589:6;1633:1;1629;1624;1620;1616;:5;:9;1615:15;;;;;;:19;;1536:106;-1:-1:-1;;;1536:106:0:o;1025:191::-;1111:7;1146:12;1139:5;1131:28;;;;-1:-1:-1;;;1131:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1170:9;1186:1;1182;:5;;;;;;;1025:191;-1:-1:-1;;;;;1025:191:0:o;425:192::-;511:7;547:12;539:6;;;;531:29;;;;-1:-1:-1;;;531:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;583:5:0;;;425:192::o;1224:130::-;1282:7;1309:37;1313:1;1316;1309:37;;;;;;;;;;;;;;;;;1448:7;1484:12;1476:6;1468:29;;;;-1:-1:-1;;;1468:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1519:1;1515;:5;;;;;;;1362:166;-1:-1:-1;;;;1362:166:0:o

Swarm Source

ipfs://288a6db502dffc89e1b5db73036333f8c8aec1efd25ccb166aeaf21c9fabd39a

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  ]
[ 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.