Sponsored Link:   Buy your 1st Ethereum in 5 minutes. Trusted by more than 100k buyers.
Contract Overview | INSPromoToken
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 5715 txns
Token Tracker 0x52903256dd18D85c2Dc4a6C999907c9793eA61E3
  Latest 25 txns from a total Of 5715 transactions View All

TxHash Age From To Value [TxFee]
0xf4abe9b0e6595579e56edb56a8527f066472696ad7880789147b65209035068412 mins ago0x8dfe91307d473348f56e5c21d6f647d3f73e189f  IN   INSPromoToken0 Ether0.0008129
0xeb759b7ea3a4d159702d2ddb8fe2a6b2f9c249e59c2a76adc3b5c1b5f189eb8d32 mins ago0xa3efd378e827e168680538b3345c07f9427b0201  IN   INSPromoToken0 Ether0.002599232
0xd33d4f9a4c3c0336b8315fbaeea653aaff845afb0ff28e4fb4c87069bfdcc3da40 mins ago0x60d488358411c52565339f3c5bb343b2f0a0da28  IN   INSPromoToken0 Ether0.002131
0xe050827f2018c5fb086fa3ab92dd713e8025e5f708b936f3a3aeba6805d45cd046 mins ago0x8672225f07b09cd0a83fd1ce631c66892dfb847c  IN   INSPromoToken0 Ether0.001705746
0xb4b4a679a7a9afc2650c72f645944c4a3dd8b58e6d7812697e4864be28cdd7ac56 mins ago0xacff79612e8d191fd7b2694349f63eca5cfc679c  IN   INSPromoToken0 Ether0.00008129
0x29498d982407a112092966c16615320ecccd614b3e30fe2fce88ba199a8ca18a1 hr 44 mins ago0x47a3df7b5ed88eb046945e7ff4437cf7f582bccc  IN   INSPromoToken0 Ether0.00076678
0x20a07aa301a7d516ce37f5465efa52c3fcac1f18a7b2ecf7f51d1442703ce7582 hrs ago0x6c6ebf70e7402773d0f6a8b3c41902ed28c03a0c  IN   INSPromoToken0 Ether0.0013258
0xaa7e300031441135188df6c5509464e79ce94dd50d6f79fe8cf096690f4311932 hrs 16 mins ago0xb722314a38e17478d06995c17103640609f47755  IN   INSPromoToken0 Ether0.0013258
0x2b24a59343f10ac0e9039f633832373dc50db67b3c2aaf66539d134ccfe36daf2 hrs 28 mins ago0xd9bafe5421a35cc93cd3e02826521b595b973392  IN   INSPromoToken0 Ether0.000441903
0x57ab5a9b18961d361557e782879a5b43c25509cc5beb9e5cbd057ab3d156a6822 hrs 45 mins ago0x6dd2ad1d76f043c3694b459e5aa1fc5fc8d3b28a  IN   INSPromoToken0 Ether0.0026516
0xef19331ae02e4d75cd3e10391b0628437fe0bb77263c3dbf5d6f19e25fe2a3932 hrs 53 mins ago0xec6eb6a2f551cbafd485999e868eae0e88368185  IN   INSPromoToken0 Ether0.0032516
0xbb3fcf696f709d6ef61df3939a1a1ccb4340d3119bcf11b25e05dbfa242d7cf83 hrs ago0x6c6ebf70e7402773d0f6a8b3c41902ed28c03a0c  IN   INSPromoToken0 Ether0.00101144
0x90f3d7a97e1d18132029688200da801b3eaac65954788f20158d28f4682272b53 hrs 7 mins ago0xdab10a85ae6cd4aecf1701a58643dac0456f7a54  IN   INSPromoToken0 Ether0.000439722
0x8936996c89e0fa2815a70f3a2bac440e3bc72c7ab264b150f8058fcee3ccdc6f3 hrs 9 mins ago0xdab10a85ae6cd4aecf1701a58643dac0456f7a54  IN   INSPromoToken0 Ether0.00146322
0x4e172e14f63ffaa90248d09806ccc175929a56a48b47a92a9834f65c4876ee3d3 hrs 14 mins ago0xdab10a85ae6cd4aecf1701a58643dac0456f7a54  IN   INSPromoToken0 Ether0.00115
0x85f887492e4719c60fbae13e80ff62eec576ff4ee5b7803d1b545e029e9403d43 hrs 19 mins ago0xbc1fb462ab71b9e240a7762ac2a44d9bbe8395e0  IN   INSPromoToken0 Ether0.0016258
0x0a169dd306a4e2ba47a0efb240044199115f675eaacad437c0321b133ff7b4873 hrs 25 mins ago0x8308bbed5332cea18e05e467ec0be34d61bd494f  IN   INSPromoToken0 Ether0.0048774
0xda22e4b34cfbc0a2ebc773d69e2b7db1ce11ccdf52e49da28710848eccccdd033 hrs 38 mins ago0x1bb2566a72ecec845ec7e8ae1636f972a3023365  IN   INSPromoToken0 Ether0.000973944
0xbb5771196d9d3d28ac9abbe82900cfd55de79c72e1fa0644990f0f79b54705a24 hrs 33 mins ago0xe635a1ed357e1cd4e72e0ca76efacd3af78a1ec8  IN   INSPromoToken0 Ether0.00006629
0x022ff18b39e557ee4af67a95423b663a8d5d98f627248dbe26dd2577bb1d44124 hrs 47 mins ago0x9cfabdd2e80b89039317d8a16c4f88ac621dff83  IN   INSPromoToken0 Ether0.001705746
0x96c68460dc846845c82a26238dc824c70843e710c74b06dd47415d00524b83ec6 hrs 25 mins ago0x6797b94d687a2c717291096ad026ed7a49a19448  IN   INSPromoToken0 Ether0.00008129
0x292c15839703416b0db2f5c8fa678c8ad43844ccf78255bcee527f17d326c1dc6 hrs 51 mins ago0xc8314dc1489ac30442eefc4c286f9c3f37bf4456  IN   INSPromoToken0 Ether0.00013258
0xff1fe2ddb8c3d5f45434d15e64ff4c385cf7f88f7580735275c5d655d6dabb018 hrs 2 mins ago0xd2b70529b0c1444ad651dff785e426a1c77f0031  IN   INSPromoToken0 Ether0.00170709
0xfc60891e09df7e45d18c5194891671fdaab4dd9a97b417cc85dce51fe16d959e8 hrs 40 mins ago0x33ac19a5c2c9ecb5a39f021043cae2e364140f7d  IN   INSPromoToken0 Ether0.0008129
0x21bf36cb3b7fd381217cf27b34f863dd42774e45dfe2fa8815f5595d668807288 hrs 48 mins ago0x18b8428566ca1565ff55bd1ad9a625f0207c4294  IN   INSPromoToken0 Ether0.00048
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: INSPromoToken
Compiler Version: v0.4.16+commit.d7661dd9
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
/*
 * Safe Math Smart Contract.  Copyright © 2016–2017 by ABDK Consulting.
 * Author: Mikhail Vladimirov <[email protected]>
 */
