ETH Price: $2,626.66 (+0.42%)

Contract

0x69975D46A2566b6a7F0929De4eB6E5140d306c6b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Unstake110615692020-10-15 16:49:131577 days ago1602780553IN
0x69975D46...40d306c6b
0 ETH0.0060674453
Unstake110588722020-10-15 6:55:021578 days ago1602744902IN
0x69975D46...40d306c6b
0 ETH0.0056710457.00000269
Receive Approval110547282020-10-14 15:54:111578 days ago1602690851IN
0x69975D46...40d306c6b
0 ETH0.0021766390.99277978
Withdraw Divs110543872020-10-14 14:41:511579 days ago1602686511IN
0x69975D46...40d306c6b
0 ETH0.0084525680
Unstake110543532020-10-14 14:33:571579 days ago1602686037IN
0x69975D46...40d306c6b
0 ETH0.007958480
Withdraw Divs110542932020-10-14 14:23:231579 days ago1602685403IN
0x69975D46...40d306c6b
0 ETH0.011191680
Withdraw Divs110538862020-10-14 12:56:391579 days ago1602680199IN
0x69975D46...40d306c6b
0 ETH0.009086586
Withdraw Divs110538712020-10-14 12:54:151579 days ago1602680055IN
0x69975D46...40d306c6b
0 ETH0.01809855150
Unstake110538682020-10-14 12:53:541579 days ago1602680034IN
0x69975D46...40d306c6b
0 ETH0.0086547687
Withdraw Divs110538632020-10-14 12:52:461579 days ago1602679966IN
0x69975D46...40d306c6b
0 ETH0.0107409786
Unstake110538632020-10-14 12:52:461579 days ago1602679966IN
0x69975D46...40d306c6b
0 ETH0.017172150
Unstake110538302020-10-14 12:44:291579 days ago1602679469IN
0x69975D46...40d306c6b
0 ETH0.0085456866
Unstake110536292020-10-14 11:59:161579 days ago1602676756IN
0x69975D46...40d306c6b
0 ETH0.01398384108
Unstake110535812020-10-14 11:47:061579 days ago1602676026IN
0x69975D46...40d306c6b
0 ETH0.0060674453
Unstake110535382020-10-14 11:38:401579 days ago1602675520IN
0x69975D46...40d306c6b
0 ETH0.00572450
Unstake110534902020-10-14 11:27:421579 days ago1602674862IN
0x69975D46...40d306c6b
0 ETH0.0096153184
Unstake110534672020-10-14 11:22:151579 days ago1602674535IN
0x69975D46...40d306c6b
0 ETH0.0111342486
Unstake110532542020-10-14 10:28:031579 days ago1602671283IN
0x69975D46...40d306c6b
0 ETH0.0083553184
Unstake110532492020-10-14 10:26:531579 days ago1602671213IN
0x69975D46...40d306c6b
0 ETH0.01748062121

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WishStaking

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-09-30
*/

pragma solidity 0.4.26;


interface ERC20 {
  function totalSupply() external view returns (uint256);
  function balanceOf(address who) external view returns (uint256);
  function allowance(address owner, address spender) external view returns (uint256);
  function transfer(address to, uint256 value) external returns (bool);
  function approve(address spender, uint256 value) external returns (bool);
  function approveAndCall(address spender, uint tokens, bytes data) external returns (bool success);
  function transferFrom(address from, address to, uint256 value) external returns (bool);
  function burn(uint256 amount) external;

  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}


library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    require(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a / b;
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a);
    return c;
  }

  function ceil(uint256 a, uint256 m) internal pure returns (uint256) {
    uint256 c = add(a,m);
    uint256 d = sub(c,1);
    return mul(div(d,m),m);
  }
}


/**
 * @title SignedSafeMath
 * @dev Signed math operations with safety checks that revert on error.
 */
