ETH Price: $2,130.05 (+2.08%)

Contract

0xEA38eAa3C86c8F9B751533Ba2E562deb9acDED40
 

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve246622842026-03-15 10:26:3510 hrs ago1773570395IN
FuelToken
0 ETH0.000001660.03570196
Transfer246622752026-03-15 10:24:4710 hrs ago1773570287IN
FuelToken
0 ETH0.000001850.03731189
Transfer245467702026-02-27 7:28:1116 days ago1772177291IN
FuelToken
0 ETH0.000056551.0392949
Transfer244589882026-02-15 1:43:1128 days ago1771119791IN
FuelToken
0 ETH0.000056681.04155855
Transfer244096192026-02-08 4:12:1135 days ago1770523931IN
FuelToken
0 ETH0.000004830.08881669
Transfer242895472026-01-22 9:51:3552 days ago1769075495IN
FuelToken
0 ETH0.000003090.06233261
Approve242732402026-01-20 3:15:5954 days ago1768878959IN
FuelToken
0 ETH0.000002610.05598943
Approve242724102026-01-20 0:29:1154 days ago1768868951IN
FuelToken
0 ETH0.000001930.04169843
Approve242724102026-01-20 0:29:1154 days ago1768868951IN
FuelToken
0 ETH0.000001080.04169843
Transfer242403102026-01-15 13:08:1159 days ago1768482491IN
FuelToken
0 ETH0.000063151.160203
Transfer242400342026-01-15 12:12:5959 days ago1768479179IN
FuelToken
0 ETH0.000065871.21047836
Transfer242391762026-01-15 9:20:4759 days ago1768468847IN
FuelToken
0 ETH0.000062741.15343086
Transfer242304562026-01-14 4:07:4760 days ago1768363667IN
FuelToken
0 ETH0.000056941.04666136
Transfer240217922025-12-16 1:10:3589 days ago1765847435IN
FuelToken
0 ETH0.000065822.03851291
Transfer239616572025-12-07 14:49:3598 days ago1765118975IN
FuelToken
0 ETH0.000121512.44955618
Transfer239299932025-12-03 2:37:59102 days ago1764729479IN
FuelToken
0 ETH0.000006020.12143351
Transfer237898122025-11-13 10:53:23122 days ago1763031203IN
FuelToken
0 ETH0.000058661.07819825
Approve235419482025-10-09 18:24:23157 days ago1760034263IN
FuelToken
0 ETH0.000070861.51917478
Transfer235118612025-10-05 13:26:59161 days ago1759670819IN
FuelToken
0 ETH0.000011860.23912798
Transfer233962492025-09-19 9:31:59177 days ago1758274319IN
FuelToken
0 ETH0.000073011.47149696
Transfer233406722025-09-11 15:19:11185 days ago1757603951IN
FuelToken
0 ETH0.000034030.68622836
Transfer232289762025-08-27 0:49:11200 days ago1756255751IN
FuelToken
0 ETH0.000015080.30408404
Transfer231910142025-08-21 17:40:59206 days ago1755798059IN
FuelToken
0 ETH0.000022750.45867719
Transfer231582852025-08-17 4:08:23210 days ago1755403703IN
FuelToken
0 ETH0.000012680.25572221
Transfer231474022025-08-15 15:42:23212 days ago1755272543IN
FuelToken
0 ETH0.000176933.25057464
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:
FuelToken

Compiler Version
v0.4.17+commit.bdeb9e52