pragma solidity ^0.4.16;

/**
 * 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)
  constant 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)
  constant 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)
  constant 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;
  }
}

/*
 * ERC-20 Standard Token Smart Contract Interface.
 * Copyright © 2016–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 () 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) 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) 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)
  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) 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
  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);
}

/*
 * Abstract Token Smart Contract.  Copyright © 2017 by ABDK Consulting.
 * Author: Mikhail Vladimirov <[email protected]>
 */
/**
 * 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 () {
    // 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) constant returns (uint256 balance) {
    return accounts [_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) returns (bool success) {
    uint256 fromBalance = accounts [msg.sender];
    if (fromBalance < _value) return false;
    if (_value > 0 && msg.sender != _to) {
      accounts [msg.sender] = safeSub (fromBalance, _value);
      accounts [_to] = safeAdd (accounts [_to], _value);
      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)
  returns (bool success) {
    uint256 spenderAllowance = allowances [_from][msg.sender];
    if (spenderAllowance < _value) return false;
    uint256 fromBalance = accounts [_from];
    if (fromBalance < _value) return false;

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

    if (_value > 0 && _from != _to) {
      accounts [_from] = safeSub (fromBalance, _value);
      accounts [_to] = safeAdd (accounts [_to], _value);
      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) returns (bool success) {
    allowances [msg.sender][_spender] = _value;
    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) 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;
}


/*
 * Abstract Virtual Token Smart Contract.  Copyright © 2017 by ABDK Consulting.
 * Author: Mikhail Vladimirov <[email protected]>
 */

/**
 * Abstract Token Smart Contract that could be used as a base contract for
 * ERC-20 token contracts supporting virtual balance.
 */