library SignedSafeMath {
    int256 constant private _INT256_MIN = -2**255;

        /**
     * @dev Returns the multiplication of two signed integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(int256 a, int256 b) internal pure returns (int256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        require(!(a == -1 && b == _INT256_MIN), "SignedSafeMath: multiplication overflow");

        int256 c = a * b;
        require(c / a == b, "SignedSafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two signed integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(int256 a, int256 b) internal pure returns (int256) {
        require(b != 0, "SignedSafeMath: division by zero");
        require(!(b == -1 && a == _INT256_MIN), "SignedSafeMath: division overflow");

        int256 c = a / b;

        return c;
    }

    /**
     * @dev Returns the subtraction of two signed integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(int256 a, int256 b) internal pure returns (int256) {
        int256 c = a - b;
        require((b >= 0 && c <= a) || (b < 0 && c > a), "SignedSafeMath: subtraction overflow");

        return c;
    }

    /**
     * @dev Returns the addition of two signed integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(int256 a, int256 b) internal pure returns (int256) {
        int256 c = a + b;
        require((b >= 0 && c >= a) || (b < 0 && c < a), "SignedSafeMath: addition overflow");

        return c;
    }
}

interface ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 tokens, address token, bytes data) external;
}

contract WishInterface is ERC20{
  function owner() external returns(address);
}

contract WishStaking is ApproveAndCallFallBack{
  using SafeMath for uint;
  using SignedSafeMath for int;
  WishInterface public WishToken;
  mapping(address => uint256) public amountStaked;
  mapping(address => int256) public payoutsTo;//only represents the portion of payouts from collective dividends
  mapping(address => uint256) public payoutsToTime;//over time related payouts
  mapping(address => uint256) public unclaimedDividends;//dividends over time before the last user checkpoint
  mapping(address => uint256) public dividendCheckpoints;//the time from which to calculate new dividends
  mapping(address => uint256) public dividendRateUsed;
  uint256 public stakedTotalSum;
  uint256 public divsPerShare;
  uint256 constant internal magnitude = 2 ** 64;
  uint256 constant internal STAKING_MINIMUM = 10 * (10 ** 18); //token is 18 decimals
  uint256 public STAKING_PERIOD = 1 days; //time period to which the dividend rate refers to
  uint256 public BURN_RATE = 50; //5% transaction burns, unstaking burns, div withdraw burns
  uint public STAKE_DIV_FEE = 50; //5% stake div fee
  uint256 public DIVIDEND_RATE = 10;//1.0%
  bool public activated = true;
  uint256 public contractEndTime=0;

  uint256 public nowTest=now;

  event Stake(address indexed user, uint256 amount);
	event UnStake(address indexed user, uint256 amount);
  event WithdrawDivs(address indexed user, uint256 amount);
  event ReStakeDivs(address indexed user, uint256 amount);

  modifier isAdmin() {
      require(msg.sender==WishToken.owner(),"user is not admin");
      _;
  }
  modifier isActive() {
      require(activated,"staking is not yet active");
      _;
  }

  constructor(address token) public{
    WishToken=WishInterface(token);
  }
  function setRates(uint burn,uint div,uint unstake) public isAdmin{
    BURN_RATE=burn;
    DIVIDEND_RATE=div;
    STAKE_DIV_FEE=unstake;
  }
  function activateContract() public isAdmin{
    activated=true;
  }
  function burnAfterContractEnd() public isAdmin{
    WishToken.burn(WishToken.balanceOf(address(this)));
  }
  function disableDividendAccumulation() public isAdmin{
    contractEndTime=now;
  }

  /*
    Used for staking, must send an approveAndCall to the token which will then call this function
  */
  function receiveApproval(address fromAddr, uint256 tokens, address token, bytes data) external{
    require(msg.sender==address(WishToken));
    require(WishToken.transferFrom(fromAddr,address(this),tokens),"transfer failed");
    _stake(tokens,fromAddr);
  }
  function _stake(uint256 amount,address fromAddr) private isActive{
    require(amountStaked[fromAddr].add(amount) >= STAKING_MINIMUM,"amount below staking minimum");
    updateCheckpoint(fromAddr,true);
    stakedTotalSum = stakedTotalSum.add(amount);
    amountStaked[fromAddr] = amountStaked[fromAddr].add(amount);
    payoutsTo[fromAddr] = payoutsTo[fromAddr].add(int256(amount.mul(divsPerShare)));
    emit Stake(fromAddr, amount);
  }
  function unstake(uint256 amount) public isActive{
    require(amountStaked[msg.sender] >= amount);
    updateCheckpoint(msg.sender,true);

    uint256 divPortion=amount.mul(STAKE_DIV_FEE).div(1000);// dividends to be redistributed to users
    uint256 burnPortion=amount.mul(BURN_RATE).div(1000);// tokens to be burned
    uint256 unstakeFee = divPortion.add(burnPortion);
    divsPerShare = divsPerShare.add(divPortion.mul(magnitude).div(stakedTotalSum)); //portion of fee redistributed as divs, the rest to be burned
    stakedTotalSum = stakedTotalSum.sub(amount);
    uint256 taxedAmount = amount.sub(unstakeFee);
    amountStaked[msg.sender] = amountStaked[msg.sender].sub(amount);
    payoutsTo[msg.sender] = payoutsTo[msg.sender].sub(int256(amount.mul(divsPerShare)));
    WishToken.burn(burnPortion);//burn a portion of the fee
    WishToken.transfer(msg.sender,taxedAmount);
    emit UnStake(msg.sender, amount);
  }
  function withdrawDivs() public isActive{
    updateCheckpoint(msg.sender,false);
    uint256 burnedDivs = getBurnedDivs(msg.sender);
    payoutsTo[msg.sender] = payoutsTo[msg.sender].add(int256(burnedDivs.mul(magnitude)));
    uint256 timeDivs=getTotalDivsOverTime(msg.sender);
    payoutsToTime[msg.sender] = payoutsToTime[msg.sender].add(timeDivs);
    uint256 baseDivs=burnedDivs.add(timeDivs);

    uint256 burnFee=baseDivs.mul(BURN_RATE).div(1000);
    uint256 divs=baseDivs.sub(burnFee);

    WishToken.burn(burnFee);
    WishToken.transfer(msg.sender,divs);
    emit WithdrawDivs(msg.sender, divs);
  }
  function reinvestDivs() public isActive{
    updateCheckpoint(msg.sender,false);
    uint256 burnedDivs = getBurnedDivs(msg.sender);
    payoutsTo[msg.sender] = payoutsTo[msg.sender].add(int256(burnedDivs.mul(magnitude)));
    uint256 timeDivs=getTotalDivsOverTime(msg.sender);
    payoutsToTime[msg.sender] = payoutsToTime[msg.sender].add(timeDivs);
    uint256 divs=burnedDivs.add(timeDivs);
    _stake(divs,msg.sender);
    emit ReStakeDivs(msg.sender, divs);
  }

  function getDividends(address user) public view returns(uint256){
    return getBurnedDivs(user).add(getTotalDivsOverTime(user));
  }
  function getBurnedDivs(address user) public view returns(uint256){
    if(int256(divsPerShare.mul(amountStaked[user])) < payoutsTo[user]){
      return 0;
    }
    else{
      return uint256(int256(divsPerShare.mul(amountStaked[user])).sub(payoutsTo[user])).div(magnitude);
    }
  }
  function updateCheckpoint(address user,bool updateRate) private{
    unclaimedDividends[user]=unclaimedDividends[user].add(getNewDivsOverTime(user));
    dividendCheckpoints[user]=getNow();
    if(updateRate){
      dividendRateUsed[user]=DIVIDEND_RATE;//locks in latest div rate. Done after unclaimedDividends updated, so divs from before this operation will be at the old rate.
    }
  }
  function getTotalDivsSubWithdrawFee(address user) external view returns(uint256){
    uint256 baseDivs=getDividends(user);
    uint256 fee=baseDivs.mul(BURN_RATE).div(1000).add(baseDivs.mul(STAKE_DIV_FEE).div(1000));
    return baseDivs.sub(fee);
  }
  //recent divs over time plus previously recorded divs over time
  function getTotalDivsOverTime(address user) public view returns(uint256){
    return unclaimedDividends[user].add(getNewDivsOverTime(user)).sub(payoutsToTime[user]);
  }
  //Formula for dividends over time is (time_passed/staking_period)*staked_tokens*dividend_rate
  //All divided by 1000 to convert dividend rate to the appropriate units
  function getNewDivsOverTime(address user) public view returns(uint256){
    return getNow().sub(dividendCheckpoints[user]).mul(amountStaked[user]).mul(dividendRateUsed[user]).div(STAKING_PERIOD.mul(1000));
  }
  function getNow() public view returns(uint256){
      //have 'now' be assumed to be the contract end time, if the current time is later than that. This is to prevent accumulation of dividends after this point.
      if(contractEndTime>0 && now>contractEndTime){
        return contractEndTime;
      }
      else{
        return now;
      }

  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"STAKING_PERIOD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"unclaimedDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"payoutsTo","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"activated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"payoutsToTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"dividendRateUsed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"unstake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"dividendCheckpoints","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"divsPerShare","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reinvestDivs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nowTest","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getTotalDivsSubWithdrawFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getNewDivsOverTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"fromAddr","type":"address"},{"name":"tokens","type":"uint256"},{"name":"token","type":"address"},{"name":"data","type":"bytes"}],"name":"receiveApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"activateContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawDivs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"STAKE_DIV_FEE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DIVIDEND_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getNow","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WishToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getTotalDivsOverTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"burn","type":"uint256"},{"name":"div","type":"uint256"},{"name":"unstake","type":"uint256"}],"name":"setRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakedTotalSum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"disableDividendAccumulation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"amountStaked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"burnAfterContractEnd","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getBurnedDivs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BURN_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"UnStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"WithdrawDivs","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ReStakeDivs","type":"event"}]

