ETH Price: $2,793.16 (-11.35%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer78832342019-06-03 0:14:292072 days ago1559520869IN
0x494A0cec...7Eb55e1C3
0 ETH0.000077493.41
Transfer78444692019-05-27 22:51:162078 days ago1558997476IN
0x494A0cec...7Eb55e1C3
0 ETH0.00009094
Transfer78385982019-05-27 0:50:502078 days ago1558918250IN
0x494A0cec...7Eb55e1C3
0 ETH0.000068173
Transfer78356622019-05-26 14:03:272079 days ago1558879407IN
0x494A0cec...7Eb55e1C3
0 ETH0.000249416.61124352
Transfer78073642019-05-22 3:52:342083 days ago1558497154IN
0x494A0cec...7Eb55e1C3
0 ETH0.0003749716.5
Transfer77302582019-05-10 3:00:012095 days ago1557457201IN
0x494A0cec...7Eb55e1C3
0 ETH0.000136356
Transfer76121062019-04-21 16:39:492114 days ago1555864789IN
0x494A0cec...7Eb55e1C3
0 ETH0.000033371.46875
Transfer76120702019-04-21 16:31:192114 days ago1555864279IN
0x494A0cec...7Eb55e1C3
0 ETH0.000068173
Transfer76120592019-04-21 16:29:102114 days ago1555864150IN
0x494A0cec...7Eb55e1C3
0 ETH0.000068173
Transfer76120532019-04-21 16:27:192114 days ago1555864039IN
0x494A0cec...7Eb55e1C3
0 ETH0.000022721
Transfer76119782019-04-21 16:11:132114 days ago1555863073IN
0x494A0cec...7Eb55e1C3
0 ETH0.000022721
Transfer76119732019-04-21 16:10:282114 days ago1555863028IN
0x494A0cec...7Eb55e1C3
0 ETH0.000022721
Transfer76119662019-04-21 16:09:162114 days ago1555862956IN
0x494A0cec...7Eb55e1C3
0 ETH0.000057882.546875
Transfer76118722019-04-21 15:44:272114 days ago1555861467IN
0x494A0cec...7Eb55e1C3
0 ETH0.000022721
Transfer76052992019-04-20 15:24:202115 days ago1555773860IN
0x494A0cec...7Eb55e1C3
0 ETH0.000036361.6
Transfer76052882019-04-20 15:21:472115 days ago1555773707IN
0x494A0cec...7Eb55e1C3
0 ETH0.000036361.6
Transfer76036352019-04-20 8:51:412115 days ago1555750301IN
0x494A0cec...7Eb55e1C3
0 ETH0.000136356
Transfer76029972019-04-20 6:26:312115 days ago1555741591IN
0x494A0cec...7Eb55e1C3
0 ETH0.000022721
Transfer75990512019-04-19 15:48:152116 days ago1555688895IN
0x494A0cec...7Eb55e1C3
0 ETH0.000022721
Transfer75835222019-04-17 5:46:142118 days ago1555479974IN
0x494A0cec...7Eb55e1C3
0 ETH0.000045452
Transfer75834392019-04-17 5:29:472118 days ago1555478987IN
0x494A0cec...7Eb55e1C3
0 ETH0.000065332.875
Transfer74639342019-03-29 14:32:242137 days ago1553869944IN
0x494A0cec...7Eb55e1C3
0 ETH0.000227910
Transfer72895912019-03-02 10:11:002164 days ago1551521460IN
0x494A0cec...7Eb55e1C3
0 ETH0.000264087
Transfer71661962019-02-03 1:18:592191 days ago1549156739IN
0x494A0cec...7Eb55e1C3
0 ETH0.000159087
Transfer68613902018-12-10 14:39:572246 days ago1544452797IN
0x494A0cec...7Eb55e1C3
0 ETH0.0002272610
View all transactions

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ioeXTokenERC20

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

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

pragma solidity 0.4.24;

library SafeMath {

  /**
  * @dev Multiplies two numbers, reverts on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (a == 0) {
      return 0;
    }

    uint256 c = a * b;
    require(c / a == b);

    return c;
  }

  /**
  * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b > 0); // Solidity only automatically asserts 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;
  }

  /**
  * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    uint256 c = a - b;

    return c;
  }

  /**
  * @dev Adds two numbers, reverts on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a);

    return c;
  }

  /**
  * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
  * reverts when dividing by zero.
  */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b != 0);
    return a % b;
  }
}

