ETH Price: $2,066.58 (+11.38%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Agent92456912020-01-09 9:38:272239 days ago1578562707IN
0xbE8EA161...20d5c9499
0 ETH0.000128249
Set State92456832020-01-09 9:36:202239 days ago1578562580IN
0xbE8EA161...20d5c9499
0 ETH0.0002268
Withdraw Tokens92456762020-01-09 9:34:462239 days ago1578562486IN
0xbE8EA161...20d5c9499
0 ETH0.000082242
Set State92405562020-01-08 14:35:292240 days ago1578494129IN
0xbE8EA161...20d5c9499
0 ETH0.0002826210
Store Batch92405282020-01-08 14:30:082240 days ago1578493808IN
0xbE8EA161...20d5c9499
0 ETH0.006916823
Store Batch92405232020-01-08 14:29:342240 days ago1578493774IN
0xbE8EA161...20d5c9499
0 ETH0.006916863
Store Batch92405202020-01-08 14:29:082240 days ago1578493748IN
0xbE8EA161...20d5c9499
0 ETH0.006916283
Store Batch92405182020-01-08 14:28:492240 days ago1578493729IN
0xbE8EA161...20d5c9499
0 ETH0.006916753
Store Batch92405132020-01-08 14:27:572240 days ago1578493677IN
0xbE8EA161...20d5c9499
0 ETH0.006916973
Store Batch92405112020-01-08 14:27:422240 days ago1578493662IN
0xbE8EA161...20d5c9499
0 ETH0.006916793
Store Batch92405082020-01-08 14:27:042240 days ago1578493624IN
0xbE8EA161...20d5c9499
0 ETH0.006916933
Store Batch92405002020-01-08 14:25:462240 days ago1578493546IN
0xbE8EA161...20d5c9499
0 ETH0.006917433
Store Batch92404962020-01-08 14:25:292240 days ago1578493529IN
0xbE8EA161...20d5c9499
0 ETH0.0069173
Store Batch92404872020-01-08 14:23:082240 days ago1578493388IN
0xbE8EA161...20d5c9499
0 ETH0.006916823
Store Batch92404862020-01-08 14:23:072240 days ago1578493387IN
0xbE8EA161...20d5c9499
0 ETH0.00691653
Store Batch92404792020-01-08 14:21:062240 days ago1578493266IN
0xbE8EA161...20d5c9499
0 ETH0.006917183
Store Batch92404732020-01-08 14:20:412240 days ago1578493241IN
0xbE8EA161...20d5c9499
0 ETH0.006917363
Store Batch92404692020-01-08 14:19:512240 days ago1578493191IN
0xbE8EA161...20d5c9499
0 ETH0.006916793
Store Batch92404662020-01-08 14:18:402240 days ago1578493120IN
0xbE8EA161...20d5c9499
0 ETH0.006915923
Store Batch92404622020-01-08 14:18:212240 days ago1578493101IN
0xbE8EA161...20d5c9499
0 ETH0.006917293
Store Batch92404602020-01-08 14:17:582240 days ago1578493078IN
0xbE8EA161...20d5c9499
0 ETH0.006917253
Store Batch92404592020-01-08 14:17:542240 days ago1578493074IN
0xbE8EA161...20d5c9499
0 ETH0.006917113
Store Batch92404592020-01-08 14:17:542240 days ago1578493074IN
0xbE8EA161...20d5c9499
0 ETH0.006917583
Store Batch92404512020-01-08 14:15:142240 days ago1578492914IN
0xbE8EA161...20d5c9499
0 ETH0.006917793
Store Batch92404492020-01-08 14:14:582240 days ago1578492898IN
0xbE8EA161...20d5c9499
0 ETH0.006916213
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AirDropper

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2019-12-29
*/

pragma solidity 0.4.26;

/*
    Owned contract interface
*/
contract IOwned {
    // this function isn't abstract since the compiler emits automatically generated getter functions as external
    function owner() public view returns (address) {this;}

    function transferOwnership(address _newOwner) public;
    function acceptOwnership() public;
}

/*
    ERC20 Standard Token interface
*/
contract IERC20Token {
    // these functions aren't abstract since the compiler emits automatically generated getter functions as external
    function name() public view returns (string) {this;}
    function symbol() public view returns (string) {this;}
    function decimals() public view returns (uint8) {this;}
    function totalSupply() public view returns (uint256) {this;}
    function balanceOf(address _owner) public view returns (uint256) {_owner; this;}
    function allowance(address _owner, address _spender) public view returns (uint256) {_owner; _spender; this;}

    function transfer(address _to, uint256 _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
}

/*
    ERC20 Standard Token interface which doesn't return true/false for transfer, transferFrom and approve
*/
contract INonStandardERC20 {
    // these functions aren't abstract since the compiler emits automatically generated getter functions as external
    function name() public view returns (string) {this;}
    function symbol() public view returns (string) {this;}
    function decimals() public view returns (uint8) {this;}
    function totalSupply() public view returns (uint256) {this;}
    function balanceOf(address _owner) public view returns (uint256) {_owner; this;}
    function allowance(address _owner, address _spender) public view returns (uint256) {_owner; _spender; this;}

    function transfer(address _to, uint256 _value) public;
    function transferFrom(address _from, address _to, uint256 _value) public;
    function approve(address _spender, uint256 _value) public;
}

contract IBancorX {
    function xTransfer(bytes32 _toBlockchain, bytes32 _to, uint256 _amount, uint256 _id) public;
    function getXTransferAmount(uint256 _xTransferId, address _for) public view returns (uint256);
}

/*
    Token Holder interface
*/
contract ITokenHolder is IOwned {
    function withdrawTokens(IERC20Token _token, address _to, uint256 _amount) public;
}

/**
  * @dev Utilities & Common Modifiers
*/
contract Utils {
    /**
      * constructor
    */
    constructor() public {
    }

    // verifies that an amount is greater than zero
    modifier greaterThanZero(uint256 _amount) {
        require(_amount > 0);
        _;
    }

    // validates an address - currently only checks that it isn't null
    modifier validAddress(address _address) {
        require(_address != address(0));
        _;
    }

    // verifies that the address is different than this contract address
    modifier notThis(address _address) {
        require(_address != address(this));
        _;
    }

}

/**
  * @dev Provides support and utilities for contract ownership
*/
contract Owned is IOwned {
    address public owner;
    address public newOwner;

    /**
      * @dev triggered when the owner is updated
      * 
      * @param _prevOwner previous owner
      * @param _newOwner  new owner
    */
    event OwnerUpdate(address indexed _prevOwner, address indexed _newOwner);

    /**
      * @dev initializes a new Owned instance
    */
    constructor() public {
        owner = msg.sender;
    }

    // allows execution by the owner only
    modifier ownerOnly {
        require(msg.sender == owner);
        _;
    }

    /**
      * @dev allows transferring the contract ownership
      * the new owner still needs to accept the transfer
      * can only be called by the contract owner
      * 
      * @param _newOwner    new contract owner
    */
    function transferOwnership(address _newOwner) public ownerOnly {
        require(_newOwner != owner);
        newOwner = _newOwner;
    }

    /**
      * @dev used by a new owner to accept an ownership transfer
    */
    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnerUpdate(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}

/**
  * @dev We consider every contract to be a 'token holder' since it's currently not possible
  * for a contract to deny receiving tokens.
  * 
  * The TokenHolder's contract sole purpose is to provide a safety mechanism that allows
  * the owner to send tokens that were sent to the contract by mistake back to their sender.
  * 
  * Note that we use the non standard ERC-20 interface which has no return value for transfer
  * in order to support both non standard as well as standard token contracts.
  * see https://github.com/ethereum/solidity/issues/4116
*/
contract TokenHolder is ITokenHolder, Owned, Utils {
    /**
      * @dev initializes a new TokenHolder instance
    */
    constructor() public {
    }

    /**
      * @dev withdraws tokens held by the contract and sends them to an account
      * can only be called by the owner
      * 
      * @param _token   ERC20 token contract address
      * @param _to      account to receive the new amount
      * @param _amount  amount to withdraw
    */
    function withdrawTokens(IERC20Token _token, address _to, uint256 _amount)
        public
        ownerOnly
        validAddress(_token)
        validAddress(_to)
        notThis(_to)
    {
        INonStandardERC20(_token).transfer(_to, _amount);
    }
}

contract AirDropper is TokenHolder {
    enum State {
        storeEnabled,
        storeDisabled,
        transferEnabled
    }

    address public agent;
    State public state;
    bytes32 public storedBalancesCRC;

    mapping (address => uint256) public storedBalances;
    mapping (address => uint256) public transferredBalances;

    constructor() TokenHolder() public {
        state = State.storeEnabled;
    }

    function setAgent(address _agent) external ownerOnly {
        agent = _agent;
    }

    function setState(State _state) external ownerOnly {
        state = _state;
    }

    function storeBatch(address[] _targets, uint256[] _amounts) external {
        bytes32 crc = 0;
        require(msg.sender == agent && state == State.storeEnabled);
        uint256 length = _targets.length;
        require(length == _amounts.length);
        for (uint256 i = 0; i < length; i++) {
            address target = _targets[i];
            uint256 amount = _amounts[i];
            require(storedBalances[target] == 0);
            storedBalances[target] = amount;
            crc ^= keccak256(abi.encodePacked(_targets[i], _amounts[i]));
        }
        storedBalancesCRC ^= crc;
    }

    function transferEth(IERC20Token _token, address[] _targets, uint256[] _amounts) external {
        require(msg.sender == agent && state == State.transferEnabled);
        uint256 length = _targets.length;
        require(length == _amounts.length);
        for (uint256 i = 0; i < length; i++) {
            address target = _targets[i];
            uint256 amount = _amounts[i];
            require(storedBalances[target] == amount);
            require(transferredBalances[target] == 0);
            require(_token.transfer(target, amount));
            transferredBalances[target] = amount;
        }
    }

    function transferEos(IBancorX _bancorX, bytes32 _target, uint256 _amount) external {
        require(msg.sender == agent && state == State.transferEnabled);
        require(storedBalances[_bancorX] == _amount);
        require(transferredBalances[_bancorX] == 0);
        _bancorX.xTransfer("eos", _target, _amount, 0);
        transferredBalances[_bancorX] = _amount;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_bancorX","type":"address"},{"name":"_target","type":"bytes32"},{"name":"_amount","type":"uint256"}],"name":"transferEos","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_state","type":"uint8"}],"name":"setState","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"storedBalancesCRC","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"transferredBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_targets","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"transferEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"storedBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_targets","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"storeBatch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_agent","type":"address"}],"name":"setAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"agent","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_prevOwner","type":"address"},{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"}]

608060405234801561001057600080fd5b5060008054600160a060020a031916331781556002805460a060020a60ff0219169055610aa290819061004390396000f3006080604052600436106100c15763ffffffff60e060020a6000350416632733812381146100c657806356de96db146100ef5780635e35359e1461010a57806364b75cfb14610134578063772cb3641461015b57806379ba50971461017c5780638da5cb5b146101915780638f34bcbe146101c25780639bd1b950146101fb578063a0747bc71461021c578063bcf685ed14610248578063c19d93fb14610269578063d4ee1d90146102a2578063f2fde38b146102b7578063f5ff5c76146102d8575b600080fd5b3480156100d257600080fd5b506100ed600160a060020a03600435166024356044356102ed565b005b3480156100fb57600080fd5b506100ed60ff60043516610437565b34801561011657600080fd5b506100ed600160a060020a0360043581169060243516604435610485565b34801561014057600080fd5b50610149610562565b60408051918252519081900360200190f35b34801561016757600080fd5b50610149600160a060020a0360043516610568565b34801561018857600080fd5b506100ed61057a565b34801561019d57600080fd5b506101a6610602565b60408051600160a060020a039092168252519081900360200190f35b3480156101ce57600080fd5b506100ed60048035600160a060020a03169060248035808201929081013591604435908101910135610611565b34801561020757600080fd5b50610149600160a060020a03600435166107bc565b34801561022857600080fd5b506100ed60246004803582810192908201359181359182019101356107ce565b34801561025457600080fd5b506100ed600160a060020a03600435166109a1565b34801561027557600080fd5b5061027e6109e7565b6040518082600281111561028e57fe5b60ff16815260200191505060405180910390f35b3480156102ae57600080fd5b506101a66109f7565b3480156102c357600080fd5b506100ed600160a060020a0360043516610a06565b3480156102e457600080fd5b506101a6610a67565b600254600160a060020a03163314801561031d5750600280805460a060020a900460ff169081111561031b57fe5b145b151561032857600080fd5b600160a060020a038316600090815260046020526040902054811461034c57600080fd5b600160a060020a0383166000908152600560205260409020541561036f57600080fd5b604080517f427c03740000000000000000000000000000000000000000000000000000000081527f656f730000000000000000000000000000000000000000000000000000000000600482015260248101849052604481018390526000606482018190529151600160a060020a0386169263427c0374926084808201939182900301818387803b15801561040257600080fd5b505af1158015610416573d6000803e3d6000fd5b505050600160a060020a039093166000908152600560205260409020555050565b600054600160a060020a0316331461044e57600080fd5b6002805482919074ff0000000000000000000000000000000000000000191660a060020a838381111561047d57fe5b021790555050565b600054600160a060020a0316331461049c57600080fd5b82600160a060020a03811615156104b257600080fd5b82600160a060020a03811615156104c857600080fd5b83600160a060020a0381163014156104df57600080fd5b85600160a060020a031663a9059cbb86866040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b15801561054257600080fd5b505af1158015610556573d6000803e3d6000fd5b50505050505050505050565b60035481565b60056020526000908152604090205481565b600154600160a060020a0316331461059157600080fd5b60015460008054604051600160a060020a0393841693909116917f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600254600090819081908190600160a060020a03163314801561064a5750600280805460a060020a900460ff169081111561064857fe5b145b151561065557600080fd5b86935084841461066457600080fd5b600092505b838310156107b15787878481811061067d57fe5b90506020020135600160a060020a03169150858584818110151561069d57fe5b600160a060020a0385166000908152600460209081526040909120549102929092013592505081146106ce57600080fd5b600160a060020a038216600090815260056020526040902054156106f157600080fd5b88600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561075457600080fd5b505af1158015610768573d6000803e3d6000fd5b505050506040513d602081101561077e57600080fd5b5051151561078b57600080fd5b600160a060020a0382166000908152600560205260409020819055600190920191610669565b505050505050505050565b60046020526000908152604090205481565b6002546000908190819081908190600160a060020a03163314801561080a575060006002805460a060020a900460ff169081111561080857fe5b145b151561081557600080fd5b87935085841461082457600080fd5b600092505b8383101561098d5788888481811061083d57fe5b90506020020135600160a060020a03169150868684818110151561085d57fe5b600160a060020a038516600090815260046020908152604090912054910292909201359250501561088d57600080fd5b600160a060020a03821660009081526004602052604090208190558888848181106108b457fe5b90506020020135600160a060020a031687878581811015156108d257fe5b905060200201356040516020018083600160a060020a0316600160a060020a03166c01000000000000000000000000028152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061094f5780518252601f199092019160209182019101610930565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020851894508280600101935050610829565b505060038054909318909255505050505050565b600054600160a060020a031633146109b857600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025460a060020a900460ff1681565b600154600160a060020a031681565b600054600160a060020a03163314610a1d57600080fd5b600054600160a060020a0382811691161415610a3857600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600254600160a060020a0316815600a165627a7a7230582063dbec823918e9497c11b0ddb239f2123527d78f1e1bb77e5ed2cda1f169417d0029

Deployed Bytecode

0x6080604052600436106100c15763ffffffff60e060020a6000350416632733812381146100c657806356de96db146100ef5780635e35359e1461010a57806364b75cfb14610134578063772cb3641461015b57806379ba50971461017c5780638da5cb5b146101915780638f34bcbe146101c25780639bd1b950146101fb578063a0747bc71461021c578063bcf685ed14610248578063c19d93fb14610269578063d4ee1d90146102a2578063f2fde38b146102b7578063f5ff5c76146102d8575b600080fd5b3480156100d257600080fd5b506100ed600160a060020a03600435166024356044356102ed565b005b3480156100fb57600080fd5b506100ed60ff60043516610437565b34801561011657600080fd5b506100ed600160a060020a0360043581169060243516604435610485565b34801561014057600080fd5b50610149610562565b60408051918252519081900360200190f35b34801561016757600080fd5b50610149600160a060020a0360043516610568565b34801561018857600080fd5b506100ed61057a565b34801561019d57600080fd5b506101a6610602565b60408051600160a060020a039092168252519081900360200190f35b3480156101ce57600080fd5b506100ed60048035600160a060020a03169060248035808201929081013591604435908101910135610611565b34801561020757600080fd5b50610149600160a060020a03600435166107bc565b34801561022857600080fd5b506100ed60246004803582810192908201359181359182019101356107ce565b34801561025457600080fd5b506100ed600160a060020a03600435166109a1565b34801561027557600080fd5b5061027e6109e7565b6040518082600281111561028e57fe5b60ff16815260200191505060405180910390f35b3480156102ae57600080fd5b506101a66109f7565b3480156102c357600080fd5b506100ed600160a060020a0360043516610a06565b3480156102e457600080fd5b506101a6610a67565b600254600160a060020a03163314801561031d5750600280805460a060020a900460ff169081111561031b57fe5b145b151561032857600080fd5b600160a060020a038316600090815260046020526040902054811461034c57600080fd5b600160a060020a0383166000908152600560205260409020541561036f57600080fd5b604080517f427c03740000000000000000000000000000000000000000000000000000000081527f656f730000000000000000000000000000000000000000000000000000000000600482015260248101849052604481018390526000606482018190529151600160a060020a0386169263427c0374926084808201939182900301818387803b15801561040257600080fd5b505af1158015610416573d6000803e3d6000fd5b505050600160a060020a039093166000908152600560205260409020555050565b600054600160a060020a0316331461044e57600080fd5b6002805482919074ff0000000000000000000000000000000000000000191660a060020a838381111561047d57fe5b021790555050565b600054600160a060020a0316331461049c57600080fd5b82600160a060020a03811615156104b257600080fd5b82600160a060020a03811615156104c857600080fd5b83600160a060020a0381163014156104df57600080fd5b85600160a060020a031663a9059cbb86866040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b15801561054257600080fd5b505af1158015610556573d6000803e3d6000fd5b50505050505050505050565b60035481565b60056020526000908152604090205481565b600154600160a060020a0316331461059157600080fd5b60015460008054604051600160a060020a0393841693909116917f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600254600090819081908190600160a060020a03163314801561064a5750600280805460a060020a900460ff169081111561064857fe5b145b151561065557600080fd5b86935084841461066457600080fd5b600092505b838310156107b15787878481811061067d57fe5b90506020020135600160a060020a03169150858584818110151561069d57fe5b600160a060020a0385166000908152600460209081526040909120549102929092013592505081146106ce57600080fd5b600160a060020a038216600090815260056020526040902054156106f157600080fd5b88600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561075457600080fd5b505af1158015610768573d6000803e3d6000fd5b505050506040513d602081101561077e57600080fd5b5051151561078b57600080fd5b600160a060020a0382166000908152600560205260409020819055600190920191610669565b505050505050505050565b60046020526000908152604090205481565b6002546000908190819081908190600160a060020a03163314801561080a575060006002805460a060020a900460ff169081111561080857fe5b145b151561081557600080fd5b87935085841461082457600080fd5b600092505b8383101561098d5788888481811061083d57fe5b90506020020135600160a060020a03169150868684818110151561085d57fe5b600160a060020a038516600090815260046020908152604090912054910292909201359250501561088d57600080fd5b600160a060020a03821660009081526004602052604090208190558888848181106108b457fe5b90506020020135600160a060020a031687878581811015156108d257fe5b905060200201356040516020018083600160a060020a0316600160a060020a03166c01000000000000000000000000028152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061094f5780518252601f199092019160209182019101610930565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020851894508280600101935050610829565b505060038054909318909255505050505050565b600054600160a060020a031633146109b857600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025460a060020a900460ff1681565b600154600160a060020a031681565b600054600160a060020a03163314610a1d57600080fd5b600054600160a060020a0382811691161415610a3857600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600254600160a060020a0316815600a165627a7a7230582063dbec823918e9497c11b0ddb239f2123527d78f1e1bb77e5ed2cda1f169417d0029

Deployed Bytecode Sourcemap

5885:2263:0:-;;;;;;;;;-1:-1:-1;;;5885:2263:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7765:380;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7765:380:0;-1:-1:-1;;;;;7765:380:0;;;;;;;;;;;6422:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6422:84:0;;;;;;;5618:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5618:260:0;-1:-1:-1;;;;;5618:260:0;;;;;;;;;;;;6078:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6078:32:0;;;;;;;;;;;;;;;;;;;;6176:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6176:55:0;-1:-1:-1;;;;;6176:55:0;;;;;4375:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4375:187:0;;;;3349:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3349:20:0;;;;;;;;-1:-1:-1;;;;;3349:20:0;;;;;;;;;;;;;;7135:622;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7135:622:0;;;;-1:-1:-1;;;;;7135:622:0;;;;;;;;;;;;;;;;;;;;;;;;6119:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6119:50:0;-1:-1:-1;;;;;6119:50:0;;;;;6514:613;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6514:613:0;;;;;;;;;;;;;;;;;;;;;;;;6328:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6328:86:0;-1:-1:-1;;;;;6328:86:0;;;;;6053:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6053:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3376:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3376:23:0;;;;4144:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4144:140:0;-1:-1:-1;;;;;4144:140:0;;;;;6026:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6026:20:0;;;;7765:380;7881:5;;-1:-1:-1;;;;;7881:5:0;7867:10;:19;:53;;;;-1:-1:-1;7899:21:0;7890:5;;;-1:-1:-1;;;7890:5:0;;;;;:30;;;;;;;;7867:53;7859:62;;;;;;;;-1:-1:-1;;;;;7940:24:0;;;;;;:14;:24;;;;;;:35;;7932:44;;;;;;-1:-1:-1;;;;;7995:29:0;;;;;;:19;:29;;;;;;:34;7987:43;;;;;;8041:46;;;;;;;;;;;;;;;;;;;;;;;8085:1;8041:46;;;;;;;;-1:-1:-1;;;;;8041:18:0;;;;;:46;;;;;;;;;;;8085:1;8041:18;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;8041:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;;;8098:29:0;;;;;;;:19;:29;;;;;:39;-1:-1:-1;;7765:380:0:o;6422:84::-;3870:5;;-1:-1:-1;;;;;3870:5:0;3856:10;:19;3848:28;;;;;;6484:5;:14;;6492:6;;6484:5;-1:-1:-1;;6484:14:0;-1:-1:-1;;;6492:6:0;6484:14;;;;;;;;;;;;;6422:84;:::o;5618:260::-;3870:5;;-1:-1:-1;;;;;3870:5:0;3856:10;:19;3848:28;;;;;;5749:6;-1:-1:-1;;;;;3010:22:0;;;;3002:31;;;;;;5779:3;-1:-1:-1;;;;;3010:22:0;;;;3002:31;;;;;;5801:3;-1:-1:-1;;;;;3189:25:0;;3209:4;3189:25;;3181:34;;;;;;5840:6;-1:-1:-1;;;;;5822:34:0;;5857:3;5862:7;5822:48;;;;;-1:-1:-1;;;5822:48:0;;;;;;;-1:-1:-1;;;;;5822:48:0;-1:-1:-1;;;;;5822:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5822:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5822:48:0;;;;3044:1;;3887;5618:260;;;:::o;6078:32::-;;;;:::o;6176:55::-;;;;;;;;;;;;;:::o;4375:187::-;4442:8;;-1:-1:-1;;;;;4442:8:0;4428:10;:22;4420:31;;;;;;4486:8;;;4479:5;;4467:28;;-1:-1:-1;;;;;4486:8:0;;;;4479:5;;;;4467:28;;;4514:8;;;;4506:16;;-1:-1:-1;;4506:16:0;;;-1:-1:-1;;;;;4514:8:0;;4506:16;;;;4533:21;;;4375:187::o;3349:20::-;;;-1:-1:-1;;;;;3349:20:0;;:::o;7135:622::-;7258:5;;7309:14;;;;;;;;-1:-1:-1;;;;;7258:5:0;7244:10;:19;:53;;;;-1:-1:-1;7276:21:0;7267:5;;;-1:-1:-1;;;7267:5:0;;;;;:30;;;;;;;;7244:53;7236:62;;;;;;;;7326:8;;-1:-1:-1;7360:25:0;;;7352:34;;;;;;7414:1;7402:13;;7397:353;7421:6;7417:1;:10;7397:353;;;7466:8;;7475:1;7466:11;;;;;;;;;;;;;-1:-1:-1;;;;;7466:11:0;7449:28;;7509:8;;7518:1;7509:11;;;;;;;;;-1:-1:-1;;;;;7543:22:0;;;;;;:14;7509:11;7543:22;;;;;;;;7509:11;;;;;;;;-1:-1:-1;;7543:32:0;;7535:41;;;;;;-1:-1:-1;;;;;7599:27:0;;;;;;:19;:27;;;;;;:32;7591:41;;;;;;7655:6;-1:-1:-1;;;;;7655:15:0;;7671:6;7679;7655:31;;;;;-1:-1:-1;;;7655:31:0;;;;;;;-1:-1:-1;;;;;7655:31:0;-1:-1:-1;;;;;7655:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7655:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7655:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7655:31:0;7647:40;;;;;;;;-1:-1:-1;;;;;7702:27:0;;;;;;:19;:27;;;;;:36;;;7429:3;;;;;7397:353;;;7135:622;;;;;;;;;:::o;6119:50::-;;;;;;;;;;;;;:::o;6514:613::-;6642:5;;6594:11;;;;;;;;;;-1:-1:-1;;;;;6642:5:0;6628:10;:19;:50;;;;-1:-1:-1;6660:18:0;6651:5;;;-1:-1:-1;;;6651:5:0;;;;;:27;;;;;;;;6628:50;6620:59;;;;;;;;6707:8;;-1:-1:-1;6741:25:0;;;6733:34;;;;;;6795:1;6783:13;;6778:307;6802:6;6798:1;:10;6778:307;;;6847:8;;6856:1;6847:11;;;;;;;;;;;;;-1:-1:-1;;;;;6847:11:0;6830:28;;6890:8;;6899:1;6890:11;;;;;;;;;-1:-1:-1;;;;;6924:22:0;;;;;;:14;6890:11;6924:22;;;;;;;;6890:11;;;;;;;;-1:-1:-1;;6924:27:0;6916:36;;;;;;-1:-1:-1;;;;;6967:22:0;;;;;;:14;:22;;;;;:31;;;7047:8;;7056:1;7047:11;;;;;;;;;;;;;-1:-1:-1;;;;;7047:11:0;7060:8;;7069:1;7060:11;;;;;;;;;;;;;;;7030:42;;;;;;-1:-1:-1;;;;;7030:42:0;-1:-1:-1;;;;;7030:42:0;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7030:42:0;;;7020:53;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7020:53:0;;;;;;;;;;;;;;;;7013:60;;;;6810:3;;;;;;;6778:307;;;-1:-1:-1;;7095:17:0;:24;;;;;;;;-1:-1:-1;;;;;;6514:613:0:o;6328:86::-;3870:5;;-1:-1:-1;;;;;3870:5:0;3856:10;:19;3848:28;;;;;;6392:5;:14;;-1:-1:-1;;6392:14:0;-1:-1:-1;;;;;6392:14:0;;;;;;;;;;6328:86::o;6053:18::-;;;-1:-1:-1;;;6053:18:0;;;;;:::o;3376:23::-;;;-1:-1:-1;;;;;3376:23:0;;:::o;4144:140::-;3870:5;;-1:-1:-1;;;;;3870:5:0;3856:10;:19;3848:28;;;;;;4239:5;;-1:-1:-1;;;;;4226:18:0;;;4239:5;;4226:18;;4218:27;;;;;;4256:8;:20;;-1:-1:-1;;4256:20:0;-1:-1:-1;;;;;4256:20:0;;;;;;;;;;4144:140::o;6026:20::-;;;-1:-1:-1;;;;;6026:20:0;;:::o

Swarm Source

bzzr://63dbec823918e9497c11b0ddb239f2123527d78f1e1bb77e5ed2cda1f169417d

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.