ETH Price: $2,300.88 (+1.59%)
Gas: 1.81 Gwei

Contract

0x06831E896731afc290C53Ab5261B2FDdc5Cf57BD
 
Transaction Hash
Method
Block
From
To
Withdraw167909622023-03-09 13:31:47548 days ago1678368707IN
0x06831E89...dc5Cf57BD
0 ETH0.0076265229.30168988
Withdraw129106112021-07-27 21:58:131137 days ago1627423093IN
0x06831E89...dc5Cf57BD
0 ETH0.0041751356
Deposit129106042021-07-27 21:56:051137 days ago1627422965IN
0x06831E89...dc5Cf57BD
0 ETH0.0048304459
Withdraw128957942021-07-25 13:48:181140 days ago1627220898IN
0x06831E89...dc5Cf57BD
0 ETH0.0056395919
Withdraw128941422021-07-25 7:35:341140 days ago1627198534IN
0x06831E89...dc5Cf57BD
0 ETH0.0020130127
Deposit128941022021-07-25 7:26:021140 days ago1627197962IN
0x06831E89...dc5Cf57BD
0 ETH0.0018830523
Deposit128940732021-07-25 7:20:371140 days ago1627197637IN
0x06831E89...dc5Cf57BD
0 ETH0.0022105427
Withdraw128935662021-07-25 5:23:501140 days ago1627190630IN
0x06831E89...dc5Cf57BD
0 ETH0.0009692213
Withdraw128930872021-07-25 3:36:121140 days ago1627184172IN
0x06831E89...dc5Cf57BD
0 ETH0.0011928916
Deposit128929772021-07-25 3:13:111140 days ago1627182791IN
0x06831E89...dc5Cf57BD
0 ETH0.0012193915
Withdraw128926802021-07-25 2:05:251140 days ago1627178725IN
0x06831E89...dc5Cf57BD
0 ETH0.0009692213
Withdraw128926362021-07-25 1:57:181140 days ago1627178238IN
0x06831E89...dc5Cf57BD
0 ETH0.0009692213
Deposit128926102021-07-25 1:53:061140 days ago1627177986IN
0x06831E89...dc5Cf57BD
0 ETH0.0009005911
Deposit128925952021-07-25 1:50:401140 days ago1627177840IN
0x06831E89...dc5Cf57BD
0 ETH0.0013099516
Deposit128925822021-07-25 1:46:511140 days ago1627177611IN
0x06831E89...dc5Cf57BD
0 ETH0.0009824612
Deposit128924762021-07-25 1:22:561140 days ago1627176176IN
0x06831E89...dc5Cf57BD
0 ETH0.0013701514
Withdraw128924712021-07-25 1:21:281140 days ago1627176088IN
0x06831E89...dc5Cf57BD
0 ETH0.0010437814
Deposit128924442021-07-25 1:16:281140 days ago1627175788IN
0x06831E89...dc5Cf57BD
0 ETH0.0010643313
Withdraw128914352021-07-24 21:26:371140 days ago1627161997IN
0x06831E89...dc5Cf57BD
0 ETH0.0009692213
Deposit128913862021-07-24 21:15:371140 days ago1627161337IN
0x06831E89...dc5Cf57BD
0 ETH0.0015555619
Withdraw128913772021-07-24 21:12:011140 days ago1627161121IN
0x06831E89...dc5Cf57BD
0 ETH0.0008946712
Deposit128913472021-07-24 21:05:041140 days ago1627160704IN
0x06831E89...dc5Cf57BD
0 ETH0.0009824612
Deposit128913312021-07-24 21:00:421140 days ago1627160442IN
0x06831E89...dc5Cf57BD
0 ETH0.0009906512.1
Deposit128913272021-07-24 21:00:121140 days ago1627160412IN
0x06831E89...dc5Cf57BD
0 ETH0.001146214
Withdraw128912402021-07-24 20:40:301140 days ago1627159230IN
0x06831E89...dc5Cf57BD
0 ETH0.0014165619
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MasterPool

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-05-24
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

