ETH Price: $2,304.87 (+0.71%)

Contract

0x7a93f0d9f302C0818022f8DCa6Ee1Eb0f1b50308
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer56391202018-05-19 6:24:522303 days ago1526711092IN
0x7a93f0d9...0f1b50308
0 ETH0.000457512
Transfer56390872018-05-19 6:15:472303 days ago1526710547IN
0x7a93f0d9...0f1b50308
0 ETH0.0009167317.25625
Transfer56336912018-05-18 7:22:092304 days ago1526628129IN
0x7a93f0d9...0f1b50308
0 ETH0.0008006221
Transfer56063872018-05-13 12:07:342309 days ago1526213254IN
0x7a93f0d9...0f1b50308
0 ETH0.000430318.1
Transfer55684502018-05-06 21:31:222315 days ago1525642282IN
0x7a93f0d9...0f1b50308
0 ETH00
Transfer55419002018-05-02 5:44:342320 days ago1525239874IN
0x7a93f0d9...0f1b50308
0 ETH0.000190945
Transfer55319262018-04-30 11:42:452322 days ago1525088565IN
0x7a93f0d9...0f1b50308
0 ETH0.000305518
Transfer54653772018-04-18 23:57:362333 days ago1524095856IN
0x7a93f0d9...0f1b50308
0 ETH0.000113993
Transfer54153142018-04-10 12:33:392342 days ago1523363619IN
0x7a93f0d9...0f1b50308
0 ETH0.0011156221
Transfer52254222018-03-09 16:56:032373 days ago1520614563IN
0x7a93f0d9...0f1b50308
0 ETH0.0008019621
Transfer50968542018-02-15 21:23:032395 days ago1518729783IN
0x7a93f0d9...0f1b50308
0 ETH0.0005728315
Transfer50789392018-02-12 20:53:102398 days ago1518468790IN
0x7a93f0d9...0f1b50308
0 ETH0.0007637820
Transfer50350602018-02-05 12:00:032406 days ago1517832003IN
0x7a93f0d9...0f1b50308
0 ETH0.0021807441
Transfer50239182018-02-03 15:19:222408 days ago1517671162IN
0x7a93f0d9...0f1b50308
0 ETH0.0015657441
Transfer49327132018-01-19 3:52:242423 days ago1516333944IN
0x7a93f0d9...0f1b50308
0 ETH0.0015657441
Transfer48569112018-01-05 7:09:512437 days ago1515136191IN
0x7a93f0d9...0f1b50308
0 ETH0.0015275640
Transfer48558522018-01-05 2:19:152437 days ago1515118755IN
0x7a93f0d9...0f1b50308
0 ETH0.0038317100
Transfer46614092017-12-02 9:16:022471 days ago1512206162IN
0x7a93f0d9...0f1b50308
0 ETH0.000265945
Transfer46608872017-12-02 7:15:502471 days ago1512198950IN
0x7a93f0d9...0f1b50308
0 ETH0.000114563
Transfer46598602017-12-02 3:15:112471 days ago1512184511IN
0x7a93f0d9...0f1b50308
0 ETH0.0015631241
Transfer46418272017-11-29 4:41:052474 days ago1511930465IN
0x7a93f0d9...0f1b50308
0 ETH0.0008019621
Transfer45473232017-11-13 21:54:512489 days ago1510610091IN
0x7a93f0d9...0f1b50308
0 ETH0.0008134221.3
Transfer45080362017-11-07 14:54:002496 days ago1510066440IN
0x7a93f0d9...0f1b50308
0 ETH0.0011169621
Transfer45070822017-11-07 11:16:112496 days ago1510053371IN
0x7a93f0d9...0f1b50308
0 ETH0.0008019621
Transfer45050542017-11-07 3:27:192496 days ago1510025239IN
0x7a93f0d9...0f1b50308
0 ETH0.0004869621
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
41017402017-08-01 0:14:532594 days ago1501546493
0x7a93f0d9...0f1b50308
1.49 ETH
41016212017-07-31 23:36:092594 days ago1501544169
0x7a93f0d9...0f1b50308
0.5 ETH
40953022017-07-30 14:38:362596 days ago1501425516
0x7a93f0d9...0f1b50308
0.36 ETH
40953022017-07-30 14:38:362596 days ago1501425516
0x7a93f0d9...0f1b50308
0.3 ETH
40927832017-07-30 1:35:522596 days ago1501378552
0x7a93f0d9...0f1b50308
3 ETH
40905622017-07-29 14:27:422597 days ago1501338462
0x7a93f0d9...0f1b50308
0.25 ETH
40902182017-07-29 12:41:362597 days ago1501332096
0x7a93f0d9...0f1b50308
0.25 ETH
40900842017-07-29 12:00:162597 days ago1501329616
0x7a93f0d9...0f1b50308
7.59 ETH
40900682017-07-29 11:53:342597 days ago1501329214
0x7a93f0d9...0f1b50308
2.09137 ETH
40899402017-07-29 11:11:402597 days ago1501326700
0x7a93f0d9...0f1b50308
2 ETH
40837342017-07-28 3:12:012598 days ago1501211521
0x7a93f0d9...0f1b50308
0.2 ETH
40836312017-07-28 2:34:252598 days ago1501209265
0x7a93f0d9...0f1b50308
1.7 ETH
40826872017-07-27 21:43:312598 days ago1501191811
0x7a93f0d9...0f1b50308
0.3 ETH
40825302017-07-27 20:53:412598 days ago1501188821
0x7a93f0d9...0f1b50308
0.1 ETH
40820602017-07-27 18:34:542598 days ago1501180494
0x7a93f0d9...0f1b50308
50 ETH
40816042017-07-27 16:02:132598 days ago1501171333
0x7a93f0d9...0f1b50308
0.2 ETH
40795402017-07-27 5:32:062599 days ago1501133526
0x7a93f0d9...0f1b50308
0.9 ETH
40794892017-07-27 5:19:522599 days ago1501132792
0x7a93f0d9...0f1b50308
0.1 ETH
40785052017-07-27 0:08:152599 days ago1501114095
0x7a93f0d9...0f1b50308
1 ETH
40779512017-07-26 21:13:242599 days ago1501103604
0x7a93f0d9...0f1b50308
0.99 ETH
40766372017-07-26 14:36:232600 days ago1501079783
0x7a93f0d9...0f1b50308
0.1 ETH
40760612017-07-26 11:37:312600 days ago1501069051
0x7a93f0d9...0f1b50308
0.98741154 ETH
40760582017-07-26 11:36:312600 days ago1501068991
0x7a93f0d9...0f1b50308
5 ETH
40757052017-07-26 9:43:392600 days ago1501062219
0x7a93f0d9...0f1b50308
0.2 ETH
40747462017-07-26 4:43:052600 days ago1501044185
0x7a93f0d9...0f1b50308
1.25 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OxToken

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-07-02
*/

