ETH Price: $3,865.12 (+4.55%)

Contract

0xf03132EA4D93B23822475d5621De25617852b37d
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim Tokens171393212023-04-27 18:33:23587 days ago1682620403IN
0xf03132EA...17852b37d
0 ETH0.0033094136.5499005
Claim Tokens65050522018-10-13 3:35:082245 days ago1539401708IN
0xf03132EA...17852b37d
0 ETH0.0034871741
Claim Tokens For64912742018-10-10 21:50:272247 days ago1539208227IN
0xf03132EA...17852b37d
0 ETH0.0012167614
Claim Tokens64420372018-10-02 22:04:072255 days ago1538517847IN
0xf03132EA...17852b37d
0 ETH0.000489596.2
Claim Tokens64191252018-09-29 4:15:072259 days ago1538194507IN
0xf03132EA...17852b37d
0 ETH0.0015037411.9
Claim Tokens64127802018-09-28 3:09:032260 days ago1538104143IN
0xf03132EA...17852b37d
0 ETH0.00129369.9
Claim Tokens64066592018-09-27 3:01:352261 days ago1538017295IN
0xf03132EA...17852b37d
0 ETH0.00105848.1
Claim Tokens63996152018-09-25 23:21:332262 days ago1537917693IN
0xf03132EA...17852b37d
0 ETH0.000914667
Claim Tokens63910502018-09-24 13:37:132263 days ago1537796233IN
0xf03132EA...17852b37d
0 ETH0.000452643.46413291
Claim Tokens63762422018-09-22 3:06:522266 days ago1537585612IN
0xf03132EA...17852b37d
0 ETH0.00101927.8
Claim Tokens63629742018-09-19 22:27:542268 days ago1537396074IN
0xf03132EA...17852b37d
0 ETH0.00101927.8
Claim Tokens63565252018-09-18 21:03:132269 days ago1537304593IN
0xf03132EA...17852b37d
0 ETH0.0038918441
Claim Tokens63526042018-09-18 5:19:102270 days ago1537247950IN
0xf03132EA...17852b37d
0 ETH0.000681915.21875
Claim Tokens63464352018-09-17 4:58:302271 days ago1537160310IN
0xf03132EA...17852b37d
0 ETH0.000457333.5
Claim Tokens63407102018-09-16 6:15:452272 days ago1537078545IN
0xf03132EA...17852b37d
0 ETH0.000418133.2
Claim Tokens63334752018-09-15 1:43:052273 days ago1536975785IN
0xf03132EA...17852b37d
0 ETH0.000582664
Claim Tokens63211292018-09-13 0:37:512275 days ago1536799071IN
0xf03132EA...17852b37d
0 ETH0.000513186
Claim Tokens63208522018-09-12 23:33:082275 days ago1536795188IN
0xf03132EA...17852b37d
0 ETH0.0003069214
Claim Tokens63204242018-09-12 21:51:332275 days ago1536789093IN
0xf03132EA...17852b37d
0 ETH0.00060514
Claim Tokens63193892018-09-12 17:40:572275 days ago1536774057IN
0xf03132EA...17852b37d
0 ETH0.000512455
Claim Tokens63125082018-09-11 14:32:332276 days ago1536676353IN
0xf03132EA...17852b37d
0 ETH0.000512455
Claim Tokens63094002018-09-11 1:53:112277 days ago1536630791IN
0xf03132EA...17852b37d
0 ETH0.000529964
Claim Tokens63043462018-09-10 5:44:012278 days ago1536558241IN
0xf03132EA...17852b37d
0 ETH0.000330053.34375
Claim Tokens62916892018-09-08 2:24:572280 days ago1536373497IN
0xf03132EA...17852b37d
0 ETH0.000222943
Claim Tokens62836792018-09-06 18:07:472281 days ago1536257267IN
0xf03132EA...17852b37d
0 ETH0.00036513.5
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:
TokenVesting

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-05-31
*/

pragma solidity ^0.4.18;

// File: zeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

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

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

// File: zeppelin-solidity/contracts/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


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


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

// File: zeppelin-solidity/contracts/token/ERC20Basic.sol

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

// File: contracts/TokenVesting.sol

/**
 * @title Vesting contract for SDT
 * @dev see https://send.sd/token
 */