interface IERC20 {
  function initialize() external;
  function totalSupply() external view returns (uint);
  function balanceOf(address account) external view returns (uint);
  function transfer(address recipient, uint256 amount) external returns (bool);
  function allowance(address owner, address spender) external view returns (uint);
  function symbol() external view returns (string memory);
  function decimals() external view returns (uint);
  function approve(address spender, uint amount) external returns (bool);
  function mint(address account, uint amount) external;
  function burn(address account, uint amount) external;
  function transferFrom(address sender, address recipient, uint amount) external returns (bool);
  event Transfer(address indexed from, address indexed to, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}

contract Ownable {

  address public owner;

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  constructor() {
    owner = msg.sender;
    emit OwnershipTransferred(address(0), owner);
  }

  modifier onlyOwner() {
    require(isOwner(), "Ownable: caller is not the owner");
    _;
  }

  function isOwner() public view returns (bool) {
    return msg.sender == owner;
  }

  function renounceOwnership() public onlyOwner {
    emit OwnershipTransferred(owner, address(0));
    owner = address(0);
  }

  function transferOwnership(address newOwner) public onlyOwner {
    _transferOwnership(newOwner);
  }

  function _transferOwnership(address newOwner) internal {
    require(newOwner != address(0), "Ownable: new owner is the zero address");
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }
}

contract MasterPool is Ownable {

  struct UserInfo {
    uint amount;
    uint rewardDebt;
  }

  // Info of each pool.
  struct PoolInfo {
    IERC20 lpToken;        // Address of LP token contract.
    uint allocPoints;      // How many allocation points assigned to this pool. RewardTokens to distribute per block.
    uint lastRewardBlock;  // Last block number that RewardTokens distribution occurs.
    uint accRewardTokenPerShare; // Accumulated RewardTokens per share, times 1e12. See below.
  }

  struct PoolPosition {
    uint pid;
    bool added; // To prevent duplicates.
  }

  IERC20 public rewardToken;
  uint public rewardTokenPerBlock;

  // Info of each pool.
  PoolInfo[] public poolInfo;
  // Info of each user that stakes LP tokens.
  mapping (uint => mapping (address => UserInfo)) public userInfo;
  mapping (address => PoolPosition) public pidByToken;
  // Total allocation poitns. Must be the sum of all allocation points in all pools.
  uint public totalAllocPoints;
  // The block number when RewardToken mining starts.
  uint public startBlock;

  event Deposit(address indexed user, uint indexed pid, uint amount);
  event Withdraw(address indexed user, uint indexed pid, uint amount);
  event EmergencyWithdraw(address indexed user, uint indexed pid, uint amount);

  event PoolUpdate(
    address indexed lpToken,
    uint    indexed pid,
    uint            allocPoints,
    bool    indexed withUpdate
  );

  constructor(
    IERC20 _rewardToken,
    uint _rewardTokenPerBlock,
    uint _startBlock
  ) {
    rewardToken = _rewardToken;
    rewardTokenPerBlock = _rewardTokenPerBlock;
    startBlock = _startBlock;
  }

  function poolLength() external view returns (uint) {
    return poolInfo.length;
  }

  // Add a new lp to the pool. Can only be called by the owner.
  function add(address _lpToken, uint _allocPoints, bool _withUpdate) public onlyOwner {

    require(pidByToken[_lpToken].added == false, "MasterPool: already added");

    if (_withUpdate) {
      massUpdatePools();
    }

    uint lastRewardBlock = block.number > startBlock ? block.number : startBlock;
    totalAllocPoints = totalAllocPoints + _allocPoints;
    poolInfo.push(PoolInfo({
      lpToken: IERC20(_lpToken),
      allocPoints: _allocPoints,
      lastRewardBlock: lastRewardBlock,
      accRewardTokenPerShare: 0
    }));

    pidByToken[_lpToken] = PoolPosition({
      pid: poolInfo.length - 1,
      added: true
    });

    emit PoolUpdate(_lpToken, poolInfo.length - 1, _allocPoints, _withUpdate);
  }

  // Update the given pool's RewardToken allocation point. Can only be called by the owner.
  function set(uint _pid, uint _allocPoints, bool _withUpdate) public onlyOwner {

    if (_withUpdate) {
      massUpdatePools();
    }

    totalAllocPoints = totalAllocPoints - poolInfo[_pid].allocPoints + _allocPoints;
    poolInfo[_pid].allocPoints = _allocPoints;

    emit PoolUpdate(address(poolInfo[_pid].lpToken), _pid, _allocPoints, _withUpdate);
  }

  // View function to see pending RewardTokens on frontend.
  function pendingRewards(uint _pid, address _user) external view returns (uint) {

    PoolInfo storage pool = poolInfo[_pid];
    UserInfo storage user = userInfo[_pid][_user];
    uint accRewardTokenPerShare = pool.accRewardTokenPerShare;
    uint lpSupply = pool.lpToken.balanceOf(address(this));

    if (block.number > pool.lastRewardBlock && lpSupply != 0) {
      uint multiplier = block.number - pool.lastRewardBlock;
      uint rewardTokenReward = multiplier * rewardTokenPerBlock * pool.allocPoints / totalAllocPoints;
      accRewardTokenPerShare += rewardTokenReward * 1e12 / lpSupply;
    }

    return (user.amount * accRewardTokenPerShare / 1e12) - user.rewardDebt;
  }

  // Update reward vairables for all pools. Be careful of gas spending!
  function massUpdatePools() public {
      uint length = poolInfo.length;
      for (uint pid = 0; pid < length; ++pid) {
        updatePool(pid);
      }
  }

  // Update reward variables of the given pool to be up-to-date.
  function updatePool(uint _pid) public {
    PoolInfo storage pool = poolInfo[_pid];
    if (block.number <= pool.lastRewardBlock) {
      return;
    }
    uint lpSupply = pool.lpToken.balanceOf(address(this));
    if (lpSupply == 0) {
      pool.lastRewardBlock = block.number;
      return;
    }
    uint multiplier = block.number - pool.lastRewardBlock;
    uint rewardTokenReward = multiplier * rewardTokenPerBlock * pool.allocPoints / totalAllocPoints;
    pool.accRewardTokenPerShare += rewardTokenReward * 1e12 / lpSupply;
    pool.lastRewardBlock = block.number;
  }

  function deposit(uint _pid, uint _amount) public {
    PoolInfo storage pool = poolInfo[_pid];
    UserInfo storage user = userInfo[_pid][msg.sender];
    updatePool(_pid);

    if (user.amount > 0) {
      uint pending = (user.amount * pool.accRewardTokenPerShare / 1e12) - user.rewardDebt;
      safeRewardTokenTransfer(msg.sender, pending);
    }

    pool.lpToken.transferFrom(address(msg.sender), address(this), _amount);
    user.amount += _amount;
    user.rewardDebt = user.amount * pool.accRewardTokenPerShare / 1e12;
    emit Deposit(msg.sender, _pid, _amount);
  }

  function withdraw(uint _pid, uint _amount) public {
    PoolInfo storage pool = poolInfo[_pid];
    UserInfo storage user = userInfo[_pid][msg.sender];
    require(user.amount >= _amount, "MasterPool: user.amount >= _amount");
    updatePool(_pid);
    uint pending = (user.amount * pool.accRewardTokenPerShare / 1e12) - user.rewardDebt;
    safeRewardTokenTransfer(msg.sender, pending);
    user.amount = user.amount - _amount;
    user.rewardDebt = user.amount * pool.accRewardTokenPerShare / 1e12;
    pool.lpToken.transfer(address(msg.sender), _amount);
    emit Withdraw(msg.sender, _pid, _amount);
  }

  function emergencyWithdraw(uint _pid) public {
    PoolInfo storage pool = poolInfo[_pid];
    UserInfo storage user = userInfo[_pid][msg.sender];
    pool.lpToken.transfer(address(msg.sender), user.amount);
    emit EmergencyWithdraw(msg.sender, _pid, user.amount);
    user.amount = 0;
    user.rewardDebt = 0;
  }

  // Allows to migrate rewards to a new staking contract.
  function migrateRewards(address _recipient, uint _amount) public onlyOwner {
    rewardToken.transfer(_recipient, _amount);
  }

  // Safe rewardToken transfer function, just in case if rounding error causes pool to not have enough RewardTokens.
  function safeRewardTokenTransfer(address _to, uint _amount) internal {
    uint rewardTokenBal = rewardToken.balanceOf(address(this));
    if (_amount > rewardTokenBal) {
      rewardToken.transfer(_to, rewardTokenBal);
    } else {
      rewardToken.transfer(_to, _amount);
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IERC20","name":"_rewardToken","type":"address"},{"internalType":"uint256","name":"_rewardTokenPerBlock","type":"uint256"},{"internalType":"uint256","name":"_startBlock","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EmergencyWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"lpToken","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"allocPoints","type":"uint256"},{"indexed":true,"internalType":"bool","name":"withUpdate","type":"bool"}],"name":"PoolUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"pid","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"address","name":"_lpToken","type":"address"},{"internalType":"uint256","name":"_allocPoints","type":"uint256"},{"internalType":"bool","name":"_withUpdate","type":"bool"}],"name":"add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"massUpdatePools","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"migrateRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"},{"internalType":"address","name":"_user","type":"address"}],"name":"pendingRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pidByToken","outputs":[{"internalType":"uint256","name":"pid","type":"uint256"},{"internalType":"bool","name":"added","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"poolInfo","outputs":[{"internalType":"contract IERC20","name":"lpToken","type":"address"},{"internalType":"uint256","name":"allocPoints","type":"uint256"},{"internalType":"uint256","name":"lastRewardBlock","type":"uint256"},{"internalType":"uint256","name":"accRewardTokenPerShare","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardTokenPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"},{"internalType":"uint256","name":"_allocPoints","type":"uint256"},{"internalType":"bool","name":"_withUpdate","type":"bool"}],"name":"set","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAllocPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"}],"name":"updatePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"rewardDebt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_pid","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516116db3803806116db83398101604081905261002f916100a4565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600180546001600160a01b0319166001600160a01b0394909416939093179092556002556007556100e5565b6000806000606084860312156100b8578283fd5b83516001600160a01b03811681146100ce578384fd5b602085015160409095015190969495509392505050565b6115e7806100f46000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063630b5ba1116100b857806393f1a40b1161007c57806393f1a40b14610243578063bc3d95b214610264578063d18df53c14610285578063e2bbb15814610298578063f2fde38b146102ab578063f7c618c1146102be57610137565b8063630b5ba1146101f657806364482f79146101fe578063715018a6146102115780638da5cb5b146102195780638f32d59b1461022e57610137565b806348cd4cb1116100ff57806348cd4cb1146101ad57806351eb05a6146101b55780635312ea8e146101c8578063554c798a146101db578063579fdd04146101e357610137565b8063081e3eda1461013c5780630dec23121461015a5780631526fe271461016f5780631fa36cbe14610192578063441a3e701461019a575b600080fd5b6101446102c6565b60405161015191906114dd565b60405180910390f35b61016d610168366004611263565b6102cc565b005b61018261017d3660046112be565b610506565b60405161015194939291906113c3565b61014461054a565b61016d6101a8366004611319565b610550565b61014461070a565b61016d6101c33660046112be565b610710565b61016d6101d63660046112be565b61086d565b610144610988565b61016d6101f136600461123a565b61098e565b61016d610a3b565b61016d61020c36600461133a565b610a66565b61016d610b9f565b610221610c0d565b6040516101519190611367565b610236610c1c565b60405161015191906113b8565b6102566102513660046112ee565b610c2d565b6040516101519291906114f6565b610277610272366004611219565b610c51565b6040516101519291906114e6565b6101446102933660046112ee565b610c6d565b61016d6102a6366004611319565b610dfc565b61016d6102b9366004611219565b610fa1565b610221610fce565b60035490565b6102d4610c1c565b6102f95760405162461bcd60e51b81526004016102f090611466565b60405180910390fd5b6001600160a01b03831660009081526005602052604090206001015460ff16156103355760405162461bcd60e51b81526004016102f0906113e9565b801561034357610343610a3b565b6000600754431161035657600754610358565b435b9050826006546103689190611504565b600655604080516080810182526001600160a01b0386811682526020820186815282840185815260006060850181815260038054600180820183559382905296517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b600490980297880180546001600160a01b031916919097161790955592517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c86015590517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d85015590517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85e9093019290925582518084019093525482916104709161155b565b8152600160209182018190526001600160a01b03871660009081526005835260409020835181559290910151918101805460ff191692151592909217909155600354831515916104bf9161155b565b856001600160a01b03167fe665e2bb86a29a81e30ca68dfecd7920a1078e490b1b0d0c0d77846330cbc369866040516104f891906114dd565b60405180910390a450505050565b6003818154811061051657600080fd5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b039092169350919084565b60065481565b60006003838154811061057357634e487b7160e01b600052603260045260246000fd5b60009182526020808320868452600480835260408086203387529093529190932080549290910290920192508311156105be5760405162461bcd60e51b81526004016102f09061149b565b6105c784610710565b6000816001015464e8d4a51000846003015484600001546105e8919061153c565b6105f2919061151c565b6105fc919061155b565b90506106083382610fdd565b815461061590859061155b565b808355600384015464e8d4a510009161062e919061153c565b610638919061151c565b6001830155825460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061066e903390889060040161139f565b602060405180830381600087803b15801561068857600080fd5b505af115801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c091906112a2565b5084336001600160a01b03167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568866040516106fb91906114dd565b60405180910390a35050505050565b60075481565b60006003828154811061073357634e487b7160e01b600052603260045260246000fd5b9060005260206000209060040201905080600201544311610754575061086a565b80546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610784903090600401611367565b60206040518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d491906112d6565b9050806107e857504360029091015561086a565b60008260020154436107fa919061155b565b90506000600654846001015460025484610814919061153c565b61081e919061153c565b610828919061151c565b90508261083a8264e8d4a5100061153c565b610844919061151c565b8460030160008282546108579190611504565b9091555050436002909401939093555050505b50565b60006003828154811061089057634e487b7160e01b600052603260045260246000fd5b60009182526020808320858452600480835260408086203380885294529485902093810290910180548454955163a9059cbb60e01b815291965093946001600160a01b039094169363a9059cbb936108ea9390920161139f565b602060405180830381600087803b15801561090457600080fd5b505af1158015610918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093c91906112a2565b508054604051849133917fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae059591610971916114dd565b60405180910390a360008082556001909101555050565b60025481565b610996610c1c565b6109b25760405162461bcd60e51b81526004016102f090611466565b60015460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906109e4908590859060040161139f565b602060405180830381600087803b1580156109fe57600080fd5b505af1158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3691906112a2565b505050565b60035460005b81811015610a6257610a5281610710565b610a5b81611572565b9050610a41565b5050565b610a6e610c1c565b610a8a5760405162461bcd60e51b81526004016102f090611466565b8015610a9857610a98610a3b565b8160038481548110610aba57634e487b7160e01b600052603260045260246000fd5b906000526020600020906004020160010154600654610ad9919061155b565b610ae39190611504565b6006819055508160038481548110610b0b57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060040201600101819055508015158360038581548110610b4557634e487b7160e01b600052603260045260246000fd5b60009182526020909120600490910201546040516001600160a01b03909116907fe665e2bb86a29a81e30ca68dfecd7920a1078e490b1b0d0c0d77846330cbc36990610b929087906114dd565b60405180910390a4505050565b610ba7610c1c565b610bc35760405162461bcd60e51b81526004016102f090611466565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031681565b6000546001600160a01b0316331490565b60046020908152600092835260408084209091529082529020805460019091015482565b6005602052600090815260409020805460019091015460ff1682565b60008060038481548110610c9157634e487b7160e01b600052603260045260246000fd5b60009182526020808320878452600480835260408086206001600160a01b038a8116885294528086209482029092016003810154815493516370a0823160e01b815291975094959392909216916370a0823191610cf091309101611367565b60206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4091906112d6565b9050836002015443118015610d5457508015155b15610dc4576000846002015443610d6b919061155b565b90506000600654866001015460025484610d85919061153c565b610d8f919061153c565b610d99919061151c565b905082610dab8264e8d4a5100061153c565b610db5919061151c565b610dbf9085611504565b935050505b6001830154835464e8d4a5100090610ddd90859061153c565b610de7919061151c565b610df1919061155b565b979650505050505050565b600060038381548110610e1f57634e487b7160e01b600052603260045260246000fd5b60009182526020808320868452600480835260408086203387529093529190932091029091019150610e5084610710565b805415610e9a576000816001015464e8d4a5100084600301548460000154610e78919061153c565b610e82919061151c565b610e8c919061155b565b9050610e983382610fdd565b505b81546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90610ecd9033903090889060040161137b565b602060405180830381600087803b158015610ee757600080fd5b505af1158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1f91906112a2565b5082816000016000828254610f349190611504565b90915550506003820154815464e8d4a5100091610f509161153c565b610f5a919061151c565b6001820155604051849033907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1590610f939087906114dd565b60405180910390a350505050565b610fa9610c1c565b610fc55760405162461bcd60e51b81526004016102f090611466565b61086a8161117c565b6001546001600160a01b031681565b6001546040516370a0823160e01b81526000916001600160a01b0316906370a082319061100e903090600401611367565b60206040518083038186803b15801561102657600080fd5b505afa15801561103a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105e91906112d6565b9050808211156110f25760015460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061109a908690859060040161139f565b602060405180830381600087803b1580156110b457600080fd5b505af11580156110c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ec91906112a2565b50610a36565b60015460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90611124908690869060040161139f565b602060405180830381600087803b15801561113e57600080fd5b505af1158015611152573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117691906112a2565b50505050565b6001600160a01b0381166111a25760405162461bcd60e51b81526004016102f090611420565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b038116811461121457600080fd5b919050565b60006020828403121561122a578081fd5b611233826111fd565b9392505050565b6000806040838503121561124c578081fd5b611255836111fd565b946020939093013593505050565b600080600060608486031215611277578081fd5b611280846111fd565b9250602084013591506040840135611297816115a3565b809150509250925092565b6000602082840312156112b3578081fd5b8151611233816115a3565b6000602082840312156112cf578081fd5b5035919050565b6000602082840312156112e7578081fd5b5051919050565b60008060408385031215611300578182fd5b82359150611310602084016111fd565b90509250929050565b6000806040838503121561132b578182fd5b50508035926020909101359150565b60008060006060848603121561134e578283fd5b83359250602084013591506040840135611297816115a3565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b60208082526019908201527f4d6173746572506f6f6c3a20616c726561647920616464656400000000000000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f4d6173746572506f6f6c3a20757365722e616d6f756e74203e3d205f616d6f756040820152611b9d60f21b606082015260800190565b90815260200190565b9182521515602082015260400190565b918252602082015260400190565b600082198211156115175761151761158d565b500190565b60008261153757634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156115565761155661158d565b500290565b60008282101561156d5761156d61158d565b500390565b60006000198214156115865761158661158d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b801515811461086a57600080fdfea26469706673582212203cc8a8e3f2260cf98c2d57cc27f792ba95d0e8534490cba845d8f74ab06237ba64736f6c6343000801003300000000000000000000000008a75dbc7167714ceac1a8e43a8d643a4edd625a00000000000000000000000000000000000000000000000104e70464b15800000000000000000000000000000000000000000000000000000000000000bec2e0

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063630b5ba1116100b857806393f1a40b1161007c57806393f1a40b14610243578063bc3d95b214610264578063d18df53c14610285578063e2bbb15814610298578063f2fde38b146102ab578063f7c618c1146102be57610137565b8063630b5ba1146101f657806364482f79146101fe578063715018a6146102115780638da5cb5b146102195780638f32d59b1461022e57610137565b806348cd4cb1116100ff57806348cd4cb1146101ad57806351eb05a6146101b55780635312ea8e146101c8578063554c798a146101db578063579fdd04146101e357610137565b8063081e3eda1461013c5780630dec23121461015a5780631526fe271461016f5780631fa36cbe14610192578063441a3e701461019a575b600080fd5b6101446102c6565b60405161015191906114dd565b60405180910390f35b61016d610168366004611263565b6102cc565b005b61018261017d3660046112be565b610506565b60405161015194939291906113c3565b61014461054a565b61016d6101a8366004611319565b610550565b61014461070a565b61016d6101c33660046112be565b610710565b61016d6101d63660046112be565b61086d565b610144610988565b61016d6101f136600461123a565b61098e565b61016d610a3b565b61016d61020c36600461133a565b610a66565b61016d610b9f565b610221610c0d565b6040516101519190611367565b610236610c1c565b60405161015191906113b8565b6102566102513660046112ee565b610c2d565b6040516101519291906114f6565b610277610272366004611219565b610c51565b6040516101519291906114e6565b6101446102933660046112ee565b610c6d565b61016d6102a6366004611319565b610dfc565b61016d6102b9366004611219565b610fa1565b610221610fce565b60035490565b6102d4610c1c565b6102f95760405162461bcd60e51b81526004016102f090611466565b60405180910390fd5b6001600160a01b03831660009081526005602052604090206001015460ff16156103355760405162461bcd60e51b81526004016102f0906113e9565b801561034357610343610a3b565b6000600754431161035657600754610358565b435b9050826006546103689190611504565b600655604080516080810182526001600160a01b0386811682526020820186815282840185815260006060850181815260038054600180820183559382905296517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b600490980297880180546001600160a01b031916919097161790955592517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c86015590517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d85015590517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85e9093019290925582518084019093525482916104709161155b565b8152600160209182018190526001600160a01b03871660009081526005835260409020835181559290910151918101805460ff191692151592909217909155600354831515916104bf9161155b565b856001600160a01b03167fe665e2bb86a29a81e30ca68dfecd7920a1078e490b1b0d0c0d77846330cbc369866040516104f891906114dd565b60405180910390a450505050565b6003818154811061051657600080fd5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b039092169350919084565b60065481565b60006003838154811061057357634e487b7160e01b600052603260045260246000fd5b60009182526020808320868452600480835260408086203387529093529190932080549290910290920192508311156105be5760405162461bcd60e51b81526004016102f09061149b565b6105c784610710565b6000816001015464e8d4a51000846003015484600001546105e8919061153c565b6105f2919061151c565b6105fc919061155b565b90506106083382610fdd565b815461061590859061155b565b808355600384015464e8d4a510009161062e919061153c565b610638919061151c565b6001830155825460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061066e903390889060040161139f565b602060405180830381600087803b15801561068857600080fd5b505af115801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c091906112a2565b5084336001600160a01b03167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568866040516106fb91906114dd565b60405180910390a35050505050565b60075481565b60006003828154811061073357634e487b7160e01b600052603260045260246000fd5b9060005260206000209060040201905080600201544311610754575061086a565b80546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610784903090600401611367565b60206040518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d491906112d6565b9050806107e857504360029091015561086a565b60008260020154436107fa919061155b565b90506000600654846001015460025484610814919061153c565b61081e919061153c565b610828919061151c565b90508261083a8264e8d4a5100061153c565b610844919061151c565b8460030160008282546108579190611504565b9091555050436002909401939093555050505b50565b60006003828154811061089057634e487b7160e01b600052603260045260246000fd5b60009182526020808320858452600480835260408086203380885294529485902093810290910180548454955163a9059cbb60e01b815291965093946001600160a01b039094169363a9059cbb936108ea9390920161139f565b602060405180830381600087803b15801561090457600080fd5b505af1158015610918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093c91906112a2565b508054604051849133917fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae059591610971916114dd565b60405180910390a360008082556001909101555050565b60025481565b610996610c1c565b6109b25760405162461bcd60e51b81526004016102f090611466565b60015460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906109e4908590859060040161139f565b602060405180830381600087803b1580156109fe57600080fd5b505af1158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3691906112a2565b505050565b60035460005b81811015610a6257610a5281610710565b610a5b81611572565b9050610a41565b5050565b610a6e610c1c565b610a8a5760405162461bcd60e51b81526004016102f090611466565b8015610a9857610a98610a3b565b8160038481548110610aba57634e487b7160e01b600052603260045260246000fd5b906000526020600020906004020160010154600654610ad9919061155b565b610ae39190611504565b6006819055508160038481548110610b0b57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060040201600101819055508015158360038581548110610b4557634e487b7160e01b600052603260045260246000fd5b60009182526020909120600490910201546040516001600160a01b03909116907fe665e2bb86a29a81e30ca68dfecd7920a1078e490b1b0d0c0d77846330cbc36990610b929087906114dd565b60405180910390a4505050565b610ba7610c1c565b610bc35760405162461bcd60e51b81526004016102f090611466565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031681565b6000546001600160a01b0316331490565b60046020908152600092835260408084209091529082529020805460019091015482565b6005602052600090815260409020805460019091015460ff1682565b60008060038481548110610c9157634e487b7160e01b600052603260045260246000fd5b60009182526020808320878452600480835260408086206001600160a01b038a8116885294528086209482029092016003810154815493516370a0823160e01b815291975094959392909216916370a0823191610cf091309101611367565b60206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4091906112d6565b9050836002015443118015610d5457508015155b15610dc4576000846002015443610d6b919061155b565b90506000600654866001015460025484610d85919061153c565b610d8f919061153c565b610d99919061151c565b905082610dab8264e8d4a5100061153c565b610db5919061151c565b610dbf9085611504565b935050505b6001830154835464e8d4a5100090610ddd90859061153c565b610de7919061151c565b610df1919061155b565b979650505050505050565b600060038381548110610e1f57634e487b7160e01b600052603260045260246000fd5b60009182526020808320868452600480835260408086203387529093529190932091029091019150610e5084610710565b805415610e9a576000816001015464e8d4a5100084600301548460000154610e78919061153c565b610e82919061151c565b610e8c919061155b565b9050610e983382610fdd565b505b81546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90610ecd9033903090889060040161137b565b602060405180830381600087803b158015610ee757600080fd5b505af1158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1f91906112a2565b5082816000016000828254610f349190611504565b90915550506003820154815464e8d4a5100091610f509161153c565b610f5a919061151c565b6001820155604051849033907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1590610f939087906114dd565b60405180910390a350505050565b610fa9610c1c565b610fc55760405162461bcd60e51b81526004016102f090611466565b61086a8161117c565b6001546001600160a01b031681565b6001546040516370a0823160e01b81526000916001600160a01b0316906370a082319061100e903090600401611367565b60206040518083038186803b15801561102657600080fd5b505afa15801561103a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105e91906112d6565b9050808211156110f25760015460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb9061109a908690859060040161139f565b602060405180830381600087803b1580156110b457600080fd5b505af11580156110c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ec91906112a2565b50610a36565b60015460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90611124908690869060040161139f565b602060405180830381600087803b15801561113e57600080fd5b505af1158015611152573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117691906112a2565b50505050565b6001600160a01b0381166111a25760405162461bcd60e51b81526004016102f090611420565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b038116811461121457600080fd5b919050565b60006020828403121561122a578081fd5b611233826111fd565b9392505050565b6000806040838503121561124c578081fd5b611255836111fd565b946020939093013593505050565b600080600060608486031215611277578081fd5b611280846111fd565b9250602084013591506040840135611297816115a3565b809150509250925092565b6000602082840312156112b3578081fd5b8151611233816115a3565b6000602082840312156112cf578081fd5b5035919050565b6000602082840312156112e7578081fd5b5051919050565b60008060408385031215611300578182fd5b82359150611310602084016111fd565b90509250929050565b6000806040838503121561132b578182fd5b50508035926020909101359150565b60008060006060848603121561134e578283fd5b83359250602084013591506040840135611297816115a3565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b60208082526019908201527f4d6173746572506f6f6c3a20616c726561647920616464656400000000000000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f4d6173746572506f6f6c3a20757365722e616d6f756e74203e3d205f616d6f756040820152611b9d60f21b606082015260800190565b90815260200190565b9182521515602082015260400190565b918252602082015260400190565b600082198211156115175761151761158d565b500190565b60008261153757634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156115565761155661158d565b500290565b60008282101561156d5761156d61158d565b500390565b60006000198214156115865761158661158d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b801515811461086a57600080fdfea26469706673582212203cc8a8e3f2260cf98c2d57cc27f792ba95d0e8534490cba845d8f74ab06237ba64736f6c63430008010033

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

00000000000000000000000008a75dbc7167714ceac1a8e43a8d643a4edd625a00000000000000000000000000000000000000000000000104e70464b15800000000000000000000000000000000000000000000000000000000000000bec2e0

-----Decoded View---------------
Arg [0] : _rewardToken (address): 0x08A75dbC7167714CeaC1a8e43a8d643A4EDd625a
Arg [1] : _rewardTokenPerBlock (uint256): 18800000000000000000
Arg [2] : _startBlock (uint256): 12501728

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000008a75dbc7167714ceac1a8e43a8d643a4edd625a
Arg [1] : 00000000000000000000000000000000000000000000000104e70464b1580000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000bec2e0


Deployed Bytecode Sourcemap

1863:6906:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3574:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3731:744;;;;;;:::i;:::-;;:::i;:::-;;2569:26;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;2857:28::-;;;:::i;7210:618::-;;;;;;:::i;:::-;;:::i;2945:22::-;;;:::i;6020:589::-;;;;;;:::i;:::-;;:::i;7834:323::-;;;;;;:::i;:::-;;:::i;2506:31::-;;;:::i;8222:129::-;;;;;;:::i;:::-;;:::i;5786:162::-;;;:::i;4574:369::-;;;;;;:::i;:::-;;:::i;1400:128::-;;;:::i;988:20::-;;;:::i;:::-;;;;;;;:::i;1309:85::-;;;:::i;:::-;;;;;;;:::i;2647:63::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2715:51::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;5010:697::-;;;;;;:::i;:::-;;:::i;6615:589::-;;;;;;:::i;:::-;;:::i;1534:103::-;;;;;;:::i;:::-;;:::i;2476:25::-;;;:::i;3574:86::-;3639:8;:15;3574:86;:::o;3731:744::-;1243:9;:7;:9::i;:::-;1235:54;;;;-1:-1:-1;;;1235:54:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;3833:20:0;::::1;;::::0;;;:10:::1;:20;::::0;;;;:26:::1;;::::0;::::1;;:35;3825:73;;;;-1:-1:-1::0;;;3825:73:0::1;;;;;;;:::i;:::-;3911:11;3907:51;;;3933:17;:15;:17::i;:::-;3966:20;4004:10;;3989:12;:25;:53;;4032:10;;3989:53;;;4017:12;3989:53;3966:76;;4087:12;4068:16;;:31;;;;:::i;:::-;4049:16;:50:::0;4120:160:::1;::::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;4120:160:0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;-1:-1:-1;4120:160:0;;;;;;4106:8:::1;:175:::0;;::::1;::::0;;::::1;::::0;;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;;;;4106:175:0::1;::::0;;;::::1;;::::0;;;;;;;;;;;;;;;;;;;;;;;;;4313:74;;;;::::1;::::0;;;4340:15;4313:74;;4340:19:::1;::::0;::::1;:::i;:::-;4313:74:::0;;4375:4:::1;4313:74;::::0;;::::1;::::0;;;-1:-1:-1;;;;;4290:20:0;::::1;-1:-1:-1::0;4290:20:0;;;:10:::1;:20:::0;;;;;:97;;;;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;4290:97:0::1;::::0;::::1;;::::0;;;::::1;::::0;;;4422:8:::1;:15:::0;4401:68;::::1;;::::0;4422:19:::1;::::0;::::1;:::i;:::-;4412:8;-1:-1:-1::0;;;;;4401:68:0::1;;4443:12;4401:68;;;;;;:::i;:::-;;;;;;;;1296:1;3731:744:::0;;;:::o;2569:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2569:26:0;;;;-1:-1:-1;2569:26:0;;;:::o;2857:28::-;;;;:::o;7210:618::-;7267:21;7291:8;7300:4;7291:14;;;;;;-1:-1:-1;;;7291:14:0;;;;;;;;;;;;;;;;;7336;;;7291;7336;;;;;;;7351:10;7336:26;;;;;;;;;7377:11;;7291:14;;;;;;;;-1:-1:-1;;;7377:22:0;7369:69;;;;-1:-1:-1;;;7369:69:0;;;;;;;:::i;:::-;7445:16;7456:4;7445:10;:16::i;:::-;7468:12;7536:4;:15;;;7528:4;7498;:27;;;7484:4;:11;;;:41;;;;:::i;:::-;:48;;;;:::i;:::-;7483:68;;;;:::i;:::-;7468:83;;7558:44;7582:10;7594:7;7558:23;:44::i;:::-;7623:11;;:21;;7637:7;;7623:21;:::i;:::-;7609:35;;;7683:27;;;;7713:4;;7669:41;;7683:27;7669:41;:::i;:::-;:48;;;;:::i;:::-;7651:15;;;:66;7724:12;;:51;;-1:-1:-1;;;7724:51:0;;-1:-1:-1;;;;;7724:12:0;;;;:21;;:51;;7754:10;;7767:7;;7724:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7808:4;7796:10;-1:-1:-1;;;;;7787:35:0;;7814:7;7787:35;;;;;;:::i;:::-;;;;;;;;7210:618;;;;;:::o;2945:22::-;;;;:::o;6020:589::-;6065:21;6089:8;6098:4;6089:14;;;;;;-1:-1:-1;;;6089:14:0;;;;;;;;;;;;;;;;;;;6065:38;;6130:4;:20;;;6114:12;:36;6110:65;;6161:7;;;6110:65;6197:12;;:37;;-1:-1:-1;;;6197:37:0;;6181:13;;-1:-1:-1;;;;;6197:12:0;;:22;;:37;;6228:4;;6197:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6181:53;-1:-1:-1;6245:13:0;6241:86;;-1:-1:-1;6292:12:0;6269:20;;;;:35;6313:7;;6241:86;6333:15;6366:4;:20;;;6351:12;:35;;;;:::i;:::-;6333:53;;6393:22;6472:16;;6453:4;:16;;;6431:19;;6418:10;:32;;;;:::i;:::-;:51;;;;:::i;:::-;:70;;;;:::i;:::-;6393:95;-1:-1:-1;6553:8:0;6526:24;6393:95;6546:4;6526:24;:::i;:::-;:35;;;;:::i;:::-;6495:4;:27;;;:66;;;;;;;:::i;:::-;;;;-1:-1:-1;;6591:12:0;6568:20;;;;:35;;;;-1:-1:-1;;;6020:589:0;;:::o;7834:323::-;7886:21;7910:8;7919:4;7910:14;;;;;;-1:-1:-1;;;7910:14:0;;;;;;;;;;;;;;;;;7955;;;7910;7955;;;;;;;7970:10;7955:26;;;;;;;;;7910:14;;;;;;7988:12;;8031:11;;7988:55;;-1:-1:-1;;;7988:55:0;;7910:14;;-1:-1:-1;7955:26:0;;-1:-1:-1;;;;;7988:12:0;;;;:21;;:55;;7970:10;;7988:55;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8091:11:0;;8055:48;;8085:4;;8073:10;;8055:48;;;;;:::i;:::-;;;;;;;;8124:1;8110:15;;;8132;;;;:19;-1:-1:-1;;7834:323:0:o;2506:31::-;;;;:::o;8222:129::-;1243:9;:7;:9::i;:::-;1235:54;;;;-1:-1:-1;;;1235:54:0;;;;;;;:::i;:::-;8304:11:::1;::::0;:41:::1;::::0;-1:-1:-1;;;8304:41:0;;-1:-1:-1;;;;;8304:11:0;;::::1;::::0;:20:::1;::::0;:41:::1;::::0;8325:10;;8337:7;;8304:41:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8222:129:::0;;:::o;5786:162::-;5843:8;:15;5829:11;5867:76;5892:6;5886:3;:12;5867:76;;;5918:15;5929:3;5918:10;:15::i;:::-;5900:5;;;:::i;:::-;;;5867:76;;;;5786:162;:::o;4574:369::-;1243:9;:7;:9::i;:::-;1235:54;;;;-1:-1:-1;;;1235:54:0;;;;;;;:::i;:::-;4665:11:::1;4661:51;;;4687:17;:15;:17::i;:::-;4787:12;4758:8;4767:4;4758:14;;;;;;-1:-1:-1::0;;;4758:14:0::1;;;;;;;;;;;;;;;;;;;:26;;;4739:16;;:45;;;;:::i;:::-;:60;;;;:::i;:::-;4720:16;:79;;;;4835:12;4806:8;4815:4;4806:14;;;;;;-1:-1:-1::0;;;4806:14:0::1;;;;;;;;;;;;;;;;;;;:26;;:41;;;;4925:11;4861:76;;4905:4;4880:8;4889:4;4880:14;;;;;;-1:-1:-1::0;;;4880:14:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;;:22:::0;4861:76:::1;::::0;-1:-1:-1;;;;;4880:22:0;;::::1;::::0;4861:76:::1;::::0;::::1;::::0;4911:12;;4861:76:::1;:::i;:::-;;;;;;;;4574:369:::0;;;:::o;1400:128::-;1243:9;:7;:9::i;:::-;1235:54;;;;-1:-1:-1;;;1235:54:0;;;;;;;:::i;:::-;1494:1:::1;1479:5:::0;;1458:39:::1;::::0;-1:-1:-1;;;;;1479:5:0;;::::1;::::0;1458:39:::1;::::0;1494:1;;1458:39:::1;1520:1;1504:18:::0;;-1:-1:-1;;;;;;1504:18:0::1;::::0;;1400:128::o;988:20::-;;;-1:-1:-1;;;;;988:20:0;;:::o;1309:85::-;1349:4;1383:5;-1:-1:-1;;;;;1383:5:0;1369:10;:19;;1309:85::o;2647:63::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2715:51::-;;;;;;;;;;;;;;;;;;;;;:::o;5010:697::-;5083:4;5098:21;5122:8;5131:4;5122:14;;;;;;-1:-1:-1;;;5122:14:0;;;;;;;;;;;;;;;;;5167;;;5122;5167;;;;;;;-1:-1:-1;;;;;5167:21:0;;;;;;;;;;5122:14;;;;;;5225:27;;;;5275:12;;:37;;-1:-1:-1;;;5275:37:0;;5122:14;;-1:-1:-1;5167:21:0;;5122:14;5275:12;;;;;:22;;:37;;5306:4;;5275:37;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5259:53;;5340:4;:20;;;5325:12;:35;:52;;;;-1:-1:-1;5364:13:0;;;5325:52;5321:302;;;5388:15;5421:4;:20;;;5406:12;:35;;;;:::i;:::-;5388:53;;5450:22;5529:16;;5510:4;:16;;;5488:19;;5475:10;:32;;;;:::i;:::-;:51;;;;:::i;:::-;:70;;;;:::i;:::-;5450:95;-1:-1:-1;5607:8:0;5580:24;5450:95;5600:4;5580:24;:::i;:::-;:35;;;;:::i;:::-;5554:61;;;;:::i;:::-;;;5321:302;;;5686:15;;;;5639:11;;5678:4;;5639:36;;5653:22;;5639:36;:::i;:::-;:43;;;;:::i;:::-;5638:63;;;;:::i;:::-;5631:70;5010:697;-1:-1:-1;;;;;;;5010:697:0:o;6615:589::-;6671:21;6695:8;6704:4;6695:14;;;;;;-1:-1:-1;;;6695:14:0;;;;;;;;;;;;;;;;;6740;;;6695;6740;;;;;;;6755:10;6740:26;;;;;;;;;6695:14;;;;;;-1:-1:-1;6773:16:0;6749:4;6773:10;:16::i;:::-;6802:11;;:15;6798:174;;6828:12;6896:4;:15;;;6888:4;6858;:27;;;6844:4;:11;;;:41;;;;:::i;:::-;:48;;;;:::i;:::-;6843:68;;;;:::i;:::-;6828:83;;6920:44;6944:10;6956:7;6920:23;:44::i;:::-;6798:174;;6980:12;;:70;;-1:-1:-1;;;6980:70:0;;-1:-1:-1;;;;;6980:12:0;;;;:25;;:70;;7014:10;;7035:4;;7042:7;;6980:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7072:7;7057:4;:11;;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;7118:27:0;;;;7104:11;;7148:4;;7104:41;;;:::i;:::-;:48;;;;:::i;:::-;7086:15;;;:66;7164:34;;7184:4;;7172:10;;7164:34;;;;7190:7;;7164:34;:::i;:::-;;;;;;;;6615:589;;;;:::o;1534:103::-;1243:9;:7;:9::i;:::-;1235:54;;;;-1:-1:-1;;;1235:54:0;;;;;;;:::i;:::-;1603:28:::1;1622:8;1603:18;:28::i;2476:25::-:0;;;-1:-1:-1;;;;;2476:25:0;;:::o;8475:291::-;8573:11;;:36;;-1:-1:-1;;;8573:36:0;;8551:19;;-1:-1:-1;;;;;8573:11:0;;:21;;:36;;8603:4;;8573:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8551:58;;8630:14;8620:7;:24;8616:145;;;8655:11;;:41;;-1:-1:-1;;;8655:41:0;;-1:-1:-1;;;;;8655:11:0;;;;:20;;:41;;8676:3;;8681:14;;8655:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8616:145;;;8719:11;;:34;;-1:-1:-1;;;8719:34:0;;-1:-1:-1;;;;;8719:11:0;;;;:20;;:34;;8740:3;;8745:7;;8719:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8475:291;;;:::o;1643:213::-;-1:-1:-1;;;;;1713:22:0;;1705:73;;;;-1:-1:-1;;;1705:73:0;;;;;;;:::i;:::-;1811:5;;;1790:37;;-1:-1:-1;;;;;1790:37:0;;;;1811:5;;;1790:37;;;1834:5;:16;;-1:-1:-1;;;;;;1834:16:0;-1:-1:-1;;;;;1834:16:0;;;;;;;;;;1643:213::o;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;113:2;65:124;;;:::o;194:198::-;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;:::-;345:41;264:128;-1:-1:-1;;;264:128:1:o;397:266::-;;;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;575:31;596:9;575:31;:::i;:::-;565:41;653:2;638:18;;;;625:32;;-1:-1:-1;;;484:179:1:o;668:397::-;;;;811:2;799:9;790:7;786:23;782:32;779:2;;;832:6;824;817:22;779:2;860:31;881:9;860:31;:::i;:::-;850:41;;938:2;927:9;923:18;910:32;900:42;;992:2;981:9;977:18;964:32;1005:30;1029:5;1005:30;:::i;:::-;1054:5;1044:15;;;769:296;;;;;:::o;1070:257::-;;1190:2;1178:9;1169:7;1165:23;1161:32;1158:2;;;1211:6;1203;1196:22;1158:2;1248:9;1242:16;1267:30;1291:5;1267:30;:::i;1332:190::-;;1444:2;1432:9;1423:7;1419:23;1415:32;1412:2;;;1465:6;1457;1450:22;1412:2;-1:-1:-1;1493:23:1;;1402:120;-1:-1:-1;1402:120:1:o;1527:194::-;;1650:2;1638:9;1629:7;1625:23;1621:32;1618:2;;;1671:6;1663;1656:22;1618:2;-1:-1:-1;1699:16:1;;1608:113;-1:-1:-1;1608:113:1:o;1726:266::-;;;1855:2;1843:9;1834:7;1830:23;1826:32;1823:2;;;1876:6;1868;1861:22;1823:2;1917:9;1904:23;1894:33;;1946:40;1982:2;1971:9;1967:18;1946:40;:::i;:::-;1936:50;;1813:179;;;;;:::o;1997:258::-;;;2126:2;2114:9;2105:7;2101:23;2097:32;2094:2;;;2147:6;2139;2132:22;2094:2;-1:-1:-1;;2175:23:1;;;2245:2;2230:18;;;2217:32;;-1:-1:-1;2084:171:1:o;2260:389::-;;;;2403:2;2391:9;2382:7;2378:23;2374:32;2371:2;;;2424:6;2416;2409:22;2371:2;2465:9;2452:23;2442:33;;2522:2;2511:9;2507:18;2494:32;2484:42;;2576:2;2565:9;2561:18;2548:32;2589:30;2613:5;2589:30;:::i;2654:203::-;-1:-1:-1;;;;;2818:32:1;;;;2800:51;;2788:2;2773:18;;2755:102::o;2862:375::-;-1:-1:-1;;;;;3120:15:1;;;3102:34;;3172:15;;;;3167:2;3152:18;;3145:43;3219:2;3204:18;;3197:34;;;;3052:2;3037:18;;3019:218::o;3242:274::-;-1:-1:-1;;;;;3434:32:1;;;;3416:51;;3498:2;3483:18;;3476:34;3404:2;3389:18;;3371:145::o;3521:187::-;3686:14;;3679:22;3661:41;;3649:2;3634:18;;3616:92::o;3934:430::-;-1:-1:-1;;;;;4196:32:1;;;;4178:51;;4260:2;4245:18;;4238:34;;;;4303:2;4288:18;;4281:34;4346:2;4331:18;;4324:34;4165:3;4150:19;;4132:232::o;4369:349::-;4571:2;4553:21;;;4610:2;4590:18;;;4583:30;4649:27;4644:2;4629:18;;4622:55;4709:2;4694:18;;4543:175::o;4723:402::-;4925:2;4907:21;;;4964:2;4944:18;;;4937:30;5003:34;4998:2;4983:18;;4976:62;-1:-1:-1;;;5069:2:1;5054:18;;5047:36;5115:3;5100:19;;4897:228::o;5130:356::-;5332:2;5314:21;;;5351:18;;;5344:30;5410:34;5405:2;5390:18;;5383:62;5477:2;5462:18;;5304:182::o;5491:398::-;5693:2;5675:21;;;5732:2;5712:18;;;5705:30;5771:34;5766:2;5751:18;;5744:62;-1:-1:-1;;;5837:2:1;5822:18;;5815:32;5879:3;5864:19;;5665:224::o;5894:177::-;6040:25;;;6028:2;6013:18;;5995:76::o;6076:258::-;6244:25;;;6312:14;6305:22;6300:2;6285:18;;6278:50;6232:2;6217:18;;6199:135::o;6339:248::-;6513:25;;;6569:2;6554:18;;6547:34;6501:2;6486:18;;6468:119::o;6592:128::-;;6663:1;6659:6;6656:1;6653:13;6650:2;;;6669:18;;:::i;:::-;-1:-1:-1;6705:9:1;;6640:80::o;6725:217::-;;6791:1;6781:2;;-1:-1:-1;;;6816:31:1;;6870:4;6867:1;6860:15;6898:4;6823:1;6888:15;6781:2;-1:-1:-1;6927:9:1;;6771:171::o;6947:168::-;;7053:1;7049;7045:6;7041:14;7038:1;7035:21;7030:1;7023:9;7016:17;7012:45;7009:2;;;7060:18;;:::i;:::-;-1:-1:-1;7100:9:1;;6999:116::o;7120:125::-;;7188:1;7185;7182:8;7179:2;;;7193:18;;:::i;:::-;-1:-1:-1;7230:9:1;;7169:76::o;7250:135::-;;-1:-1:-1;;7310:17:1;;7307:2;;;7330:18;;:::i;:::-;-1:-1:-1;7377:1:1;7366:13;;7297:88::o;7390:127::-;7451:10;7446:3;7442:20;7439:1;7432:31;7482:4;7479:1;7472:15;7506:4;7503:1;7496:15;7522:120;7610:5;7603:13;7596:21;7589:5;7586:32;7576:2;;7632:1;7629;7622:12

Swarm Source

ipfs://3cc8a8e3f2260cf98c2d57cc27f792ba95d0e8534490cba845d8f74ab06237ba

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.