contract AbstractVirtualToken is AbstractToken {
  /**
   * Maximum number of real (i.e. non-virtual) tokens in circulation (2^255-1).
   */
  uint256 constant MAXIMUM_TOKENS_COUNT =
    0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

  /**
   * Mask used to extract real balance of an account (2^255-1).
   */
  uint256 constant BALANCE_MASK =
    0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

  /**
   * Mask used to extract "materialized" flag of an account (2^255).
   */
  uint256 constant MATERIALIZED_FLAG_MASK =
    0x8000000000000000000000000000000000000000000000000000000000000000;

  /**
   * Create new Abstract Virtual Token contract.
   */
  function AbstractVirtualToken () AbstractToken () {
    // Do nothing
  }

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

  /**
   * 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) constant returns (uint256 balance) {
    return safeAdd (
      accounts [_owner] & BALANCE_MASK, getVirtualBalance (_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) returns (bool success) {
    if (_value > balanceOf (msg.sender)) return false;
    else {
      materializeBalanceIfNeeded (msg.sender, _value);
      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)
  returns (bool success) {
    if (_value > allowance (_from, msg.sender)) return false;
    if (_value > balanceOf (_from)) return false;
    else {
      materializeBalanceIfNeeded (_from, _value);
      return AbstractToken.transferFrom (_from, _to, _value);
    }
  }

  /**
   * Get virtual balance of the owner of given address.
   *
   * @param _owner address to get virtual balance for the owner of
   * @return virtual balance of the owner of given address
   */
  function virtualBalanceOf (address _owner)
  internal constant returns (uint256 _virtualBalance);

  /**
   * Calculate virtual balance of the owner of given address taking into account
   * materialized flag and total number of real tokens already in circulation.
   */
  function getVirtualBalance (address _owner)
  private constant returns (uint256 _virtualBalance) {
    if (accounts [_owner] & MATERIALIZED_FLAG_MASK != 0) return 0;
    else {
      _virtualBalance = virtualBalanceOf (_owner);
      uint256 maxVirtualBalance = safeSub (MAXIMUM_TOKENS_COUNT, tokensCount);
      if (_virtualBalance > maxVirtualBalance)
        _virtualBalance = maxVirtualBalance;
    }
  }

  /**
   * Materialize virtual balance of the owner of given address if this will help
   * to transfer given number of tokens from it.
   *
   * @param _owner address to materialize virtual balance of
   * @param _value number of tokens to be transferred
   */
  function materializeBalanceIfNeeded (address _owner, uint256 _value) private {
    uint256 storedBalance = accounts [_owner];
    if (storedBalance & MATERIALIZED_FLAG_MASK == 0) {
      // Virtual balance is not materialized yet
      if (_value > storedBalance) {
        // Real balance is not enough
        uint256 virtualBalance = getVirtualBalance (_owner);
        require (safeSub (_value, storedBalance) <= virtualBalance);
        accounts [_owner] = MATERIALIZED_FLAG_MASK |
          safeAdd (storedBalance, virtualBalance);
        tokensCount = safeAdd (tokensCount, virtualBalance);
      }
    }
  }

  /**
   * Number of real (i.e. non-virtual) tokens in circulation.
   */
  uint256 tokensCount;
}

/*
 * INS Promo Token Smart Contract.  Copyright © 2016-2017 by ABDK Consulting.
 * Author: Mikhail Vladimirov <[email protected]>
 */

/**
 * EIP-20 token smart contract that manages INS promo tokens.
 */
