ETH Price: $3,480.48 (+0.73%)

Contract

0xDC3FD69430a05B98f6F007E80e0C5097cF93A955
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Join Farm Pool110186692020-10-09 2:43:311537 days ago1602211411IN
0xDC3FD694...7cF93A955
0 ETH0.0017554230
Claim Tokens110185652020-10-09 2:20:501537 days ago1602210050IN
0xDC3FD694...7cF93A955
0 ETH0.0023074844.45
Leave Farm Pool110185622020-10-09 2:20:241537 days ago1602210024IN
0xDC3FD694...7cF93A955
0 ETH0.003845144.45
Join Farm Pool109550762020-09-29 3:49:311547 days ago1601351371IN
0xDC3FD694...7cF93A955
0 ETH0.0038034165
Claim Tokens109549642020-09-29 3:24:591547 days ago1601349899IN
0xDC3FD694...7cF93A955
0 ETH0.0047738291.96
Leave Farm Pool109549542020-09-29 3:22:221547 days ago1601349742IN
0xDC3FD694...7cF93A955
0 ETH0.0081203280
Join Farm Pool109286272020-09-25 0:39:081551 days ago1600994348IN
0xDC3FD694...7cF93A955
0 ETH0.0040959870
Claim Tokens109286152020-09-25 0:35:361551 days ago1600994136IN
0xDC3FD694...7cF93A955
0 ETH0.0030108958
Leave Farm Pool109285962020-09-25 0:31:091551 days ago1600993869IN
0xDC3FD694...7cF93A955
0 ETH0.0049307257
Join Farm Pool109160782020-09-23 2:23:471553 days ago1600827827IN
0xDC3FD694...7cF93A955
0 ETH0.0046811280
Claim Tokens109160112020-09-23 2:10:101553 days ago1600827010IN
0xDC3FD694...7cF93A955
0 ETH0.0042048781
Leave Farm Pool109160052020-09-23 2:09:121553 days ago1600826952IN
0xDC3FD694...7cF93A955
0 ETH0.0052978884
Claim Tokens109159972020-09-23 2:08:041553 days ago1600826884IN
0xDC3FD694...7cF93A955
0 ETH0.0052706684
Join Farm Pool109026022020-09-21 0:48:251555 days ago1600649305IN
0xDC3FD694...7cF93A955
0 ETH0.0052779690.2
Claim Tokens109025742020-09-21 0:41:341555 days ago1600648894IN
0xDC3FD694...7cF93A955
0 ETH0.0058882588
Leave Farm Pool109025652020-09-21 0:39:041555 days ago1600648744IN
0xDC3FD694...7cF93A955
0 ETH0.0061808698
Claim Tokens109025652020-09-21 0:39:041555 days ago1600648744IN
0xDC3FD694...7cF93A955
0 ETH0.0038132697
Claim Tokens109025652020-09-21 0:39:041555 days ago1600648744IN
0xDC3FD694...7cF93A955
0 ETH0.0050196880
Join Farm Pool108966702020-09-20 3:07:391556 days ago1600571259IN
0xDC3FD694...7cF93A955
0 ETH0.0049736985
Claim Tokens108966602020-09-20 3:06:231556 days ago1600571183IN
0xDC3FD694...7cF93A955
0 ETH0.0044851986.4
Leave Farm Pool108966562020-09-20 3:05:101556 days ago1600571110IN
0xDC3FD694...7cF93A955
0 ETH0.0054870987
Claim Tokens108966492020-09-20 3:03:411556 days ago1600571021IN
0xDC3FD694...7cF93A955
0 ETH0.005458987
Join Farm Pool108938632020-09-19 16:46:511557 days ago1600534011IN
0xDC3FD694...7cF93A955
0 ETH0.01059103181
Claim Tokens108938422020-09-19 16:41:011557 days ago1600533661IN
0xDC3FD694...7cF93A955
0 ETH0.00872121168
Leave Farm Pool108938322020-09-19 16:38:591557 days ago1600533539IN
0xDC3FD694...7cF93A955
0 ETH0.0109931174.3
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:
TimeFarmerPool

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-10-01
*/

pragma solidity 0.4.25;

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

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

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

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

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