contract TokenVesting is Ownable {
  using SafeMath for uint256;

  address public ico;
  bool public initialized;
  bool public active;
  ERC20Basic public token;
  mapping (address => TokenGrant[]) public grants;

  uint256 public circulatingSupply = 0;

  struct TokenGrant {
    uint256 value;
    uint256 claimed;
    uint256 vesting;
    uint256 start;
  }

  event NewTokenGrant (
    address indexed to,
    uint256 value,
    uint256 start,
    uint256 vesting
  );

  event NewTokenClaim (
    address indexed holder,
    uint256 value
  );

  modifier icoResticted() {
    require(msg.sender == ico);
    _;
  }

  modifier isActive() {
    require(active);
    _;
  }

  function TokenVesting() public {
    active = false;
  }

  function init(address _token, address _ico) public onlyOwner {
    token = ERC20Basic(_token);
    ico = _ico;
    initialized = true;
    active = true;
  }

  function stop() public isActive onlyOwner {
    active = false;
  }

  function resume() public onlyOwner {
    require(!active);
    require(initialized);
    active = true;
  }

  /**
  * @dev Grant vested tokens.
  * @notice Only for ICO contract address.
  * @param _to Addres to grant tokens to.
  * @param _value Number of tokens granted.
  * @param _vesting Vesting finish timestamp.
  * @param _start Vesting start timestamp.
  */
  function grantVestedTokens(
      address _to,
      uint256 _value,
      uint256 _start,
      uint256 _vesting
  ) public icoResticted isActive {
    require(_value > 0);
    require(_vesting > _start);
    require(grants[_to].length < 10);

    TokenGrant memory grant = TokenGrant(_value, 0, _vesting, _start);
    grants[_to].push(grant);

    NewTokenGrant(_to, _value, _start, _vesting);
  }

  /**
  * @dev Claim all vested tokens up to current date for myself
  */
  function claimTokens() public {
    claim(msg.sender);
  }

  /**
  * @dev Claim all vested tokens up to current date in behaviour of an user
  * @param _to address Addres to claim tokens
  */
  function claimTokensFor(address _to) public onlyOwner {
    claim(_to);
  }

  /**
  * @dev Get claimable tokens
  */
  function claimableTokens() public constant returns (uint256) {
    address _to = msg.sender;
    uint256 numberOfGrants = grants[_to].length;

    if (numberOfGrants == 0) {
      return 0;
    }

    uint256 claimable = 0;
    uint256 claimableFor = 0;
    for (uint256 i = 0; i < numberOfGrants; i++) {
      claimableFor = calculateVestedTokens(
        grants[_to][i].value,
        grants[_to][i].vesting,
        grants[_to][i].start,
        grants[_to][i].claimed
      );
      claimable = claimable.add(claimableFor);
    }
    return claimable;
  }

  /**
  * @dev Get all veted tokens
  */
  function totalVestedTokens() public constant returns (uint256) {
    address _to = msg.sender;
    uint256 numberOfGrants = grants[_to].length;

    if (numberOfGrants == 0) {
      return 0;
    }

    uint256 claimable = 0;
    for (uint256 i = 0; i < numberOfGrants; i++) {
      claimable = claimable.add(
        grants[_to][i].value.sub(grants[_to][i].claimed)
      );
    }
    return claimable;
  }

  /**
  * @dev Calculate vested claimable tokens on current time
  * @param _tokens Number of tokens granted
  * @param _vesting Vesting finish timestamp
  * @param _start Vesting start timestamp
  * @param _claimed Number of tokens already claimed
  */
  function calculateVestedTokens(
      uint256 _tokens,
      uint256 _vesting,
      uint256 _start,
      uint256 _claimed
  ) internal constant returns (uint256) {
    uint256 time = block.timestamp;

    if (time < _start) {
      return 0;
    }

    if (time >= _vesting) {
      return _tokens.sub(_claimed);
    }

    uint256 vestedTokens = _tokens.mul(time.sub(_start)).div(
      _vesting.sub(_start)
    );

    return vestedTokens.sub(_claimed);
  }

  /**
  * @dev Claim all vested tokens up to current date
  */
  function claim(address _to) internal {
    uint256 numberOfGrants = grants[_to].length;

    if (numberOfGrants == 0) {
      return;
    }

    uint256 claimable = 0;
    uint256 claimableFor = 0;
    for (uint256 i = 0; i < numberOfGrants; i++) {
      claimableFor = calculateVestedTokens(
        grants[_to][i].value,
        grants[_to][i].vesting,
        grants[_to][i].start,
        grants[_to][i].claimed
      );
      claimable = claimable.add(claimableFor);
      grants[_to][i].claimed = grants[_to][i].claimed.add(claimableFor);
    }

    token.transfer(_to, claimable);
    circulatingSupply += claimable;

    NewTokenClaim(_to, claimable);
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"active","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resume","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"grants","outputs":[{"name":"value","type":"uint256"},{"name":"claimed","type":"uint256"},{"name":"vesting","type":"uint256"},{"name":"start","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_start","type":"uint256"},{"name":"_vesting","type":"uint256"}],"name":"grantVestedTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalVestedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"circulatingSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"claimableTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"claimTokensFor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_ico","type":"address"}],"name":"init","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"start","type":"uint256"},{"indexed":false,"name":"vesting","type":"uint256"}],"name":"NewTokenGrant","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"NewTokenClaim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60606040526000600455341561001457600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160156101000a81548160ff0219169083151502179055506115568061007e6000396000f3006060604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302fb0c5e146100eb578063046f7da21461011857806307da68f51461012d578063158ef93e146101425780632c71e60a1461016f5780632f3d8035146101da57806348c54b9d1461022e57806351e09631146102435780635d4522011461026c5780638da5cb5b146102c15780639358928b14610316578063bab8fe401461033f578063ee0b04be14610368578063f09a4016146103a1578063f2fde38b146103f9578063fc0c546a14610432575b600080fd5b34156100f657600080fd5b6100fe610487565b604051808215151515815260200191505060405180910390f35b341561012357600080fd5b61012b61049a565b005b341561013857600080fd5b610140610548565b005b341561014d57600080fd5b6101556105db565b604051808215151515815260200191505060405180910390f35b341561017a57600080fd5b6101af600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105ee565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34156101e557600080fd5b61022c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001909190505061063a565b005b341561023957600080fd5b610241610843565b005b341561024e57600080fd5b61025661084e565b6040518082815260200191505060405180910390f35b341561027757600080fd5b61027f6109ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102cc57600080fd5b6102d46109e0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561032157600080fd5b610329610a05565b6040518082815260200191505060405180910390f35b341561034a57600080fd5b610352610a0b565b6040518082815260200191505060405180910390f35b341561037357600080fd5b61039f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c33565b005b34156103ac57600080fd5b6103f7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c9a565b005b341561040457600080fd5b610430600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610daf565b005b341561043d57600080fd5b610445610f04565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600160159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156104f557600080fd5b600160159054906101000a900460ff1615151561051157600080fd5b600160149054906101000a900460ff16151561052c57600080fd5b60018060156101000a81548160ff021916908315150217905550565b600160159054906101000a900460ff16151561056357600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105be57600080fd5b6000600160156101000a81548160ff021916908315150217905550565b600160149054906101000a900460ff1681565b60036020528160005260406000208181548110151561060957fe5b9060005260206000209060040201600091509150508060000154908060010154908060020154908060030154905084565b610642611490565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561069e57600080fd5b600160159054906101000a900460ff1615156106b957600080fd5b6000841115156106c857600080fd5b82821115156106d657600080fd5b600a600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905010151561072757600080fd5b60806040519081016040528085815260200160008152602001838152602001848152509050600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161079d91906114b9565b91600052602060002090600402016000839091909150600082015181600001556020820151816001015560408201518160020155606082015181600301555050508473ffffffffffffffffffffffffffffffffffffffff167ffc0d99b68595ff5b29cf2e047f21340d66fabc9be3cc2f91453ff504875e17a785858560405180848152602001838152602001828152602001935050505060405180910390a25050505050565b61084c33610f2a565b565b6000806000806000339350600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050925060008314156108b057600094506109b3565b60009150600090505b828110156109af576109a0610991600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561091357fe5b906000526020600020906004020160010154600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110151561097157fe5b90600052602060002090600402016000015461135c90919063ffffffff16565b8361137590919063ffffffff16565b915080806001019150506108b9565b8194505b5050505090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600080600080600080339450600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905093506000841415610a6e5760009550610c2b565b6000925060009150600090505b83811015610c2757610c03600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610ad257fe5b906000526020600020906004020160000154600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515610b3057fe5b906000526020600020906004020160020154600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515610b8e57fe5b906000526020600020906004020160030154600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085815481101515610bec57fe5b906000526020600020906004020160010154611393565b9150610c18828461137590919063ffffffff16565b92508080600101915050610a7b565b8295505b505050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8e57600080fd5b610c9781610f2a565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cf557600080fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060146101000a81548160ff02191690831515021790555060018060156101000a81548160ff0219169083151502179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e0a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e4657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905093506000841415610f8357611355565b6000925060009150600090505b8381101561120d57611118600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610fe757fe5b906000526020600020906004020160000154600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561104557fe5b906000526020600020906004020160020154600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811015156110a357fe5b906000526020600020906004020160030154600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208581548110151561110157fe5b906000526020600020906004020160010154611393565b915061112d828461137590919063ffffffff16565b925061119f82600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561117f57fe5b90600052602060002090600402016001015461137590919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811015156111eb57fe5b9060005260206000209060040201600101819055508080600101915050610f90565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156112da57600080fd5b6102c65a03f115156112eb57600080fd5b5050506040518051905050826004600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff167f3c2de78904a594f8b0dbe9127dd435a38468bf014499e0104abfebb5894b8f66846040518082815260200191505060405180910390a25b5050505050565b600082821115151561136a57fe5b818303905092915050565b600080828401905083811015151561138957fe5b8091505092915050565b6000806000429150848210156113ac5760009250611430565b85821015156113cf576113c8848861135c90919063ffffffff16565b9250611430565b6114186113e5868861135c90919063ffffffff16565b61140a6113fb888661135c90919063ffffffff16565b8a61143a90919063ffffffff16565b61147590919063ffffffff16565b905061142d848261135c90919063ffffffff16565b92505b5050949350505050565b600080600084141561144f576000915061146e565b828402905082848281151561146057fe5b0414151561146a57fe5b8091505b5092915050565b600080828481151561148357fe5b0490508091505092915050565b608060405190810160405280600081526020016000815260200160008152602001600081525090565b8154818355818115116114e6576004028160040283600052602060002091820191016114e591906114eb565b5b505050565b61152791905b8082111561152357600080820160009055600182016000905560028201600090556003820160009055506004016114f1565b5090565b905600a165627a7a7230582097ac02b228781fd150220b8095f0a090ccc8b5e19bdcb5fb40d702780ffbbb100029