contract owned {
    address public owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}


contract ERC20 {
    function totalSupply() public view returns (uint256);

    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
    );
}


contract StandardToken is ERC20 {
    using SafeMath for uint256;

    mapping(address => uint256) internal balances;

    uint256 internal totalSupply_;

    /**
     * @dev Total number of tokens in existence
     */
    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }

    /**
     * @dev Gets the balance of the specified address.
     * @param _owner The address to query the the balance of.
     * @return An uint256 representing the amount owned by the passed address.
     */
    function balanceOf(address _owner) public view returns (uint256) {
        return balances[_owner];
    }

    /**
     * @dev Transfer token for a specified address
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     */
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_value <= balances[msg.sender]);
        require(_to != address(0));

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }
}


contract ioeXTokenERC20 is StandardToken, owned {
    using SafeMath for uint256;

    // Public variables of the token
    bytes internal name_ = "Internet of Everything X";

    bytes internal symbol_ = "IOEX";

    uint256 public decimals = 8;

    uint256 private constant LOCK_TYPE_MAX = 3;
    uint256 private constant LOCK_STAGE_MAX = 4;

    mapping (address => bool) public frozenAccount;

    //Save lock type and amount of init tokens
    struct StructLockAccountInfo {
        uint256 lockType;
        uint256 initBalance;
        uint256 startTime;
    }

    mapping (address => StructLockAccountInfo) public lockAccountInfo;
 
    //Save 4 set of time and percent of unlocked tokens
    struct StructLockType {
        uint256[LOCK_STAGE_MAX] time;
        uint256[LOCK_STAGE_MAX] freePercent;
    }

    StructLockType[LOCK_TYPE_MAX] private lockType;

    // This generates a public event on the blockchain that will notify clients
    event Transfer(address indexed from, address indexed to, uint256 value);

    // This notifies clients about the amount burnt
    event Burn(address indexed from, uint256 value);

    // This generates a public event that record info about locked account,
    // including amount of init tokens and lock type
    event SetLockData(address indexed account, uint256 initBalance, uint256 lockType, uint256 startDate);

    /* This generates a public event on the blockchain that will notify clients */
    event FrozenFunds(address target, bool frozen);

    /**
     * Constructor function
     *
     * Initializes contract with initial supply tokens to the creator of the contract
     */
    constructor() public {
        totalSupply_ = 20000000000000000;
        balances[msg.sender] = totalSupply_;  // Give the creator all initial tokens

        //init all lock data
        //Lock type 1
        lockType[0].time[0] = 30;
        lockType[0].freePercent[0] = 40;     //40%
        lockType[0].time[1] = 60;
        lockType[0].freePercent[1] = 20;     //20%
        lockType[0].time[2] = 120;
        lockType[0].freePercent[2] = 20;     //20%
        lockType[0].time[3] = 180;
        lockType[0].freePercent[3] = 20;     //20%

        //Lock type 2
        lockType[1].time[0] = 30;
        lockType[1].freePercent[0] = 25;     //25%
        lockType[1].time[1] = 60;
        lockType[1].freePercent[1] = 25;     //25%
        lockType[1].time[2] = 120;
        lockType[1].freePercent[2] = 25;     //25%
        lockType[1].time[3] = 180;
        lockType[1].freePercent[3] = 25;     //25%

        //Lock type 3
        lockType[2].time[0] = 180;
        lockType[2].freePercent[0] = 25;     //25%
        lockType[2].time[1] = 360;
        lockType[2].freePercent[1] = 25;     //25%
        lockType[2].time[2] = 540;
        lockType[2].freePercent[2] = 25;     //25%
        lockType[2].time[3] = 720;
        lockType[2].freePercent[3] = 25;     //25%

        //init all lock data
    }

    /**
    * @dev Gets the token name
    * @return string representing the token name
    */
    function name() external view returns (string) {
        return string(name_);
    }

    /**
    * @dev Gets the token symbol
    * @return string representing the token symbol
    */
    function symbol() external view returns (string) {
        return string(symbol_);
    }

    /**
     * Calculate how much tokens must be locked
     * return the amount of locked tokens
     */
    function getLockBalance(address account) internal returns (uint256) {
        uint256 lockTypeIndex;
        uint256 amountLockedTokens = 0;
        uint256 resultFreePercent = 0;
        uint256 duration = 0;
        uint256 i;

        lockTypeIndex = lockAccountInfo[account].lockType;

        if (lockTypeIndex >= 1) {
            if (lockTypeIndex <= LOCK_TYPE_MAX) {
                lockTypeIndex = lockTypeIndex.sub(1);
                for (i = 0; i < LOCK_STAGE_MAX; i++) {
                    duration = (lockType[lockTypeIndex].time[i]).mul(1 days);
                    if (lockAccountInfo[account].startTime.add(duration) >= now) {
                        resultFreePercent = resultFreePercent.add(lockType[lockTypeIndex].freePercent[i]);
                    }
                }
            }

            amountLockedTokens = (lockAccountInfo[account].initBalance.mul(resultFreePercent)).div(100);

            if (amountLockedTokens == 0){
                lockAccountInfo[account].lockType = 0;
            }
        }

        return amountLockedTokens;
    }

    /**
     * Internal transfer, only can be called by this contract
     * Transfer toekns, and lock time and balance by selectType
     */
    function _transferForLock(address _to, uint256 _value, uint256 selectType) internal {
        require(selectType >= 1);
        require(selectType <= LOCK_TYPE_MAX);

        if ((lockAccountInfo[_to].lockType == 0) && 
            (lockAccountInfo[_to].initBalance == 0)) {
            require(_value <= balances[msg.sender]);
            require(_to != address(0));

            //write data
            lockAccountInfo[_to].lockType = selectType;
            lockAccountInfo[_to].initBalance = _value;
            lockAccountInfo[_to].startTime = now;
            emit SetLockData(_to,_value, lockAccountInfo[_to].lockType, lockAccountInfo[_to].startTime);
            //write data

            balances[msg.sender] = balances[msg.sender].sub(_value);
            balances[_to] = balances[_to].add(_value);
            emit Transfer(msg.sender, _to, _value);
        } else {
            revert();
        }
    }

    /**
     * Transfer tokens
     *
     * Send `_value` tokens to `_to` from your account
     *
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transfer(address _to, uint256 _value) public returns (bool) {
        //check
        uint256 freeBalance;

        if (lockAccountInfo[msg.sender].lockType > 0) {
            freeBalance = balances[msg.sender].sub(getLockBalance(msg.sender));
            require(freeBalance >=_value);
        }
        //check

        require(_value <= balances[msg.sender]);
        require(_to != address(0));
        require(!frozenAccount[msg.sender]);        // Check if sender is frozen
        require(!frozenAccount[_to]);               // Check if recipient is frozen

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    /// @notice `freeze? Prevent | Allow` `target` from sending & receiving tokens
    /// @param target Address to be frozen
    /// @param freeze either to freeze it or not
    function freezeAccount(address target, bool freeze) public onlyOwner {
        frozenAccount[target] = freeze;
        emit FrozenFunds(target, freeze);
    }

    /**
     * Transfer tokens
     * Lock time and token by lock_type 1
     *
     * Send `_value` tokens to `_to` from your account
     *
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transferLockBalance_1(address _to, uint256 _value) public onlyOwner {
        _transferForLock(_to, _value, 1);
    }

    /**
     * Transfer tokens
     * Lock time and token by lock_type 2
     *
     * Send `_value` tokens to `_to` from your account
     *
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transferLockBalance_2(address _to, uint256 _value) public onlyOwner {
        _transferForLock(_to, _value, 2);
    }

    /**
     * Transfer tokens
     * Lock time and token by lock_type 3
     *
     * Send `_value` tokens to `_to` from your account
     *
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transferLockBalance_3(address _to, uint256 _value) public onlyOwner {
        _transferForLock(_to, _value, 3);
    }

    /**
     * Destroy tokens
     *
     * Remove `_value` tokens from the system irreversibly
     *
     * @param _value the amount of money to burn
     */
    function burn(uint256 _value) public onlyOwner {
        _burn(msg.sender, _value);
    }

    function _burn(address _who, uint256 _value) internal {
        require(_value <= balances[_who]);
        // no need to require value <= totalSupply, since that would imply the
        // sender's balance is greater than the totalSupply, which *should* be an assertion failure

        balances[_who] = balances[_who].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);
        emit Burn(_who, _value);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferLockBalance_1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferLockBalance_2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockAccountInfo","outputs":[{"name":"lockType","type":"uint256"},{"name":"initBalance","type":"uint256"},{"name":"startTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferLockBalance_3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"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":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"initBalance","type":"uint256"},{"indexed":false,"name":"lockType","type":"uint256"},{"indexed":false,"name":"startDate","type":"uint256"}],"name":"SetLockData","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60c0604052601860808190527f496e7465726e6574206f662045766572797468696e672058000000000000000060a090815261003e9160039190610168565b506040805180820190915260048082527f494f45580000000000000000000000000000000000000000000000000000000060209092019182526100819181610168565b50600860055534801561009357600080fd5b5060028054600160a060020a0319163390811790915566470de4df8200006001819055600091825260208290526040822055601e600855602890600c0155603c6009556014600c600101556078600a556014600c6002015560b4600b556014600c60030155601e6010556019601460000155603c60115560196014600101556078601255601960146002015560b4601355601960146003015560b46018556019601c600001556101686019908155601c6001015561021c601a556019601c600201556102d0601b556019601c60030155610203565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101a957805160ff19168380011785556101d6565b828001600101855582156101d6579182015b828111156101d65782518255916020019190600101906101bb565b506101e29291506101e6565b5090565b61020091905b808211156101e257600081556001016101ec565b90565b610c5c806102126000396000f3006080604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df5780631313b53a1461016957806318160ddd1461018f5780631c45f94b146101b65780632cb55c77146101da5780632e6da2d514610219578063313ce5671461023d57806342966c681461025257806370a082311461026a5780638da5cb5b1461028b57806395d89b41146102bc578063a9059cbb146102d1578063b414d4b614610309578063e724529c1461032a578063f2fde38b14610350575b600080fd5b3480156100eb57600080fd5b506100f4610371565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012e578181015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017557600080fd5b5061018d600160a060020a0360043516602435610407565b005b34801561019b57600080fd5b506101a461042e565b60408051918252519081900360200190f35b3480156101c257600080fd5b5061018d600160a060020a0360043516602435610434565b3480156101e657600080fd5b506101fb600160a060020a0360043516610457565b60408051938452602084019290925282820152519081900360600190f35b34801561022557600080fd5b5061018d600160a060020a0360043516602435610478565b34801561024957600080fd5b506101a461049b565b34801561025e57600080fd5b5061018d6004356104a1565b34801561027657600080fd5b506101a4600160a060020a03600435166104c5565b34801561029757600080fd5b506102a06104e0565b60408051600160a060020a039092168252519081900360200190f35b3480156102c857600080fd5b506100f46104ef565b3480156102dd57600080fd5b506102f5600160a060020a0360043516602435610550565b604080519115158252519081900360200190f35b34801561031557600080fd5b506102f5600160a060020a03600435166106c5565b34801561033657600080fd5b5061018d600160a060020a036004351660243515156106da565b34801561035c57600080fd5b5061018d600160a060020a0360043516610755565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103fd5780601f106103d2576101008083540402835291602001916103fd565b820191906000526020600020905b8154815290600101906020018083116103e057829003601f168201915b5050505050905090565b600254600160a060020a0316331461041e57600080fd5b61042a828260016107ea565b5050565b60015490565b600254600160a060020a0316331461044b57600080fd5b61042a828260026107ea565b60076020526000908152604090208054600182015460029092015490919083565b600254600160a060020a0316331461048f57600080fd5b61042a828260036107ea565b60055481565b600254600160a060020a031633146104b857600080fd5b6104c2338261098f565b50565b600160a060020a031660009081526020819052604090205490565b600254600160a060020a031681565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103fd5780601f106103d2576101008083540402835291602001916103fd565b3360009081526007602052604081205481908110156105a05761059161057533610a4f565b336000908152602081905260409020549063ffffffff610baf16565b9050828110156105a057600080fd5b336000908152602081905260409020548311156105bc57600080fd5b600160a060020a03841615156105d157600080fd5b3360009081526006602052604090205460ff16156105ee57600080fd5b600160a060020a03841660009081526006602052604090205460ff161561061457600080fd5b33600090815260208190526040902054610634908463ffffffff610baf16565b3360009081526020819052604080822092909255600160a060020a03861681522054610666908463ffffffff610bc616565b600160a060020a038516600081815260208181526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3600191505b5092915050565b60066020526000908152604090205460ff1681565b600254600160a060020a031633146106f157600080fd5b600160a060020a038216600081815260066020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b600254600160a060020a0316331461076c57600080fd5b600160a060020a038116151561078157600080fd5b600254604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60018110156107f857600080fd5b600381111561080657600080fd5b600160a060020a0383166000908152600760205260409020541580156108455750600160a060020a038316600090815260076020526040902060010154155b156100da573360009081526020819052604090205482111561086657600080fd5b600160a060020a038316151561087b57600080fd5b600160a060020a0383166000818152600760209081526040918290208481556001810186905542600290910181905582518681529182018590528183015290517f1e07d8ccaa3a137b6fe950998ebd96e18b805cdf857ec65eeca3ac134aeb21a99181900360600190a233600090815260208190526040902054610905908363ffffffff610baf16565b3360009081526020819052604080822092909255600160a060020a03851681522054610937908363ffffffff610bc616565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505050565b600160a060020a0382166000908152602081905260409020548111156109b457600080fd5b600160a060020a0382166000908152602081905260409020546109dd908263ffffffff610baf16565b600160a060020a038316600090815260208190526040902055600154610a09908263ffffffff610baf16565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b600160a060020a0381166000908152600760205260408120548180808060018510610ba45760038511610b4257610a8d85600163ffffffff610baf16565b9450600090505b6004811015610b4257610ace6201518060088760038110610ab157fe5b600802018360048110610ac057fe5b01549063ffffffff610bdf16565b600160a060020a0388166000908152600760205260409020600201549092504290610aff908463ffffffff610bc616565b10610b3a57610b3760088660038110610b1457fe5b6008020160040182600481101515610b2857fe5b0154849063ffffffff610bc616565b92505b600101610a94565b600160a060020a038716600090815260076020526040902060010154610b8190606490610b75908663ffffffff610bdf16565b9063ffffffff610c0d16565b9350831515610ba457600160a060020a0387166000908152600760205260408120555b509195945050505050565b60008083831115610bbf57600080fd5b5050900390565b600082820183811015610bd857600080fd5b9392505050565b600080831515610bf257600091506106be565b50828202828482811515610c0257fe5b0414610bd857600080fd5b600080808311610c1c57600080fd5b8284811515610c2757fe5b049493505050505600a165627a7a72305820382f432f239366ab587b2d01a7221ae48043284b37b06a7483adbdc1cb0fc4490029

