ETH Price: $3,088.06 (-5.84%)
Gas: 1.72 Gwei
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exit127586002021-07-04 3:15:101309 days ago1625368510IN
0xA451C734...3737bc7e7
0 ETH0.000823025
Exit123709912021-05-05 0:29:461369 days ago1620174586IN
0xA451C734...3737bc7e7
0 ETH0.0068953539.00000145
Exit118734832021-02-17 9:18:261445 days ago1613553506IN
0xA451C734...3737bc7e7
0 ETH0.0203122794
Exit118581862021-02-15 0:54:291448 days ago1613350469IN
0xA451C734...3737bc7e7
0 ETH0.0192603690.00000134
Get Reward118113572021-02-07 20:02:021455 days ago1612728122IN
0xA451C734...3737bc7e7
0 ETH0.00838255131
Get Reward118113152021-02-07 19:54:241455 days ago1612727664IN
0xA451C734...3737bc7e7
0 ETH0.01050553133
Exit117960362021-02-05 11:45:081457 days ago1612525508IN
0xA451C734...3737bc7e7
0 ETH0.03915968171.00000145
Exit116461312021-01-13 10:41:181480 days ago1610534478IN
0xA451C734...3737bc7e7
0 ETH0.0095078744
Exit116334042021-01-11 11:43:031482 days ago1610365383IN
0xA451C734...3737bc7e7
0 ETH0.0092297550
Exit116317902021-01-11 5:53:091483 days ago1610344389IN
0xA451C734...3737bc7e7
0 ETH0.0175483282
Exit115747202021-01-02 11:29:121491 days ago1609586952IN
0xA451C734...3737bc7e7
0 ETH0.0084731437
Exit114298802020-12-11 5:59:241514 days ago1607666364IN
0xA451C734...3737bc7e7
0 ETH0.0049796323.04447739
Exit114105182020-12-08 6:32:101517 days ago1607409130IN
0xA451C734...3737bc7e7
0 ETH0.0034790116.1
Exit114077132020-12-07 20:00:531517 days ago1607371253IN
0xA451C734...3737bc7e7
0 ETH0.005777225
Exit114051142020-12-07 10:26:571517 days ago1607336817IN
0xA451C734...3737bc7e7
0 ETH0.0088273843
Get Reward113974492020-12-06 6:13:431519 days ago1607235223IN
0xA451C734...3737bc7e7
0 ETH0.0018596317.00000145
Exit113950692020-12-05 21:28:541519 days ago1607203734IN
0xA451C734...3737bc7e7
0 ETH0.0040408418.7
Get Reward113905192020-12-05 4:38:381520 days ago1607143118IN
0xA451C734...3737bc7e7
0 ETH0.0022868520.90550024
Exit113807552020-12-03 16:32:131521 days ago1607013133IN
0xA451C734...3737bc7e7
0 ETH0.0136135463
Get Reward113807382020-12-03 16:28:191521 days ago1607012899IN
0xA451C734...3737bc7e7
0 ETH0.0068915763
Exit113751592020-12-02 20:01:221522 days ago1606939282IN
0xA451C734...3737bc7e7
0 ETH0.0036734917
Exit113661932020-12-01 10:55:321523 days ago1606820132IN
0xA451C734...3737bc7e7
0 ETH0.0065841655.56258065
Exit113658302020-12-01 9:36:191523 days ago1606815379IN
0xA451C734...3737bc7e7
0 ETH0.0144778967.00000145
Exit113590602020-11-30 8:35:301524 days ago1606725330IN
0xA451C734...3737bc7e7
0 ETH0.0060082826
Get Reward113543312020-11-29 15:04:101525 days ago1606662250IN
0xA451C734...3737bc7e7
0 ETH0.0006778513.19070632
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:
StakingRewards

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-10-31
*/