Optimization Enabled:
No with 200 runs

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

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


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


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


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

}

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

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

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

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

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

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) returns (bool);
  function approve(address spender, uint256 value) returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev modifier to allow actions only when the contract IS paused
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev modifier to allow actions only when the contract IS NOT paused
   */
  modifier whenPaused {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused returns (bool) {
    paused = true;
    Pause();
    return true;
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused returns (bool) {
    paused = false;
    Unpause();
    return true;
  }
}

/**
 * @title NonZero
 */
contract NonZero {

// Functions with this modifier fail if he 
    modifier nonZeroAddress(address _to) {
        require(_to != 0x0);
        _;
    }

    modifier nonZeroAmount(uint _amount) {
        require(_amount > 0);
        _;
    }

    modifier nonZeroValue() {
        require(msg.value > 0);
        _;
    }

    // prevents short address attack
    // standard size = 2 * 32
    modifier onlyPayloadSize(uint size) {
	// we assert the msg data is greater than or equal to, because
	// a multisgi wallet will be greater than standard payload size of 64 bits
    assert(msg.data.length >= size + 4);
     _;
   } 
}

contract FuelToken is ERC20, Ownable, NonZero {

    using SafeMath for uint;

/////////////////////// TOKEN INFORMATION ///////////////////////
    string public constant name = "Fuel Token";
    string public constant symbol = "FUEL";

    uint8 public decimals = 18;
    
    // Mapping to keep user's balances
    mapping (address => uint256) balances;
    // Mapping to keep user's allowances
    mapping (address => mapping (address => uint256)) allowed;

/////////////////////// VARIABLE INITIALIZATION ///////////////////////
    
    // Allocation for the Vanbex Team
    uint256 public vanbexTeamSupply;
    // Etherparty platform supply
    uint256 public platformSupply;
    // Amount of FUEL for the presale
    uint256 public presaleSupply;
    // Amount of presale tokens remaining at a given time
    uint256 public presaleAmountRemaining;
    // Total ICO supply
    uint256 public icoSupply;
    // Community incentivisation supply
    uint256 public incentivisingEffortsSupply;
    // Crowdsale End Timestamp
    uint256 public crowdfundEndsAt;
    // Vesting period for the Vanbex Team allocation
    uint256 public vanbexTeamVestingPeriod;

    // Crowdfund Address
    address public crowdfundAddress;
    // Vanbex team address
    address public vanbexTeamAddress;
    // Etherparty platform address
    address public platformAddress;
    // Community incentivisation address
    address public incentivisingEffortsAddress;

    // Flag keeping track of presale status. Ensures functions can only be called once
    bool public presaleFinalized = false;
    // Flag keeping track of crowdsale status. Ensures functions can only be called once
    bool public crowdfundFinalized = false;

/////////////////////// EVENTS ///////////////////////

    // Event called when crowdfund is done
    event CrowdfundFinalized(uint tokensRemaining);
    // Event called when presale is done
    event PresaleFinalized(uint tokensRemaining);

/////////////////////// MODIFIERS ///////////////////////

    // Ensure actions can only happen after crowdfund ends
    modifier notBeforeCrowdfundEnds(){
        require(now >= crowdfundEndsAt);
        _;
    }

    // Ensure vesting period is over
    modifier checkVanbexTeamVestingPeriod() {
        assert(now >= vanbexTeamVestingPeriod);
        _;
    }

    // Ensure only crowdfund can call the function
    modifier onlyCrowdfund() {
        require(msg.sender == crowdfundAddress);
        _;
    }

/////////////////////// ERC20 FUNCTIONS ///////////////////////

    // Transfer
    function transfer(address _to, uint256 _amount) notBeforeCrowdfundEnds returns (bool success) {
        require(balanceOf(msg.sender) >= _amount);
        addToBalance(_to, _amount);
        decrementBalance(msg.sender, _amount);
        Transfer(msg.sender, _to, _amount);
        return true;
    }

    // Transfer from one address to another (need allowance to be called first)
    function transferFrom(address _from, address _to, uint256 _amount) notBeforeCrowdfundEnds returns (bool success) {
        require(allowance(_from, msg.sender) >= _amount);
        decrementBalance(_from, _amount);
        addToBalance(_to, _amount);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
        Transfer(_from, _to, _amount);
        return true;
    }

    // Approve another address a certain amount of FUEL
    function approve(address _spender, uint256 _value) returns (bool success) {
        require((_value == 0) || (allowance(msg.sender, _spender) == 0));
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    // Get an address's FUEL allowance
    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    // Get the FUEL balance of any address
    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

/////////////////////// TOKEN FUNCTIONS ///////////////////////

    // Constructor
    function FuelToken() {
        crowdfundEndsAt = 1509292800;                                               // Oct 29, 9 AM PST
        vanbexTeamVestingPeriod = crowdfundEndsAt.add(183 * 1 days);                // 6 months vesting period

        totalSupply = 1 * 10**27;                                                   // 100% - 1 billion total FUEL tokens with 18 decimals
        vanbexTeamSupply = 5 * 10**25;                                              // 5% - 50 million for etherparty team
        platformSupply = 5 * 10**25;                                                // 5% - 50 million to be sold on the etherparty platform in-app
        incentivisingEffortsSupply = 1 * 10**26;                                    // 10% - 100 million for incentivising efforts
        presaleSupply = 54 * 10**25;                                                // 540,000,000 fuel tokens available for presale with overflow for bonus included
        icoSupply = 26 * 10**25;                                                    // 260 million fuel tokens for ico with potential for extra after finalizing presale
       
        presaleAmountRemaining = presaleSupply;                                     // Decreased over the course of the pre-sale
        vanbexTeamAddress = 0xCF701D8eA4C727466D42651dda127c0c033076B0;             // Vanbex Team Address
        platformAddress = 0xF5b5f6c1E233671B220C2A19Af10Fd18785D0744;               // Platform Address
        incentivisingEffortsAddress = 0x5584b17B40F6a2E412e65FcB1533f39Fc7D8Aa26;   // Community incentivisation address

        addToBalance(incentivisingEffortsAddress, incentivisingEffortsSupply);     
        addToBalance(platformAddress, platformSupply);                              
    }

    // Sets the crowdfund address, can only be done once
    function setCrowdfundAddress(address _crowdfundAddress) external onlyOwner nonZeroAddress(_crowdfundAddress) {
        require(crowdfundAddress == 0x0);
        crowdfundAddress = _crowdfundAddress;
        addToBalance(crowdfundAddress, icoSupply); 
    }

    // Function for the Crowdfund to transfer tokens
    function transferFromCrowdfund(address _to, uint256 _amount) onlyCrowdfund nonZeroAmount(_amount) nonZeroAddress(_to) returns (bool success) {
        require(balanceOf(crowdfundAddress) >= _amount);
        decrementBalance(crowdfundAddress, _amount);
        addToBalance(_to, _amount);
        Transfer(0x0, _to, _amount);
        return true;
    }

    // Release Vanbex team supply after vesting period is finished.
    function releaseVanbexTeamTokens() checkVanbexTeamVestingPeriod onlyOwner returns(bool success) {
        require(vanbexTeamSupply > 0);
        addToBalance(vanbexTeamAddress, vanbexTeamSupply);
        Transfer(0x0, vanbexTeamAddress, vanbexTeamSupply);
        vanbexTeamSupply = 0;
        return true;
    }

    // Finalize presale. If there are leftover FUEL, let them overflow to the crowdfund
    function finalizePresale() external onlyOwner returns (bool success) {
        require(presaleFinalized == false);
        uint256 amount = presaleAmountRemaining;
        if (amount != 0) {
            presaleAmountRemaining = 0;
            addToBalance(crowdfundAddress, amount);
        }
        presaleFinalized = true;
        PresaleFinalized(amount);
        return true;
    }

    // Finalize crowdfund. If there are leftover FUEL, let them overflow to the be sold at 1$ on the platform
    function finalizeCrowdfund() external onlyCrowdfund {
        require(presaleFinalized == true && crowdfundFinalized == false);
        uint256 amount = balanceOf(crowdfundAddress);
        if (amount > 0) {
            balances[crowdfundAddress] = 0;
            addToBalance(platformAddress, amount);
            Transfer(crowdfundAddress, platformAddress, amount);
        }
        crowdfundFinalized = true;
        CrowdfundFinalized(amount);
    }


    // Function to send FUEL to presale investors
    function deliverPresaleFuelBalances(address[] _batchOfAddresses, uint[] _amountOfFuel) external onlyOwner returns (bool success) {
        for (uint256 i = 0; i < _batchOfAddresses.length; i++) {
            deliverPresaleFuelBalance(_batchOfAddresses[i], _amountOfFuel[i]);            
        }
        return true;
    }

    // All presale purchases will be delivered. If one address has contributed more than once,
    // his contribution will be aggregated
    function deliverPresaleFuelBalance(address _accountHolder, uint _amountOfBoughtFuel) internal onlyOwner {
        require(presaleAmountRemaining > 0);
        addToBalance(_accountHolder, _amountOfBoughtFuel);
        Transfer(0x0, _accountHolder, _amountOfBoughtFuel);
        presaleAmountRemaining = presaleAmountRemaining.sub(_amountOfBoughtFuel);    
    }

    // Add to balance
    function addToBalance(address _address, uint _amount) internal {
    	balances[_address] = balances[_address].add(_amount);
    }

    // Remove from balance
    function decrementBalance(address _address, uint _amount) internal {
    	balances[_address] = balances[_address].sub(_amount);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","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":true,"inputs":[],"name":"vanbexTeamAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"releaseVanbexTeamTokens","outputs":[{"name":"success","type":"bool"}],"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":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vanbexTeamVestingPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presaleFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":"crowdfundAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"platformSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdfundEndsAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presaleAmountRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"incentivisingEffortsAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdfundFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFromCrowdfund","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"_crowdfundAddress","type":"address"}],"name":"setCrowdfundAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finalizePresale","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vanbexTeamSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"incentivisingEffortsSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presaleSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalizeCrowdfund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_batchOfAddresses","type":"address[]"},{"name":"_amountOfFuel","type":"uint256[]"}],"name":"deliverPresaleFuelBalances","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"platformAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokensRemaining","type":"uint256"}],"name":"CrowdfundFinalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokensRemaining","type":"uint256"}],"name":"PresaleFinalized","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"},{"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"}]

