Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Latest 25 from a total of 71 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Unfarm | 16013900 | 1207 days ago | IN | 0 ETH | 0.0012053 | ||||
| Unfarm | 12983608 | 1677 days ago | IN | 0 ETH | 0.00332609 | ||||
| Unfarm | 12897361 | 1690 days ago | IN | 0 ETH | 0.00083993 | ||||
| Farm | 12869058 | 1695 days ago | IN | 0 ETH | 0.00048683 | ||||
| Farm | 12869058 | 1695 days ago | IN | 0 ETH | 0.00171085 | ||||
| Unfarm | 12709152 | 1720 days ago | IN | 0 ETH | 0.00075399 | ||||
| Farm | 12642675 | 1730 days ago | IN | 0 ETH | 0.00248812 | ||||
| Farm | 12473332 | 1756 days ago | IN | 0 ETH | 0.01057536 | ||||
| Unfarm | 12441165 | 1761 days ago | IN | 0 ETH | 0.00419965 | ||||
| Farm | 12357893 | 1774 days ago | IN | 0 ETH | 0.00519924 | ||||
| Farm | 12172090 | 1803 days ago | IN | 0 ETH | 0.01572714 | ||||
| Unfarm | 12035222 | 1824 days ago | IN | 0 ETH | 0.00733839 | ||||
| Unfarm | 11892749 | 1846 days ago | IN | 0 ETH | 0.00973415 | ||||
| Unfarm | 11888814 | 1847 days ago | IN | 0 ETH | 0.01127787 | ||||
| Unfarm | 11868002 | 1850 days ago | IN | 0 ETH | 0.01050397 | ||||
| Unfarm | 11764212 | 1866 days ago | IN | 0 ETH | 0.0092809 | ||||
| Unfarm | 11727084 | 1871 days ago | IN | 0 ETH | 0.00483337 | ||||
| Unfarm | 11711964 | 1874 days ago | IN | 0 ETH | 0.00450261 | ||||
| Unfarm | 11711950 | 1874 days ago | IN | 0 ETH | 0.00438236 | ||||
| Unfarm | 11711916 | 1874 days ago | IN | 0 ETH | 0.00450261 | ||||
| Unfarm | 11711158 | 1874 days ago | IN | 0 ETH | 0.0022 | ||||
| Farm | 11707969 | 1874 days ago | IN | 0 ETH | 0.00851694 | ||||
| Unfarm | 11693957 | 1876 days ago | IN | 0 ETH | 0.00270669 | ||||
| Unfarm | 11686401 | 1878 days ago | IN | 0 ETH | 0.00540977 | ||||
| Unfarm | 11603710 | 1890 days ago | IN | 0 ETH | 0.0067951 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Farming
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-11-29
*/
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.5.16;
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// 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;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
library Address {
function isContract(address account) internal view returns (bool) {
// 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 != accountHash && codehash != 0x0);
}
function toPayable(address account) internal pure returns (address payable) {
return address(uint160(account));
}
function sendValue(address payable recipient, uint256 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");
}
}
library SafeERC20 {
using SafeMath for uint256;
using Address for address;
function safeTransfer(IERC20 token, address to, uint256 value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
}
function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
}
function safeApprove(IERC20 token, address spender, uint256 value) internal {
// safeApprove should only be called when setting an initial allowance,
// or when resetting it to zero. To increase and decrease it, use
// 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
// solhint-disable-next-line max-line-length
require((value == 0) || (token.allowance(address(this), spender) == 0),
"SafeERC20: approve from non-zero to non-zero allowance"
);
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
}
function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
uint256 newAllowance = token.allowance(address(this), spender).add(value);
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
}
function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
}
function callOptionalReturn(IERC20 token, bytes memory data) private {
// We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
// we're implementing it ourselves.
// A Solidity high level call has three parts:
// 1. The target address is checked to verify it contains contract code
// 2. The call itself is made, and success asserted
// 3. The return value is decoded, which in turn checks the size of the returned data.
// solhint-disable-next-line max-line-length
require(address(token).isContract(), "SafeERC20: call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = address(token).call(data);
require(success, "SafeERC20: low-level call failed");
if (returndata.length > 0) { // Return data is optional
// solhint-disable-next-line max-line-length
require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
}
}
}
contract ReentrancyGuard {
bool private _notEntered;
constructor () internal {
_notEntered = true;
}
modifier nonReentrant() {
// On the first call to nonReentrant, _notEntered will be true
require(_notEntered, "ReentrancyGuard: reentrant call");
// Any calls to nonReentrant after this point will fail
_notEntered = false;
_;
// By storing the original value once again, a refund is triggered (see
// https://eips.ethereum.org/EIPS/eip-2200)
_notEntered = true;
}
}
contract FarmingTokenWrapper is ReentrancyGuard {
using SafeMath for uint256;
using SafeERC20 for IERC20;
IERC20 public farmingToken;
uint256 private _totalSupply;
mapping(address => uint256) private _balances;
constructor(address _farmingToken) internal {
farmingToken = IERC20(_farmingToken);
}
function totalSupply()
public
view
returns (uint256)
{
return _totalSupply;
}
function balanceOf(address _account)
public
view
returns (uint256)
{
return _balances[_account];
}
function _farm(address _beneficiary, uint256 _amount)
internal
nonReentrant
{
_totalSupply = _totalSupply.add(_amount);
_balances[_beneficiary] = _balances[_beneficiary].add(_amount);
farmingToken.safeTransferFrom(msg.sender, address(this), _amount);
}
function _withdraw(uint256 _amount)
internal
nonReentrant
{
_totalSupply = _totalSupply.sub(_amount);
_balances[msg.sender] = _balances[msg.sender].sub(_amount);
farmingToken.safeTransfer(msg.sender, _amount);
}
}
interface IRewardsDistributionRecipient {
// function notifyRewardAmount(uint256 reward) external;
function getRewardToken() external view returns (IERC20);
}
contract RewardsDistributionRecipient is IRewardsDistributionRecipient {
// @abstract
// function notifyRewardAmount(uint256 reward) external;
function getRewardToken() external view returns (IERC20);
// This address has the ability to distribute the rewards
address public rewardsDistributor;
/** @dev Recipient is a module, governed by mStable governance */
constructor(address _rewardsDistributor)
internal
{
rewardsDistributor = _rewardsDistributor;
}
/**
* @dev Only the rewards distributor can notify about rewards
*/
modifier onlyRewardsDistributor() {
require(msg.sender == rewardsDistributor, "Caller is not reward distributor");
_;
}
}
library StableMath {
using SafeMath for uint256;
uint256 private constant FULL_SCALE = 1e18;
uint256 private constant RATIO_SCALE = 1e8;
function getFullScale() internal pure returns (uint256) {
return FULL_SCALE;
}
function getRatioScale() internal pure returns (uint256) {
return RATIO_SCALE;
}
function scaleInteger(uint256 x)
internal
pure
returns (uint256)
{
return x.mul(FULL_SCALE);
}
function mulTruncate(uint256 x, uint256 y)
internal
pure
returns (uint256)
{
return mulTruncateScale(x, y, FULL_SCALE);
}
function mulTruncateScale(uint256 x, uint256 y, uint256 scale)
internal
pure
returns (uint256)
{
// e.g. assume scale = fullScale
// z = 10e18 * 9e17 = 9e36
uint256 z = x.mul(y);
// return 9e38 / 1e18 = 9e18
return z.div(scale);
}
function mulTruncateCeil(uint256 x, uint256 y)
internal
pure
returns (uint256)
{
// e.g. 8e17 * 17268172638 = 138145381104e17
uint256 scaled = x.mul(y);
// e.g. 138145381104e17 + 9.99...e17 = 138145381113.99...e17
uint256 ceil = scaled.add(FULL_SCALE.sub(1));
// e.g. 13814538111.399...e18 / 1e18 = 13814538111
return ceil.div(FULL_SCALE);
}
function divPrecisely(uint256 x, uint256 y)
internal
pure
returns (uint256)
{
// e.g. 8e18 * 1e18 = 8e36
uint256 z = x.mul(FULL_SCALE);
// e.g. 8e36 / 10e18 = 8e17
return z.div(y);
}
function mulRatioTruncate(uint256 x, uint256 ratio)
internal
pure
returns (uint256 c)
{
return mulTruncateScale(x, ratio, RATIO_SCALE);
}
function mulRatioTruncateCeil(uint256 x, uint256 ratio)
internal
pure
returns (uint256)
{
// e.g. How much mAsset should I burn for this bAsset (x)?
// 1e18 * 1e8 = 1e26
uint256 scaled = x.mul(ratio);
// 1e26 + 9.99e7 = 100..00.999e8
uint256 ceil = scaled.add(RATIO_SCALE.sub(1));
// return 100..00.999e8 / 1e8 = 1e18
return ceil.div(RATIO_SCALE);
}
function divRatioPrecisely(uint256 x, uint256 ratio)
internal
pure
returns (uint256 c)
{
// e.g. 1e14 * 1e8 = 1e22
uint256 y = x.mul(RATIO_SCALE);
// return 1e22 / 1e12 = 1e10
return y.div(ratio);
}
function min(uint256 x, uint256 y)
internal
pure
returns (uint256)
{
return x > y ? y : x;
}
function max(uint256 x, uint256 y)
internal
pure
returns (uint256)
{
return x > y ? x : y;
}
function clamp(uint256 x, uint256 upperBound)
internal
pure
returns (uint256)
{
return x > upperBound ? upperBound : x;
}
}
contract Farming is FarmingTokenWrapper, RewardsDistributionRecipient {
using StableMath for uint256;
IERC20 public rewardsToken;
uint256 public constant ONE_DAY = 86400; // in seconds
uint256 public rewardPercent = 1; // 1%
// Timestamp of farming duration
uint256 public farmingDuration = 0;
// Amount the user has farmed
mapping(address => uint256) public userFarmedTokens;
// Reward the user will get after farming period ends
mapping(address => uint256) public rewards;
// Rewards paid to user
mapping(address => uint256) public userRewardsPaid;
// Farm starting timestamp
mapping(address => uint256) public farmStarted;
// Farm ending timestamp
mapping(address => uint256) public farmEnded;
event RewardAdded(uint256 reward);
event Staked(address indexed user, uint256 amount, address payer);
event Withdrawn(address indexed user, uint256 amount);
event RewardPaid(address indexed user, uint256 reward);
/***************************************
CONSTRUCTOR
****************************************/
constructor (
address _farmingToken,
address _rewardsToken,
address _rewardsDistributor,
uint256 _farmingDurationDays
)
public
FarmingTokenWrapper(_farmingToken)
RewardsDistributionRecipient(_rewardsDistributor)
{
rewardsToken = IERC20(_rewardsToken);
farmingDuration = _farmingDurationDays.mul(ONE_DAY);
}
/***************************************
MODIFIERS
****************************************/
modifier isAccount(address _account) {
require(!Address.isContract(_account), "Only external owned accounts allowed");
_;
}
/***************************************
ACTIONS
****************************************/
function farm(uint256 _amount)
external
{
_farm(msg.sender, _amount);
}
function _farm(address _beneficiary, uint256 _amount)
internal
isAccount(_beneficiary)
{
require(_amount >= 1, "Minimum staking amount is 1");
super._farm(_beneficiary, _amount);
userFarmedTokens[_beneficiary] = userFarmedTokens[_beneficiary].add(_amount);
uint256 __userAmount = userFarmedTokens[_beneficiary];
// calculation is on the basis:
// (tokenAmount * 3hr * rewardPercent * 10**21) / 10**27
// e.g: (50 * 3*3600 * 1% * 10**21) / 10**27 = 0.54
uint256 _rewardAmount = (__userAmount.mul(3 * 3600 * (rewardPercent.mul(10**21)))).div(10**27);
rewards[_beneficiary] = _rewardAmount;
farmStarted[_beneficiary] = block.timestamp;
farmEnded[_beneficiary] = (block.timestamp).add(farmingDuration);
emit Staked(_beneficiary, _amount, msg.sender);
}
function unfarm()
external
{
require(block.timestamp >= farmEnded[msg.sender], "Reward cannot be claimed before 30 days");
withdraw(balanceOf(msg.sender));
claimReward();
farmStarted[msg.sender] = 0;
farmEnded[msg.sender] = 0;
}
function withdraw(uint256 _amount)
public
isAccount(msg.sender)
{
require(_amount > 0, "Cannot withdraw 0");
require(block.timestamp >= farmEnded[msg.sender], "Reward cannot be claimed before 30 days");
userFarmedTokens[msg.sender] = userFarmedTokens[msg.sender].sub(_amount);
_withdraw(_amount);
emit Withdrawn(msg.sender, _amount);
}
function claimReward()
public
isAccount(msg.sender)
{
require(block.timestamp >= farmEnded[msg.sender], "Reward cannot be claimed before 30 days");
uint256 reward = rewards[msg.sender];
if (reward > 0) {
rewards[msg.sender] = 0;
rewardsToken.transfer(msg.sender, reward);
userRewardsPaid[msg.sender] = userRewardsPaid[msg.sender].add(reward);
emit RewardPaid(msg.sender, reward);
}
}
/***************************************
GETTERS
****************************************/
function getRewardToken()
external
view
returns (IERC20)
{
return rewardsToken;
}
function earned(address _account)
public
view
returns (uint256)
{
return rewards[_account];
}
function tokensFarmed(address _account)
public
view
returns (uint256)
{
return userFarmedTokens[_account];
}
/***************************************
ADMIN
****************************************/
function sendRewardTokens(uint256 _amount)
public
onlyRewardsDistributor
{
require(rewardsToken.transferFrom(msg.sender, address(this), _amount), "Transfering not approved!");
}
function withdrawRewardTokens(address receiver, uint256 _amount)
public
onlyRewardsDistributor
{
require(rewardsToken.transfer(receiver, _amount), "Not enough tokens on contract!");
}
function withdrawFarmTokens(address receiver, uint256 _amount)
public
onlyRewardsDistributor
{
require(farmingToken.transfer(receiver, _amount), "Not enough tokens on contract!");
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_farmingToken","type":"address"},{"internalType":"address","name":"_rewardsToken","type":"address"},{"internalType":"address","name":"_rewardsDistributor","type":"address"},{"internalType":"uint256","name":"_farmingDurationDays","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"},{"indexed":false,"internalType":"address","name":"payer","type":"address"}],"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"},{"constant":true,"inputs":[],"name":"ONE_DAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"farm","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"farmEnded","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"farmStarted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"farmingDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"farmingToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getRewardToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsDistributor","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardsToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"sendRewardTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"tokensFarmed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unfarm","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userFarmedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardsPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawFarmTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawRewardTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6080604052600160055560006006553480156200001b57600080fd5b506040516200280038038062002800833981810160405260808110156200004157600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050818460016000806101000a81548160ff02191690831515021790555080600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200016e62015180826200017e60201b620020141790919060201c565b6006819055505050505062000209565b60008083141562000193576000905062000203565b6000828402905082848281620001a557fe5b0414620001fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180620027df6021913960400191505060405180910390fd5b809150505b92915050565b6125c680620002196000396000f3fe608060405234801561001057600080fd5b506004361061014c5760003560e01c806369940d79116100c3578063a12438d71161007c578063a12438d71461057f578063ad24dce7146105d7578063b88a802f14610621578063d03020511461062b578063d1af0c7d14610649578063e1ea88d6146106935761014c565b806369940d79146103c157806369d43c881461040b57806370a0823114610463578063860be752146104bb578063863e76db146105135780638f3bbb9f146105315761014c565b80632aec65b3116101155780632aec65b3146102955780632e1a7d4d146102e3578063367e6bc6146103115780633f2a55401461033f578063538a85a114610389578063661ed721146103b75761014c565b80628cc262146101515780630700037d146101a95780630c7d67631461020157806318160ddd1461021f578063294ed8cf1461023d575b600080fd5b6101936004803603602081101561016757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106eb565b6040518082815260200191505060405180910390f35b6101eb600480360360208110156101bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610734565b6040518082815260200191505060405180910390f35b61020961074c565b6040518082815260200191505060405180910390f35b610227610752565b6040518082815260200191505060405180910390f35b61027f6004803603602081101561025357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061075c565b6040518082815260200191505060405180910390f35b6102e1600480360360408110156102ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610774565b005b61030f600480360360208110156102f957600080fd5b8101908080359060200190929190505050610991565b005b61033d6004803603602081101561032757600080fd5b8101908080359060200190929190505050610bef565b005b610347610e3f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103b56004803603602081101561039f57600080fd5b8101908080359060200190929190505050610e65565b005b6103bf610e72565b005b6103c9610faf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61044d6004803603602081101561042157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd9565b6040518082815260200191505060405180910390f35b6104a56004803603602081101561047957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ff1565b6040518082815260200191505060405180910390f35b6104fd600480360360208110156104d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061103a565b6040518082815260200191505060405180910390f35b61051b611083565b6040518082815260200191505060405180910390f35b61057d6004803603604081101561054757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061108a565b005b6105c16004803603602081101561059557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a7565b6040518082815260200191505060405180910390f35b6105df6112bf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106296112e5565b005b61063361163c565b6040518082815260200191505060405180910390f35b610651611642565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106d5600480360360208110156106a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611668565b6040518082815260200191505060405180910390f35b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60086020528060005260406000206000915090505481565b60065481565b6000600154905090565b600a6020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f43616c6c6572206973206e6f7420726577617264206469737472696275746f7281525060200191505060405180910390fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156108e057600080fd5b505af11580156108f4573d6000803e3d6000fd5b505050506040513d602081101561090a57600080fd5b810190808051906020019092919050505061098d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4e6f7420656e6f75676820746f6b656e73206f6e20636f6e747261637421000081525060200191505060405180910390fd5b5050565b3361099b81611680565b156109f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806124fc6024913960400191505060405180910390fd5b60008211610a67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f74207769746864726177203000000000000000000000000000000081525060200191505060405180910390fd5b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054421015610aff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806125206027913960400191505060405180910390fd5b610b5182600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cb90919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b9d82611715565b3373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5836040518082815260200191505060405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cb2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f43616c6c6572206973206e6f7420726577617264206469737472696275746f7281525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610d8f57600080fd5b505af1158015610da3573d6000803e3d6000fd5b505050506040513d6020811015610db957600080fd5b8101908080519060200190929190505050610e3c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5472616e73666572696e67206e6f7420617070726f766564210000000000000081525060200191505060405180910390fd5b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e6f33826118ca565b50565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054421015610f0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806125206027913960400191505060405180910390fd5b610f1b610f1633610ff1565b610991565b610f236112e5565b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b6020528060005260406000206000915090505481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6201518081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461114d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f43616c6c6572206973206e6f7420726577617264206469737472696275746f7281525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156111f657600080fd5b505af115801561120a573d6000803e3d6000fd5b505050506040513d602081101561122057600080fd5b81019080805190602001909291905050506112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4e6f7420656e6f75676820746f6b656e73206f6e20636f6e747261637421000081525060200191505060405180910390fd5b5050565b60096020528060005260406000206000915090505481565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b336112ef81611680565b15611345576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806124fc6024913960400191505060405180910390fd5b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544210156113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806125206027913960400191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611638576000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561151857600080fd5b505af115801561152c573d6000803e3d6000fd5b505050506040513d602081101561154257600080fd5b8101908080519060200190929190505050506115a681600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4390919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486826040518082815260200191505060405180910390a25b5050565b60055481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915090505481565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156116c257506000801b8214155b92505050919050565b600061170d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ccb565b905092915050565b6000809054906101000a900460ff16611796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff0219169083151502179055506117c5816001546116cb90919063ffffffff16565b60018190555061181d81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cb90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118ad3382600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611d8b9092919063ffffffff16565b60016000806101000a81548160ff02191690831515021790555050565b816118d481611680565b1561192a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806124fc6024913960400191505060405180910390fd5b60018210156119a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d696e696d756d207374616b696e6720616d6f756e742069732031000000000081525060200191505060405180910390fd5b6119ab8383611e5c565b6119fd82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4390919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000611ad86b033b2e3c9fd0803ce8000000611aca611ab7683635c9adc5dea0000060055461201490919063ffffffff16565b612a30028561201490919063ffffffff16565b61209a90919063ffffffff16565b905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b7760065442611c4390919063ffffffff16565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff167f9f9e4044c5742cca66ca090b21552bac14645e68bad7a92364a9d9ff18111a1c8533604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a25050505050565b600080828401905083811015611cc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290611d78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d3d578082015181840152602081019050611d22565b50505050905090810190601f168015611d6a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b611e57838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506120e4565b505050565b6000809054906101000a900460ff16611edd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff021916908315150217905550611f0c81600154611c4390919063ffffffff16565b600181905550611f6481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4390919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ff6333083600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661232f909392919063ffffffff16565b60016000806101000a81548160ff0219169083151502179055505050565b6000808314156120275760009050612094565b600082840290508284828161203857fe5b041461208f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125476021913960400191505060405180910390fd5b809150505b92915050565b60006120dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612435565b905092915050565b6121038273ffffffffffffffffffffffffffffffffffffffff16611680565b612175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106121c457805182526020820191506020810190506020830392506121a1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612226576040519150601f19603f3d011682016040523d82523d6000602084013e61222b565b606091505b5091509150816122a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115612329578080602001905160208110156122c257600080fd5b8101908080519060200190929190505050612328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612568602a913960400191505060405180910390fd5b5b50505050565b61242f848573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506120e4565b50505050565b600080831182906124e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124a657808201518184015260208101905061248b565b50505050905090810190601f1680156124d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816124ed57fe5b04905080915050939250505056fe4f6e6c792065787465726e616c206f776e6564206163636f756e747320616c6c6f7765645265776172642063616e6e6f7420626520636c61696d6564206265666f72652033302064617973536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820384bc01f2bcb15d573edc6f1c67af1d949e16f42e78f94aa600077d9f92b54fb64736f6c63430005110032536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7700000000000000000000000059e7b5db9be0bdd26fa048d39e01fee456ab674e000000000000000000000000f0a0f3a6fa6bed75345171a5ea18abcadf6453ba000000000000000000000000fa9d74951863685248fb3c188a0cb65bfcd2a7490000000000000000000000000000000000000000000000000000000000000007
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014c5760003560e01c806369940d79116100c3578063a12438d71161007c578063a12438d71461057f578063ad24dce7146105d7578063b88a802f14610621578063d03020511461062b578063d1af0c7d14610649578063e1ea88d6146106935761014c565b806369940d79146103c157806369d43c881461040b57806370a0823114610463578063860be752146104bb578063863e76db146105135780638f3bbb9f146105315761014c565b80632aec65b3116101155780632aec65b3146102955780632e1a7d4d146102e3578063367e6bc6146103115780633f2a55401461033f578063538a85a114610389578063661ed721146103b75761014c565b80628cc262146101515780630700037d146101a95780630c7d67631461020157806318160ddd1461021f578063294ed8cf1461023d575b600080fd5b6101936004803603602081101561016757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106eb565b6040518082815260200191505060405180910390f35b6101eb600480360360208110156101bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610734565b6040518082815260200191505060405180910390f35b61020961074c565b6040518082815260200191505060405180910390f35b610227610752565b6040518082815260200191505060405180910390f35b61027f6004803603602081101561025357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061075c565b6040518082815260200191505060405180910390f35b6102e1600480360360408110156102ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610774565b005b61030f600480360360208110156102f957600080fd5b8101908080359060200190929190505050610991565b005b61033d6004803603602081101561032757600080fd5b8101908080359060200190929190505050610bef565b005b610347610e3f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103b56004803603602081101561039f57600080fd5b8101908080359060200190929190505050610e65565b005b6103bf610e72565b005b6103c9610faf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61044d6004803603602081101561042157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd9565b6040518082815260200191505060405180910390f35b6104a56004803603602081101561047957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ff1565b6040518082815260200191505060405180910390f35b6104fd600480360360208110156104d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061103a565b6040518082815260200191505060405180910390f35b61051b611083565b6040518082815260200191505060405180910390f35b61057d6004803603604081101561054757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061108a565b005b6105c16004803603602081101561059557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a7565b6040518082815260200191505060405180910390f35b6105df6112bf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106296112e5565b005b61063361163c565b6040518082815260200191505060405180910390f35b610651611642565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106d5600480360360208110156106a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611668565b6040518082815260200191505060405180910390f35b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60086020528060005260406000206000915090505481565b60065481565b6000600154905090565b600a6020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f43616c6c6572206973206e6f7420726577617264206469737472696275746f7281525060200191505060405180910390fd5b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156108e057600080fd5b505af11580156108f4573d6000803e3d6000fd5b505050506040513d602081101561090a57600080fd5b810190808051906020019092919050505061098d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4e6f7420656e6f75676820746f6b656e73206f6e20636f6e747261637421000081525060200191505060405180910390fd5b5050565b3361099b81611680565b156109f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806124fc6024913960400191505060405180910390fd5b60008211610a67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f74207769746864726177203000000000000000000000000000000081525060200191505060405180910390fd5b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054421015610aff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806125206027913960400191505060405180910390fd5b610b5182600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cb90919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b9d82611715565b3373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5836040518082815260200191505060405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cb2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f43616c6c6572206973206e6f7420726577617264206469737472696275746f7281525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610d8f57600080fd5b505af1158015610da3573d6000803e3d6000fd5b505050506040513d6020811015610db957600080fd5b8101908080519060200190929190505050610e3c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5472616e73666572696e67206e6f7420617070726f766564210000000000000081525060200191505060405180910390fd5b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e6f33826118ca565b50565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054421015610f0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806125206027913960400191505060405180910390fd5b610f1b610f1633610ff1565b610991565b610f236112e5565b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b6020528060005260406000206000915090505481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6201518081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461114d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f43616c6c6572206973206e6f7420726577617264206469737472696275746f7281525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156111f657600080fd5b505af115801561120a573d6000803e3d6000fd5b505050506040513d602081101561122057600080fd5b81019080805190602001909291905050506112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4e6f7420656e6f75676820746f6b656e73206f6e20636f6e747261637421000081525060200191505060405180910390fd5b5050565b60096020528060005260406000206000915090505481565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b336112ef81611680565b15611345576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806124fc6024913960400191505060405180910390fd5b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544210156113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806125206027913960400191505060405180910390fd5b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611638576000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561151857600080fd5b505af115801561152c573d6000803e3d6000fd5b505050506040513d602081101561154257600080fd5b8101908080519060200190929190505050506115a681600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4390919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486826040518082815260200191505060405180910390a25b5050565b60055481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915090505481565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91508082141580156116c257506000801b8214155b92505050919050565b600061170d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ccb565b905092915050565b6000809054906101000a900460ff16611796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff0219169083151502179055506117c5816001546116cb90919063ffffffff16565b60018190555061181d81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cb90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118ad3382600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611d8b9092919063ffffffff16565b60016000806101000a81548160ff02191690831515021790555050565b816118d481611680565b1561192a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806124fc6024913960400191505060405180910390fd5b60018210156119a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4d696e696d756d207374616b696e6720616d6f756e742069732031000000000081525060200191505060405180910390fd5b6119ab8383611e5c565b6119fd82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4390919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000611ad86b033b2e3c9fd0803ce8000000611aca611ab7683635c9adc5dea0000060055461201490919063ffffffff16565b612a30028561201490919063ffffffff16565b61209a90919063ffffffff16565b905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b7760065442611c4390919063ffffffff16565b600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff167f9f9e4044c5742cca66ca090b21552bac14645e68bad7a92364a9d9ff18111a1c8533604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a25050505050565b600080828401905083811015611cc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290611d78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d3d578082015181840152602081019050611d22565b50505050905090810190601f168015611d6a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b611e57838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506120e4565b505050565b6000809054906101000a900460ff16611edd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b60008060006101000a81548160ff021916908315150217905550611f0c81600154611c4390919063ffffffff16565b600181905550611f6481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4390919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ff6333083600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661232f909392919063ffffffff16565b60016000806101000a81548160ff0219169083151502179055505050565b6000808314156120275760009050612094565b600082840290508284828161203857fe5b041461208f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125476021913960400191505060405180910390fd5b809150505b92915050565b60006120dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612435565b905092915050565b6121038273ffffffffffffffffffffffffffffffffffffffff16611680565b612175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106121c457805182526020820191506020810190506020830392506121a1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612226576040519150601f19603f3d011682016040523d82523d6000602084013e61222b565b606091505b5091509150816122a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115612329578080602001905160208110156122c257600080fd5b8101908080519060200190929190505050612328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612568602a913960400191505060405180910390fd5b5b50505050565b61242f848573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506120e4565b50505050565b600080831182906124e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124a657808201518184015260208101905061248b565b50505050905090810190601f1680156124d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816124ed57fe5b04905080915050939250505056fe4f6e6c792065787465726e616c206f776e6564206163636f756e747320616c6c6f7765645265776172642063616e6e6f7420626520636c61696d6564206265666f72652033302064617973536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820384bc01f2bcb15d573edc6f1c67af1d949e16f42e78f94aa600077d9f92b54fb64736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000059e7b5db9be0bdd26fa048d39e01fee456ab674e000000000000000000000000f0a0f3a6fa6bed75345171a5ea18abcadf6453ba000000000000000000000000fa9d74951863685248fb3c188a0cb65bfcd2a7490000000000000000000000000000000000000000000000000000000000000007
-----Decoded View---------------
Arg [0] : _farmingToken (address): 0x59e7B5DB9Be0BDD26Fa048d39E01FEe456AB674E
Arg [1] : _rewardsToken (address): 0xf0A0F3A6FA6bED75345171a5EA18AbcadF6453BA
Arg [2] : _rewardsDistributor (address): 0xfa9d74951863685248fB3C188A0cb65bFcD2a749
Arg [3] : _farmingDurationDays (uint256): 7
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000059e7b5db9be0bdd26fa048d39e01fee456ab674e
Arg [1] : 000000000000000000000000f0a0f3a6fa6bed75345171a5ea18abcadf6453ba
Arg [2] : 000000000000000000000000fa9d74951863685248fb3c188a0cb65bfcd2a749
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000007
Deployed Bytecode Sourcemap
12347:5644:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12347:5644:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16870:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16870:139:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12842:42;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12842:42:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12643:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7430:123;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13009:46;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13009:46:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17767:221;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17767:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15686:408;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15686:408:0;;;;;;;;;;;;;;;;;:::i;:::-;;17303:217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17303:217:0;;;;;;;;;;;;;;;;;:::i;:::-;;8762:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14330:99;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14330:99:0;;;;;;;;;;;;;;;;;:::i;:::-;;15364:314;;;:::i;:::-;;16735:127;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13092:44;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13092:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7561:144;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7561:144:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17017:154;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17017:154:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12498:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17532:223;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17532:223:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12920:50;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12920:50:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7199:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16102:499;;;:::i;:::-;;12560:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12463:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12725:51;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12725:51:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16870:139;16952:7;16984;:17;16992:8;16984:17;;;;;;;;;;;;;;;;16977:24;;16870:139;;;:::o;12842:42::-;;;;;;;;;;;;;;;;;:::o;12643:34::-;;;;:::o;7430:123::-;7501:7;7533:12;;7526:19;;7430:123;:::o;13009:46::-;;;;;;;;;;;;;;;;;:::o;17767:221::-;9159:18;;;;;;;;;;;9145:32;;:10;:32;;;9137:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17905:12;;;;;;;;;;;:21;;;17927:8;17937:7;17905:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17905:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17905:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17905:40:0;;;;;;;;;;;;;;;;17897:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17767:221;;:::o;15686:408::-;15756:10;14105:28;14124:8;14105:18;:28::i;:::-;14104:29;14096:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15802:1;15792:7;:11;15784:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15863:9;:21;15873:10;15863:21;;;;;;;;;;;;;;;;15844:15;:40;;15836:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15970:41;16003:7;15970:16;:28;15987:10;15970:28;;;;;;;;;;;;;;;;:32;;:41;;;;:::i;:::-;15939:16;:28;15956:10;15939:28;;;;;;;;;;;;;;;:72;;;;16022:18;16032:7;16022:9;:18::i;:::-;16066:10;16056:30;;;16078:7;16056:30;;;;;;;;;;;;;;;;;;15686:408;;:::o;17303:217::-;9159:18;;;;;;;;;;;9145:32;;:10;:32;;;9137:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17421:12;;;;;;;;;;;:25;;;17447:10;17467:4;17474:7;17421:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17421:61:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17421:61:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17421:61:0;;;;;;;;;;;;;;;;17413:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17303:217;:::o;8762:33::-;;;;;;;;;;;;;:::o;14330:99::-;14395:26;14401:10;14413:7;14395:5;:26::i;:::-;14330:99;:::o;15364:314::-;15445:9;:21;15455:10;15445:21;;;;;;;;;;;;;;;;15426:15;:40;;15418:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15531:31;15540:21;15550:10;15540:9;:21::i;:::-;15531:8;:31::i;:::-;15573:13;:11;:13::i;:::-;15633:1;15607:11;:23;15619:10;15607:23;;;;;;;;;;;;;;;:27;;;;15669:1;15645:9;:21;15655:10;15645:21;;;;;;;;;;;;;;;:25;;;;15364:314::o;16735:127::-;16811:6;16842:12;;;;;;;;;;;16835:19;;16735:127;:::o;13092:44::-;;;;;;;;;;;;;;;;;:::o;7561:144::-;7646:7;7678:9;:19;7688:8;7678:19;;;;;;;;;;;;;;;;7671:26;;7561:144;;;:::o;17017:154::-;17105:7;17137:16;:26;17154:8;17137:26;;;;;;;;;;;;;;;;17130:33;;17017:154;;;:::o;12498:39::-;12532:5;12498:39;:::o;17532:223::-;9159:18;;;;;;;;;;;9145:32;;:10;:32;;;9137:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17672:12;;;;;;;;;;;:21;;;17694:8;17704:7;17672:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17672:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17672:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17672:40:0;;;;;;;;;;;;;;;;17664:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17532:223;;:::o;12920:50::-;;;;;;;;;;;;;;;;;:::o;7199:26::-;;;;;;;;;;;;;:::o;16102:499::-;16160:10;14105:28;14124:8;14105:18;:28::i;:::-;14104:29;14096:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16215:9;:21;16225:10;16215:21;;;;;;;;;;;;;;;;16196:15;:40;;16188:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16291:14;16308:7;:19;16316:10;16308:19;;;;;;;;;;;;;;;;16291:36;;16351:1;16342:6;:10;16338:256;;;16391:1;16369:7;:19;16377:10;16369:19;;;;;;;;;;;;;;;:23;;;;16407:12;;;;;;;;;;;:21;;;16429:10;16441:6;16407:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16407:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16407:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16407:41:0;;;;;;;;;;;;;;;;;16493:39;16525:6;16493:15;:27;16509:10;16493:27;;;;;;;;;;;;;;;;:31;;:39;;;;:::i;:::-;16463:15;:27;16479:10;16463:27;;;;;;;;;;;;;;;:69;;;;16563:10;16552:30;;;16575:6;16552:30;;;;;;;;;;;;;;;;;;16338:256;14185:1;16102:499;:::o;12560:32::-;;;;:::o;12463:26::-;;;;;;;;;;;;;:::o;12725:51::-;;;;;;;;;;;;;;;;;:::o;2476:619::-;2536:4;2798:16;2825:19;2847:66;2825:88;;;;3016:7;3004:20;2992:32;;3056:11;3044:8;:23;;:42;;;;;3083:3;3071:15;;:8;:15;;3044:42;3036:51;;;;2476:619;;;:::o;978:136::-;1036:7;1063:43;1067:1;1070;1063:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1056:50;;978:136;;;;:::o;8028:266::-;6736:11;;;;;;;;;;;6728:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:5;6861:11;;:19;;;;;;;;;;;;;;;;;;8135:25;8152:7;8135:12;;:16;;:25;;;;:::i;:::-;8120:12;:40;;;;8195:34;8221:7;8195:9;:21;8205:10;8195:21;;;;;;;;;;;;;;;;:25;;:34;;;;:::i;:::-;8171:9;:21;8181:10;8171:21;;;;;;;;;;;;;;;:58;;;;8240:46;8266:10;8278:7;8240:12;;;;;;;;;;;:25;;;;:46;;;;;:::i;:::-;7055:4;7041:11;;:18;;;;;;;;;;;;;;;;;;8028:266;:::o;14437:919::-;14528:12;14105:28;14124:8;14105:18;:28::i;:::-;14104:29;14096:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14577:1;14566:7;:12;;14558:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14631:34;14643:12;14657:7;14631:11;:34::i;:::-;14719:43;14754:7;14719:16;:30;14736:12;14719:30;;;;;;;;;;;;;;;;:34;;:43;;;;:::i;:::-;14686:16;:30;14703:12;14686:30;;;;;;;;;;;;;;;:76;;;;14773:20;14796:16;:30;14813:12;14796:30;;;;;;;;;;;;;;;;14773:53;;15018:21;15042:70;15105:6;15043:56;15072:25;15090:6;15072:13;;:17;;:25;;;;:::i;:::-;15060:8;:38;15043:12;:16;;:56;;;;:::i;:::-;15042:62;;:70;;;;:::i;:::-;15018:94;;15147:13;15123:7;:21;15131:12;15123:21;;;;;;;;;;;;;;;:37;;;;15199:15;15171:11;:25;15183:12;15171:25;;;;;;;;;;;;;;;:43;;;;15251:38;15273:15;;15252;15251:21;;:38;;;;:::i;:::-;15225:9;:23;15235:12;15225:23;;;;;;;;;;;;;;;:64;;;;15314:12;15307:41;;;15328:7;15337:10;15307:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;14185:1;;14437:919;;;:::o;789:181::-;847:7;867:9;883:1;879;:5;867:17;;908:1;903;:6;;895:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;961:1;954:8;;;789:181;;;;:::o;1122:192::-;1208:7;1241:1;1236;:6;;1244:12;1228:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1228:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1268:9;1284:1;1280;:5;1268:17;;1305:1;1298:8;;;1122:192;;;;;:::o;3708:176::-;3791:85;3810:5;3840;:14;;;:23;;;;3865:2;3869:5;3817:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3817:58:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;3817:58:0;3791:18;:85::i;:::-;3708:176;;;:::o;7713:307::-;6736:11;;;;;;;;;;;6728:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:5;6861:11;;:19;;;;;;;;;;;;;;;;;;7838:25;7855:7;7838:12;;:16;;:25;;;;:::i;:::-;7823:12;:40;;;;7900:36;7928:7;7900:9;:23;7910:12;7900:23;;;;;;;;;;;;;;;;:27;;:36;;;;:::i;:::-;7874:9;:23;7884:12;7874:23;;;;;;;;;;;;;;;:62;;;;7947:65;7977:10;7997:4;8004:7;7947:12;;;;;;;;;;;:29;;;;:65;;;;;;:::i;:::-;7055:4;7041:11;;:18;;;;;;;;;;;;;;;;;;7713:307;;:::o;1322:471::-;1380:7;1630:1;1625;:6;1621:47;;;1655:1;1648:8;;;;1621:47;1680:9;1696:1;1692;:5;1680:17;;1725:1;1720;1716;:5;;;;;;:10;1708:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1784:1;1777:8;;;1322:471;;;;;:::o;1801:132::-;1859:7;1886:39;1890:1;1893;1886:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1879:46;;1801:132;;;;:::o;5364:1114::-;5968:27;5976:5;5968:25;;;:27::i;:::-;5960:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6105:12;6119:23;6154:5;6146:19;;6166:4;6146:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6146:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;6104:67:0;;;;6190:7;6182:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6271:1;6251:10;:17;:21;6247:224;;;6393:10;6382:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6382:30:0;;;;;;;;;;;;;;;;6374:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6247:224;5364:1114;;;;:::o;3892:204::-;3993:95;4012:5;4042;:18;;;:27;;;;4071:4;4077:2;4081:5;4019:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4019:68:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;4019:68:0;3993:18;:95::i;:::-;3892:204;;;;:::o;1941:191::-;2027:7;2059:1;2055;:5;2062:12;2047:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2047:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2086:9;2102:1;2098;:5;;;;;;2086:17;;2123:1;2116:8;;;1941:191;;;;;:::o
Swarm Source
bzzr://384bc01f2bcb15d573edc6f1c67af1d949e16f42e78f94aa600077d9f92b54fb
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.