Deployed Bytecode

0x6080604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df5780631313b53a1461016957806318160ddd1461018f5780631c45f94b146101b65780632cb55c77146101da5780632e6da2d514610219578063313ce5671461023d57806342966c681461025257806370a082311461026a5780638da5cb5b1461028b57806395d89b41146102bc578063a9059cbb146102d1578063b414d4b614610309578063e724529c1461032a578063f2fde38b14610350575b600080fd5b3480156100eb57600080fd5b506100f4610371565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012e578181015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017557600080fd5b5061018d600160a060020a0360043516602435610407565b005b34801561019b57600080fd5b506101a461042e565b60408051918252519081900360200190f35b3480156101c257600080fd5b5061018d600160a060020a0360043516602435610434565b3480156101e657600080fd5b506101fb600160a060020a0360043516610457565b60408051938452602084019290925282820152519081900360600190f35b34801561022557600080fd5b5061018d600160a060020a0360043516602435610478565b34801561024957600080fd5b506101a461049b565b34801561025e57600080fd5b5061018d6004356104a1565b34801561027657600080fd5b506101a4600160a060020a03600435166104c5565b34801561029757600080fd5b506102a06104e0565b60408051600160a060020a039092168252519081900360200190f35b3480156102c857600080fd5b506100f46104ef565b3480156102dd57600080fd5b506102f5600160a060020a0360043516602435610550565b604080519115158252519081900360200190f35b34801561031557600080fd5b506102f5600160a060020a03600435166106c5565b34801561033657600080fd5b5061018d600160a060020a036004351660243515156106da565b34801561035c57600080fd5b5061018d600160a060020a0360043516610755565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103fd5780601f106103d2576101008083540402835291602001916103fd565b820191906000526020600020905b8154815290600101906020018083116103e057829003601f168201915b5050505050905090565b600254600160a060020a0316331461041e57600080fd5b61042a828260016107ea565b5050565b60015490565b600254600160a060020a0316331461044b57600080fd5b61042a828260026107ea565b60076020526000908152604090208054600182015460029092015490919083565b600254600160a060020a0316331461048f57600080fd5b61042a828260036107ea565b60055481565b600254600160a060020a031633146104b857600080fd5b6104c2338261098f565b50565b600160a060020a031660009081526020819052604090205490565b600254600160a060020a031681565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103fd5780601f106103d2576101008083540402835291602001916103fd565b3360009081526007602052604081205481908110156105a05761059161057533610a4f565b336000908152602081905260409020549063ffffffff610baf16565b9050828110156105a057600080fd5b336000908152602081905260409020548311156105bc57600080fd5b600160a060020a03841615156105d157600080fd5b3360009081526006602052604090205460ff16156105ee57600080fd5b600160a060020a03841660009081526006602052604090205460ff161561061457600080fd5b33600090815260208190526040902054610634908463ffffffff610baf16565b3360009081526020819052604080822092909255600160a060020a03861681522054610666908463ffffffff610bc616565b600160a060020a038516600081815260208181526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3600191505b5092915050565b60066020526000908152604090205460ff1681565b600254600160a060020a031633146106f157600080fd5b600160a060020a038216600081815260066020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b600254600160a060020a0316331461076c57600080fd5b600160a060020a038116151561078157600080fd5b600254604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60018110156107f857600080fd5b600381111561080657600080fd5b600160a060020a0383166000908152600760205260409020541580156108455750600160a060020a038316600090815260076020526040902060010154155b156100da573360009081526020819052604090205482111561086657600080fd5b600160a060020a038316151561087b57600080fd5b600160a060020a0383166000818152600760209081526040918290208481556001810186905542600290910181905582518681529182018590528183015290517f1e07d8ccaa3a137b6fe950998ebd96e18b805cdf857ec65eeca3ac134aeb21a99181900360600190a233600090815260208190526040902054610905908363ffffffff610baf16565b3360009081526020819052604080822092909255600160a060020a03851681522054610937908363ffffffff610bc616565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505050565b600160a060020a0382166000908152602081905260409020548111156109b457600080fd5b600160a060020a0382166000908152602081905260409020546109dd908263ffffffff610baf16565b600160a060020a038316600090815260208190526040902055600154610a09908263ffffffff610baf16565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b600160a060020a0381166000908152600760205260408120548180808060018510610ba45760038511610b4257610a8d85600163ffffffff610baf16565b9450600090505b6004811015610b4257610ace6201518060088760038110610ab157fe5b600802018360048110610ac057fe5b01549063ffffffff610bdf16565b600160a060020a0388166000908152600760205260409020600201549092504290610aff908463ffffffff610bc616565b10610b3a57610b3760088660038110610b1457fe5b6008020160040182600481101515610b2857fe5b0154849063ffffffff610bc616565b92505b600101610a94565b600160a060020a038716600090815260076020526040902060010154610b8190606490610b75908663ffffffff610bdf16565b9063ffffffff610c0d16565b9350831515610ba457600160a060020a0387166000908152600760205260408120555b509195945050505050565b60008083831115610bbf57600080fd5b5050900390565b600082820183811015610bd857600080fd5b9392505050565b600080831515610bf257600091506106be565b50828202828482811515610c0257fe5b0414610bd857600080fd5b600080808311610c1c57600080fd5b8284811515610c2757fe5b049493505050505600a165627a7a72305820382f432f239366ab587b2d01a7221ae48043284b37b06a7483adbdc1cb0fc4490029

Swarm Source

bzzr://382f432f239366ab587b2d01a7221ae48043284b37b06a7483adbdc1cb0fc449

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.