pragma solidity ^0.4.11;

library SafeMath {
  function mul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint a, uint b) internal returns (uint) {
    assert(b > 0);
    uint c = a / b;
    assert(a == b * c + a % b);
    return c;
  }

  function sub(uint a, uint b) internal returns (uint) {
    assert(b <= a);
    return a - b;
  }

  function add(uint a, uint b) internal returns (uint) {
    uint c = a + b;
    assert(c >= a);
    return c;
  }

  function max64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }

  function assert(bool assertion) internal {
    if (!assertion) {
      throw;
    }
  }
}

/*
 * ERC20Basic
 * Simpler version of ERC20 interface
 * see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20Basic {
  uint public totalSupply;
  function balanceOf(address who) constant returns (uint);
  function transfer(address to, uint value);
  event Transfer(address indexed from, address indexed to, uint value);
}

/*
 * ERC20 interface
 * see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) constant returns (uint);
  function transferFrom(address from, address to, uint value);
  function approve(address spender, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}

/*
 * Basic token
 * Basic version of StandardToken, with no allowances
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint;

  mapping(address => uint) balances;

  /*
   * Fix for the ERC20 short address attack  
   */
  modifier onlyPayloadSize(uint size) {
     if(msg.data.length < size + 4) {
       throw;
     }
     _;
  }

  function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
  }

  function balanceOf(address _owner) constant returns (uint balance) {
    return balances[_owner];
  }
  
}

