ETH Price: $2,515.72 (-1.38%)

Token

Futereum Token (FUTR)
 

Overview

Max Total Supply

17,866.835696401183703493 FUTR

Holders

178

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
50.20021122 FUTR

Value
$0.00
0x24bA9A6cB11b1F4824c8805E7915757926550335
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
FUTR

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.4.18;


contract FUTR {

    uint256 constant MAX_UINT256 = 2**256 - 1;
    
    uint256 MAX_SUBMITTED = 500067157619455000000000;

    // (no premine)
    uint256 _totalSupply = 0;
    
    // The following 2 variables are essentially a lookup table.
    // They are not constant because they are memory.
    // I came up with this because calculating it was expensive,
    // especially so when crossing tiers.
    
    // Sum of each tier by ether submitted.
   uint256[] levels = [ 
      8771929824561400000000,
     19895525330179400000000,
     37350070784724800000000,
     64114776667077800000000,
     98400490952792100000000,
    148400490952792000000000,
    218400490952792000000000,
    308400490952792000000000,
    415067157619459000000000,
    500067157619455000000000
    ];
    
    // Token amounts for each tier.
    uint256[] ratios = [
      114,
      89,
      55,
      34,
      21,
      13,
       8,
       5,
       3,
       2 ];
     
    // total ether submitted before fees.
    uint256 _submitted = 0;
    
    uint256 public tier = 0;
    
    // ERC20 events.
    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);
    
    // FUTR events.
    event Mined(address indexed _miner, uint _value);
    event WaitStarted(uint256 endTime);
    event SwapStarted(uint256 endTime);
    event MiningStart(uint256 end_time, uint256 swap_time, uint256 swap_end_time);
    event MiningExtended(uint256 end_time, uint256 swap_time, uint256 swap_end_time);

 
    // Optional ERC20 values.
    string public name = "Futereum Token";
    uint8 public decimals = 18;
    string public symbol = "FUTR";
    
    // Public variables so the curious can check the state.
    bool public swap = false;
    bool public wait = false;
    bool public extended = false;
    
    // Public end time for the current state.
    uint256 public endTime;
    
    // These are calculated at mining start.
    uint256 swapTime;
    uint256 swapEndTime;
    uint256 endTimeExtended;
    uint256 swapTimeExtended;
    uint256 swapEndTimeExtended;
    
    // Pay rate calculated from balance later.
    uint256 public payRate = 0;
    
    // Fee variables.  Fees are reserved and then withdrawn  later.
    uint256 submittedFeesPaid = 0;
    uint256 penalty = 0;
    uint256 reservedFees = 0;
    
    // Storage.
    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;


   // Fallback function mines the tokens.
   // Send from a wallet you control.
   // DON'T send from an exchange wallet!
   // We recommend sending using a method that calculates gas for you.
   // Here are some estimates (not guaranteed to be accurate):
   // It usually costs around 90k gas.  It cost more if you cross a tier.
   // Maximum around 190k gas.
   function () external payable {
   
       require(msg.sender != address(0) &&
                tier != 10 &&
                swap == false &&
                wait == false);
    
        uint256 issued = mint(msg.sender, msg.value);
        
        Mined(msg.sender, issued);
        Transfer(this, msg.sender, issued);
    }
    
    // Constructor.
    function FUTR() public {
        _start();
    }
    
    // This gets called by constructor AND after the swap to restart evertying.
    function _start() internal 
    {
        swap = false;
        wait = false;
        extended = false;
    
        endTime = now + 366 days;
        swapTime = endTime + 30 days;
        swapEndTime = swapTime + 5 days;
        endTimeExtended = now + 1096 days;
        swapTimeExtended = endTimeExtended + 30 days;
        swapEndTimeExtended = swapTimeExtended + 5 days;
        
        submittedFeesPaid = 0;
        _submitted = 0;
        
        reservedFees = 0;
        
        payRate = 0;
        
        tier = 0;
                
        MiningStart(endTime, swapTime, swapEndTime);
    }
    
    // Restarts everything after swap.
    // This is expensive, so we make someone call it and pay for the gas.
    // Any holders that miss the swap get to keep their tokens.
    // Ether stays in contract, minus 20% penalty fee.
    function restart() public {
        require(swap && now >= endTime);
        
        penalty = this.balance * 2000 / 10000;
        
        payFees();
        
        _start();
    }
    
    // ERC20 standard supply function.
    function totalSupply() public constant returns (uint)
    {
        return _totalSupply;
    }
    
    // Mints new tokens when they are mined.
    function mint(address _to, uint256 _value) internal returns (uint256) 
    {
        uint256 total = _submitted + _value;
        
        if (total > MAX_SUBMITTED)
        {
            uint256 refund = total - MAX_SUBMITTED - 1;
            _value = _value - refund;
            
            // refund money and continue.
            _to.transfer(refund);
        }
        
        _submitted += _value;
        
        total -= refund;
        
        uint256 tokens = calculateTokens(total, _value);
        
        balances[_to] += tokens;
       
        _totalSupply += tokens;
        
        return tokens;
    }
    
    // Calculates the tokens mined based on the tier.
    function calculateTokens(uint256 total, uint256 _value) internal returns (uint256)
    {
        if (tier == 10) 
        {
            // This just rounds it off to an even number.
            return 7400000000;
        }
        
        uint256 tokens = 0;
        
        if (total > levels[tier])
        {
            uint256 remaining = total - levels[tier];
            _value -= remaining;
            tokens = (_value) * ratios[tier];
           
            tier += 1;
            
            tokens += calculateTokens(total, remaining);
        }
        else
        {
            tokens = _value * ratios[tier];
        }
        
        return tokens;
    }
    
    // This is basically so you don't have to add 1 to the last completed tier.
    //  You're welcome.
    function currentTier() public view returns (uint256) {
        if (tier == 10)
        {
            return 10;
        }
        else
        {
            return tier + 1;
        }
    }
    
    // Ether remaining for tier.
    function leftInTier() public view returns (uint256) {
        if (tier == 10) {
            return 0;
        }
        else
        {
            return levels[tier] - _submitted;
        }
    }
    
    // Total sumbitted for mining.
    function submitted() public view returns (uint256) {
        return _submitted;
    }
    
    // Balance minus oustanding fees.
    function balanceMinusFeesOutstanding() public view returns (uint256) {
        return this.balance - (penalty + (_submitted - submittedFeesPaid) * 1530 / 10000);  // fees are 15.3 % total.
    }
    
    // Calculates the amount of ether per token from the balance.
    // This is calculated once by the first account to swap.
    function calulateRate() internal {
        reservedFees = penalty + (_submitted - submittedFeesPaid) * 1530 / 10000;  // fees are 15.3 % total.
        
        uint256 tokens = _totalSupply / 1 ether;
        payRate = (this.balance - reservedFees);

        payRate = payRate / tokens;
    }
    
    // This function is called on token transfer and fee payment.
    // It checks the next deadline and then updates the deadline and state.
    // 
    // It uses the block time, but the time periods are days and months,
    // so it should be pretty safe  ¯\_(ツ)_/¯ 
    function _updateState() internal {
        // Most of the time, this will just be skipped.
        if (now >= endTime)
        {
            // We are not currently swapping or waiting to swap
            if(!swap && !wait)
            {
                if (extended)
                {
                    // It's been 36 months.
                    wait = true;
                    endTime = swapTimeExtended;
                    WaitStarted(endTime);
                }
                else if (tier == 10)
                {
                    // Tiers filled
                    wait = true;
                    endTime = swapTime;
                    WaitStarted(endTime);
                } 
                else
                {
                    // Extended to 36 months
                    endTime = endTimeExtended;
                    extended = true;
                    
                    MiningExtended(endTime, swapTime, swapEndTime);
                }
            } 
            else if (wait)
            {
                // It's time to swap.
                swap = true;
                wait = false;
                
                if (extended) 
                {
                    endTime = swapEndTimeExtended;
                }
                else
                {
                    endTime = swapEndTime;
                }
                
                SwapStarted(endTime);
            }
        }
    }
   
    // Standard ERC20 transfer plus state check and token swap logic.
    //
    // We recommend sending using a method that calculates gas for you.
    //
    // Here are some estimates (not guaranteed to be accurate):
    // It usually costs around 37k gas.  It cost more if the state changes.
    // State change means around 55k - 65k gas.
    // Swapping tokens for ether costs around 46k gas. (around 93k for the first account to swap)
    function transfer(address _to, uint256 _value) public returns (bool success) {
        
        require(balances[msg.sender] >= _value);
        
         // Normal transfers check if time is expired.  
        _updateState();

        // Check if sending in for swap.
        if (_to == address(this)) 
        {
            // throw if they can't swap yet.
            require(swap);
            
            if (payRate == 0)
            {
                calulateRate(); // Gas to calc the rate paid by first unlucky soul.
            }
            
            uint256 amount = _value * payRate;
            // Adjust for decimals
            amount /= 1 ether;
            
            // Burn tokens.
            balances[msg.sender] -= _value;
             _totalSupply -= _value;
            Transfer(msg.sender, _to, _value);
            
            //send ether
            msg.sender.transfer(amount);
        } else
        {
            balances[msg.sender] -= _value;
            balances[_to] += _value;
            Transfer(msg.sender, _to, _value);
        }
        return true;
    }
    
    // Standard ERC20.
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
       
        uint256 allowance = allowed[_from][msg.sender];
        require(balances[_from] >= _value && allowance >= _value);
        balances[_to] += _value;
        balances[_from] -= _value;
        if (allowance < MAX_UINT256) {
            allowed[_from][msg.sender] -= _value;
        }
        Transfer(_from, _to, _value);
        return true;
    }

    // Standard ERC20.
    function balanceOf(address _owner) view public returns (uint256 balance) {
        return balances[_owner];
    }

    // Standard ERC20.
    function approve(address _spender, uint256 _value) public returns (bool success) {

        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) view public returns (uint256 remaining) {
      return allowed[_owner][_spender];
    }
    
    // ********************
    // Fee stuff.

    // Addresses for fees.
    address public foundation = 0x950ec4ef693d90f8519c4213821e462426d30905;
    address public owner = 0x78BFCA5E20B0D710EbEF98249f68d9320eE423be;
    address public dev = 0x5d2b9f5345e69e2390ce4c26ccc9c2910a097520;
    
    // Pays fees to the foundation, the owner, and the dev.
    // It also updates the state.  Anyone can call this.
    function payFees() public {
         // Check state to see if swap needs to happen.
         _updateState();
         
        uint256 fees = penalty + (_submitted - submittedFeesPaid) * 1530 / 10000;  // fees are 15.3 % total.
        submittedFeesPaid = _submitted;
        
        reservedFees = 0;
        penalty = 0;
        
        if (fees > 0) 
        {
            foundation.transfer(fees / 2);
            owner.transfer(fees / 4);
            dev.transfer(fees / 4);
        }
    }
    
    function changeFoundation (address _receiver) public
    {
        require(msg.sender == foundation);
        foundation = _receiver;
    }
    
    
    function changeOwner (address _receiver) public
    {
        require(msg.sender == owner);
        owner = _receiver;
    }
    
    function changeDev (address _receiver) public
    {
        require(msg.sender == dev);
        dev = _receiver;
    }    

}

