ETH Price: $2,452.78 (-5.72%)

Contract

0x940741Ad6E3c25Df5cD5Ec7550B23A889E8Ee57a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer117334942021-01-26 20:23:471344 days ago1611692627IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117332812021-01-26 19:34:101344 days ago1611689650IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117332122021-01-26 19:18:201344 days ago1611688700IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117329442021-01-26 18:17:321344 days ago1611685052IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117328122021-01-26 17:50:141344 days ago1611683414IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117328122021-01-26 17:50:141344 days ago1611683414IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117327382021-01-26 17:32:331344 days ago1611682353IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117325532021-01-26 16:55:401344 days ago1611680140IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117324582021-01-26 16:34:551344 days ago1611678895IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117322532021-01-26 15:53:151344 days ago1611676395IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117319812021-01-26 14:57:231344 days ago1611673043IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117317682021-01-26 14:06:141344 days ago1611669974IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117317262021-01-26 13:57:091344 days ago1611669429IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117312582021-01-26 12:24:021344 days ago1611663842IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer117310942021-01-26 11:43:241344 days ago1611661404IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer114766262020-12-18 10:23:251383 days ago1608287005IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer114064012020-12-07 15:11:481394 days ago1607353908IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer114024372020-12-07 0:34:491394 days ago1607301289IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer113989122020-12-06 11:33:211395 days ago1607254401IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer113952982020-12-05 22:22:311396 days ago1607206951IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer113898172020-12-05 2:06:081396 days ago1607133968IN
0x940741Ad...89E8Ee57a
0 ETH00
Transfer110727822020-10-17 10:06:201445 days ago1602929180IN
0x940741Ad...89E8Ee57a
0 ETH0.0005112122.1
Transfer110693842020-10-16 21:30:031446 days ago1602883803IN
0x940741Ad...89E8Ee57a
0 ETH0.0004626420
Transfer110693502020-10-16 21:23:421446 days ago1602883422IN
0x940741Ad...89E8Ee57a
0 ETH0.0004626420
Transfer105110682020-07-22 19:24:351532 days ago1595445875IN
0x940741Ad...89E8Ee57a
0 ETH00
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:
PonderAirdropToken

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-03-25
*/

pragma solidity ^0.4.21;
/*
 * Abstract Token Smart Contract.  Copyright © 2017 by ABDK Consulting.
 * Author: Mikhail Vladimirov <[email protected]>
 */

/**
 * ERC-20 standard token interface, as defined
 * <a href="http://github.com/ethereum/EIPs/issues/20">here</a>.
 */
contract Token {
  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () public constant returns (uint256 supply);

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
   *        owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) public constant returns (uint256 balance);

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) public returns (bool success);

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
   *        recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  public returns (bool success);

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
   *        message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) public returns (bool success);

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender) constant
  public returns (uint256 remaining);

  /**
   * Logged when tokens were transferred from one owner to another.
   *
   * @param _from address of the owner, tokens were transferred from
   * @param _to address of the owner, tokens were transferred to
   * @param _value number of tokens transferred
   */
  event Transfer (address indexed _from, address indexed _to, uint256 _value);

  /**
   * Logged when owner approved his tokens to be transferred by some spender.
   *
   * @param _owner owner who approved his tokens to be transferred
   * @param _spender spender who were allowed to transfer the tokens belonging
   *        to the owner
   * @param _value number of tokens belonging to the owner, approved to be
   *        transferred by the spender
   */
  event Approval (
    address indexed _owner, address indexed _spender, uint256 _value);
}
/*
 * Safe Math Smart Contract.  Copyright © 2016–2017 by ABDK Consulting.
 * Author: Mikhail Vladimirov <[email protected]>
 */

/**
 * Provides methods to safely add, subtract and multiply uint256 numbers.
 */