contract StandardToken is BasicToken, ERC20 {

  mapping (address => mapping (address => uint)) allowed;

  function transferFrom(address _from, address _to, uint _value) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // if (_value > _allowance) throw;

    balances[_to] = balances[_to].add(_value);
    balances[_from] = balances[_from].sub(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
  }

  function approve(address _spender, uint _value) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
  }

  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

}

/*

LimitedTransferToken defines the generic interface and the implementation
to limit token transferability for different events.

It is intended to be used as a base class for other token contracts.

Overwriting transferableTokens(address holder, uint64 time) is the way to provide
the specific logic for limiting token transferability for a holder over time.

LimitedTransferToken has been designed to allow for different limiting factors,
this can be achieved by recursively calling super.transferableTokens() until the
base class is hit. For example:

function transferableTokens(address holder, uint64 time) constant public returns (uint256) {
  return min256(unlockedTokens, super.transferableTokens(holder, time));
}

A working example is VestedToken.sol:
https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/token/VestedToken.sol

*/

contract LimitedTransferToken is ERC20 {
  // Checks whether it can transfer or otherwise throws.
  modifier canTransfer(address _sender, uint _value) {
   if (_value > transferableTokens(_sender, uint64(now))) throw;
   _;
  }

  // Checks modifier and allows transfer if tokens are not locked.
  function transfer(address _to, uint _value) canTransfer(msg.sender, _value) {
   return super.transfer(_to, _value);
  }

  // Checks modifier and allows transfer if tokens are not locked.
  function transferFrom(address _from, address _to, uint _value) canTransfer(_from, _value) {
   return super.transferFrom(_from, _to, _value);
  }

  // Default transferable tokens function returns all tokens for a holder (no limit).
  function transferableTokens(address holder, uint64 time) constant public returns (uint256) {
    return balanceOf(holder);
  }
}

contract Ownable {
  address public owner;

  function Ownable() {
    owner = msg.sender;
  }

  modifier onlyOwner() {
    if (msg.sender != owner) {
      throw;
    }
    _;
  }

  function transferOwnership(address newOwner) onlyOwner {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }

}