6080604052620151806009556032600a556032600b55600a600c556001600d60006101000a81548160ff0219169083151502179055506000600e5542600f5534801561004a57600080fd5b50604051602080612a6983398101806040528101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506129ac806100bd6000396000f300608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630104db1b146101855780630490c71c146101b0578063152c8c2414610207578063186601ca1461025e57806326ce16161461028d578063285c8463146102e45780632e17de781461033b578063309362f414610368578063327170a2146103bf5780634634d81c146103ea5780634ae598211461044157806352e49785146104585780638193540614610483578063843e6104146104da5780638f4ffcb1146105315780638fda356d146105b65780639ddf840d146105cd578063b465162c146105e4578063b4b4b55e1461060f578063b8534ed11461063a578063bbe4fd5014610665578063c7945d7c14610690578063cee4aa96146106e7578063d004f38b1461073e578063d6a12d841461077f578063d7dc1a25146107aa578063ef40a670146107c1578063f120316d14610818578063f44b77071461082f578063f846a88514610886575b600080fd5b34801561019157600080fd5b5061019a6108b1565b6040518082815260200191505060405180910390f35b3480156101bc57600080fd5b506101f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108b7565b6040518082815260200191505060405180910390f35b34801561021357600080fd5b50610248600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108cf565b6040518082815260200191505060405180910390f35b34801561026a57600080fd5b506102736108e7565b604051808215151515815260200191505060405180910390f35b34801561029957600080fd5b506102ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108fa565b6040518082815260200191505060405180910390f35b3480156102f057600080fd5b50610325600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610912565b6040518082815260200191505060405180910390f35b34801561034757600080fd5b506103666004803603810190808035906020019092919050505061092a565b005b34801561037457600080fd5b506103a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e2d565b6040518082815260200191505060405180910390f35b3480156103cb57600080fd5b506103d4610e45565b6040518082815260200191505060405180910390f35b3480156103f657600080fd5b5061042b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e4b565b6040518082815260200191505060405180910390f35b34801561044d57600080fd5b50610456610e77565b005b34801561046457600080fd5b5061046d6110d8565b6040518082815260200191505060405180910390f35b34801561048f57600080fd5b506104c4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110de565b6040518082815260200191505060405180910390f35b3480156104e657600080fd5b5061051b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061116f565b6040518082815260200191505060405180910390f35b34801561053d57600080fd5b506105b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200191909192939192939050505061129b565b005b3480156105c257600080fd5b506105cb6114ae565b005b3480156105d957600080fd5b506105e261162d565b005b3480156105f057600080fd5b506105f9611a71565b6040518082815260200191505060405180910390f35b34801561061b57600080fd5b50610624611a77565b6040518082815260200191505060405180910390f35b34801561064657600080fd5b5061064f611a7d565b6040518082815260200191505060405180910390f35b34801561067157600080fd5b5061067a611a83565b6040518082815260200191505060405180910390f35b34801561069c57600080fd5b506106a5611aad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106f357600080fd5b50610728600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ad2565b6040518082815260200191505060405180910390f35b34801561074a57600080fd5b5061077d600480360381019080803590602001909291908035906020019092919080359060200190929190505050611b86565b005b34801561078b57600080fd5b50610794611d02565b6040518082815260200191505060405180910390f35b3480156107b657600080fd5b506107bf611d08565b005b3480156107cd57600080fd5b50610802600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e73565b6040518082815260200191505060405180910390f35b34801561082457600080fd5b5061082d611e8b565b005b34801561083b57600080fd5b50610870600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061218d565b6040518082815260200191505060405180910390f35b34801561089257600080fd5b5061089b6122fa565b6040518082815260200191505060405180910390f35b60095481565b60046020528060005260406000206000915090505481565b60026020528060005260406000206000915090505481565b600d60009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60066020528060005260406000206000915090505481565b600080600080600d60009054906101000a900460ff1615156109b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f7374616b696e67206973206e6f7420796574206163746976650000000000000081525060200191505060405180910390fd5b84600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a0257600080fd5b610a0d336001612300565b610a366103e8610a28600b548861243990919063ffffffff16565b61247790919063ffffffff16565b9350610a616103e8610a53600a548861243990919063ffffffff16565b61247790919063ffffffff16565b9250610a76838561249290919063ffffffff16565b9150610abc610aab600754610a9d680100000000000000008861243990919063ffffffff16565b61247790919063ffffffff16565b60085461249290919063ffffffff16565b600881905550610ad7856007546124b390919063ffffffff16565b600781905550610af082866124b390919063ffffffff16565b9050610b4485600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b390919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bed610b9f6008548761243990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124cf90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015610cc057600080fd5b505af1158015610cd4573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d9c57600080fd5b505af1158015610db0573d6000803e3d6000fd5b505050506040513d6020811015610dc657600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167fb24546d975e2628748efc9aced80665e0fad66272033e5c0ea25fd3afac99795866040518082815260200191505060405180910390a25050505050565b60056020528060005260406000206000915090505481565b60085481565b6000610e70610e5983611ad2565b610e628461218d565b61249290919063ffffffff16565b9050919050565b6000806000600d60009054906101000a900460ff161515610f00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f7374616b696e67206973206e6f7420796574206163746976650000000000000081525060200191505060405180910390fd5b610f0b336000612300565b610f143361218d565b9250610f83610f35680100000000000000008561243990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a290919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fcf33611ad2565b915061102382600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611079828461249290919063ffffffff16565b90506110858133612675565b3373ffffffffffffffffffffffffffffffffffffffff167fadbfc33e9a06811e7d0487c51a7fcd1596ae7a03f11784ee4a0ffd8a9bc7b582826040518082815260200191505060405180910390a2505050565b600f5481565b60008060006110ec84610e4b565b915061115161111a6103e861110c600b548661243990919063ffffffff16565b61247790919063ffffffff16565b6111436103e8611135600a548761243990919063ffffffff16565b61247790919063ffffffff16565b61249290919063ffffffff16565b905061116681836124b390919063ffffffff16565b92505050919050565b600061129461118b6103e860095461243990919063ffffffff16565b611286600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611278600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461126a600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461125c611a83565b6124b390919063ffffffff16565b61243990919063ffffffff16565b61243990919063ffffffff16565b61247790919063ffffffff16565b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112f657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8630876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156113ee57600080fd5b505af1158015611402573d6000803e3d6000fd5b505050506040513d602081101561141857600080fd5b8101908080519060200190929190505050151561149d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b6114a78486612675565b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561153357600080fd5b505af1158015611547573d6000803e3d6000fd5b505050506040513d602081101561155d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611610576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f75736572206973206e6f742061646d696e00000000000000000000000000000081525060200191505060405180910390fd5b6001600d60006101000a81548160ff021916908315150217905550565b6000806000806000600d60009054906101000a900460ff1615156116b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f7374616b696e67206973206e6f7420796574206163746976650000000000000081525060200191505060405180910390fd5b6116c4336000612300565b6116cd3361218d565b945061173c6116ee680100000000000000008761243990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a290919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061178833611ad2565b93506117dc84600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611832848661249290919063ffffffff16565b925061185d6103e861184f600a548661243990919063ffffffff16565b61247790919063ffffffff16565b915061187282846124b390919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561190457600080fd5b505af1158015611918573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156119e057600080fd5b505af11580156119f4573d6000803e3d6000fd5b505050506040513d6020811015611a0a57600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f39ec33c8667596a8dad568037a1be67124ce5029ab1425d2c7232ab8d616c2e8826040518082815260200191505060405180910390a25050505050565b600b5481565b600c5481565b600e5481565b600080600e54118015611a975750600e5442115b15611aa657600e549050611aaa565b4290505b90565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611b7f600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b71611b238561116f565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b6124b390919063ffffffff16565b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611c0b57600080fd5b505af1158015611c1f573d6000803e3d6000fd5b505050506040513d6020811015611c3557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ce8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f75736572206973206e6f742061646d696e00000000000000000000000000000081525060200191505060405180910390fd5b82600a8190555081600c8190555080600b81905550505050565b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d8d57600080fd5b505af1158015611da1573d6000803e3d6000fd5b505050506040513d6020811015611db757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e6a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f75736572206973206e6f742061646d696e00000000000000000000000000000081525060200191505060405180910390fd5b42600e81905550565b60016020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611f1057600080fd5b505af1158015611f24573d6000803e3d6000fd5b505050506040513d6020811015611f3a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f75736572206973206e6f742061646d696e00000000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c686000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156120e657600080fd5b505af11580156120fa573d6000803e3d6000fd5b505050506040513d602081101561211057600080fd5b81019080805190602001909291905050506040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561217357600080fd5b505af1158015612187573d6000803e3d6000fd5b50505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612223600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460085461243990919063ffffffff16565b121561223257600090506122f5565b6122f2680100000000000000006122e4600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d6600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460085461243990919063ffffffff16565b6124cf90919063ffffffff16565b61247790919063ffffffff16565b90505b919050565b600a5481565b61235a61230c8361116f565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123a5611a83565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550801561243557600c54600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b600080600084141561244e5760009150612470565b828402905082848281151561245f57fe5b0414151561246c57600080fd5b8091505b5092915050565b600080828481151561248557fe5b0490508091505092915050565b60008082840190508381101515156124a957600080fd5b8091505092915050565b60008282111515156124c457600080fd5b818303905092915050565b6000808284039050600083121580156124e85750838113155b806124fe57506000831280156124fd57508381135b5b1515612598576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f5369676e6564536166654d6174683a207375627472616374696f6e206f76657281526020017f666c6f770000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8091505092915050565b6000808284019050600083121580156125bb5750838112155b806125d157506000831280156125d057508381125b5b151561266b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f81526020017f770000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8091505092915050565b600d60009054906101000a900460ff1615156126f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f7374616b696e67206973206e6f7420796574206163746976650000000000000081525060200191505060405180910390fd5b678ac7230489e8000061275483600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b101515156127ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616d6f756e742062656c6f77207374616b696e67206d696e696d756d0000000081525060200191505060405180910390fd5b6127d5816001612300565b6127ea8260075461249290919063ffffffff16565b60078190555061284282600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128eb61289d6008548461243990919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a290919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a836040518082815260200191505060405180910390a250505600a165627a7a723058205ae2b13367160eabbeb2e0832ac74aad1af5c82a1e5cf0f72519741a3f988bf300290000000000000000000000009d9200af83ad0cc3c95ce553a135602ac1aa5919