contract SafeMath {
  uint256 constant private MAX_UINT256 =
    0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

  /**
   * Add two uint256 values, throw in case of overflow.
   *
   * @param x first value to add
   * @param y second value to add
   * @return x + y
   */
  function safeAdd (uint256 x, uint256 y)
  pure internal
  returns (uint256 z) {
    assert (x <= MAX_UINT256 - y);
    return x + y;
  }

  /**
   * Subtract one uint256 value from another, throw in case of underflow.
   *
   * @param x value to subtract from
   * @param y value to subtract
   * @return x - y
   */
  function safeSub (uint256 x, uint256 y)
  pure internal
  returns (uint256 z) {
    assert (x >= y);
    return x - y;
  }

  /**
   * Multiply two uint256 values, throw in case of overflow.
   *
   * @param x first value to multiply
   * @param y second value to multiply
   * @return x * y
   */
  function safeMul (uint256 x, uint256 y)
  pure internal
  returns (uint256 z) {
    if (y == 0) return 0; // Prevent division by zero at the next line
    assert (x <= MAX_UINT256 / y);
    return x * y;
  }
}
/**
 * Abstract Token Smart Contract that could be used as a base contract for
 * ERC-20 token contracts.
 */

contract AbstractToken is Token, SafeMath {
  /**
   * Create new Abstract Token contract.
   */
  function AbstractToken () public {
    // Do nothing
  }

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
   *        owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) public constant returns (uint256 balance) {
    return accounts [_owner];
  }

  /**
   * Get number of tokens currently belonging to given owner and available for transfer.
   *
   * @param _owner address to get number of tokens currently belonging to the
   *        owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function transferrableBalanceOf (address _owner) public constant returns (uint256 balance) {
    if (holds[_owner] > accounts[_owner]) {
        return 0;
    } else {
        return safeSub(accounts[_owner], holds[_owner]);
    }
  }

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) public returns (bool success) {
    require (transferrableBalanceOf(msg.sender) >= _value);
    if (_value > 0 && msg.sender != _to) {
      accounts [_to] = safeAdd (accounts [_to], _value);
    }
    emit Transfer (msg.sender, _to, _value);
    return true;
  }

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
   *        recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  public returns (bool success) {
    require (allowances [_from][msg.sender] >= _value);
    require (transferrableBalanceOf(_from) >= _value);

    allowances [_from][msg.sender] =
      safeSub (allowances [_from][msg.sender], _value);

    if (_value > 0 && _from != _to) {
      accounts [_from] = safeSub (accounts [_from], _value);
      accounts [_to] = safeAdd (accounts [_to], _value);
    }
    emit Transfer (_from, _to, _value);
    return true;
  }

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
   *        message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) public returns (bool success) {
    allowances [msg.sender][_spender] = _value;
    emit Approval (msg.sender, _spender, _value);

    return true;
  }

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender) public constant
  returns (uint256 remaining) {
    return allowances [_owner][_spender];
  }

  /**
   * Mapping from addresses of token holders to the numbers of tokens belonging
   * to these token holders.
   */
  mapping (address => uint256) accounts;

  /**
   * Mapping from addresses of token holders to the mapping of addresses of
   * spenders to the allowances set by these token holders to these spenders.
   */
  mapping (address => mapping (address => uint256)) private allowances;

  /**
   * Mapping from addresses of token holds which cannot be spent until released.
   */
  mapping (address =>  uint256) internal holds;
}
/**
 * Ponder token smart contract.
 */