60606040526012600160146101000a81548160ff021916908360ff1602179055506000600f60146101000a81548160ff0219169083151502179055506000600f60156101000a81548160ff02191690831515021790555034156200006257600080fd5b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506359f5fb00600a81905550620000d662f14280600a54620002e06401000000000262001ae0179091906401000000009004565b600b819055506b033b2e3c9fd0803ce80000006000819055506a295be96e640669720000006004819055506a295be96e640669720000006005819055506a52b7d2dcc80cd2e40000006009819055506b01bead72a838453f9c0000006006819055506ad711243e0821578400000060088190555060065460078190555073cf701d8ea4c727466d42651dda127c0c033076b0600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f5b5f6c1e233671b220c2a19af10fd18785d0744600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735584b17b40f6a2e412e65fcb1533f39fc7d8aa26600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000296600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600954620002ff64010000000002620018af176401000000009004565b620002da600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600554620002ff64010000000002620018af176401000000009004565b620003a8565b6000808284019050838110151515620002f557fe5b8091505092915050565b6200036181600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620002e06401000000000262001ae0179091906401000000009004565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611b2a80620003b86000396000f30060606040523615610189576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461018e578063095ea7b31461021c57806309c62c5c146102765780630f91cce1146102cb57806318160ddd146102f857806323b872dd14610321578063284e650a1461039a578063313ce567146103c35780634e8127f6146103f25780636d4980931461041b57806370a082311461044857806372f74af81461049557806375288d95146104ea5780637ae79e86146105135780637febd7211461053c578063808f4d211461056557806384086357146105ba5780638ae8c1f3146105e75780638da5cb5b1461064157806395d89b41146106965780639f4f480814610724578063a0a6e9401461075d578063a9059cbb1461078a578063acd4bca6146107e4578063aea486901461080d578063b3a196e914610836578063b6c889771461085f578063c969341114610874578063dbe55e56146108ce578063dd62ed3e14610923578063f2fde38b1461098f575b600080fd5b341561019957600080fd5b6101a16109c8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e15780820151818401526020810190506101c6565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022757600080fd5b61025c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a01565b604051808215151515815260200191505060405180910390f35b341561028157600080fd5b610289610b15565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102d657600080fd5b6102de610b3b565b604051808215151515815260200191505060405180910390f35b341561030357600080fd5b61030b610c69565b6040518082815260200191505060405180910390f35b341561032c57600080fd5b610380600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c6f565b604051808215151515815260200191505060405180910390f35b34156103a557600080fd5b6103ad610e2d565b6040518082815260200191505060405180910390f35b34156103ce57600080fd5b6103d6610e33565b604051808260ff1660ff16815260200191505060405180910390f35b34156103fd57600080fd5b610405610e46565b6040518082815260200191505060405180910390f35b341561042657600080fd5b61042e610e4c565b604051808215151515815260200191505060405180910390f35b341561045357600080fd5b61047f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e5f565b6040518082815260200191505060405180910390f35b34156104a057600080fd5b6104a8610ea8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104f557600080fd5b6104fd610ece565b6040518082815260200191505060405180910390f35b341561051e57600080fd5b610526610ed4565b6040518082815260200191505060405180910390f35b341561054757600080fd5b61054f610eda565b6040518082815260200191505060405180910390f35b341561057057600080fd5b610578610ee0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105c557600080fd5b6105cd610f06565b604051808215151515815260200191505060405180910390f35b34156105f257600080fd5b610627600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f19565b604051808215151515815260200191505060405180910390f35b341561064c57600080fd5b610654611079565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106a157600080fd5b6106a961109f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e95780820151818401526020810190506106ce565b50505050905090810190601f1680156107165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561072f57600080fd5b61075b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110d8565b005b341561076857600080fd5b610770611215565b604051808215151515815260200191505060405180910390f35b341561079557600080fd5b6107ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611334565b604051808215151515815260200191505060405180910390f35b34156107ef57600080fd5b6107f76113e1565b6040518082815260200191505060405180910390f35b341561081857600080fd5b6108206113e7565b6040518082815260200191505060405180910390f35b341561084157600080fd5b6108496113ed565b6040518082815260200191505060405180910390f35b341561086a57600080fd5b6108726113f3565b005b341561087f57600080fd5b6108b460048080359060200190820180359060200191909192908035906020019082018035906020019190919290505061165a565b604051808215151515815260200191505060405180910390f35b34156108d957600080fd5b6108e161172b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561092e57600080fd5b610979600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611751565b6040518082815260200191505060405180910390f35b341561099a57600080fd5b6109c6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117d8565b005b6040805190810160405280600a81526020017f4675656c20546f6b656e0000000000000000000000000000000000000000000081525081565b600080821480610a1a57506000610a183385611751565b145b1515610a2557600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b544210151515610b4b57fe5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ba757600080fd5b6000600454111515610bb857600080fd5b610be6600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004546118af565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a360006004819055506001905090565b60005481565b6000600a544210151515610c8257600080fd5b81610c8d8533611751565b10151515610c9a57600080fd5b610ca48483611948565b610cae83836118af565b610d3d82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e190919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600b5481565b600160149054906101000a900460ff1681565b60085481565b600f60149054906101000a900460ff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b600a5481565b60075481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60159054906101000a900460ff1681565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f7757600080fd5b81600081111515610f8757600080fd5b8360008173ffffffffffffffffffffffffffffffffffffffff1614151515610fae57600080fd5b83610fda600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e5f565b10151515610fe757600080fd5b611013600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611948565b61101d85856118af565b8473ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f4655454c0000000000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561113457600080fd5b8060008173ffffffffffffffffffffffffffffffffffffffff161415151561115b57600080fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111a257600080fd5b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611211600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008546118af565b5050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561127457600080fd5b60001515600f60149054906101000a900460ff16151514151561129657600080fd5b60075490506000811415156112da5760006007819055506112d9600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826118af565b5b6001600f60146101000a81548160ff0219169083151502179055507fba77ddc9e26933f19061480be65d8ea3dcf88fb70efd476df9515333cabee8c4816040518082815260200191505060405180910390a1600191505090565b6000600a54421015151561134757600080fd5b8161135133610e5f565b1015151561135e57600080fd5b61136883836118af565b6113723383611948565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b60095481565b60065481565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561145157600080fd5b60011515600f60149054906101000a900460ff161515148015611487575060001515600f60159054906101000a900460ff161515145b151561149257600080fd5b6114bd600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e5f565b9050600081111561160557600060026000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061155b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826118af565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6001600f60156101000a81548160ff0219169083151502179055507f35ff217d4f104e308e4be44a10590a96e26a9b45e5908ebc9c13498904343f93816040518082815260200191505060405180910390a150565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116b957600080fd5b600090505b8585905081101561171e5761171186868381811015156116da57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858584818110151561170557fe5b905060200201356119fa565b80806001019150506116be565b6001915050949350505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561183457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156118ac5780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b61190181600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ae090919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b61199a81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e190919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008282111515156119ef57fe5b818303905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a5657600080fd5b6000600754111515611a6757600080fd5b611a7182826118af565b8173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611ad6816007546119e190919063ffffffff16565b6007819055505050565b6000808284019050838110151515611af457fe5b80915050929150505600a165627a7a723058208d98d6401dcf8095accb1820eaca657b68dbeb6f2dbbb316b0707d768dd3a4c10029