Deployed Bytecode

0x608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630104db1b146101855780630490c71c146101b0578063152c8c2414610207578063186601ca1461025e57806326ce16161461028d578063285c8463146102e45780632e17de781461033b578063309362f414610368578063327170a2146103bf5780634634d81c146103ea5780634ae598211461044157806352e49785146104585780638193540614610483578063843e6104146104da5780638f4ffcb1146105315780638fda356d146105b65780639ddf840d146105cd578063b465162c146105e4578063b4b4b55e1461060f578063b8534ed11461063a578063bbe4fd5014610665578063c7945d7c14610690578063cee4aa96146106e7578063d004f38b1461073e578063d6a12d841461077f578063d7dc1a25146107aa578063ef40a670146107c1578063f120316d14610818578063f44b77071461082f578063f846a88514610886575b600080fd5b34801561019157600080fd5b5061019a6108b1565b6040518082815260200191505060405180910390f35b3480156101bc57600080fd5b506101f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108b7565b6040518082815260200191505060405180910390f35b34801561021357600080fd5b50610248600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108cf565b6040518082815260200191505060405180910390f35b34801561026a57600080fd5b506102736108e7565b604051808215151515815260200191505060405180910390f35b34801561029957600080fd5b506102ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108fa565b6040518082815260200191505060405180910390f35b3480156102f057600080fd5b50610325600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610912565b6040518082815260200191505060405180910390f35b34801561034757600080fd5b506103666004803603810190808035906020019092919050505061092a565b005b34801561037457600080fd5b506103a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e2d565b6040518082815260200191505060405180910390f35b3480156103cb57600080fd5b506103d4610e45565b6040518082815260200191505060405180910390f35b3480156103f657600080fd5b5061042b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e4b565b6040518082815260200191505060405180910390f35b34801561044d57600080fd5b50610456610e77565b005b34801561046457600080fd5b5061046d6110d8565b6040518082815260200191505060405180910390f35b34801561048f57600080fd5b506104c4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110de565b6040518082815260200191505060405180910390f35b3480156104e657600080fd5b5061051b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061116f565b6040518082815260200191505060405180910390f35b34801561053d57600080fd5b506105b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200191909192939192939050505061129b565b005b3480156105c257600080fd5b506105cb6114ae565b005b3480156105d957600080fd5b506105e261162d565b005b3480156105f057600080fd5b506105f9611a71565b6040518082815260200191505060405180910390f35b34801561061b57600080fd5b50610624611a77565b6040518082815260200191505060405180910390f35b34801561064657600080fd5b5061064f611a7d565b6040518082815260200191505060405180910390f35b34801561067157600080fd5b5061067a611a83565b6040518082815260200191505060405180910390f35b34801561069c57600080fd5b506106a5611aad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106f357600080fd5b50610728600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ad2565b6040518082815260200191505060405180910390f35b34801561074a57600080fd5b5061077d600480360381019080803590602001909291908035906020019092919080359060200190929190505050611b86565b005b34801561078b57600080fd5b50610794611d02565b6040518082815260200191505060405180910390f35b3480156107b657600080fd5b506107bf611d08565b005b3480156107cd57600080fd5b50610802600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e73565b6040518082815260200191505060405180910390f35b34801561082457600080fd5b5061082d611e8b565b005b34801561083b57600080fd5b50610870600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061218d565b6040518082815260200191505060405180910390f35b34801561089257600080fd5b5061089b6122fa565b6040518082815260200191505060405180910390f35b60095481565b60046020528060005260406000206000915090505481565b60026020528060005260406000206000915090505481565b600d60009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60066020528060005260406000206000915090505481565b600080600080600d60009054906101000a900460ff1615156109b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f7374616b696e67206973206e6f7420796574206163746976650000000000000081525060200191505060405180910390fd5b84600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a0257600080fd5b610a0d336001612300565b610a366103e8610a28600b548861243990919063ffffffff16565b61247790919063ffffffff16565b9350610a616103e8610a53600a548861243990919063ffffffff16565b61247790919063ffffffff16565b9250610a76838561249290919063ffffffff16565b9150610abc610aab600754610a9d680100000000000000008861243990919063ffffffff16565b61247790919063ffffffff16565b60085461249290919063ffffffff16565b600881905550610ad7856007546124b390919063ffffffff16565b600781905550610af082866124b390919063ffffffff16565b9050610b4485600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124b390919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bed610b9f6008548761243990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124cf90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015610cc057600080fd5b505af1158015610cd4573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d9c57600080fd5b505af1158015610db0573d6000803e3d6000fd5b505050506040513d6020811015610dc657600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167fb24546d975e2628748efc9aced80665e0fad66272033e5c0ea25fd3afac99795866040518082815260200191505060405180910390a25050505050565b60056020528060005260406000206000915090505481565b60085481565b6000610e70610e5983611ad2565b610e628461218d565b61249290919063ffffffff16565b9050919050565b6000806000600d60009054906101000a900460ff161515610f00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f7374616b696e67206973206e6f7420796574206163746976650000000000000081525060200191505060405180910390fd5b610f0b336000612300565b610f143361218d565b9250610f83610f35680100000000000000008561243990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a290919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fcf33611ad2565b915061102382600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611079828461249290919063ffffffff16565b90506110858133612675565b3373ffffffffffffffffffffffffffffffffffffffff167fadbfc33e9a06811e7d0487c51a7fcd1596ae7a03f11784ee4a0ffd8a9bc7b582826040518082815260200191505060405180910390a2505050565b600f5481565b60008060006110ec84610e4b565b915061115161111a6103e861110c600b548661243990919063ffffffff16565b61247790919063ffffffff16565b6111436103e8611135600a548761243990919063ffffffff16565b61247790919063ffffffff16565b61249290919063ffffffff16565b905061116681836124b390919063ffffffff16565b92505050919050565b600061129461118b6103e860095461243990919063ffffffff16565b611286600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611278600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461126a600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461125c611a83565b6124b390919063ffffffff16565b61243990919063ffffffff16565b61243990919063ffffffff16565b61247790919063ffffffff16565b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112f657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8630876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156113ee57600080fd5b505af1158015611402573d6000803e3d6000fd5b505050506040513d602081101561141857600080fd5b8101908080519060200190929190505050151561149d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f7472616e73666572206661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b6114a78486612675565b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561153357600080fd5b505af1158015611547573d6000803e3d6000fd5b505050506040513d602081101561155d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611610576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f75736572206973206e6f742061646d696e00000000000000000000000000000081525060200191505060405180910390fd5b6001600d60006101000a81548160ff021916908315150217905550565b6000806000806000600d60009054906101000a900460ff1615156116b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f7374616b696e67206973206e6f7420796574206163746976650000000000000081525060200191505060405180910390fd5b6116c4336000612300565b6116cd3361218d565b945061173c6116ee680100000000000000008761243990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a290919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061178833611ad2565b93506117dc84600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611832848661249290919063ffffffff16565b925061185d6103e861184f600a548661243990919063ffffffff16565b61247790919063ffffffff16565b915061187282846124b390919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561190457600080fd5b505af1158015611918573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156119e057600080fd5b505af11580156119f4573d6000803e3d6000fd5b505050506040513d6020811015611a0a57600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f39ec33c8667596a8dad568037a1be67124ce5029ab1425d2c7232ab8d616c2e8826040518082815260200191505060405180910390a25050505050565b600b5481565b600c5481565b600e5481565b600080600e54118015611a975750600e5442115b15611aa657600e549050611aaa565b4290505b90565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611b7f600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b71611b238561116f565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b6124b390919063ffffffff16565b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611c0b57600080fd5b505af1158015611c1f573d6000803e3d6000fd5b505050506040513d6020811015611c3557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ce8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f75736572206973206e6f742061646d696e00000000000000000000000000000081525060200191505060405180910390fd5b82600a8190555081600c8190555080600b81905550505050565b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d8d57600080fd5b505af1158015611da1573d6000803e3d6000fd5b505050506040513d6020811015611db757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e6a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f75736572206973206e6f742061646d696e00000000000000000000000000000081525060200191505060405180910390fd5b42600e81905550565b60016020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611f1057600080fd5b505af1158015611f24573d6000803e3d6000fd5b505050506040513d6020811015611f3a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f75736572206973206e6f742061646d696e00000000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c686000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156120e657600080fd5b505af11580156120fa573d6000803e3d6000fd5b505050506040513d602081101561211057600080fd5b81019080805190602001909291905050506040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561217357600080fd5b505af1158015612187573d6000803e3d6000fd5b50505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612223600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460085461243990919063ffffffff16565b121561223257600090506122f5565b6122f2680100000000000000006122e4600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122d6600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460085461243990919063ffffffff16565b6124cf90919063ffffffff16565b61247790919063ffffffff16565b90505b919050565b600a5481565b61235a61230c8361116f565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123a5611a83565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550801561243557600c54600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b600080600084141561244e5760009150612470565b828402905082848281151561245f57fe5b0414151561246c57600080fd5b8091505b5092915050565b600080828481151561248557fe5b0490508091505092915050565b60008082840190508381101515156124a957600080fd5b8091505092915050565b60008282111515156124c457600080fd5b818303905092915050565b6000808284039050600083121580156124e85750838113155b806124fe57506000831280156124fd57508381135b5b1515612598576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f5369676e6564536166654d6174683a207375627472616374696f6e206f76657281526020017f666c6f770000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8091505092915050565b6000808284019050600083121580156125bb5750838112155b806125d157506000831280156125d057508381125b5b151561266b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f81526020017f770000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8091505092915050565b600d60009054906101000a900460ff1615156126f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f7374616b696e67206973206e6f7420796574206163746976650000000000000081525060200191505060405180910390fd5b678ac7230489e8000061275483600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b101515156127ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f616d6f756e742062656c6f77207374616b696e67206d696e696d756d0000000081525060200191505060405180910390fd5b6127d5816001612300565b6127ea8260075461249290919063ffffffff16565b60078190555061284282600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461249290919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128eb61289d6008548461243990919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a290919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff167febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a836040518082815260200191505060405180910390a250505600a165627a7a723058205ae2b13367160eabbeb2e0832ac74aad1af5c82a1e5cf0f72519741a3f988bf30029

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