contract PonderAirdropToken is AbstractToken {
  /**
   * Address of the owner of this smart contract.
   */
  mapping (address => bool) private owners;
  
  /**
   * Address of the account which holds the supply
   */
  address private supplyOwner;
  
  /**
   * True if tokens transfers are currently frozen, false otherwise.
   */
  bool frozen = false;

  /**
   * Create new Ponder token smart contract, with given number of tokens issued
   * and given to msg.sender, and make msg.sender the owner of this smart
   * contract.
   */
  function PonderAirdropToken () public {
    supplyOwner = msg.sender;
    owners[supplyOwner] = true;
    accounts [supplyOwner] = totalSupply();
  }

  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () public constant returns (uint256 supply) {
    return 480000000 * (uint256(10) ** decimals());
  }

  /**
   * Get name of this token.
   *
   * @return name of this token
   */
  function name () public pure returns (string result) {
    return "Ponder Airdrop Token";
  }

  /**
   * Get symbol of this token.
   *
   * @return symbol of this token
   */
  function symbol () public pure returns (string result) {
    return "PONA";
  }

  /**
   * Get number of decimals for this token.
   *
   * @return number of decimals for this token
   */
  function decimals () public pure returns (uint8 result) {
    return 18;
  }

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) public returns (bool success) {
    if (frozen) return false;
    else return AbstractToken.transfer (_to, _value);
  }

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
   *        recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
    public returns (bool success) {
    if (frozen) return false;
    else return AbstractToken.transferFrom (_from, _to, _value);
  }

  /**
   * Change how many tokens given spender is allowed to transfer from message
   * spender.  In order to prevent double spending of allowance, this method
   * receives assumed current allowance value as an argument.  If actual
   * allowance differs from an assumed one, this method just returns false.
   *
   * @param _spender address to allow the owner of to transfer tokens from
   *        message sender
   * @param _currentValue assumed number of tokens currently allowed to be
   *        transferred
   * @param _newValue number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _currentValue, uint256 _newValue)
    public returns (bool success) {
    if (allowance (msg.sender, _spender) == _currentValue)
      return approve (_spender, _newValue);
    else return false;
  }

  /**
   * Set new owner for the smart contract.
   * May only be called by smart contract owner.
   *
   * @param _address of new or existing owner of the smart contract
   * @param _value boolean stating if the _address should be an owner or not
   */
  function setOwner (address _address, bool _value) public {
    require (owners[msg.sender]);
    // if removing the _address from owners list, make sure owner is not 
    // removing himself (which could lead to an ownerless contract).
    require (_value == true || _address != msg.sender);

    owners[_address] = _value;
  }

  /**
   * Initialize the token holders by contract owner
   *
   * @param _to addresses to allocate token for
   * @param _value number of tokens to be allocated
   */  
  function initAccounts (address [] _to, uint256 [] _value) public {
      require (owners[msg.sender]);
      require (_to.length == _value.length);
      for (uint256 i=0; i < _to.length; i++){
          uint256 amountToAdd;
          uint256 amountToSub;
          if (_value[i] > accounts[_to[i]]){
            amountToAdd = safeSub(_value[i], accounts[_to[i]]);
          }else{
            amountToSub = safeSub(accounts[_to[i]], _value[i]);
          }
          accounts [supplyOwner] = safeAdd (accounts [supplyOwner], amountToSub);
          accounts [supplyOwner] = safeSub (accounts [supplyOwner], amountToAdd);
          accounts [_to[i]] = _value[i];
          if (amountToAdd > 0){
            emit Transfer (supplyOwner, _to[i], amountToAdd);
          }
      }
  }

  /**
   * Initialize the token holders and hold amounts by contract owner
   *
   * @param _to addresses to allocate token for
   * @param _value number of tokens to be allocated
   * @param _holds number of tokens to hold from transferring
   */  
  function initAccounts (address [] _to, uint256 [] _value, uint256 [] _holds) public {
    setHolds(_to, _holds);
    initAccounts(_to, _value);
  }
  
  /**
   * Set the number of tokens to hold from transferring for a list of 
   * token holders.
   * 
   * @param _account list of account holders
   * @param _value list of token amounts to hold
   */
  function setHolds (address [] _account, uint256 [] _value) public {
    require (owners[msg.sender]);
    require (_account.length == _value.length);
    for (uint256 i=0; i < _account.length; i++){
        holds[_account[i]] = _value[i];
    }
  }
  

  /**
   * Freeze token transfers.
   * May only be called by smart contract owner.
   */
  function freezeTransfers () public {
    require (owners[msg.sender]);

    if (!frozen) {
      frozen = true;
      emit Freeze ();
    }
  }

  /**
   * Unfreeze token transfers.
   * May only be called by smart contract owner.
   */
  function unfreezeTransfers () public {
    require (owners[msg.sender]);

    if (frozen) {
      frozen = false;
      emit Unfreeze ();
    }
  }

  /**
   * Logged when token transfers were frozen.
   */
  event Freeze ();

  /**
   * Logged when token transfers were unfrozen.
   */
  event Unfreeze ();

  /**
   * Kill the token.
   */
  function kill() public { 
    if (owners[msg.sender]) selfdestruct(msg.sender);
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"freezeTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"result","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"result","type":"uint8"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"unfreezeTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address[]"},{"name":"_value","type":"uint256[]"}],"name":"initAccounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_currentValue","type":"uint256"},{"name":"_newValue","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address[]"},{"name":"_value","type":"uint256[]"},{"name":"_holds","type":"uint256[]"}],"name":"initAccounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"bool"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"result","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_account","type":"address[]"},{"name":"_value","type":"uint256[]"}],"name":"setHolds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"transferrableBalanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[],"name":"Unfreeze","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"},{"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"}]