contract OxToken is StandardToken, LimitedTransferToken, Ownable {
  using SafeMath for uint;

  event OxTokenInitialized(address _owner);
  event InitialTokensAllocated(uint _amount);
  event OwnerTokensAllocated(uint _amount);
  event SaleStarted(uint _saleEndTime);

  string public name = "OxToken";
  string public symbol = "OX";

  uint public decimals = 3;
  uint public multiplier = 10**decimals;
  uint public etherRatio = SafeMath.div(1 ether, multiplier);

  uint public MAX_SUPPLY = SafeMath.mul(700000000, multiplier); //50% (public) + 20% (corporate)
  uint public CORPORATE_SUPPLY = SafeMath.mul(200000000, multiplier); //20%
  uint public BOUNTY_SUPPLY = SafeMath.mul(200000000, multiplier); //20%
  uint public TEAM_SUPPLY = SafeMath.mul(100000000, multiplier); //10%
  uint public PRICE = 3000; //1 Ether buys 3000 OX
  uint public MIN_PURCHASE = 10**17; // 0.1 Ether

  uint256 public saleStartTime = 0;
  bool public ownerTokensAllocated = false;
  bool public balancesInitialized = false;

  function OxToken() {
    OxTokenInitialized(msg.sender);
  }

  function initializeBalances() public {
    if (balancesInitialized) {
      throw;
    }
    balances[owner] = CORPORATE_SUPPLY;
    totalSupply = CORPORATE_SUPPLY;
    balancesInitialized = true;
    Transfer(0x0, msg.sender, CORPORATE_SUPPLY);
    InitialTokensAllocated(CORPORATE_SUPPLY);
  }

  function canBuyTokens() constant public returns (bool) {
    //Sale runs for 31 days
    if (saleStartTime == 0) {
      return false;
    }
    if (getNow() > SafeMath.add(saleStartTime, 31 days)) {
      return false;
    }
    return true;
  }

  function transferableTokens(address holder, uint64 time) constant public returns (uint256) {
    //Owner can always transfer balance
    //If sale has completed, everyone can transfer full balance
    if (holder == owner) {
      return balanceOf(holder);
    }
    if ((saleStartTime == 0) || canBuyTokens()) {
      return 0;
    }
    return balanceOf(holder);
  }

  function startSale() onlyOwner {
    //Can only start once
    if (saleStartTime != 0) {
      throw;
    }
    saleStartTime = getNow();
    SaleStarted(saleStartTime);
  }

  function () payable {
    createTokens(msg.sender);
  }

  function createTokens(address recipient) payable {

    //Only allow purchases over the MIN_PURCHASE
    if (msg.value < MIN_PURCHASE) {
      throw;
    }

    //Reject if sale has completed
    if (!canBuyTokens()) {
      throw;
    }

    //Otherwise generate tokens
    uint tokens = msg.value.mul(PRICE);

    //Add on any bonus
    uint bonusPercentage = SafeMath.add(100, bonus());
    if (bonusPercentage != 100) {
      tokens = tokens.mul(percent(bonusPercentage)).div(percent(100));
    }

    tokens = tokens.div(etherRatio);

    totalSupply = totalSupply.add(tokens);

    //Don't allow totalSupply to be larger than MAX_SUPPLY
    if (totalSupply > MAX_SUPPLY) {
      throw;
    }

    balances[recipient] = balances[recipient].add(tokens);

    //Transfer Ether to owner
    owner.transfer(msg.value);

  }

  //Function to assign team & bounty tokens to owner
  function allocateOwnerTokens() public {

    //Can only be called once
    if (ownerTokensAllocated) {
      throw;
    }

    //Can only be called after sale has completed
    if ((saleStartTime == 0) || canBuyTokens()) {
      throw;
    }

    ownerTokensAllocated = true;

    uint amountToAllocate = SafeMath.add(BOUNTY_SUPPLY, TEAM_SUPPLY);
    balances[msg.sender] = balances[msg.sender].add(amountToAllocate);
    totalSupply = totalSupply.add(amountToAllocate);

    Transfer(0x0, msg.sender, amountToAllocate);
    OwnerTokensAllocated(amountToAllocate);

  }

  function bonus() constant returns(uint) {

    uint elapsed = SafeMath.sub(getNow(), saleStartTime);

    if (elapsed < 1 days) return 25;
    if (elapsed < 1 weeks) return 20;
    if (elapsed < 2 weeks) return 15;
    if (elapsed < 3 weeks) return 10;
    if (elapsed < 4 weeks) return 5;

    return 0;
  }

  function percent(uint256 p) internal returns (uint256) {
    return p.mul(10**16);
  }

  //Function is mocked for tests
  function getNow() internal constant returns (uint256) {
    return now;
  }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"multiplier","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"saleStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MAX_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"balancesInitialized","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"CORPORATE_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"BOUNTY_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"bonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"canBuyTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"allocateOwnerTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"etherRatio","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"PRICE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"startSale","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TEAM_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"}],"name":"createTokens","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[{"name":"holder","type":"address"},{"name":"time","type":"uint64"}],"name":"transferableTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MIN_PURCHASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ownerTokensAllocated","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"initializeBalances","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_owner","type":"address"}],"name":"OxTokenInitialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"InitialTokensAllocated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"OwnerTokensAllocated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_saleEndTime","type":"uint256"}],"name":"SaleStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