Deployed Bytecode

0x6060604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302fb0c5e146100eb578063046f7da21461011857806307da68f51461012d578063158ef93e146101425780632c71e60a1461016f5780632f3d8035146101da57806348c54b9d1461022e57806351e09631146102435780635d4522011461026c5780638da5cb5b146102c15780639358928b14610316578063bab8fe401461033f578063ee0b04be14610368578063f09a4016146103a1578063f2fde38b146103f9578063fc0c546a14610432575b600080fd5b34156100f657600080fd5b6100fe610487565b604051808215151515815260200191505060405180910390f35b341561012357600080fd5b61012b61049a565b005b341561013857600080fd5b610140610548565b005b341561014d57600080fd5b6101556105db565b604051808215151515815260200191505060405180910390f35b341561017a57600080fd5b6101af600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105ee565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34156101e557600080fd5b61022c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001909190505061063a565b005b341561023957600080fd5b610241610843565b005b341561024e57600080fd5b61025661084e565b6040518082815260200191505060405180910390f35b341561027757600080fd5b61027f6109ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102cc57600080fd5b6102d46109e0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561032157600080fd5b610329610a05565b6040518082815260200191505060405180910390f35b341561034a57600080fd5b610352610a0b565b6040518082815260200191505060405180910390f35b341561037357600080fd5b61039f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c33565b005b34156103ac57600080fd5b6103f7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c9a565b005b341561040457600080fd5b610430600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610daf565b005b341561043d57600080fd5b610445610f04565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600160159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156104f557600080fd5b600160159054906101000a900460ff1615151561051157600080fd5b600160149054906101000a900460ff16151561052c57600080fd5b60018060156101000a81548160ff021916908315150217905550565b600160159054906101000a900460ff16151561056357600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105be57600080fd5b6000600160156101000a81548160ff021916908315150217905550565b600160149054906101000a900460ff1681565b60036020528160005260406000208181548110151561060957fe5b9060005260206000209060040201600091509150508060000154908060010154908060020154908060030154905084565b610642611490565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561069e57600080fd5b600160159054906101000a900460ff1615156106b957600080fd5b6000841115156106c857600080fd5b82821115156106d657600080fd5b600a600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905010151561072757600080fd5b60806040519081016040528085815260200160008152602001838152602001848152509050600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161079d91906114b9565b91600052602060002090600402016000839091909150600082015181600001556020820151816001015560408201518160020155606082015181600301555050508473ffffffffffffffffffffffffffffffffffffffff167ffc0d99b68595ff5b29cf2e047f21340d66fabc9be3cc2f91453ff504875e17a785858560405180848152602001838152602001828152602001935050505060405180910390a25050505050565b61084c33610f2a565b565b6000806000806000339350600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050925060008314156108b057600094506109b3565b60009150600090505b828110156109af576109a0610991600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561091357fe5b906000526020600020906004020160010154600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110151561097157fe5b90600052602060002090600402016000015461135c90919063ffffffff16565b8361137590919063ffffffff16565b915080806001019150506108b9565b8194505b5050505090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600080600080600080339450600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905093506000841415610a6e5760009550610c2b565b6000925060009150600090505b83811015610c2757610c03600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610ad257fe5b906000526020600020906004020160000154600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515610b3057fe5b906000526020600020906004020160020154600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515610b8e57fe5b906000526020600020906004020160030154600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085815481101515610bec57fe5b906000526020600020906004020160010154611393565b9150610c18828461137590919063ffffffff16565b92508080600101915050610a7b565b8295505b505050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8e57600080fd5b610c9781610f2a565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cf557600080fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060146101000a81548160ff02191690831515021790555060018060156101000a81548160ff0219169083151502179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e0a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e4657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905093506000841415610f8357611355565b6000925060009150600090505b8381101561120d57611118600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610fe757fe5b906000526020600020906004020160000154600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561104557fe5b906000526020600020906004020160020154600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811015156110a357fe5b906000526020600020906004020160030154600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208581548110151561110157fe5b906000526020600020906004020160010154611393565b915061112d828461137590919063ffffffff16565b925061119f82600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561117f57fe5b90600052602060002090600402016001015461137590919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811015156111eb57fe5b9060005260206000209060040201600101819055508080600101915050610f90565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156112da57600080fd5b6102c65a03f115156112eb57600080fd5b5050506040518051905050826004600082825401925050819055508473ffffffffffffffffffffffffffffffffffffffff167f3c2de78904a594f8b0dbe9127dd435a38468bf014499e0104abfebb5894b8f66846040518082815260200191505060405180910390a25b5050505050565b600082821115151561136a57fe5b818303905092915050565b600080828401905083811015151561138957fe5b8091505092915050565b6000806000429150848210156113ac5760009250611430565b85821015156113cf576113c8848861135c90919063ffffffff16565b9250611430565b6114186113e5868861135c90919063ffffffff16565b61140a6113fb888661135c90919063ffffffff16565b8a61143a90919063ffffffff16565b61147590919063ffffffff16565b905061142d848261135c90919063ffffffff16565b92505b5050949350505050565b600080600084141561144f576000915061146e565b828402905082848281151561146057fe5b0414151561146a57fe5b8091505b5092915050565b600080828481151561148357fe5b0490508091505092915050565b608060405190810160405280600081526020016000815260200160008152602001600081525090565b8154818355818115116114e6576004028160040283600052602060002091820191016114e591906114eb565b5b505050565b61152791905b8082111561152357600080820160009055600182016000905560028201600090556003820160009055506004016114f1565b5090565b905600a165627a7a7230582097ac02b228781fd150220b8095f0a090ccc8b5e19bdcb5fb40d702780ffbbb100029

Swarm Source

bzzr://97ac02b228781fd150220b8095f0a090ccc8b5e19bdcb5fb40d702780ffbbb10

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.