60606040526004805460a060020a60ff0219169055341561001f57600080fd5b60048054600160a060020a03191633600160a060020a039081169190911791829055166000908152600360205260409020805460ff19166001179055610070640100000000610090810261067a1704565b600454600160a060020a03166000908152602081905260409020556100bd565b60006100a76401000000006106c76100b882021704565b60ff16600a0a631c9c380002905090565b601290565b610f3a806100cc6000396000f3006060604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301502460811461010057806306fdde0314610115578063095ea7b31461019f57806318160ddd146101d557806323b872dd146101fa578063313ce5671461022257806331c420d41461024b5780633c23ebda1461025e57806341c0e1b5146102ed578063426a8493146103005780634819939214610325578063516c731c146103f457806370a082311461041857806395d89b4114610437578063a9059cbb1461044a578063dd62ed3e1461046c578063e8cd9d3a14610491578063fb632ef914610520575b600080fd5b341561010b57600080fd5b61011361053f565b005b341561012057600080fd5b6101286105cc565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561016457808201518382015260200161014c565b50505050905090810190601f1680156101915780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101aa57600080fd5b6101c1600160a060020a036004351660243561060d565b604051901515815260200160405180910390f35b34156101e057600080fd5b6101e861067a565b60405190815260200160405180910390f35b341561020557600080fd5b6101c1600160a060020a0360043581169060243516604435610695565b341561022d57600080fd5b6102356106c7565b60405160ff909116815260200160405180910390f35b341561025657600080fd5b6101136106cc565b341561026957600080fd5b61011360046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061075195505050505050565b34156102f857600080fd5b6101136109e3565b341561030b57600080fd5b6101c1600160a060020a0360043516602435604435610a10565b341561033057600080fd5b61011360046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610a3595505050505050565b34156103ff57600080fd5b610113600160a060020a03600435166024351515610a4e565b341561042357600080fd5b6101e8600160a060020a0360043516610ace565b341561044257600080fd5b610128610aed565b341561045557600080fd5b6101c1600160a060020a0360043516602435610b2e565b341561047757600080fd5b6101e8600160a060020a0360043581169060243516610b5c565b341561049c57600080fd5b610113600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610b8795505050505050565b341561052b57600080fd5b6101e8600160a060020a0360043516610c1b565b600160a060020a03331660009081526003602052604090205460ff16151561056657600080fd5b60045460a060020a900460ff1615156105ca576004805474ff0000000000000000000000000000000000000000191660a060020a1790557f615acbaede366d76a8b8cb2a9ada6a71495f0786513d71aa97aaf0c3910b78de60405160405180910390a15b565b6105d4610efc565b60408051908101604052601481527f506f6e6465722041697264726f7020546f6b656e0000000000000000000000006020820152905090565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60006106846106c7565b60ff16600a0a631c9c380002905090565b60045460009060a060020a900460ff16156106b2575060006106c0565b6106bd848484610c7f565b90505b9392505050565b601290565b600160a060020a03331660009081526003602052604090205460ff1615156106f357600080fd5b60045460a060020a900460ff16156105ca576004805474ff0000000000000000000000000000000000000000191690557f2f05ba71d0df11bf5fa562a6569d70c4f80da84284badbe015ce1456063d0ded60405160405180910390a1565b600160a060020a0333166000908152600360205260408120548190819060ff16151561077c57600080fd5b835185511461078a57600080fd5b600092505b84518310156109dc576000808685815181106107a757fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020548484815181106107de57fe5b90602001906020020151111561084d576108468484815181106107fd57fe5b9060200190602002015160008088878151811061081657fe5b90602001906020020151600160a060020a0316600160a060020a0316815260200190815260200160002054610e09565b91506108a8565b6108a560008087868151811061085f57fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205485858151811061089657fe5b90602001906020020151610e09565b90505b600454600160a060020a03166000908152602081905260409020546108cd9082610e1b565b60048054600160a060020a0390811660009081526020819052604080822094909455915416815220546109009083610e09565b600454600160a060020a031660009081526020819052604090205583838151811061092757fe5b9060200190602002015160008087868151811061094057fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000208190555060008211156109d15784838151811061098357fe5b90602001906020020151600454600160a060020a0391821691167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35b60019092019161078f565b5050505050565b600160a060020a03331660009081526003602052604090205460ff16156105ca5733600160a060020a0316ff5b600082610a1d3386610b5c565b1415610a2d576106bd848361060d565b5060006106c0565b610a3f8382610b87565b610a498383610751565b505050565b600160a060020a03331660009081526003602052604090205460ff161515610a7557600080fd5b60018115151480610a98575033600160a060020a031682600160a060020a031614155b1515610aa357600080fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b600160a060020a0381166000908152602081905260409020545b919050565b610af5610efc565b60408051908101604052600481527f504f4e41000000000000000000000000000000000000000000000000000000006020820152905090565b60045460009060a060020a900460ff1615610b4b57506000610674565b610b558383610e31565b9050610674565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600160a060020a03331660009081526003602052604081205460ff161515610bae57600080fd5b8151835114610bbc57600080fd5b5060005b8251811015610a4957818181518110610bd557fe5b9060200190602002015160026000858481518110610bef57fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055600101610bc0565b600160a060020a0381166000908152602081815260408083205460029092528220541115610c4b57506000610ae8565b600160a060020a03821660009081526020818152604080832054600290925290912054610c789190610e09565b9050610ae8565b600160a060020a0380841660009081526001602090815260408083203390941683529290529081205482901015610cb557600080fd5b81610cbf85610c1b565b1015610cca57600080fd5b600160a060020a0380851660009081526001602090815260408083203390941683529290522054610cfb9083610e09565b600160a060020a0380861660009081526001602090815260408083203390941683529290529081209190915582118015610d47575082600160a060020a031684600160a060020a031614155b15610db857600160a060020a038416600090815260208190526040902054610d6f9083610e09565b600160a060020a038086166000908152602081905260408082209390935590851681522054610d9e9083610e1b565b600160a060020a0384166000908152602081905260409020555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060019392505050565b600081831015610e1557fe5b50900390565b6000600019829003831115610e2c57fe5b500190565b600081610e3d33610c1b565b1015610e4857600080fd5b600082118015610e6a575082600160a060020a031633600160a060020a031614155b15610eac57600160a060020a038316600090815260208190526040902054610e929083610e1b565b600160a060020a0384166000908152602081905260409020555b82600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b602060405190810160405260008152905600a165627a7a72305820e20bfe956888255f443f1d52e4232106d7d09d344aaa8c1405048d07230cd8f30029