6060604052604060405190810160405280600781526020017f4f78546f6b656e00000000000000000000000000000000000000000000000000815250600490805190602001906200005292919062000355565b50604060405190810160405280600281526020017f4f5800000000000000000000000000000000000000000000000000000000000081525060059080519060200190620000a192919062000355565b506003600655600654600a0a600755620000da670de0b6b3a76400006007546200028564010000000002620013d7176401000000009004565b600855620001036329b92700600754620002f6640100000000026200135e176401000000009004565b6009556200012c630bebc200600754620002f6640100000000026200135e176401000000009004565b600a5562000155630bebc200600754620002f6640100000000026200135e176401000000009004565b600b556200017e6305f5e100600754620002f6640100000000026200135e176401000000009004565b600c55610bb8600d5567016345785d8a0000600e556000600f556000601060006101000a81548160ff0219169083151502179055506000601060016101000a81548160ff0219169083151502179055503415620001d757fe5b5b5b33600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b7f3468b4a873f944d96b97ed0f1fd45f22bd72594cca7bb064f1a43ea41eddbfdd33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b62000404565b60006000620002ab60008411620003436401000000000262001894176401000000009004565b8284811515620002b757fe5b049050620002eb8385811515620002ca57fe5b06828502018514620003436401000000000262001894176401000000009004565b8091505b5092915050565b6000600082840290506200033860008514806200031e57508385838115156200031b57fe5b04145b620003436401000000000262001894176401000000009004565b8091505b5092915050565b801515620003515760006000fd5b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200039857805160ff1916838001178555620003c9565b82800160010185558215620003c9579182015b82811115620003c8578251825591602001919060010190620003ab565b5b509050620003d89190620003dc565b5090565b6200040191905b80821115620003fd576000816000905550600101620003e3565b5090565b90565b6118d180620004146000396000f30060606040523615610173576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610185578063095ea7b31461021e57806318160ddd1461025d5780631b3ed722146102835780631cbaee2d146102a957806323b872dd146102cf578063313ce5671461032d57806332cb6b0c14610353578063421ed7dd1461037957806348ac0f3c146103a35780635d771933146103c957806370a08231146103ef57806375b4d78c1461043957806378710f721461045f5780638548cc21146104895780638d7117d41461049b5780638d859f3e146104c15780638da5cb5b146104e757806395d89b4114610539578063a9059cbb146105d2578063b66a0e5d14610611578063b9c3a81814610623578063cedbbeee14610649578063d347c20514610677578063d439390c146106d4578063d7182850146106fa578063dd62ed3e14610724578063f232e3511461078d578063f2fde38b1461079f575b6101835b610180336107d5565b5b565b005b341561018d57fe5b6101956109ac565b60405180806020018281038252838181518152602001915080519060200190808383600083146101e4575b8051825260208311156101e4576020820191506020810190506020830392506101c0565b505050905090810190601f1680156102105780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022657fe5b61025b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a4a565b005b341561026557fe5b61026d610b35565b6040518082815260200191505060405180910390f35b341561028b57fe5b610293610b3b565b6040518082815260200191505060405180910390f35b34156102b157fe5b6102b9610b41565b6040518082815260200191505060405180910390f35b34156102d757fe5b61032b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b47565b005b341561033557fe5b61033d610b74565b6040518082815260200191505060405180910390f35b341561035b57fe5b610363610b7a565b6040518082815260200191505060405180910390f35b341561038157fe5b610389610b80565b604051808215151515815260200191505060405180910390f35b34156103ab57fe5b6103b3610b93565b6040518082815260200191505060405180910390f35b34156103d157fe5b6103d9610b99565b6040518082815260200191505060405180910390f35b34156103f757fe5b610423600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b9f565b6040518082815260200191505060405180910390f35b341561044157fe5b610449610be9565b6040518082815260200191505060405180910390f35b341561046757fe5b61046f610c6f565b604051808215151515815260200191505060405180910390f35b341561049157fe5b610499610cb3565b005b34156104a357fe5b6104ab610e56565b6040518082815260200191505060405180910390f35b34156104c957fe5b6104d1610e5c565b6040518082815260200191505060405180910390f35b34156104ef57fe5b6104f7610e62565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561054157fe5b610549610e88565b6040518080602001828103825283818151815260200191508051906020019080838360008314610598575b80518252602083111561059857602082019150602081019050602083039250610574565b505050905090810190601f1680156105c45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105da57fe5b61060f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f26565b005b341561061957fe5b610621610f51565b005b341561062b57fe5b61063361100b565b6040518082815260200191505060405180910390f35b610675600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107d5565b005b341561067f57fe5b6106be600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803567ffffffffffffffff16906020019091905050611011565b6040518082815260200191505060405180910390f35b34156106dc57fe5b6106e46110ae565b6040518082815260200191505060405180910390f35b341561070257fe5b61070a6110b4565b604051808215151515815260200191505060405180910390f35b341561072c57fe5b610777600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110c7565b6040518082815260200191505060405180910390f35b341561079557fe5b61079d61114f565b005b34156107a757fe5b6107d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611284565b005b60006000600e543410156107e95760006000fd5b6107f1610c6f565b15156107fd5760006000fd5b610812600d543461135e90919063ffffffff16565b91506108266064610821610be9565b611393565b905060648114151561086b5761086861083f60646113b3565b61085a61084b846113b3565b8561135e90919063ffffffff16565b6113d790919063ffffffff16565b91505b610880600854836113d790919063ffffffff16565b91506108978260005461139390919063ffffffff16565b60008190555060095460005411156108af5760006000fd5b61090182600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051809050600060405180830381858888f1935050505015156109a657fe5b5b505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a425780601f10610a1757610100808354040283529160200191610a42565b820191906000526020600020905b815481529060010190602001808311610a2557829003601f168201915b505050505081565b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b5050565b60005481565b60075481565b600f5481565b8281610b538242611011565b811115610b605760006000fd5b610b6b85858561141a565b5b5b5050505050565b60065481565b60095481565b601060019054906101000a900460ff1681565b600a5481565b600b5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60006000610c00610bf86116c4565b600f546116cd565b905062015180811015610c165760199150610c6b565b62093a80811015610c2a5760149150610c6b565b62127500811015610c3e57600f9150610c6b565b621baf80811015610c5257600a9150610c6b565b6224ea00811015610c665760059150610c6b565b600091505b5090565b60006000600f541415610c855760009050610cb0565b610c94600f546228de80611393565b610c9c6116c4565b1115610cab5760009050610cb0565b600190505b90565b6000601060009054906101000a900460ff1615610cd05760006000fd5b6000600f541480610ce55750610ce4610c6f565b5b15610cf05760006000fd5b6001601060006101000a81548160ff021916908315150217905550610d19600b54600c54611393565b9050610d6d81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139390919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dc58160005461139390919063ffffffff16565b6000819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37ff6366b9f65edc1d73b8cfba59e64e88379fed0652294ec660f81966524e9c947816040518082815260200191505060405180910390a15b50565b60085481565b600d5481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f1e5780601f10610ef357610100808354040283529160200191610f1e565b820191906000526020600020905b815481529060010190602001808311610f0157829003601f168201915b505050505081565b3381610f328242611011565b811115610f3f5760006000fd5b610f4984846116e7565b5b5b50505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fae5760006000fd5b6000600f54141515610fc05760006000fd5b610fc86116c4565b600f819055507fa78c547613f6306e7a70d1bd161c18a496cae1eeb8d4f9e58b60d69ad72ddf58600f546040518082815260200191505060405180910390a15b5b565b600c5481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110795761107283610b9f565b90506110a8565b6000600f54148061108e575061108d610c6f565b5b1561109c57600090506110a8565b6110a583610b9f565b90505b92915050565b600e5481565b601060009054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b601060019054906101000a900460ff161561116a5760006000fd5b600a5460016000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a546000819055506001601060016101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040518082815260200191505060405180910390a37f12dc8c4b8cca8264a96becd42c0629810f31aa91e14cbb687395fa337b8dd5b1600a546040518082815260200191505060405180910390a15b565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112e15760006000fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156113595780600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b50565b6000600082840290506113886000851480611383575083858381151561138057fe5b04145b611894565b8091505b5092915050565b6000600082840190506113a884821015611894565b8091505b5092915050565b60006113cf662386f26fc100008361135e90919063ffffffff16565b90505b919050565b600060006113e760008411611894565b82848115156113f257fe5b04905061140f838581151561140357fe5b06828502018514611894565b8091505b5092915050565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506114ed82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061158282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cd90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115d882826116cd90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b50505050565b60004290505b90565b60006116db83831115611894565b81830390505b92915050565b604060048101600036905010156116fe5760006000fd5b61175082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cd90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117e582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5b505050565b8015156118a15760006000fd5b5b505600a165627a7a72305820482ad94983187bead1f0252e276c603bda4eeee35221e40d00454a11ba4e47140029