Contract Security Audit

Contract ABI

[{"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":"tier","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"restart","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"balanceMinusFeesOutstanding","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":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"foundation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"payFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wait","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"}],"name":"changeFoundation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"extended","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"submitted","outputs":[{"name":"","type":"uint256"}],"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":"swap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"}],"name":"changeDev","outputs":[],"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":"dev","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":"_receiver","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentTier","outputs":[{"name":"","type":"uint256"}],"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":true,"inputs":[],"name":"leftInTier","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"payRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_miner","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Mined","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"endTime","type":"uint256"}],"name":"WaitStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"endTime","type":"uint256"}],"name":"SwapStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"end_time","type":"uint256"},{"indexed":false,"name":"swap_time","type":"uint256"},{"indexed":false,"name":"swap_end_time","type":"uint256"}],"name":"MiningStart","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"end_time","type":"uint256"},{"indexed":false,"name":"swap_time","type":"uint256"},{"indexed":false,"name":"swap_end_time","type":"uint256"}],"name":"MiningExtended","type":"event"}]

60606040526969e4b1e7318ac8a336006000556000600155610140604051908101604052806901db86fb13c334da2e0069ffffffffffffffffffff16815260200169043689e0fcc98969e20069ffffffffffffffffffff1681526020016907e8c05b618d1112500069ffffffffffffffffffff168152602001690d93ab44140fd38a7a0069ffffffffffffffffffff1681526020016914d64d22356b5c1b510069ffffffffffffffffffff168152602001691f6cce862610d165700069ffffffffffffffffffff168152602001692e3f83abaa2bb125700069ffffffffffffffffffff16815260200169414e6c92c1bbf565700069ffffffffffffffffffff1681526020016957e4d5f07ed8cbee5e0069ffffffffffffffffffff1681526020016969e4b1e7318ac8a3360069ffffffffffffffffffff16815250600290600a6200014c9291906200053f565b5061014060405190810160405280607260ff168152602001605960ff168152602001603760ff168152602001602260ff168152602001601560ff168152602001600d60ff168152602001600860ff168152602001600560ff168152602001600360ff168152602001600260ff16815250600390600a620001ce9291906200059f565b50600060045560006005556040805190810160405280600e81526020017f467574657265756d20546f6b656e0000000000000000000000000000000000008152506006908051906020019062000226929190620005f6565b506012600760006101000a81548160ff021916908360ff1602179055506040805190810160405280600481526020017f46555452000000000000000000000000000000000000000000000000000000008152506008908051906020019062000290929190620005f6565b506000600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff0219169083151502179055506000600960026101000a81548160ff021916908315150217905550600060105560006011556000601255600060135573950ec4ef693d90f8519c4213821e462426d30905601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507378bfca5e20b0d710ebef98249f68d9320ee423be601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735d2b9f5345e69e2390ce4c26ccc9c2910a097520601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034156200040157600080fd5b6200041f620004256401000000000262001932176401000000009004565b620006a5565b6000600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff0219169083151502179055506000600960026101000a81548160ff0219169083151502179055506301e285004201600a8190555062278d00600a5401600b8190555062069780600b5401600c819055506305a4ec004201600d8190555062278d00600d5401600e8190555062069780600e5401600f81905550600060118190555060006004819055506000601381905550600060108190555060006005819055507f938e6fcc245d7476cacd79a5032e14b706e6a7ead38fab7a0d73c4feaded40eb600a54600b54600c5460405180848152602001838152602001828152602001935050505060405180910390a1565b8280548282559060005260206000209081019282156200058c579160200282015b828111156200058b578251829069ffffffffffffffffffff1690559160200191906001019062000560565b5b5090506200059b91906200067d565b5090565b828054828255906000526020600020908101928215620005e3579160200282015b82811115620005e2578251829060ff16905591602001919060010190620005c0565b5b509050620005f291906200067d565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200063957805160ff19168380011785556200066a565b828001600101855582156200066a579182015b82811115620006695782518255916020019190600101906200064c565b5b5090506200067991906200067d565b5090565b620006a291905b808211156200069e57600081600090555060010162000684565b5090565b90565b611d3980620006b56000396000f30060606040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146102ab578063095ea7b31461033957806316f4d0221461039357806318160ddd146103bc5780631ef3755d146103e557806323b872dd146103fa57806324bb49d614610473578063313ce5671461049c5780633197cbb6146104cb57806341fbb050146104f457806362779e151461054957806364bd70131461055e57806365a5f1cd1461058b5780636f3921ee146105c4578063708ddf7b146105f157806370a082311461061a5780638119c0651461066757806388a8c95c146106945780638da5cb5b146106cd57806391cca3db1461072257806395d89b4114610777578063a6f9dae114610805578063a9059cbb1461083e578063d679677a14610898578063dd62ed3e146108c1578063f51fb6a11461092d578063f97e17d914610956575b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156101a05750600a60055414155b80156101bf575060001515600960009054906101000a900460ff161515145b80156101de575060001515600960019054906101000a900460ff161515145b15156101e957600080fd5b6101f3333461097f565b90503373ffffffffffffffffffffffffffffffffffffffff167f3ad10ba9777a3bc21180a465e5459861d07cbdb271af9a0f10c993b365b760f8826040518082815260200191505060405180910390a23373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350005b34156102b657600080fd5b6102be610a70565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102fe5780820151818401526020810190506102e3565b50505050905090810190601f16801561032b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561034457600080fd5b610379600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b0e565b604051808215151515815260200191505060405180910390f35b341561039e57600080fd5b6103a6610c00565b6040518082815260200191505060405180910390f35b34156103c757600080fd5b6103cf610c06565b6040518082815260200191505060405180910390f35b34156103f057600080fd5b6103f8610c10565b005b341561040557600080fd5b610459600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c7a565b604051808215151515815260200191505060405180910390f35b341561047e57600080fd5b610486610f14565b6040518082815260200191505060405180910390f35b34156104a757600080fd5b6104af610f50565b604051808260ff1660ff16815260200191505060405180910390f35b34156104d657600080fd5b6104de610f63565b6040518082815260200191505060405180910390f35b34156104ff57600080fd5b610507610f69565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055457600080fd5b61055c610f8f565b005b341561056957600080fd5b610571611127565b604051808215151515815260200191505060405180910390f35b341561059657600080fd5b6105c2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061113a565b005b34156105cf57600080fd5b6105d76111da565b604051808215151515815260200191505060405180910390f35b34156105fc57600080fd5b6106046111ed565b6040518082815260200191505060405180910390f35b341561062557600080fd5b610651600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111f7565b6040518082815260200191505060405180910390f35b341561067257600080fd5b61067a611240565b604051808215151515815260200191505060405180910390f35b341561069f57600080fd5b6106cb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611253565b005b34156106d857600080fd5b6106e06112f3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561072d57600080fd5b610735611319565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561078257600080fd5b61078a61133f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107ca5780820151818401526020810190506107af565b50505050905090810190601f1680156107f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561081057600080fd5b61083c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113dd565b005b341561084957600080fd5b61087e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061147d565b604051808215151515815260200191505060405180910390f35b34156108a357600080fd5b6108ab611768565b6040518082815260200191505060405180910390f35b34156108cc57600080fd5b610917600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061178a565b6040518082815260200191505060405180910390f35b341561093857600080fd5b610940611811565b6040518082815260200191505060405180910390f35b341561096157600080fd5b61096961184e565b6040518082815260200191505060405180910390f35b600080600080846004540192506000548311156109e6576001600054840303915081850394508573ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156109e557600080fd5b5b846004600082825401925050819055508183039250610a058386611854565b905080601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508060016000828254019250508190555080935050505092915050565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b505050505081565b600081601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60055481565b6000600154905090565b600960009054906101000a900460ff168015610c2e5750600a544210155b1515610c3957600080fd5b6127106107d03073ffffffffffffffffffffffffffffffffffffffff163102811515610c6157fe5b04601281905550610c70610f8f565b610c78611932565b565b600080601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610d4b5750828110155b1515610d5657600080fd5b82601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015610ea35782601560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60006127106105fa6011546004540302811515610f2d57fe5b04601254013073ffffffffffffffffffffffffffffffffffffffff163103905090565b600760009054906101000a900460ff1681565b600a5481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f99611a4c565b6127106105fa6011546004540302811515610fb057fe5b0460125401905060045460118190555060006013819055506000601281905550600081111561112457601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028381151561102157fe5b049081150290604051600060405180830381858888f19350505050151561104757600080fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60048381151561108f57fe5b049081150290604051600060405180830381858888f1935050505015156110b557600080fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6004838115156110fd57fe5b049081150290604051600060405180830381858888f19350505050151561112357600080fd5b5b50565b600960019054906101000a900460ff1681565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119657600080fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960029054906101000a900460ff1681565b6000600454905090565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900460ff1681565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112af57600080fd5b80601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113d55780601f106113aa576101008083540402835291602001916113d5565b820191906000526020600020905b8154815290600101906020018083116113b857829003601f168201915b505050505081565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143957600080fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156114ce57600080fd5b6114d6611a4c565b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561165d57600960009054906101000a900460ff16151561152557600080fd5b6000601054141561153957611538611c98565b5b60105483029050670de0b6b3a76400008181151561155357fe5b04905082601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550826001600082825403925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561165857600080fd5b61175d565b82601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b600191505092915050565b6000600a600554141561177e57600a9050611787565b60016005540190505b90565b6000601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600a6005541415611827576000905061184b565b600454600260055481548110151561183b57fe5b9060005260206000209001540390505b90565b60105481565b6000806000600a6005541415611871576401b9130a00925061192a565b60009150600260055481548110151561188657fe5b9060005260206000209001548511156119045760026005548154811015156118aa57fe5b90600052602060002090015485039050808403935060036005548154811015156118d057fe5b9060005260206000209001548402915060016005600082825401925050819055506118fb8582611854565b82019150611926565b600360055481548110151561191557fe5b906000526020600020900154840291505b8192505b505092915050565b6000600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff0219169083151502179055506000600960026101000a81548160ff0219169083151502179055506301e285004201600a8190555062278d00600a5401600b8190555062069780600b5401600c819055506305a4ec004201600d8190555062278d00600d5401600e8190555062069780600e5401600f81905550600060118190555060006004819055506000601381905550600060108190555060006005819055507f938e6fcc245d7476cacd79a5032e14b706e6a7ead38fab7a0d73c4feaded40eb600a54600b54600c5460405180848152602001838152602001828152602001935050505060405180910390a1565b600a5442101515611c9657600960009054906101000a900460ff16158015611a815750600960019054906101000a900460ff16155b15611be257600960029054906101000a900460ff1615611afd576001600960016101000a81548160ff021916908315150217905550600e54600a819055507f24f7a980d4f032f59e7197d51a3cd619f138504a9b0da6fee19a08985863775e600a546040518082815260200191505060405180910390a1611bdd565b600a6005541415611b6a576001600960016101000a81548160ff021916908315150217905550600b54600a819055507f24f7a980d4f032f59e7197d51a3cd619f138504a9b0da6fee19a08985863775e600a546040518082815260200191505060405180910390a1611bdc565b600d54600a819055506001600960026101000a81548160ff0219169083151502179055507fd157e8167dfe7e28a6a152fd1fa166e7e3404cf58c49c769442efce28d387e00600a54600b54600c5460405180848152602001838152602001828152602001935050505060405180910390a15b5b611c95565b600960019054906101000a900460ff1615611c94576001600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff021916908315150217905550600960029054906101000a900460ff1615611c5057600f54600a81905550611c5a565b600c54600a819055505b7f4ebcdc2b14eacac39cf3ffaa28fc33f98e82cb4ce5d3002187b611b4d7a8b398600a546040518082815260200191505060405180910390a15b5b5b565b60006127106105fa6011546004540302811515611cb157fe5b0460125401601381905550670de0b6b3a7640000600154811515611cd157fe5b0490506013543073ffffffffffffffffffffffffffffffffffffffff16310360108190555080601054811515611d0357fe5b04601081905550505600a165627a7a723058200e1f6ef7222650f9aa3fc1a5c68b59e8274615befce0b79f66062dc0b5c00df40029