Deployed Bytecode

0x6060604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301502460811461010057806306fdde0314610115578063095ea7b31461019f57806318160ddd146101d557806323b872dd146101fa578063313ce5671461022257806331c420d41461024b5780633c23ebda1461025e57806341c0e1b5146102ed578063426a8493146103005780634819939214610325578063516c731c146103f457806370a082311461041857806395d89b4114610437578063a9059cbb1461044a578063dd62ed3e1461046c578063e8cd9d3a14610491578063fb632ef914610520575b600080fd5b341561010b57600080fd5b61011361053f565b005b341561012057600080fd5b6101286105cc565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561016457808201518382015260200161014c565b50505050905090810190601f1680156101915780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101aa57600080fd5b6101c1600160a060020a036004351660243561060d565b604051901515815260200160405180910390f35b34156101e057600080fd5b6101e861067a565b60405190815260200160405180910390f35b341561020557600080fd5b6101c1600160a060020a0360043581169060243516604435610695565b341561022d57600080fd5b6102356106c7565b60405160ff909116815260200160405180910390f35b341561025657600080fd5b6101136106cc565b341561026957600080fd5b61011360046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061075195505050505050565b34156102f857600080fd5b6101136109e3565b341561030b57600080fd5b6101c1600160a060020a0360043516602435604435610a10565b341561033057600080fd5b61011360046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610a3595505050505050565b34156103ff57600080fd5b610113600160a060020a03600435166024351515610a4e565b341561042357600080fd5b6101e8600160a060020a0360043516610ace565b341561044257600080fd5b610128610aed565b341561045557600080fd5b6101c1600160a060020a0360043516602435610b2e565b341561047757600080fd5b6101e8600160a060020a0360043581169060243516610b5c565b341561049c57600080fd5b610113600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610b8795505050505050565b341561052b57600080fd5b6101e8600160a060020a0360043516610c1b565b600160a060020a03331660009081526003602052604090205460ff16151561056657600080fd5b60045460a060020a900460ff1615156105ca576004805474ff0000000000000000000000000000000000000000191660a060020a1790557f615acbaede366d76a8b8cb2a9ada6a71495f0786513d71aa97aaf0c3910b78de60405160405180910390a15b565b6105d4610efc565b60408051908101604052601481527f506f6e6465722041697264726f7020546f6b656e0000000000000000000000006020820152905090565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60006106846106c7565b60ff16600a0a631c9c380002905090565b60045460009060a060020a900460ff16156106b2575060006106c0565b6106bd848484610c7f565b90505b9392505050565b601290565b600160a060020a03331660009081526003602052604090205460ff1615156106f357600080fd5b60045460a060020a900460ff16156105ca576004805474ff0000000000000000000000000000000000000000191690557f2f05ba71d0df11bf5fa562a6569d70c4f80da84284badbe015ce1456063d0ded60405160405180910390a1565b600160a060020a0333166000908152600360205260408120548190819060ff16151561077c57600080fd5b835185511461078a57600080fd5b600092505b84518310156109dc576000808685815181106107a757fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020548484815181106107de57fe5b90602001906020020151111561084d576108468484815181106107fd57fe5b9060200190602002015160008088878151811061081657fe5b90602001906020020151600160a060020a0316600160a060020a0316815260200190815260200160002054610e09565b91506108a8565b6108a560008087868151811061085f57fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205485858151811061089657fe5b90602001906020020151610e09565b90505b600454600160a060020a03166000908152602081905260409020546108cd9082610e1b565b60048054600160a060020a0390811660009081526020819052604080822094909455915416815220546109009083610e09565b600454600160a060020a031660009081526020819052604090205583838151811061092757fe5b9060200190602002015160008087868151811061094057fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000208190555060008211156109d15784838151811061098357fe5b90602001906020020151600454600160a060020a0391821691167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35b60019092019161078f565b5050505050565b600160a060020a03331660009081526003602052604090205460ff16156105ca5733600160a060020a0316ff5b600082610a1d3386610b5c565b1415610a2d576106bd848361060d565b5060006106c0565b610a3f8382610b87565b610a498383610751565b505050565b600160a060020a03331660009081526003602052604090205460ff161515610a7557600080fd5b60018115151480610a98575033600160a060020a031682600160a060020a031614155b1515610aa357600080fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b600160a060020a0381166000908152602081905260409020545b919050565b610af5610efc565b60408051908101604052600481527f504f4e41000000000000000000000000000000000000000000000000000000006020820152905090565b60045460009060a060020a900460ff1615610b4b57506000610674565b610b558383610e31565b9050610674565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600160a060020a03331660009081526003602052604081205460ff161515610bae57600080fd5b8151835114610bbc57600080fd5b5060005b8251811015610a4957818181518110610bd557fe5b9060200190602002015160026000858481518110610bef57fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055600101610bc0565b600160a060020a0381166000908152602081815260408083205460029092528220541115610c4b57506000610ae8565b600160a060020a03821660009081526020818152604080832054600290925290912054610c789190610e09565b9050610ae8565b600160a060020a0380841660009081526001602090815260408083203390941683529290529081205482901015610cb557600080fd5b81610cbf85610c1b565b1015610cca57600080fd5b600160a060020a0380851660009081526001602090815260408083203390941683529290522054610cfb9083610e09565b600160a060020a0380861660009081526001602090815260408083203390941683529290529081209190915582118015610d47575082600160a060020a031684600160a060020a031614155b15610db857600160a060020a038416600090815260208190526040902054610d6f9083610e09565b600160a060020a038086166000908152602081905260408082209390935590851681522054610d9e9083610e1b565b600160a060020a0384166000908152602081905260409020555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060019392505050565b600081831015610e1557fe5b50900390565b6000600019829003831115610e2c57fe5b500190565b600081610e3d33610c1b565b1015610e4857600080fd5b600082118015610e6a575082600160a060020a031633600160a060020a031614155b15610eac57600160a060020a038316600090815260208190526040902054610e929083610e1b565b600160a060020a0384166000908152602081905260409020555b82600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b602060405190810160405260008152905600a165627a7a72305820e20bfe956888255f443f1d52e4232106d7d09d344aaa8c1405048d07230cd8f30029

Swarm Source

bzzr://e20bfe956888255f443f1d52e4232106d7d09d344aaa8c1405048d07230cd8f3

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.