Deployed Bytecode

0x60606040523615610173576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610185578063095ea7b31461021e57806318160ddd1461025d5780631b3ed722146102835780631cbaee2d146102a957806323b872dd146102cf578063313ce5671461032d57806332cb6b0c14610353578063421ed7dd1461037957806348ac0f3c146103a35780635d771933146103c957806370a08231146103ef57806375b4d78c1461043957806378710f721461045f5780638548cc21146104895780638d7117d41461049b5780638d859f3e146104c15780638da5cb5b146104e757806395d89b4114610539578063a9059cbb146105d2578063b66a0e5d14610611578063b9c3a81814610623578063cedbbeee14610649578063d347c20514610677578063d439390c146106d4578063d7182850146106fa578063dd62ed3e14610724578063f232e3511461078d578063f2fde38b1461079f575b6101835b610180336107d5565b5b565b005b341561018d57fe5b6101956109ac565b60405180806020018281038252838181518152602001915080519060200190808383600083146101e4575b8051825260208311156101e4576020820191506020810190506020830392506101c0565b505050905090810190601f1680156102105780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022657fe5b61025b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a4a565b005b341561026557fe5b61026d610b35565b6040518082815260200191505060405180910390f35b341561028b57fe5b610293610b3b565b6040518082815260200191505060405180910390f35b34156102b157fe5b6102b9610b41565b6040518082815260200191505060405180910390f35b34156102d757fe5b61032b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b47565b005b341561033557fe5b61033d610b74565b6040518082815260200191505060405180910390f35b341561035b57fe5b610363610b7a565b6040518082815260200191505060405180910390f35b341561038157fe5b610389610b80565b604051808215151515815260200191505060405180910390f35b34156103ab57fe5b6103b3610b93565b6040518082815260200191505060405180910390f35b34156103d157fe5b6103d9610b99565b6040518082815260200191505060405180910390f35b34156103f757fe5b610423600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b9f565b6040518082815260200191505060405180910390f35b341561044157fe5b610449610be9565b6040518082815260200191505060405180910390f35b341561046757fe5b61046f610c6f565b604051808215151515815260200191505060405180910390f35b341561049157fe5b610499610cb3565b005b34156104a357fe5b6104ab610e56565b6040518082815260200191505060405180910390f35b34156104c957fe5b6104d1610e5c565b6040518082815260200191505060405180910390f35b34156104ef57fe5b6104f7610e62565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561054157fe5b610549610e88565b6040518080602001828103825283818151815260200191508051906020019080838360008314610598575b80518252602083111561059857602082019150602081019050602083039250610574565b505050905090810190601f1680156105c45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105da57fe5b61060f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f26565b005b341561061957fe5b610621610f51565b005b341561062b57fe5b61063361100b565b6040518082815260200191505060405180910390f35b610675600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107d5565b005b341561067f57fe5b6106be600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803567ffffffffffffffff16906020019091905050611011565b6040518082815260200191505060405180910390f35b34156106dc57fe5b6106e46110ae565b6040518082815260200191505060405180910390f35b341561070257fe5b61070a6110b4565b604051808215151515815260200191505060405180910390f35b341561072c57fe5b610777600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110c7565b6040518082815260200191505060405180910390f35b341561079557fe5b61079d61114f565b005b34156107a757fe5b6107d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611284565b005b60006000600e543410156107e95760006000fd5b6107f1610c6f565b15156107fd5760006000fd5b610812600d543461135e90919063ffffffff16565b91506108266064610821610be9565b611393565b905060648114151561086b5761086861083f60646113b3565b61085a61084b846113b3565b8561135e90919063ffffffff16565b6113d790919063ffffffff16565b91505b610880600854836113d790919063ffffffff16565b91506108978260005461139390919063ffffffff16565b60008190555060095460005411156108af5760006000fd5b61090182600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051809050600060405180830381858888f1935050505015156109a657fe5b5b505050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a425780601f10610a1757610100808354040283529160200191610a42565b820191906000526020600020905b815481529060010190602001808311610a2557829003601f168201915b505050505081565b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b5050565b60005481565b60075481565b600f5481565b8281610b538242611011565b811115610b605760006000fd5b610b6b85858561141a565b5b5b5050505050565b60065481565b60095481565b601060019054906101000a900460ff1681565b600a5481565b600b5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60006000610c00610bf86116c4565b600f546116cd565b905062015180811015610c165760199150610c6b565b62093a80811015610c2a5760149150610c6b565b62127500811015610c3e57600f9150610c6b565b621baf80811015610c5257600a9150610c6b565b6224ea00811015610c665760059150610c6b565b600091505b5090565b60006000600f541415610c855760009050610cb0565b610c94600f546228de80611393565b610c9c6116c4565b1115610cab5760009050610cb0565b600190505b90565b6000601060009054906101000a900460ff1615610cd05760006000fd5b6000600f541480610ce55750610ce4610c6f565b5b15610cf05760006000fd5b6001601060006101000a81548160ff021916908315150217905550610d19600b54600c54611393565b9050610d6d81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139390919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dc58160005461139390919063ffffffff16565b6000819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37ff6366b9f65edc1d73b8cfba59e64e88379fed0652294ec660f81966524e9c947816040518082815260200191505060405180910390a15b50565b60085481565b600d5481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f1e5780601f10610ef357610100808354040283529160200191610f1e565b820191906000526020600020905b815481529060010190602001808311610f0157829003601f168201915b505050505081565b3381610f328242611011565b811115610f3f5760006000fd5b610f4984846116e7565b5b5b50505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fae5760006000fd5b6000600f54141515610fc05760006000fd5b610fc86116c4565b600f819055507fa78c547613f6306e7a70d1bd161c18a496cae1eeb8d4f9e58b60d69ad72ddf58600f546040518082815260200191505060405180910390a15b5b565b600c5481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110795761107283610b9f565b90506110a8565b6000600f54148061108e575061108d610c6f565b5b1561109c57600090506110a8565b6110a583610b9f565b90505b92915050565b600e5481565b601060009054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b601060019054906101000a900460ff161561116a5760006000fd5b600a5460016000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a546000819055506001601060016101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040518082815260200191505060405180910390a37f12dc8c4b8cca8264a96becd42c0629810f31aa91e14cbb687395fa337b8dd5b1600a546040518082815260200191505060405180910390a15b565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112e15760006000fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156113595780600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b50565b6000600082840290506113886000851480611383575083858381151561138057fe5b04145b611894565b8091505b5092915050565b6000600082840190506113a884821015611894565b8091505b5092915050565b60006113cf662386f26fc100008361135e90919063ffffffff16565b90505b919050565b600060006113e760008411611894565b82848115156113f257fe5b04905061140f838581151561140357fe5b06828502018514611894565b8091505b5092915050565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506114ed82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061158282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cd90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115d882826116cd90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b50505050565b60004290505b90565b60006116db83831115611894565b81830390505b92915050565b604060048101600036905010156116fe5760006000fd5b61175082600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116cd90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117e582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5b505050565b8015156118a15760006000fd5b5b505600a165627a7a72305820482ad94983187bead1f0252e276c603bda4eeee35221e40d00454a11ba4e47140029

Swarm Source

bzzr://482ad94983187bead1f0252e276c603bda4eeee35221e40d00454a11ba4e4714

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  ]
[ 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.