contract Token {
  function totalSupply() pure public returns (uint256 supply);
  function balanceOf(address _owner) pure public returns (uint256 balance);
  function transfer(address _to, uint256 _value) public returns (bool success);
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
  function approve(address _spender, uint256 _value) public returns (bool success);
  function allowance(address _owner, address _spender) pure public returns (uint256 remaining);

  event Transfer(address indexed _from, address indexed _to, uint256 _value);
  event Approval(address indexed _owner, address indexed _spender, uint256 _value);

  uint public decimals;
  string public name;
}

contract Ownable {
  address private _owner;

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

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

  function owner() public view returns(address) {
    return _owner;
  }

  modifier onlyOwner() {
    require(isOwner());
    _;
  }

  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));
    emit OwnershipTransferred(_owner, newOwner);
    _owner = newOwner;
  }
}

contract TimeFarmerPool is Ownable {
    
  uint256 constant public TOKEN_PRECISION = 1e6;
  uint256 constant private PRECISION = 1e12;  
  uint256 constant private REBASE_TIME = 1 hours; 
	
  Token public liqudityToken;
  Token public farmToken;
  
  struct User {
        uint256 liqudityBalance;
        uint256 appliedFarmTokenCirculation;
  }
    
  struct Info {
        uint256 totalFarmSupply;
        
        mapping(address => User) users;
        address admin;
        
        uint256 coinWorkingTime;
        uint256 coinCreationTime;
  }
    
  Info private info;

  address public liqudityTokenAddress;
  address public farmTokenAddress;
  uint256 public VaultCreation = now;
  
  constructor() public{
      
    info.coinWorkingTime = now;
	info.coinCreationTime = now;
	
	liqudityTokenAddress = 0x5DE4f909F416013558b69FA2b78E99739b61c83d;
	farmTokenAddress = 0x63A6da104C6a08dfeB50D13a7488F67bC98Cc41f;
	    
    liqudityToken = Token(liqudityTokenAddress); 
    farmToken = Token(farmTokenAddress);
    
    info.totalFarmSupply = 0;
  } 
  
  function joinFarmPool(uint256 liqudityTokenToFarm) public payable {
      
    uint256 userBalance = liqudityToken.balanceOf(msg.sender);
   
    require(userBalance >= liqudityTokenToFarm, "Insufficient tokens");
    
    bool isNewUser = info.users[msg.sender].liqudityBalance == 0;

	if(isNewUser)
	{
	    adjustTime();
	    info.users[msg.sender].appliedFarmTokenCirculation = info.totalFarmSupply;
	}
	else
	{
	     claimTokens();
	}
	
    liqudityToken.transferFrom(msg.sender, address(this), liqudityTokenToFarm);
    
    info.users[msg.sender].liqudityBalance += liqudityTokenToFarm;
  }
  
  function leaveFarmPool(uint256 liqudityTokenFromFarm) public payable {
      
    uint256 userBalanceInPool = info.users[msg.sender].liqudityBalance;
   
    require(userBalanceInPool >= liqudityTokenFromFarm, "Insufficient tokens");
    
    claimTokens();
    
    liqudityToken.transfer(msg.sender, liqudityTokenFromFarm); 
    
    info.users[msg.sender].liqudityBalance -= liqudityTokenFromFarm;
  }
  
  
  function claimTokens() public payable {
    adjustTime();
    
    uint256 missingPoolToClaim = info.totalFarmSupply - info.users[msg.sender].appliedFarmTokenCirculation;
    uint256 farmTokenToClaim = ((missingPoolToClaim * info.users[msg.sender].liqudityBalance) / liqudityToken.balanceOf(address(this)));

    farmToken.transfer(msg.sender, farmTokenToClaim); 
    
    info.users[msg.sender].appliedFarmTokenCirculation = info.totalFarmSupply;
  }
  
  function adjustTime() private {
    if(info.coinWorkingTime + REBASE_TIME < now)
    {
        uint256 countOfCoinsToAdd = ((now - info.coinCreationTime) / REBASE_TIME);
        info.coinWorkingTime = now;
        info.totalFarmSupply = (countOfCoinsToAdd * TOKEN_PRECISION); 
    }
  }
  
  // Views
  
  function tokensToClaim(address _user)  public view returns (uint256 tokensToTake) {
     uint256 countOfCoinsToAdd = ((now - info.coinCreationTime) / REBASE_TIME);
      
     uint256 realTotalSupply = (countOfCoinsToAdd * TOKEN_PRECISION); 
        
     uint256 missingPoolToClaim = realTotalSupply - info.users[_user].appliedFarmTokenCirculation;
     uint256 adjustedAddressBalance = ((missingPoolToClaim * info.users[_user].liqudityBalance) / liqudityToken.balanceOf(address(this)));
    
     return adjustedAddressBalance;
  }
  
   function allMintedTokens()  public view returns (uint256 mintedTokens) {
      uint256 countOfCoinsToAdd = ((now - info.coinCreationTime) / REBASE_TIME);
      
      uint256 allMintedTokensFromFarm = (countOfCoinsToAdd * TOKEN_PRECISION); 
        
      return allMintedTokensFromFarm;
  }
  
  function allInfoFor(address _user) public view returns (
      uint256 totalFarmSupply,
      uint256 allFarmTokens, 
      uint256 allLiquidityTokens,
      uint256 myLiqudityInContract,
      uint256 allFarmTokensContract, 
      uint256 allLiquidityTokensontract,
      uint256 lockedLiqudityInContract
      ) {
	return (
	info.totalFarmSupply, 
	farmToken.balanceOf(_user), //metamask
	liqudityToken.balanceOf(_user), //metamask
	info.users[_user].liqudityBalance, //locked in contract
	farmToken.balanceOf(address(this)), //contract farm tokens
	liqudityToken.balanceOf(address(this)), //liqudity tokens
	info.users[address(this)].liqudityBalance
	);
  }
	
	
  // Liqudity tokens dropped to contract not using functions so it lock itself
  // Farm tokens dropped to contract not using functions so it lock itself
  
  function refundAll() onlyOwner public{
    require(now > VaultCreation + 365 days); 
    farmToken.transfer(owner(), farmToken.balanceOf(this));  
    liqudityToken.transfer(owner(), liqudityToken.balanceOf(this)); 
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"liqudityTokenToFarm","type":"uint256"}],"name":"joinFarmPool","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"liqudityTokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"liqudityTokenFromFarm","type":"uint256"}],"name":"leaveFarmPool","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"tokensToClaim","outputs":[{"name":"tokensToTake","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"refundAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"allInfoFor","outputs":[{"name":"totalFarmSupply","type":"uint256"},{"name":"allFarmTokens","type":"uint256"},{"name":"allLiquidityTokens","type":"uint256"},{"name":"myLiqudityInContract","type":"uint256"},{"name":"allFarmTokensContract","type":"uint256"},{"name":"allLiquidityTokensontract","type":"uint256"},{"name":"lockedLiqudityInContract","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"VaultCreation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allMintedTokens","outputs":[{"name":"mintedTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"farmTokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"farmToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_PRECISION","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liqudityToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

608060405242600a5534801561001457600080fd5b5060008054600160a060020a0319163317808255604051600160a060020a039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a342600681905560075560088054600160a060020a0319908116735de4f909f416013558b69fa2b78e99739b61c83d17918290556009805482167363a6da104c6a08dfeb50d13a7488f67bc98cc41f1790819055600180548316600160a060020a039485161790556002805490921692169190911790556000600355610ead806100e86000396000f3006080604052600436106100d75763ffffffff60e060020a60003504166307dc8c3281146100dc5780630e8af2fa146100e957806310002c271461011a5780631e8683341461012557806338e771ab1461015857806348c54b9d1461016d57806357f6b81214610175578063637e4be8146101ce578063715018a6146101e35780638da5cb5b146101f85780638f32d59b1461020d578063977048f214610236578063ba43b9491461024b578063c2442f9314610260578063c661689414610275578063dc54d34a1461028a578063f2fde38b1461029f575b600080fd5b6100e76004356102c0565b005b3480156100f557600080fd5b506100fe6104ae565b60408051600160a060020a039092168252519081900360200190f35b6100e76004356104bd565b34801561013157600080fd5b50610146600160a060020a03600435166105f8565b60408051918252519081900360200190f35b34801561016457600080fd5b506100e76106e9565b6100e761092e565b34801561018157600080fd5b50610196600160a060020a0360043516610aa2565b604080519788526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b3480156101da57600080fd5b50610146610ce2565b3480156101ef57600080fd5b506100e7610ce8565b34801561020457600080fd5b506100fe610d52565b34801561021957600080fd5b50610222610d61565b604080519115158252519081900360200190f35b34801561024257600080fd5b50610146610d72565b34801561025757600080fd5b506100fe610d86565b34801561026c57600080fd5b506100fe610d95565b34801561028157600080fd5b50610146610da4565b34801561029657600080fd5b506100fe610dab565b3480156102ab57600080fd5b506100e7600160a060020a0360043516610dba565b6001546040805160e060020a6370a0823102815233600482015290516000928392600160a060020a03909116916370a082319160248082019260209290919082900301818787803b15801561031457600080fd5b505af1158015610328573d6000803e3d6000fd5b505050506040513d602081101561033e57600080fd5b50519150828210156103b157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e73756666696369656e7420746f6b656e7300000000000000000000000000604482015290519081900360640190fd5b50336000908152600460205260409020541580156103ec576103d1610dd9565b600354336000908152600460205260409020600101556103f4565b6103f461092e565b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018690529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d602081101561049157600080fd5b505033600090815260046020526040902080549093019092555050565b600854600160a060020a031681565b336000908152600460205260409020548181101561053c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e73756666696369656e7420746f6b656e7300000000000000000000000000604482015290519081900360640190fd5b61054461092e565b600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018590529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b1580156105b157600080fd5b505af11580156105c5573d6000803e3d6000fd5b505050506040513d60208110156105db57600080fd5b505033600090815260046020526040902080549290920390915550565b6000806000806000610e10600360040154420381151561061457fe5b600160a060020a0380891660009081526004602081815260408084206001908101549054825160e060020a6370a0823102815230958101959095529151979096049a50620f42408b029950948903975093909216936370a08231936024808501949193918390030190829087803b15801561068e57600080fd5b505af11580156106a2573d6000803e3d6000fd5b505050506040513d60208110156106b857600080fd5b5051600160a060020a03871660009081526004602052604090205483028115156106de57fe5b049695505050505050565b6106f1610d61565b15156106fc57600080fd5b600a546301e1338001421161071057600080fd5b600254600160a060020a031663a9059cbb610729610d52565b6002546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b505050506040513d60208110156107a357600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156107f257600080fd5b505af1158015610806573d6000803e3d6000fd5b505050506040513d602081101561081c57600080fd5b5050600154600160a060020a031663a9059cbb610837610d52565b6001546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561088757600080fd5b505af115801561089b573d6000803e3d6000fd5b505050506040513d60208110156108b157600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561090057600080fd5b505af1158015610914573d6000803e3d6000fd5b505050506040513d602081101561092a57600080fd5b5050565b600080610939610dd9565b3360009081526004602081815260408084206001908101546003549154835160e060020a6370a082310281523096810196909652925191039650600160a060020a03909116936370a08231936024808201949392918390030190829087803b1580156109a457600080fd5b505af11580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b50513360009081526004602052604090205483028115156109eb57fe5b600254604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815233600482015293909204602484018190529151919350600160a060020a03169163a9059cbb9160448083019260209291908290030181600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b505050506040513d6020811015610a8657600080fd5b5050600354336000908152600460205260409020600101555050565b6003546002546040805160e060020a6370a08231028152600160a060020a0385811660048301529151600094859485948594859485948594909316916370a0823191602480830192602092919082900301818887803b158015610b0457600080fd5b505af1158015610b18573d6000803e3d6000fd5b505050506040513d6020811015610b2e57600080fd5b50516001546040805160e060020a6370a08231028152600160a060020a038d81166004830152915191909216916370a082319160248083019260209291908290030181600087803b158015610b8257600080fd5b505af1158015610b96573d6000803e3d6000fd5b505050506040513d6020811015610bac57600080fd5b5051600160a060020a03808c16600090815260046020818152604080842054600254825160e060020a6370a0823102815230958101959095529151909591909116936370a08231936024808201949392918390030190829087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d6020811015610c3d57600080fd5b50516001546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b158015610c8f57600080fd5b505af1158015610ca3573d6000803e3d6000fd5b505050506040513d6020811015610cb957600080fd5b505130600090815260046020526040902054959e949d50929b5090995097509550909350915050565b600a5481565b610cf0610d61565b1515610cfb57600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031690565b600054600160a060020a0316331490565b600754610e10429190910304620f42400290565b600954600160a060020a031681565b600254600160a060020a031681565b620f424081565b600154600160a060020a031681565b610dc2610d61565b1515610dcd57600080fd5b610dd681610e04565b50565b600042610e106003800154011015610dd657600754610e109042034260065504620f42400260035550565b600160a060020a0381161515610e1957600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820c10aca525cb390a34c7bb3cbf080694ffe040250afc96d1a32b30c0f653d3bde0029

Deployed Bytecode

0x6080604052600436106100d75763ffffffff60e060020a60003504166307dc8c3281146100dc5780630e8af2fa146100e957806310002c271461011a5780631e8683341461012557806338e771ab1461015857806348c54b9d1461016d57806357f6b81214610175578063637e4be8146101ce578063715018a6146101e35780638da5cb5b146101f85780638f32d59b1461020d578063977048f214610236578063ba43b9491461024b578063c2442f9314610260578063c661689414610275578063dc54d34a1461028a578063f2fde38b1461029f575b600080fd5b6100e76004356102c0565b005b3480156100f557600080fd5b506100fe6104ae565b60408051600160a060020a039092168252519081900360200190f35b6100e76004356104bd565b34801561013157600080fd5b50610146600160a060020a03600435166105f8565b60408051918252519081900360200190f35b34801561016457600080fd5b506100e76106e9565b6100e761092e565b34801561018157600080fd5b50610196600160a060020a0360043516610aa2565b604080519788526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b3480156101da57600080fd5b50610146610ce2565b3480156101ef57600080fd5b506100e7610ce8565b34801561020457600080fd5b506100fe610d52565b34801561021957600080fd5b50610222610d61565b604080519115158252519081900360200190f35b34801561024257600080fd5b50610146610d72565b34801561025757600080fd5b506100fe610d86565b34801561026c57600080fd5b506100fe610d95565b34801561028157600080fd5b50610146610da4565b34801561029657600080fd5b506100fe610dab565b3480156102ab57600080fd5b506100e7600160a060020a0360043516610dba565b6001546040805160e060020a6370a0823102815233600482015290516000928392600160a060020a03909116916370a082319160248082019260209290919082900301818787803b15801561031457600080fd5b505af1158015610328573d6000803e3d6000fd5b505050506040513d602081101561033e57600080fd5b50519150828210156103b157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e73756666696369656e7420746f6b656e7300000000000000000000000000604482015290519081900360640190fd5b50336000908152600460205260409020541580156103ec576103d1610dd9565b600354336000908152600460205260409020600101556103f4565b6103f461092e565b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018690529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d602081101561049157600080fd5b505033600090815260046020526040902080549093019092555050565b600854600160a060020a031681565b336000908152600460205260409020548181101561053c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e73756666696369656e7420746f6b656e7300000000000000000000000000604482015290519081900360640190fd5b61054461092e565b600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018590529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b1580156105b157600080fd5b505af11580156105c5573d6000803e3d6000fd5b505050506040513d60208110156105db57600080fd5b505033600090815260046020526040902080549290920390915550565b6000806000806000610e10600360040154420381151561061457fe5b600160a060020a0380891660009081526004602081815260408084206001908101549054825160e060020a6370a0823102815230958101959095529151979096049a50620f42408b029950948903975093909216936370a08231936024808501949193918390030190829087803b15801561068e57600080fd5b505af11580156106a2573d6000803e3d6000fd5b505050506040513d60208110156106b857600080fd5b5051600160a060020a03871660009081526004602052604090205483028115156106de57fe5b049695505050505050565b6106f1610d61565b15156106fc57600080fd5b600a546301e1338001421161071057600080fd5b600254600160a060020a031663a9059cbb610729610d52565b6002546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b505050506040513d60208110156107a357600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156107f257600080fd5b505af1158015610806573d6000803e3d6000fd5b505050506040513d602081101561081c57600080fd5b5050600154600160a060020a031663a9059cbb610837610d52565b6001546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561088757600080fd5b505af115801561089b573d6000803e3d6000fd5b505050506040513d60208110156108b157600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561090057600080fd5b505af1158015610914573d6000803e3d6000fd5b505050506040513d602081101561092a57600080fd5b5050565b600080610939610dd9565b3360009081526004602081815260408084206001908101546003549154835160e060020a6370a082310281523096810196909652925191039650600160a060020a03909116936370a08231936024808201949392918390030190829087803b1580156109a457600080fd5b505af11580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b50513360009081526004602052604090205483028115156109eb57fe5b600254604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815233600482015293909204602484018190529151919350600160a060020a03169163a9059cbb9160448083019260209291908290030181600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b505050506040513d6020811015610a8657600080fd5b5050600354336000908152600460205260409020600101555050565b6003546002546040805160e060020a6370a08231028152600160a060020a0385811660048301529151600094859485948594859485948594909316916370a0823191602480830192602092919082900301818887803b158015610b0457600080fd5b505af1158015610b18573d6000803e3d6000fd5b505050506040513d6020811015610b2e57600080fd5b50516001546040805160e060020a6370a08231028152600160a060020a038d81166004830152915191909216916370a082319160248083019260209291908290030181600087803b158015610b8257600080fd5b505af1158015610b96573d6000803e3d6000fd5b505050506040513d6020811015610bac57600080fd5b5051600160a060020a03808c16600090815260046020818152604080842054600254825160e060020a6370a0823102815230958101959095529151909591909116936370a08231936024808201949392918390030190829087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d6020811015610c3d57600080fd5b50516001546040805160e060020a6370a082310281523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b158015610c8f57600080fd5b505af1158015610ca3573d6000803e3d6000fd5b505050506040513d6020811015610cb957600080fd5b505130600090815260046020526040902054959e949d50929b5090995097509550909350915050565b600a5481565b610cf0610d61565b1515610cfb57600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031690565b600054600160a060020a0316331490565b600754610e10429190910304620f42400290565b600954600160a060020a031681565b600254600160a060020a031681565b620f424081565b600154600160a060020a031681565b610dc2610d61565b1515610dcd57600080fd5b610dd681610e04565b50565b600042610e106003800154011015610dd657600754610e109042034260065504620f42400260035550565b600160a060020a0381161515610e1957600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820c10aca525cb390a34c7bb3cbf080694ffe040250afc96d1a32b30c0f653d3bde0029

Deployed Bytecode Sourcemap

2448:4876:0:-;;;;;;;;;-1:-1:-1;;;2448:4876:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3557:617;;;;;;;;3057:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3057:35:0;;;;;;;;-1:-1:-1;;;;;3057:35:0;;;;;;;;;;;;;;4182:415;;;;;;5394:542;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5394:542:0;-1:-1:-1;;;;;5394:542:0;;;;;;;;;;;;;;;;;;;;;7098:223;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7098:223:0;;;;4609:460;;;;6250:678;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6250:678:0;-1:-1:-1;;;;;6250:678:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3133:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3133:34:0;;;;2023:130;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2023:130:0;;;;1788:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1788:72:0;;;;1932:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1932:85:0;;;;;;;;;;;;;;;;;;;;;;5945:297;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:297:0;;;;3097:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3097:31:0;;;;2678:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2678:22:0;;;;2494:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2494:45:0;;;;2647:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2647:26:0;;;;2159:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2159:103:0;-1:-1:-1;;;;;2159:103:0;;;;;3557:617;3660:13;;:35;;;-1:-1:-1;;;;;3660:35:0;;3684:10;3660:35;;;;;;3638:19;;;;-1:-1:-1;;;;;3660:13:0;;;;:23;;:35;;;;;;;;;;;;;;;3638:19;3660:13;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;3660:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3660:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3660:35:0;;-1:-1:-1;3715:34:0;;;;3707:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3814:10:0;3803:22;;;;:10;:22;;;;;:38;:43;3852:159;;;;3876:12;:10;:12::i;:::-;3949:4;:20;3907:10;3949:20;3896:22;;;:10;:22;;;;;:10;:50;:73;3852:159;;;3993:13;:11;:13::i;:::-;4020;;:74;;;;;;4047:10;4020:74;;;;4067:4;4020:74;;;;;;;;;;;;-1:-1:-1;;;;;4020:13:0;;;;:26;;:74;;;;;;;;;;;;;;;:13;;:74;;;5:2:-1;;;;30:1;27;20:12;5:2;4020:74:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4020:74:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;4118:10:0;4107:22;;;;:10;4020:74;4107:22;;;;:61;;;;;;;;-1:-1:-1;;3557:617:0:o;3057:35::-;;;-1:-1:-1;;;;;3057:35:0;;:::o;4182:415::-;4305:10;4266:25;4294:22;;;:10;:22;;;;;:38;4352:42;;;;4344:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4431:13;:11;:13::i;:::-;4457;;:57;;;;;;4480:10;4457:57;;;;;;;;;;;;-1:-1:-1;;;;;4457:13:0;;;;:22;;:57;;;;;;;;;;;;;;;:13;;:57;;;5:2:-1;;;;30:1;27;20:12;5:2;4457:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4457:57:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;4539:10:0;4528:22;;;;:10;4457:57;4528:22;;;;:63;;;;;;;;;-1:-1:-1;4182:415:0:o;5394:542::-;5454:20;5484:25;5573:23;5655:26;5755:30;2631:7;5520:4;:21;;;5514:3;:27;5513:43;;;;;;;-1:-1:-1;;;;;5702:17:0;;;;;;;:10;:17;;;;;;;;:10;:45;;;;5848:13;;:38;;-1:-1:-1;;;;;5848:38:0;;5880:4;5848:38;;;;;;;;;5513:43;;;;;-1:-1:-1;2536:3:0;5600:35;;;-1:-1:-1;5684:63:0;;;;-1:-1:-1;5848:13:0;;;;;:23;;:38;;;;;5702:17;;5848:38;;;;;;;;:13;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;5848:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5848:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5848:38:0;-1:-1:-1;;;;;5811:17:0;;;;;;:10;5848:38;5811:17;;;;:33;5790:54;;5789:97;;;;;;;;;5394:542;-1:-1:-1;;;;;;5394:542:0:o;7098:223::-;1902:9;:7;:9::i;:::-;1894:18;;;;;;;;7156:13;;7172:8;7156:24;7150:3;:30;7142:39;;;;;;7189:9;;-1:-1:-1;;;;;7189:9:0;:18;7208:7;:5;:7::i;:::-;7217:9;;:25;;;-1:-1:-1;;;;;7217:25:0;;7237:4;7217:25;;;;;;-1:-1:-1;;;;;7217:9:0;;;;:19;;:25;;;;;;;;;;;;;;;:9;;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;7217:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7217:25:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7217:25:0;7189:54;;;-1:-1:-1;;;7189:54:0;;;;;;-1:-1:-1;;;;;7189:54:0;;;;;;;;;;;;;;;;;;;;7217:25;;7189:54;;;;;;;-1:-1:-1;7189:54:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7189:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7189:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;7252:13:0;;-1:-1:-1;;;;;7252:13:0;:22;7275:7;:5;:7::i;:::-;7284:13;;:29;;;-1:-1:-1;;;;;7284:29:0;;7308:4;7284:29;;;;;;-1:-1:-1;;;;;7284:13:0;;;;:23;;:29;;;;;;;;;;;;;;;:13;;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;7284:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7284:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7284:29:0;7252:62;;;-1:-1:-1;;;7252:62:0;;;;;;-1:-1:-1;;;;;7252:62:0;;;;;;;;;;;;;;;;;;;;7284:29;;7252:62;;;;;;;-1:-1:-1;7252:62:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;7252:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7252:62:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;7098:223:0:o;4609:460::-;4679:26;4788:24;4654:12;:10;:12::i;:::-;4742:10;4731:22;;;;:10;:22;;;;;;;;:10;:50;;;;:4;4708:20;4880:13;;:38;;-1:-1:-1;;;;;4880:38:0;;4912:4;4880:38;;;;;;;;;4708:73;;;-1:-1:-1;;;;;;4880:13:0;;;;:23;;:38;;;;;4731:22;4880:38;;;;;;;;;:13;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;4880:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4880:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4880:38:0;4849:10;4838:22;;;;:10;4880:38;4838:22;;;;:38;4817:59;;4816:102;;;;;;;4928:9;;:48;;;;;;4947:10;4928:48;;;;4816:102;;;;4928:48;;;;;;;;4816:102;;-1:-1:-1;;;;;;4928:9:0;;:18;;:48;;;;;;;;;;;;;;:9;;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;4928:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4928:48:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;5043:4:0;:20;5001:10;5043:20;4990:22;;;:10;4928:48;4990:22;;;;:10;:50;:73;-1:-1:-1;;4609:460:0:o;6250:678::-;6587:4;:20;6612:9;;:26;;;-1:-1:-1;;;;;6612:26:0;;-1:-1:-1;;;;;6612:26:0;;;;;;;;;6314:23;;;;;;;;;;;;;;6587:20;;6612:9;;:19;;:26;;;;;;;;;;;;;;6314:23;6612:9;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;6612:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6612:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6612:26:0;6653:13;;:30;;;-1:-1:-1;;;;;6653:30:0;;-1:-1:-1;;;;;6653:30:0;;;;;;;;;:13;;;;;:23;;:30;;;;;6612:26;;6653:30;;;;;;;:13;;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;6653:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6653:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6653:30:0;-1:-1:-1;;;;;6698:17:0;;;;;;;:10;6653:30;6698:17;;;;;;;:33;6756:9;;:34;;-1:-1:-1;;;;;6756:34:0;;6784:4;6756:34;;;;;;;;;6698:33;;6756:9;;;;;:19;;:34;;;;;6653:30;6756:34;;;;;;;;;:9;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;6756:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6756:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6756:34:0;6817:13;;:38;;;-1:-1:-1;;;;;6817:38:0;;6849:4;6817:38;;;;;;-1:-1:-1;;;;;6817:13:0;;;;:23;;:38;;;;;6756:34;;6817:38;;;;;;;;:13;;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;6817:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6817:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6817:38:0;6896:4;6877:25;;;;:10;6817:38;6877:25;;;;:41;6576:346;;;;-1:-1:-1;6576:346:0;;-1:-1:-1;6576:346:0;;-1:-1:-1;6576:346:0;-1:-1:-1;6817:38:0;-1:-1:-1;6877:41:0;;-1:-1:-1;6250:678:0;-1:-1:-1;;6250:678:0:o;3133:34::-;;;;:::o;2023:130::-;1902:9;:7;:9::i;:::-;1894:18;;;;;;;;2118:1;2102:6;;2081:40;;-1:-1:-1;;;;;2102:6:0;;;;2081:40;;2118:1;;2081:40;2145:1;2128:19;;-1:-1:-1;;2128:19:0;;;2023:130::o;1788:72::-;1825:7;1848:6;-1:-1:-1;;;;;1848:6:0;1788:72;:::o;1932:85::-;1971:4;2005:6;-1:-1:-1;;;;;2005:6:0;1991:10;:20;;1932:85::o;5945:297::-;6061:21;;2631:7;6055:3;:27;;;;6054:43;2536:3;6150:35;;5945:297::o;3097:31::-;;;-1:-1:-1;;;;;3097:31:0;;:::o;2678:22::-;;;-1:-1:-1;;;;;2678:22:0;;:::o;2494:45::-;2536:3;2494:45;:::o;2647:26::-;;;-1:-1:-1;;;;;2647:26:0;;:::o;2159:103::-;1902:9;:7;:9::i;:::-;1894:18;;;;;;;;2228:28;2247:8;2228:18;:28::i;:::-;2159:103;:::o;5077:293::-;5175:25;5154:3;2631:7;5117:4;:20;;;:34;:40;5114:251;;;5211:21;;2631:7;;5205:3;:27;5282:3;5259:20;:26;5204:43;2536:3;5320:35;5259:4;5296:60;-1:-1:-1;5077:293:0:o;2268:173::-;-1:-1:-1;;;;;2338:22:0;;;;2330:31;;;;;;2394:6;;;2373:38;;-1:-1:-1;;;;;2373:38:0;;;;2394:6;;;2373:38;;;2418:6;:17;;-1:-1:-1;;2418:17:0;-1:-1:-1;;;;;2418:17:0;;;;;;;;;;2268:173::o

Swarm Source

bzzr://c10aca525cb390a34c7bb3cbf080694ffe040250afc96d1a32b30c0f653d3bde

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.