Deployed Bytecode

0x60606040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146102ab578063095ea7b31461033957806316f4d0221461039357806318160ddd146103bc5780631ef3755d146103e557806323b872dd146103fa57806324bb49d614610473578063313ce5671461049c5780633197cbb6146104cb57806341fbb050146104f457806362779e151461054957806364bd70131461055e57806365a5f1cd1461058b5780636f3921ee146105c4578063708ddf7b146105f157806370a082311461061a5780638119c0651461066757806388a8c95c146106945780638da5cb5b146106cd57806391cca3db1461072257806395d89b4114610777578063a6f9dae114610805578063a9059cbb1461083e578063d679677a14610898578063dd62ed3e146108c1578063f51fb6a11461092d578063f97e17d914610956575b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156101a05750600a60055414155b80156101bf575060001515600960009054906101000a900460ff161515145b80156101de575060001515600960019054906101000a900460ff161515145b15156101e957600080fd5b6101f3333461097f565b90503373ffffffffffffffffffffffffffffffffffffffff167f3ad10ba9777a3bc21180a465e5459861d07cbdb271af9a0f10c993b365b760f8826040518082815260200191505060405180910390a23373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350005b34156102b657600080fd5b6102be610a70565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102fe5780820151818401526020810190506102e3565b50505050905090810190601f16801561032b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561034457600080fd5b610379600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b0e565b604051808215151515815260200191505060405180910390f35b341561039e57600080fd5b6103a6610c00565b6040518082815260200191505060405180910390f35b34156103c757600080fd5b6103cf610c06565b6040518082815260200191505060405180910390f35b34156103f057600080fd5b6103f8610c10565b005b341561040557600080fd5b610459600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c7a565b604051808215151515815260200191505060405180910390f35b341561047e57600080fd5b610486610f14565b6040518082815260200191505060405180910390f35b34156104a757600080fd5b6104af610f50565b604051808260ff1660ff16815260200191505060405180910390f35b34156104d657600080fd5b6104de610f63565b6040518082815260200191505060405180910390f35b34156104ff57600080fd5b610507610f69565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055457600080fd5b61055c610f8f565b005b341561056957600080fd5b610571611127565b604051808215151515815260200191505060405180910390f35b341561059657600080fd5b6105c2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061113a565b005b34156105cf57600080fd5b6105d76111da565b604051808215151515815260200191505060405180910390f35b34156105fc57600080fd5b6106046111ed565b6040518082815260200191505060405180910390f35b341561062557600080fd5b610651600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111f7565b6040518082815260200191505060405180910390f35b341561067257600080fd5b61067a611240565b604051808215151515815260200191505060405180910390f35b341561069f57600080fd5b6106cb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611253565b005b34156106d857600080fd5b6106e06112f3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561072d57600080fd5b610735611319565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561078257600080fd5b61078a61133f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107ca5780820151818401526020810190506107af565b50505050905090810190601f1680156107f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561081057600080fd5b61083c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113dd565b005b341561084957600080fd5b61087e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061147d565b604051808215151515815260200191505060405180910390f35b34156108a357600080fd5b6108ab611768565b6040518082815260200191505060405180910390f35b34156108cc57600080fd5b610917600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061178a565b6040518082815260200191505060405180910390f35b341561093857600080fd5b610940611811565b6040518082815260200191505060405180910390f35b341561096157600080fd5b61096961184e565b6040518082815260200191505060405180910390f35b600080600080846004540192506000548311156109e6576001600054840303915081850394508573ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156109e557600080fd5b5b846004600082825401925050819055508183039250610a058386611854565b905080601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508060016000828254019250508190555080935050505092915050565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b505050505081565b600081601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60055481565b6000600154905090565b600960009054906101000a900460ff168015610c2e5750600a544210155b1515610c3957600080fd5b6127106107d03073ffffffffffffffffffffffffffffffffffffffff163102811515610c6157fe5b04601281905550610c70610f8f565b610c78611932565b565b600080601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610d4b5750828110155b1515610d5657600080fd5b82601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015610ea35782601560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60006127106105fa6011546004540302811515610f2d57fe5b04601254013073ffffffffffffffffffffffffffffffffffffffff163103905090565b600760009054906101000a900460ff1681565b600a5481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f99611a4c565b6127106105fa6011546004540302811515610fb057fe5b0460125401905060045460118190555060006013819055506000601281905550600081111561112457601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028381151561102157fe5b049081150290604051600060405180830381858888f19350505050151561104757600080fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60048381151561108f57fe5b049081150290604051600060405180830381858888f1935050505015156110b557600080fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6004838115156110fd57fe5b049081150290604051600060405180830381858888f19350505050151561112357600080fd5b5b50565b600960019054906101000a900460ff1681565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119657600080fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960029054906101000a900460ff1681565b6000600454905090565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900460ff1681565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112af57600080fd5b80601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113d55780601f106113aa576101008083540402835291602001916113d5565b820191906000526020600020905b8154815290600101906020018083116113b857829003601f168201915b505050505081565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143957600080fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156114ce57600080fd5b6114d6611a4c565b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561165d57600960009054906101000a900460ff16151561152557600080fd5b6000601054141561153957611538611c98565b5b60105483029050670de0b6b3a76400008181151561155357fe5b04905082601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550826001600082825403925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561165857600080fd5b61175d565b82601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b600191505092915050565b6000600a600554141561177e57600a9050611787565b60016005540190505b90565b6000601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600a6005541415611827576000905061184b565b600454600260055481548110151561183b57fe5b9060005260206000209001540390505b90565b60105481565b6000806000600a6005541415611871576401b9130a00925061192a565b60009150600260055481548110151561188657fe5b9060005260206000209001548511156119045760026005548154811015156118aa57fe5b90600052602060002090015485039050808403935060036005548154811015156118d057fe5b9060005260206000209001548402915060016005600082825401925050819055506118fb8582611854565b82019150611926565b600360055481548110151561191557fe5b906000526020600020900154840291505b8192505b505092915050565b6000600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff0219169083151502179055506000600960026101000a81548160ff0219169083151502179055506301e285004201600a8190555062278d00600a5401600b8190555062069780600b5401600c819055506305a4ec004201600d8190555062278d00600d5401600e8190555062069780600e5401600f81905550600060118190555060006004819055506000601381905550600060108190555060006005819055507f938e6fcc245d7476cacd79a5032e14b706e6a7ead38fab7a0d73c4feaded40eb600a54600b54600c5460405180848152602001838152602001828152602001935050505060405180910390a1565b600a5442101515611c9657600960009054906101000a900460ff16158015611a815750600960019054906101000a900460ff16155b15611be257600960029054906101000a900460ff1615611afd576001600960016101000a81548160ff021916908315150217905550600e54600a819055507f24f7a980d4f032f59e7197d51a3cd619f138504a9b0da6fee19a08985863775e600a546040518082815260200191505060405180910390a1611bdd565b600a6005541415611b6a576001600960016101000a81548160ff021916908315150217905550600b54600a819055507f24f7a980d4f032f59e7197d51a3cd619f138504a9b0da6fee19a08985863775e600a546040518082815260200191505060405180910390a1611bdc565b600d54600a819055506001600960026101000a81548160ff0219169083151502179055507fd157e8167dfe7e28a6a152fd1fa166e7e3404cf58c49c769442efce28d387e00600a54600b54600c5460405180848152602001838152602001828152602001935050505060405180910390a15b5b611c95565b600960019054906101000a900460ff1615611c94576001600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff021916908315150217905550600960029054906101000a900460ff1615611c5057600f54600a81905550611c5a565b600c54600a819055505b7f4ebcdc2b14eacac39cf3ffaa28fc33f98e82cb4ce5d3002187b611b4d7a8b398600a546040518082815260200191505060405180910390a15b5b5b565b60006127106105fa6011546004540302811515611cb157fe5b0460125401601381905550670de0b6b3a7640000600154811515611cd157fe5b0490506013543073ffffffffffffffffffffffffffffffffffffffff16310360108190555080601054811515611d0357fe5b04601081905550505600a165627a7a723058200e1f6ef7222650f9aa3fc1a5c68b59e8274615befce0b79f66062dc0b5c00df40029

Swarm Source

bzzr://0e1f6ef7222650f9aa3fc1a5c68b59e8274615befce0b79f66062dc0b5c00df4
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.