0000000000000000000000009d9200af83ad0cc3c95ce553a135602ac1aa5919

-----Decoded View---------------
Arg [0] : token (address): 0x9d9200aF83AD0Cc3c95ce553a135602AC1aA5919

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009d9200af83ad0cc3c95ce553a135602ac1aa5919


Deployed Bytecode Sourcemap

4487:7159:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5357:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5357:38:0;;;;;;;;;;;;;;;;;;;;;;;4880:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4880:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4686:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4686:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5643:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5643:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4800:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4800:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5098:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5098:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7516:940;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7516:940:0;;;;;;;;;;;;;;;;;;;;;;;;;;4991:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4991:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5188:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5188:27:0;;;;;;;;;;;;;;;;;;;;;;;9568:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9568:135:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9087:475;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9087:475:0;;;;;;5715:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5715:26:0;;;;;;;;;;;;;;;;;;;;;;;10401:254;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10401:254:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11073:211;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11073:211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6799:263;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6799:263:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6411:69;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6411:69:0;;;;;;8460:623;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8460:623:0;;;;;;5545:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5545:30:0;;;;;;;;;;;;;;;;;;;;;;;5599:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5599:33:0;;;;;;;;;;;;;;;;;;;;;;;5676:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5676:32:0;;;;;;;;;;;;;;;;;;;;;;;11288:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11288:355:0;;;;;;;;;;;;;;;;;;;;;;;4599:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4599:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10726:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10726:171:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6263:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6263:144:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5154:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5154:29:0;;;;;;;;;;;;;;;;;;;;;;;6597:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6597:85:0;;;;;;4634:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4634:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6484:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6484:109:0;;;;;;9707:291;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9707:291:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5451:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5451:29:0;;;;;;;;;;;;;;;;;;;;;;;5357:38;;;;:::o;4880:53::-;;;;;;;;;;;;;;;;;:::o;4686:43::-;;;;;;;;;;;;;;;;;:::o;5643:28::-;;;;;;;;;;;;;:::o;4800:48::-;;;;;;;;;;;;;;;;;:::o;5098:51::-;;;;;;;;;;;;;;;;;:::o;7516:940::-;7663:18;7765:19;7845:18;8097:19;6123:9;;;;;;;;;;;6115:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7607:6;7579:12;:24;7592:10;7579:24;;;;;;;;;;;;;;;;:34;;7571:43;;;;;;;;7621:33;7638:10;7649:4;7621:16;:33::i;:::-;7682:35;7712:4;7682:25;7693:13;;7682:6;:10;;:25;;;;:::i;:::-;:29;;:35;;;;:::i;:::-;7663:54;;7785:31;7811:4;7785:21;7796:9;;7785:6;:10;;:21;;;;:::i;:::-;:25;;:31;;;;:::i;:::-;7765:51;;7866:27;7881:11;7866:10;:14;;:27;;;;:::i;:::-;7845:48;;7915:63;7932:45;7962:14;;7932:25;5258:7;7932:10;:14;;:25;;;;:::i;:::-;:29;;:45;;;;:::i;:::-;7915:12;;:16;;:63;;;;:::i;:::-;7900:12;:78;;;;8064:26;8083:6;8064:14;;:18;;:26;;;;:::i;:::-;8047:14;:43;;;;8119:22;8130:10;8119:6;:10;;:22;;;;:::i;:::-;8097:44;;8175:36;8204:6;8175:12;:24;8188:10;8175:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;8148:12;:24;8161:10;8148:24;;;;;;;;;;;;;;;:63;;;;8242:59;8275:24;8286:12;;8275:6;:10;;:24;;;;:::i;:::-;8242:9;:21;8252:10;8242:21;;;;;;;;;;;;;;;;:25;;:59;;;;:::i;:::-;8218:9;:21;8228:10;8218:21;;;;;;;;;;;;;;;:83;;;;8308:9;;;;;;;;;;;:14;;;8323:11;8308:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8308:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8308:27:0;;;;8369:9;;;;;;;;;;;:18;;;8388:10;8399:11;8369:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8369:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8369:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8369:42:0;;;;;;;;;;;;;;;;;8431:10;8423:27;;;8443:6;8423:27;;;;;;;;;;;;;;;;;;7516:940;;;;;:::o;4991:54::-;;;;;;;;;;;;;;;;;:::o;5188:27::-;;;;:::o;9568:135::-;9624:7;9646:51;9670:26;9691:4;9670:20;:26::i;:::-;9646:19;9660:4;9646:13;:19::i;:::-;:23;;:51;;;;:::i;:::-;9639:58;;9568:135;;;:::o;9087:475::-;9174:18;9318:16;9448:12;6123:9;;;;;;;;;;;6115:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9133:34;9150:10;9161:5;9133:16;:34::i;:::-;9195:25;9209:10;9195:13;:25::i;:::-;9174:46;;9251:60;9284:25;5258:7;9284:10;:14;;:25;;;;:::i;:::-;9251:9;:21;9261:10;9251:21;;;;;;;;;;;;;;;;:25;;:60;;;;:::i;:::-;9227:9;:21;9237:10;9227:21;;;;;;;;;;;;;;;:84;;;;9335:32;9356:10;9335:20;:32::i;:::-;9318:49;;9402:39;9432:8;9402:13;:25;9416:10;9402:25;;;;;;;;;;;;;;;;:29;;:39;;;;:::i;:::-;9374:13;:25;9388:10;9374:25;;;;;;;;;;;;;;;:67;;;;9461:24;9476:8;9461:10;:14;;:24;;;;:::i;:::-;9448:37;;9492:23;9499:4;9504:10;9492:6;:23::i;:::-;9539:10;9527:29;;;9551:4;9527:29;;;;;;;;;;;;;;;;;;9087:475;;;:::o;5715:26::-;;;;:::o;10401:254::-;10473:7;10488:16;10530:11;10505:18;10518:4;10505:12;:18::i;:::-;10488:35;;10542:76;10580:37;10612:4;10580:27;10593:13;;10580:8;:12;;:27;;;;:::i;:::-;:31;;:37;;;;:::i;:::-;10542:33;10570:4;10542:23;10555:9;;10542:8;:12;;:23;;;;:::i;:::-;:27;;:33;;;;:::i;:::-;:37;;:76;;;;:::i;:::-;10530:88;;10632:17;10645:3;10632:8;:12;;:17;;;;:::i;:::-;10625:24;;10401:254;;;;;:::o;11073:211::-;11135:7;11157:121;11253:24;11272:4;11253:14;;:18;;:24;;;;:::i;:::-;11157:91;11225:16;:22;11242:4;11225:22;;;;;;;;;;;;;;;;11157:63;11201:12;:18;11214:4;11201:18;;;;;;;;;;;;;;;;11157:39;11170:19;:25;11190:4;11170:25;;;;;;;;;;;;;;;;11157:8;:6;:8::i;:::-;:12;;:39;;;;:::i;:::-;:43;;:63;;;;:::i;:::-;:67;;:91;;;;:::i;:::-;:95;;:121;;;;:::i;:::-;11150:128;;11073:211;;;:::o;6799:263::-;6928:9;;;;;;;;;;;6908:30;;:10;:30;;;6900:39;;;;;;;;6954:9;;;;;;;;;;;:22;;;6977:8;6994:4;7000:6;6954:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6954:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6954:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6954:53:0;;;;;;;;;;;;;;;;6946:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7033:23;7040:6;7047:8;7033:6;:23::i;:::-;6799:263;;;;;:::o;6411:69::-;6028:9;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6028:17:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6028:17:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6028:17:0;;;;;;;;;;;;;;;;6016:29;;:10;:29;;;6008:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6470:4;6460:9;;:14;;;;;;;;;;;;;;;;;;6411:69::o;8460:623::-;8547:18;8691:16;8821;8871:15;8927:12;6123:9;;;;;;;;;;;6115:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8506:34;8523:10;8534:5;8506:16;:34::i;:::-;8568:25;8582:10;8568:13;:25::i;:::-;8547:46;;8624:60;8657:25;5258:7;8657:10;:14;;:25;;;;:::i;:::-;8624:9;:21;8634:10;8624:21;;;;;;;;;;;;;;;;:25;;:60;;;;:::i;:::-;8600:9;:21;8610:10;8600:21;;;;;;;;;;;;;;;:84;;;;8708:32;8729:10;8708:20;:32::i;:::-;8691:49;;8775:39;8805:8;8775:13;:25;8789:10;8775:25;;;;;;;;;;;;;;;;:29;;:39;;;;:::i;:::-;8747:13;:25;8761:10;8747:25;;;;;;;;;;;;;;;:67;;;;8838:24;8853:8;8838:10;:14;;:24;;;;:::i;:::-;8821:41;;8887:33;8915:4;8887:23;8900:9;;8887:8;:12;;:23;;;;:::i;:::-;:27;;:33;;;;:::i;:::-;8871:49;;8940:21;8953:7;8940:8;:12;;:21;;;;:::i;:::-;8927:34;;8970:9;;;;;;;;;;;:14;;;8985:7;8970:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8970:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8970:23:0;;;;9000:9;;;;;;;;;;;:18;;;9019:10;9030:4;9000:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9000:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9000:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9000:35:0;;;;;;;;;;;;;;;;;9060:10;9047:30;;;9072:4;9047:30;;;;;;;;;;;;;;;;;;8460:623;;;;;:::o;5545:30::-;;;;:::o;5599:33::-;;;;:::o;5676:32::-;;;;:::o;11288:355::-;11326:7;11525:1;11509:15;;:17;:40;;;;;11534:15;;11530:3;:19;11509:40;11506:130;;;11568:15;;11561:22;;;;11506:130;11623:3;11616:10;;11288:355;;:::o;4599:30::-;;;;;;;;;;;;;:::o;10726:171::-;10790:7;10812:79;10871:13;:19;10885:4;10871:19;;;;;;;;;;;;;;;;10812:54;10841:24;10860:4;10841:18;:24::i;:::-;10812:18;:24;10831:4;10812:24;;;;;;;;;;;;;;;;:28;;:54;;;;:::i;:::-;:58;;:79;;;;:::i;:::-;10805:86;;10726:171;;;:::o;6263:144::-;6028:9;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6028:17:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6028:17:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6028:17:0;;;;;;;;;;;;;;;;6016:29;;:10;:29;;;6008:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6345:4;6335:9;:14;;;;6370:3;6356:13;:17;;;;6394:7;6380:13;:21;;;;6263:144;;;:::o;5154:29::-;;;;:::o;6597:85::-;6028:9;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6028:17:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6028:17:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6028:17:0;;;;;;;;;;;;;;;;6016:29;;:10;:29;;;6008:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6673:3;6657:15;:19;;;;6597:85::o;4634:47::-;;;;;;;;;;;;;;;;;:::o;6484:109::-;6028:9;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6028:17:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6028:17:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6028:17:0;;;;;;;;;;;;;;;;6016:29;;:10;:29;;;6008:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6537:9;;;;;;;;;;;:14;;;6552:9;;;;;;;;;;;:19;;;6580:4;6552:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6552:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6552:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6552:34:0;;;;;;;;;;;;;;;;6537:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6537:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6537:50:0;;;;6484:109::o;9707:291::-;9764:7;9829:9;:15;9839:4;9829:15;;;;;;;;;;;;;;;;9789:36;9806:12;:18;9819:4;9806:18;;;;;;;;;;;;;;;;9789:12;;:16;;:36;;;;:::i;:::-;9782:62;9779:214;;;9861:1;9854:8;;;;9779:214;9896:89;5258:7;9904:65;9953:9;:15;9963:4;9953:15;;;;;;;;;;;;;;;;9911:36;9928:12;:18;9941:4;9928:18;;;;;;;;;;;;;;;;9911:12;;:16;;:36;;;;:::i;:::-;9904:48;;:65;;;;:::i;:::-;9896:78;;:89;;;;:::i;:::-;9889:96;;9707:291;;;;:::o;5451:29::-;;;;:::o;10002:395::-;10097:54;10126:24;10145:4;10126:18;:24::i;:::-;10097:18;:24;10116:4;10097:24;;;;;;;;;;;;;;;;:28;;:54;;;;:::i;:::-;10072:18;:24;10091:4;10072:24;;;;;;;;;;;;;;;:79;;;;10184:8;:6;:8::i;:::-;10158:19;:25;10178:4;10158:25;;;;;;;;;;;;;;;:34;;;;10202:10;10199:193;;;10245:13;;10222:16;:22;10239:4;10222:22;;;;;;;;;;;;;;;:36;;;;10199:193;10002:395;;:::o;837:181::-;895:7;954:9;920:1;915;:6;911:37;;;939:1;932:8;;;;911:37;970:1;966;:5;954:17;;995:1;990;986;:5;;;;;;;;:10;978:19;;;;;;;;1011:1;1004:8;;837:181;;;;;;:::o;1024:112::-;1082:7;1098:9;1114:1;1110;:5;;;;;;;;1098:17;;1129:1;1122:8;;1024:112;;;;;:::o;1262:134::-;1320:7;1336:9;1352:1;1348;:5;1336:17;;1373:1;1368;:6;;1360:15;;;;;;;;1389:1;1382:8;;1262:134;;;;;:::o;1142:114::-;1200:7;1229:1;1224;:6;;1216:15;;;;;;;;1249:1;1245;:5;1238:12;;1142:114;;;;:::o;3578:218::-;3634:6;3653:8;3668:1;3664;:5;3653:16;;3694:1;3689;:6;;:16;;;;;3704:1;3699;:6;;3689:16;3688:38;;;;3715:1;3711;:5;:14;;;;;3724:1;3720;:5;3711:14;3688:38;3680:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3787:1;3780:8;;3578:218;;;;;:::o;4041:215::-;4097:6;4116:8;4131:1;4127;:5;4116:16;;4157:1;4152;:6;;:16;;;;;4167:1;4162;:6;;4152:16;4151:38;;;;4178:1;4174;:5;:14;;;;;4187:1;4183;:5;4174:14;4151:38;4143:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4247:1;4240:8;;4041:215;;;;;:::o;7066:446::-;6123:9;;;;;;;;;;;6115:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5314:15;7146:34;7173:6;7146:12;:22;7159:8;7146:22;;;;;;;;;;;;;;;;:26;;:34;;;;:::i;:::-;:53;;7138:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7238:31;7255:8;7264:4;7238:16;:31::i;:::-;7293:26;7312:6;7293:14;;:18;;:26;;;;:::i;:::-;7276:14;:43;;;;7351:34;7378:6;7351:12;:22;7364:8;7351:22;;;;;;;;;;;;;;;;:26;;:34;;;;:::i;:::-;7326:12;:22;7339:8;7326:22;;;;;;;;;;;;;;;:59;;;;7414:57;7445:24;7456:12;;7445:6;:10;;:24;;;;:::i;:::-;7414:9;:19;7424:8;7414:19;;;;;;;;;;;;;;;;:23;;:57;;;;:::i;:::-;7392:9;:19;7402:8;7392:19;;;;;;;;;;;;;;;:79;;;;7489:8;7483:23;;;7499:6;7483:23;;;;;;;;;;;;;;;;;;7066:446;;:::o

Swarm Source

bzzr://5ae2b13367160eabbeb2e0832ac74aad1af5c82a1e5cf0f72519741a3f988bf3

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.