Deployed Bytecode

0x60606040523615610189576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461018e578063095ea7b31461021c57806309c62c5c146102765780630f91cce1146102cb57806318160ddd146102f857806323b872dd14610321578063284e650a1461039a578063313ce567146103c35780634e8127f6146103f25780636d4980931461041b57806370a082311461044857806372f74af81461049557806375288d95146104ea5780637ae79e86146105135780637febd7211461053c578063808f4d211461056557806384086357146105ba5780638ae8c1f3146105e75780638da5cb5b1461064157806395d89b41146106965780639f4f480814610724578063a0a6e9401461075d578063a9059cbb1461078a578063acd4bca6146107e4578063aea486901461080d578063b3a196e914610836578063b6c889771461085f578063c969341114610874578063dbe55e56146108ce578063dd62ed3e14610923578063f2fde38b1461098f575b600080fd5b341561019957600080fd5b6101a16109c8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e15780820151818401526020810190506101c6565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022757600080fd5b61025c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a01565b604051808215151515815260200191505060405180910390f35b341561028157600080fd5b610289610b15565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102d657600080fd5b6102de610b3b565b604051808215151515815260200191505060405180910390f35b341561030357600080fd5b61030b610c69565b6040518082815260200191505060405180910390f35b341561032c57600080fd5b610380600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c6f565b604051808215151515815260200191505060405180910390f35b34156103a557600080fd5b6103ad610e2d565b6040518082815260200191505060405180910390f35b34156103ce57600080fd5b6103d6610e33565b604051808260ff1660ff16815260200191505060405180910390f35b34156103fd57600080fd5b610405610e46565b6040518082815260200191505060405180910390f35b341561042657600080fd5b61042e610e4c565b604051808215151515815260200191505060405180910390f35b341561045357600080fd5b61047f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e5f565b6040518082815260200191505060405180910390f35b34156104a057600080fd5b6104a8610ea8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104f557600080fd5b6104fd610ece565b6040518082815260200191505060405180910390f35b341561051e57600080fd5b610526610ed4565b6040518082815260200191505060405180910390f35b341561054757600080fd5b61054f610eda565b6040518082815260200191505060405180910390f35b341561057057600080fd5b610578610ee0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105c557600080fd5b6105cd610f06565b604051808215151515815260200191505060405180910390f35b34156105f257600080fd5b610627600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f19565b604051808215151515815260200191505060405180910390f35b341561064c57600080fd5b610654611079565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106a157600080fd5b6106a961109f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e95780820151818401526020810190506106ce565b50505050905090810190601f1680156107165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561072f57600080fd5b61075b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110d8565b005b341561076857600080fd5b610770611215565b604051808215151515815260200191505060405180910390f35b341561079557600080fd5b6107ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611334565b604051808215151515815260200191505060405180910390f35b34156107ef57600080fd5b6107f76113e1565b6040518082815260200191505060405180910390f35b341561081857600080fd5b6108206113e7565b6040518082815260200191505060405180910390f35b341561084157600080fd5b6108496113ed565b6040518082815260200191505060405180910390f35b341561086a57600080fd5b6108726113f3565b005b341561087f57600080fd5b6108b460048080359060200190820180359060200191909192908035906020019082018035906020019190919290505061165a565b604051808215151515815260200191505060405180910390f35b34156108d957600080fd5b6108e161172b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561092e57600080fd5b610979600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611751565b6040518082815260200191505060405180910390f35b341561099a57600080fd5b6109c6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117d8565b005b6040805190810160405280600a81526020017f4675656c20546f6b656e0000000000000000000000000000000000000000000081525081565b600080821480610a1a57506000610a183385611751565b145b1515610a2557600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b544210151515610b4b57fe5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ba757600080fd5b6000600454111515610bb857600080fd5b610be6600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004546118af565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a360006004819055506001905090565b60005481565b6000600a544210151515610c8257600080fd5b81610c8d8533611751565b10151515610c9a57600080fd5b610ca48483611948565b610cae83836118af565b610d3d82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e190919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600b5481565b600160149054906101000a900460ff1681565b60085481565b600f60149054906101000a900460ff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b600a5481565b60075481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60159054906101000a900460ff1681565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f7757600080fd5b81600081111515610f8757600080fd5b8360008173ffffffffffffffffffffffffffffffffffffffff1614151515610fae57600080fd5b83610fda600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e5f565b10151515610fe757600080fd5b611013600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611948565b61101d85856118af565b8473ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f4655454c0000000000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561113457600080fd5b8060008173ffffffffffffffffffffffffffffffffffffffff161415151561115b57600080fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111a257600080fd5b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611211600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008546118af565b5050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561127457600080fd5b60001515600f60149054906101000a900460ff16151514151561129657600080fd5b60075490506000811415156112da5760006007819055506112d9600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826118af565b5b6001600f60146101000a81548160ff0219169083151502179055507fba77ddc9e26933f19061480be65d8ea3dcf88fb70efd476df9515333cabee8c4816040518082815260200191505060405180910390a1600191505090565b6000600a54421015151561134757600080fd5b8161135133610e5f565b1015151561135e57600080fd5b61136883836118af565b6113723383611948565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b60095481565b60065481565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561145157600080fd5b60011515600f60149054906101000a900460ff161515148015611487575060001515600f60159054906101000a900460ff161515145b151561149257600080fd5b6114bd600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e5f565b9050600081111561160557600060026000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061155b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826118af565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6001600f60156101000a81548160ff0219169083151502179055507f35ff217d4f104e308e4be44a10590a96e26a9b45e5908ebc9c13498904343f93816040518082815260200191505060405180910390a150565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116b957600080fd5b600090505b8585905081101561171e5761171186868381811015156116da57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858584818110151561170557fe5b905060200201356119fa565b80806001019150506116be565b6001915050949350505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561183457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156118ac5780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b61190181600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ae090919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b61199a81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e190919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008282111515156119ef57fe5b818303905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a5657600080fd5b6000600754111515611a6757600080fd5b611a7182826118af565b8173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611ad6816007546119e190919063ffffffff16565b6007819055505050565b6000808284019050838110151515611af457fe5b80915050929150505600a165627a7a723058208d98d6401dcf8095accb1820eaca657b68dbeb6f2dbbb316b0707d768dd3a4c10029

Swarm Source

bzzr://8d98d6401dcf8095accb1820eaca657b68dbeb6f2dbbb316b0707d768dd3a4c1

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.