contract INSPromoToken is AbstractVirtualToken {
  /**
   * Balance threshold to assign virtual tokens to the owner of higher balances
   * then this threshold.
   */
  uint256 private constant VIRTUAL_THRESHOLD = 0.1 ether;
  
  /**
   * Number of virtual tokens to assign to the owners of balances higher than
   * virtual threshold.
   */
  uint256 private constant VIRTUAL_COUNT = 777;
  
  /**
   * Create new INS Promo Token smart contract and make message sender to be
   * the owner of smart contract.
   */
  function INSPromoToken () AbstractVirtualToken () {
    owner = msg.sender;
  }

  /**
   * Get name of this token.
   *
   * @return name of this token
   */
  function name () constant returns (string result) {
    return "INS Promo";
  }

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

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

  /**
   * Notify owners about their virtual balances.
   *
   * @param _owners addresses of the owners to be notified
   */
  function massNotify (address [] _owners) {
    require (msg.sender == owner);
    uint256 count = _owners.length;
    for (uint256 i = 0; i < count; i++)
      Transfer (address (0), _owners [i], VIRTUAL_COUNT);
  }

  /**
   * Kill this smart contract.
   */
  function kill () {
    require (msg.sender == owner);
    selfdestruct (owner);
  }

  /**
   * Get virtual balance of the owner of given address.
   *
   * @param _owner address to get virtual balance for the owner of
   * @return virtual balance of the owner of given address
   */
  function virtualBalanceOf (address _owner)
  internal constant returns (uint256 _virtualBalance) {
    return _owner.balance >= VIRTUAL_THRESHOLD ? VIRTUAL_COUNT : 0;
  }

  /**
   * Address of the owner of this smart contract.
   */
  address private owner;
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"result","type":"string"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"_owners","type":"address[]"}],"name":"massNotify","outputs":[],"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":"view","type":"function"},{"constant":false,"inputs":[],"name":"kill","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":"view","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"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"}]

  Contract Creation Code Switch To Opcodes View
6060604052341561000f57600080fd5b5b5b5b5b5b60038054600160a060020a03191633600160a060020a03161790555b5b610a73806100406000396000f300606060405236156100ac5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100b1578063095ea7b31461013c5780630e6848cc1461017257806318160ddd146101c357806323b872dd146101e8578063313ce5671461022457806341c0e1b51461024d57806370a082311461026257806395d89b4114610293578063a9059cbb1461031e578063dd62ed3e14610354575b600080fd5b34156100bc57600080fd5b6100c461038b565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101015780820151818401525b6020016100e8565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014757600080fd5b61015e600160a060020a03600435166024356103cd565b604051901515815260200160405180910390f35b341561017d57600080fd5b6101c1600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061043a95505050505050565b005b34156101ce57600080fd5b6101d66104d0565b60405190815260200160405180910390f35b34156101f357600080fd5b61015e600160a060020a03600435811690602435166044356104d7565b604051901515815260200160405180910390f35b341561022f57600080fd5b61023761052a565b60405160ff909116815260200160405180910390f35b341561025857600080fd5b6101c1610530565b005b341561026d57600080fd5b6101d6600160a060020a036004351661055b565b60405190815260200160405180910390f35b341561029e57600080fd5b6100c46105b0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101015780820151818401525b6020016100e8565b50505050905090810190601f16801561012e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561032957600080fd5b61015e600160a060020a03600435166024356105f2565b604051901515815260200160405180910390f35b341561035f57600080fd5b6101d6600160a060020a036004358116906024351661062e565b60405190815260200160405180910390f35b610393610a35565b60408051908101604052600981527f494e532050726f6d6f0000000000000000000000000000000000000000000000602082015290505b90565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600354600090819033600160a060020a0390811691161461045a57600080fd5b82519150600090505b818110156104ca5782818151811061047757fe5b90602001906020020151600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61030960405190815260200160405180910390a35b600101610463565b5b505050565b6002545b90565b60006104e3843361062e565b8211156104f257506000610522565b6104fb8461055b565b82111561050a57506000610522565b610514848361065b565b61051f8484846106f1565b90505b5b9392505050565b60005b90565b60035433600160a060020a0390811691161461054b57600080fd5b600354600160a060020a0316ff5b565b600160a060020a0381166000908152602081905260408120546105a8907f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff166105a384610851565b6108cd565b90505b919050565b6105b8610a35565b60408051908101604052600481527f494e535000000000000000000000000000000000000000000000000000000000602082015290505b90565b60006105fd3361055b565b82111561060c57506000610434565b610616338361065b565b61062083836108e9565b9050610434565b5b92915050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b600160a060020a0382166000908152602081905260408120549060ff60020a821615156106e957818311156106e95761069384610851565b9050806106a084846109ef565b11156106ab57600080fd5b6106b582826108cd565b600160a060020a038516600090815260208190526040902060ff60020a9190911790556002546106e590826108cd565b6002555b5b5b50505050565b600160a060020a03808416600090815260016020908152604080832033909416835292905290812054818382101561072c5760009250610848565b50600160a060020a038516600090815260208190526040902054838110156107575760009250610848565b61076182856109ef565b600160a060020a03808816600090815260016020908152604080832033909416835292905290812091909155841180156107ad575084600160a060020a031686600160a060020a031614155b15610843576107bc81856109ef565b600160a060020a0380881660009081526020819052604080822093909355908716815220546107eb90856108cd565b600160a060020a03808716600081815260208190526040908190209390935591908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9087905190815260200160405180910390a35b600192505b50509392505050565b600160a060020a038116600090815260208190526040812054819060ff60020a161561088057600091506108c5565b61088983610a06565b91506108b77f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6002546109ef565b9050808211156108c5578091505b5b5b50919050565b60006000198290038311156108de57fe5b508181015b92915050565b600160a060020a0333166000908152602081905260408120548281101561091357600091506109e8565b600083118015610935575083600160a060020a031633600160a060020a031614155b156109e35761094481846109ef565b600160a060020a03338116600090815260208190526040808220939093559086168152205461097390846108cd565b60008086600160a060020a0316600160a060020a031681526020019081526020016000208190555083600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a35b600191505b5092915050565b6000818310156109fb57fe5b508082035b92915050565b600067016345785d8a000082600160a060020a0316311015610a295760006105a8565b6103095b90505b919050565b602060405190810160405260008152905600a165627a7a72305820ce703ad1b9c1f8c632a5ab06ffef9181d97fc1163d3d7f517b0ba4d7c032fee00029

   Swarm Source:
bzzr://ce703ad1b9c1f8c632a5ab06ffef9181d97fc1163d3d7f517b0ba4d7c032fee0

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.