library Math {
  function max(uint a, uint b) internal pure returns (uint) {
    return a >= b ? a : b;
  }

  function min(uint a, uint b) internal pure returns (uint) {
    return a < b ? a : b;
  }

  function average(uint a, uint b) internal pure returns (uint) {
    // (a + b) / 2 can overflow, so we distribute
    return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);
  }
}

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

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // 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;
        }

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned 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(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message 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(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. 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 mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. 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 mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable {

  address public owner;

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

  constructor() internal {
    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;
  }
}

library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * This test is non-exhaustive, and there may be false-negatives: during the
     * execution of a contract's constructor, its address will be reported as
     * not containing a contract.
     *
     * IMPORTANT: It is unsafe to assume that an address for which this
     * function returns false is an externally-owned account (EOA) and not a
     * contract.
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies in extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }

    /**
     * @dev Converts an `address` into `address payable`. Note that this is
     * simply a type cast: the actual underlying value is not changed.
     *
     * _Available since v2.4.0._
     */
    function toPayable(address account) internal pure returns (address payable) {
        return address(uint160(account));
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     *
     * _Available since v2.4.0._
     */
    function sendValue(address payable recipient, uint amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-call-value
        (bool success, ) = recipient.call { value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

interface IERC20 {
  function totalSupply() external view returns (uint);
  function balanceOf(address account) external view returns (uint);
  function transfer(address recipient, uint amount) external returns (bool);
  function allowance(address owner, address spender) external view returns (uint);
  function approve(address spender, uint amount) external returns (bool);
  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);
}

interface IRewardReceiver {

  function pushRewards() external;
}

contract StakingRewards is Ownable {

  using SafeMath for uint;

  IERC20 public lpt;
  IERC20 public rewardToken;

  uint public totalSupply;
  uint public DURATION = 7 days;
  IRewardReceiver public rewardReceiver;

  uint public starttime;
  uint public periodFinish = 0;
  uint public rewardRate = 0;
  uint public lastUpdateTime;
  uint public rewardPerTokenStored;

  mapping(address => uint) public userRewardPerTokenPaid;
  mapping(address => uint) public rewards;
  mapping(address => uint) public balanceOf;

  event RewardAdded(uint reward);
  event Staked(address indexed user, uint amount);
  event Withdrawn(address indexed user, uint amount);
  event RewardPaid(address indexed user, uint reward);

  constructor(address _rewardToken, address _lptoken, IRewardReceiver _rewardReceiver) public {
    rewardToken  = IERC20(_rewardToken);
    lpt = IERC20(_lptoken);
    rewardReceiver = _rewardReceiver;
    starttime = block.timestamp;
  }

  modifier checkStart() {
    require(block.timestamp >= starttime, "not start");
    _;
  }

  modifier updateReward(address _account) {
    rewardPerTokenStored = rewardPerToken();
    lastUpdateTime = lastTimeRewardApplicable();
    if (_account != address(0)) {
      rewards[_account] = earned(_account);
      userRewardPerTokenPaid[_account] = rewardPerTokenStored;
    }
    _;
  }

  modifier pullRewards() {
    rewardReceiver.pushRewards();
    _;
  }

  function lastTimeRewardApplicable() public view returns (uint) {
    return Math.min(block.timestamp, periodFinish);
  }

  function rewardPerToken() public view returns (uint) {
    if (totalSupply == 0) {
      return rewardPerTokenStored;
    }
    return
      rewardPerTokenStored.add(
        lastTimeRewardApplicable()
          .sub(lastUpdateTime)
          .mul(rewardRate)
          .mul(1e18)
          .div(totalSupply)
      );
  }

  function earned(address _account) public view returns (uint) {
    return
      balanceOf[_account]
        .mul(rewardPerToken().sub(userRewardPerTokenPaid[_account]))
        .div(1e18)
        .add(rewards[_account]);
  }

  // stake visibility is public as overriding LPTokenWrapper's stake() function
  function stake(uint _amount) public pullRewards updateReward(msg.sender) checkStart {
    require(_amount > 0, "Cannot stake 0");
    totalSupply = totalSupply.add(_amount);
    balanceOf[msg.sender] = balanceOf[msg.sender].add(_amount);
    lpt.transferFrom(msg.sender, address(this), _amount);
    emit Staked(msg.sender, _amount);
  }

  function withdraw(uint _amount) public pullRewards updateReward(msg.sender) checkStart {
    require(_amount > 0, "Cannot withdraw 0");
    totalSupply = totalSupply.sub(_amount);
    balanceOf[msg.sender] = balanceOf[msg.sender].sub(_amount);
    lpt.transfer(msg.sender, _amount);
    emit Withdrawn(msg.sender, _amount);
  }

  function exit() public {
    withdraw(balanceOf[msg.sender]);
    getReward();
  }

  function getReward() public updateReward(msg.sender) checkStart {
    uint reward = earned(msg.sender);
    if (reward > 0) {
      rewards[msg.sender] = 0;
      rewardToken.transfer(msg.sender, reward);
      emit RewardPaid(msg.sender, reward);
    }
  }

  function notifyRewardAmount(uint _reward)
    public
    updateReward(address(0))
  {
    require(msg.sender == owner || msg.sender == address(rewardReceiver), "invalid reward source");

    if (block.timestamp > starttime) {
      if (block.timestamp >= periodFinish) {
        rewardRate = _reward.div(DURATION);
      } else {
        uint remaining = periodFinish.sub(block.timestamp);
        uint leftover = remaining.mul(rewardRate);
        rewardRate = _reward.add(leftover).div(DURATION);
      }
      lastUpdateTime = block.timestamp;
      periodFinish = block.timestamp.add(DURATION);
      emit RewardAdded(_reward);
    } else {
      rewardRate = _reward.div(DURATION);
      lastUpdateTime = starttime;
      periodFinish = starttime.add(DURATION);
      emit RewardAdded(_reward);
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_rewardToken","type":"address"},{"internalType":"address","name":"_lptoken","type":"address"},{"internalType":"contract IRewardReceiver","name":"_rewardReceiver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpt","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardReceiver","outputs":[{"internalType":"contract IRewardReceiver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"starttime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","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":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405262093a806004556000600755600060085534801561002157600080fd5b5060405161209f38038061209f8339818101604052606081101561004457600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a382600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600681905550505050611e9f806102006000396000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c80638b876347116100de578063cd3daf9d11610097578063e9fad8ee11610071578063e9fad8ee14610521578063ebe2b12b1461052b578063f2fde38b14610549578063f7c618c11461058d57610172565b8063cd3daf9d146104b1578063ce5fc8d0146104cf578063df136d651461050357610172565b80638b8763471461039b5780638da58897146103f35780638da5cb5b146104115780638f32d59b14610445578063a694fc3a14610465578063c8f33c911461049357610172565b80633c6b16ab116101305780633c6b16ab146102c55780633d18b912146102f357806370a08231146102fd578063715018a6146103555780637b0a47ee1461035f57806380faa57d1461037d57610172565b80628cc262146101775780630700037d146101cf57806318160ddd146102275780631be05289146102455780631dac30b0146102635780632e1a7d4d14610297575b600080fd5b6101b96004803603602081101561018d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105c1565b6040518082815260200191505060405180910390f35b610211600480360360208110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106df565b6040518082815260200191505060405180910390f35b61022f6106f7565b6040518082815260200191505060405180910390f35b61024d6106fd565b6040518082815260200191505060405180910390f35b61026b610703565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102c3600480360360208110156102ad57600080fd5b8101908080359060200190929190505050610729565b005b6102f1600480360360208110156102db57600080fd5b8101908080359060200190929190505050610b4e565b005b6102fb610ebc565b005b61033f6004803603602081101561031357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611195565b6040518082815260200191505060405180910390f35b61035d6111ad565b005b6103676112e5565b6040518082815260200191505060405180910390f35b6103856112eb565b6040518082815260200191505060405180910390f35b6103dd600480360360208110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112fe565b6040518082815260200191505060405180910390f35b6103fb611316565b6040518082815260200191505060405180910390f35b61041961131c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61044d611340565b60405180821515815260200191505060405180910390f35b6104916004803603602081101561047b57600080fd5b8101908080359060200190929190505050611397565b005b61049b6117da565b6040518082815260200191505060405180910390f35b6104b96117e0565b6040518082815260200191505060405180910390f35b6104d761186e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61050b611894565b6040518082815260200191505060405180910390f35b61052961189a565b005b6105336118ec565b6040518082815260200191505060405180910390f35b61058b6004803603602081101561055f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118f2565b005b610595611978565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006106d8600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106ca670de0b6b3a76400006106bc61066e600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106606117e0565b61199e90919063ffffffff16565b600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e890919063ffffffff16565b611a6e90919063ffffffff16565b611ab890919063ffffffff16565b9050919050565b600c6020528060005260406000206000915090505481565b60035481565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632a167eb86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561079357600080fd5b505af11580156107a7573d6000803e3d6000fd5b50505050336107b46117e0565b600a819055506107c26112eb565b600981905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461088f57610805816105c1565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a54600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600654421015610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f74207374617274000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000821161097d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f74207769746864726177203000000000000000000000000000000081525060200191505060405180910390fd5b6109928260035461199e90919063ffffffff16565b6003819055506109ea82600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199e90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ac057600080fd5b505af1158015610ad4573d6000803e3d6000fd5b505050506040513d6020811015610aea57600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5836040518082815260200191505060405180910390a25050565b6000610b586117e0565b600a81905550610b666112eb565b600981905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c3357610ba9816105c1565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a54600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610cda5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f696e76616c69642072657761726420736f75726365000000000000000000000081525060200191505060405180910390fd5b600654421115610e3f576007544210610d7f57610d7460045483611a6e90919063ffffffff16565b600881905550610de1565b6000610d964260075461199e90919063ffffffff16565b90506000610daf600854836119e890919063ffffffff16565b9050610dd8600454610dca8387611ab890919063ffffffff16565b611a6e90919063ffffffff16565b60088190555050505b42600981905550610dfd60045442611ab890919063ffffffff16565b6007819055507fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d826040518082815260200191505060405180910390a1610eb8565b610e5460045483611a6e90919063ffffffff16565b600881905550600654600981905550610e7a600454600654611ab890919063ffffffff16565b6007819055507fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d826040518082815260200191505060405180910390a15b5050565b33610ec56117e0565b600a81905550610ed36112eb565b600981905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fa057610f16816105c1565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a54600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600654421015611018576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f74207374617274000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000611023336105c1565b90506000811115611191576000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561110657600080fd5b505af115801561111a573d6000803e3d6000fd5b505050506040513d602081101561113057600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486826040518082815260200191505060405180910390a25b5050565b600d6020528060005260406000206000915090505481565b6111b5611340565b611227576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b60006112f942600754611b40565b905090565b600b6020528060005260406000206000915090505481565b60065481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632a167eb86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561140157600080fd5b505af1158015611415573d6000803e3d6000fd5b50505050336114226117e0565b600a819055506114306112eb565b600981905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114fd57611473816105c1565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a54600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600654421015611575576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f74207374617274000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600082116115eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f43616e6e6f74207374616b65203000000000000000000000000000000000000081525060200191505060405180910390fd5b61160082600354611ab890919063ffffffff16565b60038190555061165882600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab890919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b505050506040513d602081101561177657600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d836040518082815260200191505060405180910390a25050565b60095481565b60008060035414156117f657600a54905061186b565b611868611857600354611849670de0b6b3a764000061183b60085461182d60095461181f6112eb565b61199e90919063ffffffff16565b6119e890919063ffffffff16565b6119e890919063ffffffff16565b611a6e90919063ffffffff16565b600a54611ab890919063ffffffff16565b90505b90565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6118e2600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610729565b6118ea610ebc565b565b60075481565b6118fa611340565b61196c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61197581611b59565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006119e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c9c565b905092915050565b6000808314156119fb5760009050611a68565b6000828402905082848281611a0c57fe5b0414611a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611e496021913960400191505060405180910390fd5b809150505b92915050565b6000611ab083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d5c565b905092915050565b600080828401905083811015611b36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000818310611b4f5781611b51565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611e236026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000838311158290611d49576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d0e578082015181840152602081019050611cf3565b50505050905090810190601f168015611d3b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611e08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611dcd578082015181840152602081019050611db2565b50505050905090810190601f168015611dfa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611e1457fe5b04905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220bc1adb5cfb13b717a9cccdd25b8369dda6352ce149cd01520f142fa38289b39664736f6c634300060c0033000000000000000000000000e1212f852c0ca3491ca6b96081ac3cf40e9890940000000000000000000000003fc2731731066c5fab56e86b75539eb02d91537c00000000000000000000000096dd8183f1c5f9d8d6617f72cd11bb82ecbdfeb7

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101725760003560e01c80638b876347116100de578063cd3daf9d11610097578063e9fad8ee11610071578063e9fad8ee14610521578063ebe2b12b1461052b578063f2fde38b14610549578063f7c618c11461058d57610172565b8063cd3daf9d146104b1578063ce5fc8d0146104cf578063df136d651461050357610172565b80638b8763471461039b5780638da58897146103f35780638da5cb5b146104115780638f32d59b14610445578063a694fc3a14610465578063c8f33c911461049357610172565b80633c6b16ab116101305780633c6b16ab146102c55780633d18b912146102f357806370a08231146102fd578063715018a6146103555780637b0a47ee1461035f57806380faa57d1461037d57610172565b80628cc262146101775780630700037d146101cf57806318160ddd146102275780631be05289146102455780631dac30b0146102635780632e1a7d4d14610297575b600080fd5b6101b96004803603602081101561018d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105c1565b6040518082815260200191505060405180910390f35b610211600480360360208110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106df565b6040518082815260200191505060405180910390f35b61022f6106f7565b6040518082815260200191505060405180910390f35b61024d6106fd565b6040518082815260200191505060405180910390f35b61026b610703565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102c3600480360360208110156102ad57600080fd5b8101908080359060200190929190505050610729565b005b6102f1600480360360208110156102db57600080fd5b8101908080359060200190929190505050610b4e565b005b6102fb610ebc565b005b61033f6004803603602081101561031357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611195565b6040518082815260200191505060405180910390f35b61035d6111ad565b005b6103676112e5565b6040518082815260200191505060405180910390f35b6103856112eb565b6040518082815260200191505060405180910390f35b6103dd600480360360208110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112fe565b6040518082815260200191505060405180910390f35b6103fb611316565b6040518082815260200191505060405180910390f35b61041961131c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61044d611340565b60405180821515815260200191505060405180910390f35b6104916004803603602081101561047b57600080fd5b8101908080359060200190929190505050611397565b005b61049b6117da565b6040518082815260200191505060405180910390f35b6104b96117e0565b6040518082815260200191505060405180910390f35b6104d761186e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61050b611894565b6040518082815260200191505060405180910390f35b61052961189a565b005b6105336118ec565b6040518082815260200191505060405180910390f35b61058b6004803603602081101561055f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118f2565b005b610595611978565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006106d8600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106ca670de0b6b3a76400006106bc61066e600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106606117e0565b61199e90919063ffffffff16565b600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e890919063ffffffff16565b611a6e90919063ffffffff16565b611ab890919063ffffffff16565b9050919050565b600c6020528060005260406000206000915090505481565b60035481565b60045481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632a167eb86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561079357600080fd5b505af11580156107a7573d6000803e3d6000fd5b50505050336107b46117e0565b600a819055506107c26112eb565b600981905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461088f57610805816105c1565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a54600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600654421015610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f74207374617274000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000821161097d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f74207769746864726177203000000000000000000000000000000081525060200191505060405180910390fd5b6109928260035461199e90919063ffffffff16565b6003819055506109ea82600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199e90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ac057600080fd5b505af1158015610ad4573d6000803e3d6000fd5b505050506040513d6020811015610aea57600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5836040518082815260200191505060405180910390a25050565b6000610b586117e0565b600a81905550610b666112eb565b600981905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c3357610ba9816105c1565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a54600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610cda5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f696e76616c69642072657761726420736f75726365000000000000000000000081525060200191505060405180910390fd5b600654421115610e3f576007544210610d7f57610d7460045483611a6e90919063ffffffff16565b600881905550610de1565b6000610d964260075461199e90919063ffffffff16565b90506000610daf600854836119e890919063ffffffff16565b9050610dd8600454610dca8387611ab890919063ffffffff16565b611a6e90919063ffffffff16565b60088190555050505b42600981905550610dfd60045442611ab890919063ffffffff16565b6007819055507fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d826040518082815260200191505060405180910390a1610eb8565b610e5460045483611a6e90919063ffffffff16565b600881905550600654600981905550610e7a600454600654611ab890919063ffffffff16565b6007819055507fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d826040518082815260200191505060405180910390a15b5050565b33610ec56117e0565b600a81905550610ed36112eb565b600981905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fa057610f16816105c1565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a54600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600654421015611018576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f74207374617274000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000611023336105c1565b90506000811115611191576000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561110657600080fd5b505af115801561111a573d6000803e3d6000fd5b505050506040513d602081101561113057600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486826040518082815260200191505060405180910390a25b5050565b600d6020528060005260406000206000915090505481565b6111b5611340565b611227576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b60006112f942600754611b40565b905090565b600b6020528060005260406000206000915090505481565b60065481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632a167eb86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561140157600080fd5b505af1158015611415573d6000803e3d6000fd5b50505050336114226117e0565b600a819055506114306112eb565b600981905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114fd57611473816105c1565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a54600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600654421015611575576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f74207374617274000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600082116115eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f43616e6e6f74207374616b65203000000000000000000000000000000000000081525060200191505060405180910390fd5b61160082600354611ab890919063ffffffff16565b60038190555061165882600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab890919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b505050506040513d602081101561177657600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d836040518082815260200191505060405180910390a25050565b60095481565b60008060035414156117f657600a54905061186b565b611868611857600354611849670de0b6b3a764000061183b60085461182d60095461181f6112eb565b61199e90919063ffffffff16565b6119e890919063ffffffff16565b6119e890919063ffffffff16565b611a6e90919063ffffffff16565b600a54611ab890919063ffffffff16565b90505b90565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6118e2600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610729565b6118ea610ebc565b565b60075481565b6118fa611340565b61196c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61197581611b59565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006119e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c9c565b905092915050565b6000808314156119fb5760009050611a68565b6000828402905082848281611a0c57fe5b0414611a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611e496021913960400191505060405180910390fd5b809150505b92915050565b6000611ab083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d5c565b905092915050565b600080828401905083811015611b36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000818310611b4f5781611b51565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611e236026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000838311158290611d49576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d0e578082015181840152602081019050611cf3565b50505050905090810190601f168015611d3b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611e08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611dcd578082015181840152602081019050611db2565b50505050905090810190601f168015611dfa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611e1457fe5b04905080915050939250505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220bc1adb5cfb13b717a9cccdd25b8369dda6352ce149cd01520f142fa38289b39664736f6c634300060c0033

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

000000000000000000000000e1212f852c0ca3491ca6b96081ac3cf40e9890940000000000000000000000003fc2731731066c5fab56e86b75539eb02d91537c00000000000000000000000096dd8183f1c5f9d8d6617f72cd11bb82ecbdfeb7

-----Decoded View---------------
Arg [0] : _rewardToken (address): 0xe1212f852c0ca3491CA6b96081Ac3Cf40e989094
Arg [1] : _lptoken (address): 0x3Fc2731731066C5fAB56E86b75539eB02d91537C
Arg [2] : _rewardReceiver (address): 0x96Dd8183F1c5f9d8d6617F72CD11bB82ECBdfEB7

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000e1212f852c0ca3491ca6b96081ac3cf40e989094
Arg [1] : 0000000000000000000000003fc2731731066c5fab56e86b75539eb02d91537c
Arg [2] : 00000000000000000000000096dd8183f1c5f9d8d6617f72cd11bb82ecbdfeb7


Deployed Bytecode Sourcemap

9720:4143:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11662:230;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10171:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9846:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9874:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9908:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12328:333;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13028:832;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12758:264;;;:::i;:::-;;10215:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5562:128;;;:::i;:::-;;10011:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11195:122;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10112:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9952:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5141:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5471:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11979:343;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10042:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11323:333;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9792:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10073:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12667:85;;;:::i;:::-;;9978:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5696:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9814:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11662:230;11717:4;11744:142;11868:7;:17;11876:8;11868:17;;;;;;;;;;;;;;;;11744:109;11848:4;11744:89;11778:54;11799:22;:32;11822:8;11799:32;;;;;;;;;;;;;;;;11778:16;:14;:16::i;:::-;:20;;:54;;;;:::i;:::-;11744:9;:19;11754:8;11744:19;;;;;;;;;;;;;;;;:33;;:89;;;;:::i;:::-;:103;;:109;;;;:::i;:::-;:123;;:142;;;;:::i;:::-;11730:156;;11662:230;;;:::o;10171:39::-;;;;;;;;;;;;;;;;;:::o;9846:23::-;;;;:::o;9874:29::-;;;;:::o;9908:37::-;;;;;;;;;;;;;:::o;12328:333::-;11147:14;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12392:10:::1;10880:16;:14;:16::i;:::-;10857:20;:39;;;;10920:26;:24;:26::i;:::-;10903:14;:43;;;;10977:1;10957:22;;:8;:22;;;10953:145;;11010:16;11017:8;11010:6;:16::i;:::-;10990:7;:17;10998:8;10990:17;;;;;;;;;;;;;;;:36;;;;11070:20;;11035:22;:32;11058:8;11035:32;;;;;;;;;;;;;;;:55;;;;10953:145;10767:9:::2;;10748:15;:28;;10740:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;12440:1:::3;12430:7;:11;12422:41;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;12484:24;12500:7;12484:11;;:15;;:24;;;;:::i;:::-;12470:11;:38;;;;12539:34;12565:7;12539:9;:21;12549:10;12539:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;12515:9;:21;12525:10;12515:21;;;;;;;;;;;;;;;:58;;;;12580:3;;;;;;;;;;;:12;;;12593:10;12605:7;12580:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;12635:10;12625:30;;;12647:7;12625:30;;;;;;;;;;;;;;;;;;11182:1:::1;12328:333:::0;:::o;13028:832::-;13108:1;10880:16;:14;:16::i;:::-;10857:20;:39;;;;10920:26;:24;:26::i;:::-;10903:14;:43;;;;10977:1;10957:22;;:8;:22;;;10953:145;;11010:16;11017:8;11010:6;:16::i;:::-;10990:7;:17;10998:8;10990:17;;;;;;;;;;;;;;;:36;;;;11070:20;;11035:22;:32;11058:8;11035:32;;;;;;;;;;;;;;;:55;;;;10953:145;13144:5:::1;::::0;::::1;;;;;;;;13130:19;;:10;:19;;;:60;;;;13175:14;;;;;;;;;;;13153:37;;:10;:37;;;13130:60;13122:94;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;13247:9;;13229:15;:27;13225:630;;;13290:12;;13271:15;:31;13267:280;;13328:21;13340:8;;13328:7;:11;;:21;;;;:::i;:::-;13315:10;:34;;;;13267:280;;;13376:14;13393:33;13410:15;13393:12;;:16;;:33;;;;:::i;:::-;13376:50;;13437:13;13453:25;13467:10;;13453:9;:13;;:25;;;;:::i;:::-;13437:41;;13502:35;13528:8;;13502:21;13514:8;13502:7;:11;;:21;;;;:::i;:::-;:25;;:35;;;;:::i;:::-;13489:10;:48;;;;13267:280;;;13572:15;13555:14;:32;;;;13611:29;13631:8;;13611:15;:19;;:29;;;;:::i;:::-;13596:12;:44;;;;13654:20;13666:7;13654:20;;;;;;;;;;;;;;;;;;13225:630;;;13710:21;13722:8;;13710:7;:11;;:21;;;;:::i;:::-;13697:10;:34;;;;13757:9;;13740:14;:26;;;;13790:23;13804:8;;13790:9;;:13;;:23;;;;:::i;:::-;13775:12;:38;;;;13827:20;13839:7;13827:20;;;;;;;;;;;;;;;;;;13225:630;13028:832:::0;;:::o;12758:264::-;12799:10;10880:16;:14;:16::i;:::-;10857:20;:39;;;;10920:26;:24;:26::i;:::-;10903:14;:43;;;;10977:1;10957:22;;:8;:22;;;10953:145;;11010:16;11017:8;11010:6;:16::i;:::-;10990:7;:17;10998:8;10990:17;;;;;;;;;;;;;;;:36;;;;11070:20;;11035:22;:32;11058:8;11035:32;;;;;;;;;;;;;;;:55;;;;10953:145;10767:9:::1;;10748:15;:28;;10740:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;12829:11:::2;12843:18;12850:10;12843:6;:18::i;:::-;12829:32;;12881:1;12872:6;:10;12868:149;;;12915:1;12893:7;:19;12901:10;12893:19;;;;;;;;;;;;;;;:23;;;;12925:11;;;;;;;;;;;:20;;;12946:10;12958:6;12925:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;12990:10;12979:30;;;13002:6;12979:30;;;;;;;;;;;;;;;;;;12868:149;10797:1;12758:264:::0;:::o;10215:41::-;;;;;;;;;;;;;;;;;:::o;5562:128::-;5405:9;:7;:9::i;:::-;5397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5656:1:::1;5620:39;;5641:5;::::0;::::1;;;;;;;;5620:39;;;;;;;;;;;;5682:1;5666:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;5562:128::o:0;10011:26::-;;;;:::o;11195:122::-;11252:4;11272:39;11281:15;11298:12;;11272:8;:39::i;:::-;11265:46;;11195:122;:::o;10112:54::-;;;;;;;;;;;;;;;;;:::o;9952:21::-;;;;:::o;5141:20::-;;;;;;;;;;;;:::o;5471:85::-;5511:4;5545:5;;;;;;;;;;;5531:19;;:10;:19;;;5524:26;;5471:85;:::o;11979:343::-;11147:14;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12040:10:::1;10880:16;:14;:16::i;:::-;10857:20;:39;;;;10920:26;:24;:26::i;:::-;10903:14;:43;;;;10977:1;10957:22;;:8;:22;;;10953:145;;11010:16;11017:8;11010:6;:16::i;:::-;10990:7;:17;10998:8;10990:17;;;;;;;;;;;;;;;:36;;;;11070:20;;11035:22;:32;11058:8;11035:32;;;;;;;;;;;;;;;:55;;;;10953:145;10767:9:::2;;10748:15;:28;;10740:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;12088:1:::3;12078:7;:11;12070:38;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;12129:24;12145:7;12129:11;;:15;;:24;;;;:::i;:::-;12115:11;:38;;;;12184:34;12210:7;12184:9;:21;12194:10;12184:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;12160:9;:21;12170:10;12160:21;;;;;;;;;;;;;;;:58;;;;12225:3;;;;;;;;;;;:16;;;12242:10;12262:4;12269:7;12225:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;12296:10;12289:27;;;12308:7;12289:27;;;;;;;;;;;;;;;;;;11182:1:::1;11979:343:::0;:::o;10042:26::-;;;;:::o;11323:333::-;11370:4;11402:1;11387:11;;:16;11383:66;;;11421:20;;11414:27;;;;11383:66;11469:181;11504:137;11629:11;;11504:108;11607:4;11504:86;11579:10;;11504:58;11547:14;;11504:26;:24;:26::i;:::-;:42;;:58;;;;:::i;:::-;:74;;:86;;;;:::i;:::-;:102;;:108;;;;:::i;:::-;:124;;:137;;;;:::i;:::-;11469:20;;:24;;:181;;;;:::i;:::-;11455:195;;11323:333;;:::o;9792:17::-;;;;;;;;;;;;;:::o;10073:32::-;;;;:::o;12667:85::-;12697:31;12706:9;:21;12716:10;12706:21;;;;;;;;;;;;;;;;12697:8;:31::i;:::-;12735:11;:9;:11::i;:::-;12667:85::o;9978:28::-;;;;:::o;5696:103::-;5405:9;:7;:9::i;:::-;5397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5765:28:::1;5784:8;5765:18;:28::i;:::-;5696:103:::0;:::o;9814:25::-;;;;;;;;;;;;;:::o;1121:136::-;1179:7;1206:43;1210:1;1213;1206:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1199:50;;1121:136;;;;:::o;2011:471::-;2069:7;2319:1;2314;:6;2310:47;;;2344:1;2337:8;;;;2310:47;2369:9;2385:1;2381;:5;2369:17;;2414:1;2409;2405;:5;;;;;;:10;2397:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2473:1;2466:8;;;2011:471;;;;;:::o;2958:132::-;3016:7;3043:39;3047:1;3050;3043:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3036:46;;2958:132;;;;:::o;657:181::-;715:7;735:9;751:1;747;:5;735:17;;776:1;771;:6;;763:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;829:1;822:8;;;657:181;;;;:::o;116:91::-;168:4;192:1;188;:5;:13;;200:1;188:13;;;196:1;188:13;181:20;;116:91;;;;:::o;5805:213::-;5895:1;5875:22;;:8;:22;;;;5867:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5980:8;5952:37;;5973:5;;;;;;;;;;5952:37;;;;;;;;;;;;6004:8;5996:5;;:16;;;;;;;;;;;;;;;;;;5805:213;:::o;1560:192::-;1646:7;1679:1;1674;:6;;1682:12;1666:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1706:9;1722:1;1718;:5;1706:17;;1743:1;1736:8;;;1560:192;;;;;:::o;3586:278::-;3672:7;3704:1;3700;:5;3707:12;3692:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3731:9;3747:1;3743;:5;;;;;;3731:17;;3855:1;3848:8;;;3586:278;;;;;:::o

Swarm Source

ipfs://bc1adb5cfb13b717a9cccdd25b8369dda6352ce149cd01520f142fa38289b396

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.