ETH Price: $3,539.66 (+7.35%)

Token

HPBCoin (HPB)
 

Overview

Max Total Supply

100,000,000 HPB

Holders

4,772 (0.00%)

Market

Price

$0.01 @ 0.000001 ETH (+4.54%)

Onchain Market Cap

$509,908.00

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
249.8392 HPB

Value
$1.27 ( ~0.000358791489164138 Eth) [0.0002%]
0x5a91779E266237e3d07418800f8714819079Bc4b
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

HPB (High-Performance Blockchain) is a block chain hardware and software architecture, which includes chip acceleration aiming to realize the performance extensions of distributed applications

Profitability / Loss

Since Initial Offer Price
:$0.22 97.68% |ETH 0.00083333 99.88%

Market

Volume (24H):$2,990.35
Market Capitalization:$0.00
Circulating Supply:0.00 HPB
Market Data Source: Coinmarketcap

ICO Information

ICO Start Date : Jul 5, 2017   
ICO Price  : $0.22 | 0.0083333 ETH
Country : China 

# Exchange Pair Price  24H Volume % Volume
1
Indodax
HPB-IDR$0.0049
0.0000014 Eth
$1,621.31
334,057.559 HPB
54.8988%
2
Gate.io
HPB-USDT$0.005
0.0000014 Eth
$1,452.21
273,412.100 HPB
44.9324%
3
Bibox
HPB-USDT$0.0371
0.0000111 Eth
$74.19
2,000.000 HPB
0.3287%
4
Gate.io
HPB-ETH$0.005
0.0000015 Eth
$5.12
1,026.868 HPB
0.1688%

Contract Source Code Verified (Exact Match)

Contract Name:
HPBToken

Compiler Version
v0.4.17-nightly.2017.8.24+commit.12d9f79

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-11-15
*/

pragma solidity ^0.4.11;


/**
 * Math operations with safety checks
 */
library SafeMath {
  function mul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

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

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

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

  function max64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }

  function assert(bool assertion) internal {
    if (!assertion) {
      throw;
    }
  }
}


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



/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances. 
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint;

  mapping(address => uint) balances;

  /**
   * @dev Fix for the ERC20 short address attack.
   */
  modifier onlyPayloadSize(uint size) {
     if(msg.data.length < size + 4) {
       throw;
     }
     _;
  }

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
  }

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

}





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





/**
 * @title Standard ERC20 token
 *
 * @dev Implemantation of the basic standart token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is BasicToken, ERC20 {

  mapping (address => mapping (address => uint)) allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint the amout of tokens to be transfered
   */
  function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // if (_value > _allowance) throw;

    balances[_to] = balances[_to].add(_value);
    balances[_from] = balances[_from].sub(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
  }

  /**
   * @dev Aprove the passed address to spend the specified amount of tokens on beahlf of msg.sender.
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint _value) {

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;

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

  /**
   * @dev Function to check the amount of tokens than an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint specifing the amount of tokens still avaible for the spender.
   */
  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

}






/// @title HPB Protocol Token.
/// For more information about this token sale, please visit https://gxn.io
/// @author Arnold - <[email protected]>, Bob - <[email protected]>.
contract HPBToken is StandardToken {
    string public constant NAME = "HPBCoin";
    string public constant SYMBOL = "HPB";
    uint public constant DECIMALS = 18;

    /// During token sale, we use one consistent price: 1000 HPB/ETH.
    /// We split the entire token sale period into 3 phases, each
    /// phase has a different bonus setting as specified in `bonusPercentages`.
    /// The real price for phase i is `(1 + bonusPercentages[i]/100.0) * BASE_RATE`.
    /// The first phase or early-bird phase has a much higher bonus.
    uint8[10] public bonusPercentages = [
        20,
        10,
        0
    ];

    uint public constant NUM_OF_PHASE = 3;
  
    /// Each phase contains exactly 29000 Ethereum blocks, which is roughly 7 days,
    /// which makes this 3-phase sale period roughly 21 days.
    /// See https://www.ethereum.org/crowdsale#scheduling-a-call
    uint16 public constant BLOCKS_PER_PHASE = 29000;

    /// This is where we hold ETH during this token sale. We will not transfer any Ether
    /// out of this address before we invocate the `close` function to finalize the sale. 
    /// This promise is not guanranteed by smart contract by can be verified with public
    /// Ethereum transactions data available on several blockchain browsers.
    /// This is the only address from which `start` and `close` can be invocated.
    ///
    /// Note: this will be initialized during the contract deployment.
    address public target;

    /// `firstblock` specifies from which block our token sale starts.
    /// This can only be modified once by the owner of `target` address.
    uint public firstblock = 0;

    /// Indicates whether unsold token have been issued. This part of HPB token
    /// is managed by the project team and is issued directly to `target`.
    bool public unsoldTokenIssued = false;

    /// Minimum amount of funds to be raised for the sale to succeed. 
    uint256 public constant GOAL = 3000 ether;

    /// Maximum amount of fund to be raised, the sale ends on reaching this amount.
    uint256 public constant HARD_CAP = 4500 ether;

    /// Base exchange rate is set to 1 ETH = 1050 HPB.
    uint256 public constant BASE_RATE = 1050;

    /// A simple stat for emitting events.
    uint public totalEthReceived = 0;

    /// Issue event index starting from 0.
    uint public issueIndex = 0;

    /* 
     * EVENTS
     */

    /// Emitted only once after token sale starts.
    event SaleStarted();

    /// Emitted only once after token sale ended (all token issued).
    event SaleEnded();

    /// Emitted when a function is invocated by unauthorized addresses.
    event InvalidCaller(address caller);

    /// Emitted when a function is invocated without the specified preconditions.
    /// This event will not come alone with an exception.
    event InvalidState(bytes msg);

    /// Emitted for each sucuessful token purchase.
    event Issue(uint issueIndex, address addr, uint ethAmount, uint tokenAmount);

    /// Emitted if the token sale succeeded.
    event SaleSucceeded();

    /// Emitted if the token sale failed.
    /// When token sale failed, all Ether will be return to the original purchasing
    /// address with a minor deduction of transaction fee锛坓as)
    event SaleFailed();

    /*
     * MODIFIERS
     */

    modifier onlyOwner {
        if (target == msg.sender) {
            _;
        } else {
            InvalidCaller(msg.sender);
            throw;
        }
    }

    modifier beforeStart {
        if (!saleStarted()) {
            _;
        } else {
            InvalidState("Sale has not started yet");
            throw;
        }
    }

    modifier inProgress {
        if (saleStarted() && !saleEnded()) {
            _;
        } else {
            InvalidState("Sale is not in progress");
            throw;
        }
    }

    modifier afterEnd {
        if (saleEnded()) {
            _;
        } else {
            InvalidState("Sale is not ended yet");
            throw;
        }
    }

    /**
     * CONSTRUCTOR 
     * 
     * @dev Initialize the HPB Token
     * @param _target The escrow account address, all ethers will
     * be sent to this address.
     * This address will be : 0xe597c5ab87e9d20ad445976d9b016c37f864da2b
     */
    function HPBToken(address _target) {
        target = _target;
        totalSupply = 10 ** 26;
        balances[target] = totalSupply;
    }

    /*
     * PUBLIC FUNCTIONS
     */

    /// @dev Start the token sale.
    /// @param _firstblock The block from which the sale will start.
    function start(uint _firstblock) public onlyOwner beforeStart {
        if (_firstblock <= block.number) {
            // Must specify a block in the future.
            throw;
        }

        firstblock = _firstblock;
        SaleStarted();
    }

    /// @dev Triggers unsold tokens to be issued to `target` address.
    function close() public onlyOwner afterEnd {
        if (totalEthReceived < GOAL) {
            SaleFailed();
        } else {
            SaleSucceeded();
        }
    }

    /// @dev Returns the current price.
    function price() public constant returns (uint tokens) {
        return computeTokenAmount(1 ether);
    }

    /// @dev This default function allows token to be purchased by directly
    /// sending ether to this smart contract.
    function () payable {
        issueToken(msg.sender);
    }

    /// @dev Issue token based on Ether received.
    /// @param recipient Address that newly issued token will be sent to.
    function issueToken(address recipient) payable inProgress {
        // We only accept minimum purchase of 0.01 ETH.
        assert(msg.value >= 0.01 ether);

        // We only accept maximum purchase of 35 ETH.
        assert(msg.value <= 35 ether);

        // We only accept totalEthReceived < HARD_CAP
        uint ethReceived = totalEthReceived + msg.value;
        assert(ethReceived <= HARD_CAP);

        uint tokens = computeTokenAmount(msg.value);
        totalEthReceived = totalEthReceived.add(msg.value);
        
        balances[msg.sender] = balances[msg.sender].add(tokens);
        balances[target] = balances[target].sub(tokens);

        Issue(
            issueIndex++,
            recipient,
            msg.value,
            tokens
        );

        if (!target.send(msg.value)) {
            throw;
        }
    }

    /*
     * INTERNAL FUNCTIONS
     */
  
    /// @dev Compute the amount of HPB token that can be purchased.
    /// @param ethAmount Amount of Ether to purchase HPB.
    /// @return Amount of HPB token to purchase
    function computeTokenAmount(uint ethAmount) internal constant returns (uint tokens) {
        uint phase = (block.number - firstblock).div(BLOCKS_PER_PHASE);

        // A safe check
        if (phase >= bonusPercentages.length) {
            phase = bonusPercentages.length - 1;
        }

        uint tokenBase = ethAmount.mul(BASE_RATE);
        uint tokenBonus = tokenBase.mul(bonusPercentages[phase]).div(100);

        tokens = tokenBase.add(tokenBonus);
    }

    /// @return true if sale has started, false otherwise.
    function saleStarted() constant returns (bool) {
        return (firstblock > 0 && block.number >= firstblock);
    }

    /// @return true if sale has ended, false otherwise.
    function saleEnded() constant returns (bool) {
        return firstblock > 0 && (saleDue() || hardCapReached());
    }

    /// @return true if sale is due when the last phase is finished.
    function saleDue() constant returns (bool) {
        return block.number >= firstblock + BLOCKS_PER_PHASE * NUM_OF_PHASE;
    }

    /// @return true if the hard cap is reached.
    function hardCapReached() constant returns (bool) {
        return totalEthReceived >= HARD_CAP;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"bonusPercentages","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BLOCKS_PER_PHASE","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"HARD_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BASE_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"saleStarted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issueIndex","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":false,"inputs":[{"name":"recipient","type":"address"}],"name":"issueToken","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_firstblock","type":"uint256"}],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hardCapReached","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"saleEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"unsoldTokenIssued","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"tokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"GOAL","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalEthReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"saleDue","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"target","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"NUM_OF_PHASE","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":"firstblock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_target","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[],"name":"SaleStarted","type":"event"},{"anonymous":false,"inputs":[],"name":"SaleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"caller","type":"address"}],"name":"InvalidCaller","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"msg","type":"bytes"}],"name":"InvalidState","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"issueIndex","type":"uint256"},{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"ethAmount","type":"uint256"},{"indexed":false,"name":"tokenAmount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[],"name":"SaleSucceeded","type":"event"},{"anonymous":false,"inputs":[],"name":"SaleFailed","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"}]

6060604052606060405190810160405280601460ff168152602001600a60ff168152602001600060ff1681525060039060036200003e92919062000156565b5060006005556000600660006101000a81548160ff0219169083151502179055506000600755600060085534156200007557600080fd5b60405160208062001aa1833981016040528080519060200190919050505b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a52b7d2dcc80cd2e400000060008190555060005460016000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b506200022a565b82600a601f01602090048101928215620001e45791602002820160005b83821115620001b357835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000173565b8015620001e25782816101000a81549060ff0219169055600101602081600001049283019260010302620001b3565b505b509050620001f39190620001f7565b5090565b6200022791905b808211156200022357600081816101000a81549060ff021916905550600101620001fe565b5090565b90565b611867806200023a6000396000f30060606040523615610168576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461017557806318160ddd146101b75780631e85107c146101e057806323b872dd1461021d5780632e0f26251461027e5780632e5ab94f146102a75780633a03171c146102d857806341910f901461030157806343d726d61461032a5780635c474f9e1461033f5780636a28f8281461036c57806370a082311461039557806389034082146103e257806395805dad146104105780639762f802146104335780639b8906ae146104605780639d0f17c81461048d578063a035b1fe146104ba578063a1bed0be146104e3578063a3f4df7e1461050c578063a9059cbb1461059b578063a9a18dda146105dd578063bea4ae8814610606578063d4b8399214610633578063dbefe78914610688578063dd62ed3e146106b1578063e85365d51461071d578063f76f8d7814610746575b5b610172336107d5565b5b005b341561018057600080fd5b6101b5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b34565b005b34156101c257600080fd5b6101ca610cb7565b6040518082815260200191505060405180910390f35b34156101eb57600080fd5b6102016004808035906020019091905050610cbd565b604051808260ff1660ff16815260200191505060405180910390f35b341561022857600080fd5b61027c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ce7565b005b341561028957600080fd5b610291610fa9565b6040518082815260200191505060405180910390f35b34156102b257600080fd5b6102ba610fae565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156102e357600080fd5b6102eb610fb4565b6040518082815260200191505060405180910390f35b341561030c57600080fd5b610314610fc1565b6040518082815260200191505060405180910390f35b341561033557600080fd5b61033d610fc7565b005b341561034a57600080fd5b61035261117f565b604051808215151515815260200191505060405180910390f35b341561037757600080fd5b61037f61119a565b6040518082815260200191505060405180910390f35b34156103a057600080fd5b6103cc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111a0565b6040518082815260200191505060405180910390f35b61040e600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107d5565b005b341561041b57600080fd5b61043160048080359060200190919050506111ea565b005b341561043e57600080fd5b610446611374565b604051808215151515815260200191505060405180910390f35b341561046b57600080fd5b61047361138b565b604051808215151515815260200191505060405180910390f35b341561049857600080fd5b6104a06113b7565b604051808215151515815260200191505060405180910390f35b34156104c557600080fd5b6104cd6113ca565b6040518082815260200191505060405180910390f35b34156104ee57600080fd5b6104f66113e3565b6040518082815260200191505060405180910390f35b341561051757600080fd5b61051f6113f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105605780820151818401525b602081019050610544565b50505050905090810190601f16801561058d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105a657600080fd5b6105db600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611429565b005b34156105e857600080fd5b6105f06115d5565b6040518082815260200191505060405180910390f35b341561061157600080fd5b6106196115db565b604051808215151515815260200191505060405180910390f35b341561063e57600080fd5b6106466115f4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561069357600080fd5b61069b61161a565b6040518082815260200191505060405180910390f35b34156106bc57600080fd5b610707600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061161f565b6040518082815260200191505060405180910390f35b341561072857600080fd5b6107306116a7565b6040518082815260200191505060405180910390f35b341561075157600080fd5b6107596116ad565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561079a5780820151818401525b60208101905061077e565b50505050905090810190601f1680156107c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000806107e061117f565b80156107f157506107ef61138b565b155b15610ac157662386f26fc10000341015151561080957fe5b6801e5b8fa8fe2ac0000341115151561081e57fe5b3460075401915068f3f20b8dfa69d00000821115151561083a57fe5b610843346116e6565b905061085a346007546117a290919063ffffffff16565b6007819055506108b281600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a290919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109698160016000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c190919063ffffffff16565b60016000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fe316e9c07bf6ee91102f762d73f95b6cab9dcc157278814c7408906855c6a3a66008600081548092919060010191905055843484604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a1600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610abb57600080fd5b5b610b2e565b7fa24636c18e73457917a92dad223d797b84c2f7a4bdd82892f15a8c4cd9aec1b76040518080602001828103825260178152602001807f53616c65206973206e6f7420696e2070726f677265737300000000000000000081525060200191505060405180910390a1600080fd5b5b505050565b60008114158015610bc257506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610bcc57600080fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b5050565b60005481565b600381600a81101515610ccc57fe5b602091828204019190065b915054906101000a900460ff1681565b600060606004810160003690501015610cff57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150610dd083600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e6583600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c190919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ebb83836117c190919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b5b5050505050565b601281565b61714881565b68f3f20b8dfa69d0000081565b61041a81565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111145761102561138b565b156110a15768a2a15d09519be00000600754101561106e577f100c98fe43bef515268f854995b9fe23e0d72dbe3f2726094d9f1864ab4afde260405160405180910390a161109b565b7f0151fbf6d2def4666ab0f87412daa4ac6a67e9fa86a50cfbd7b36b16d72705d960405160405180910390a15b5b61110e565b7fa24636c18e73457917a92dad223d797b84c2f7a4bdd82892f15a8c4cd9aec1b76040518080602001828103825260158152602001807f53616c65206973206e6f7420656e64656420796574000000000000000000000081525060200191505060405180910390a1600080fd5b5b61117c565b7fcbd9d2e0b97a08f1b662bf4d639e76b32edd97a5d890cafbd2b3cf1b803243a433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600080fd5b5b565b60008060055411801561119457506005544310155b90505b90565b60085481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156113085761124861117f565b151561129557438111151561125c57600080fd5b806005819055507f912ee23dde46ec889d6748212cce445d667f7041597691dc89e8549ad8bc0acb60405160405180910390a15b611302565b7fa24636c18e73457917a92dad223d797b84c2f7a4bdd82892f15a8c4cd9aec1b76040518080602001828103825260188152602001807f53616c6520686173206e6f74207374617274656420796574000000000000000081525060200191505060405180910390a1600080fd5b5b611370565b7fcbd9d2e0b97a08f1b662bf4d639e76b32edd97a5d890cafbd2b3cf1b803243a433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600080fd5b5b50565b600068f3f20b8dfa69d00000600754101590505b90565b6000806005541180156113b157506113a16115db565b806113b057506113af611374565b5b5b90505b90565b600660009054906101000a900460ff1681565b60006113dd670de0b6b3a76400006116e6565b90505b90565b68a2a15d09519be0000081565b6040805190810160405280600781526020017f485042436f696e0000000000000000000000000000000000000000000000000081525081565b6040600481016000369050101561143f57600080fd5b61149182600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c190919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061152682600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a290919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5b505050565b60075481565b6000600361714861ffff16026005540143101590505b90565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600381565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b60055481565b6040805190810160405280600381526020017f485042000000000000000000000000000000000000000000000000000000000081525081565b60008060008061170961714861ffff1660055443036117db90919063ffffffff16565b9250600a8310151561171d576001600a0392505b61173261041a866117f790919063ffffffff16565b91506117826064611774600386600a8110151561174b57fe5b602091828204019190065b9054906101000a900460ff1660ff16856117f790919063ffffffff16565b6117db90919063ffffffff16565b905061179781836117a290919063ffffffff16565b93505b505050919050565b60008082840190506117b68482101561182b565b8091505b5092915050565b60006117cf8383111561182b565b81830390505b92915050565b60008082848115156117e957fe5b0490508091505b5092915050565b6000808284029050611820600085148061181b575083858381151561181857fe5b04145b61182b565b8091505b5092915050565b80151561183757600080fd5b5b505600a165627a7a723058205d6b1d42c3d7b5e3c4607e28ce2038f86d2442a5d34558e1510ccc6ad4f31afb0029000000000000000000000000b747560c55751ec55105d08cbdc10af197f2c6f3

Deployed Bytecode

0x60606040523615610168576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461017557806318160ddd146101b75780631e85107c146101e057806323b872dd1461021d5780632e0f26251461027e5780632e5ab94f146102a75780633a03171c146102d857806341910f901461030157806343d726d61461032a5780635c474f9e1461033f5780636a28f8281461036c57806370a082311461039557806389034082146103e257806395805dad146104105780639762f802146104335780639b8906ae146104605780639d0f17c81461048d578063a035b1fe146104ba578063a1bed0be146104e3578063a3f4df7e1461050c578063a9059cbb1461059b578063a9a18dda146105dd578063bea4ae8814610606578063d4b8399214610633578063dbefe78914610688578063dd62ed3e146106b1578063e85365d51461071d578063f76f8d7814610746575b5b610172336107d5565b5b005b341561018057600080fd5b6101b5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b34565b005b34156101c257600080fd5b6101ca610cb7565b6040518082815260200191505060405180910390f35b34156101eb57600080fd5b6102016004808035906020019091905050610cbd565b604051808260ff1660ff16815260200191505060405180910390f35b341561022857600080fd5b61027c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ce7565b005b341561028957600080fd5b610291610fa9565b6040518082815260200191505060405180910390f35b34156102b257600080fd5b6102ba610fae565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156102e357600080fd5b6102eb610fb4565b6040518082815260200191505060405180910390f35b341561030c57600080fd5b610314610fc1565b6040518082815260200191505060405180910390f35b341561033557600080fd5b61033d610fc7565b005b341561034a57600080fd5b61035261117f565b604051808215151515815260200191505060405180910390f35b341561037757600080fd5b61037f61119a565b6040518082815260200191505060405180910390f35b34156103a057600080fd5b6103cc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111a0565b6040518082815260200191505060405180910390f35b61040e600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107d5565b005b341561041b57600080fd5b61043160048080359060200190919050506111ea565b005b341561043e57600080fd5b610446611374565b604051808215151515815260200191505060405180910390f35b341561046b57600080fd5b61047361138b565b604051808215151515815260200191505060405180910390f35b341561049857600080fd5b6104a06113b7565b604051808215151515815260200191505060405180910390f35b34156104c557600080fd5b6104cd6113ca565b6040518082815260200191505060405180910390f35b34156104ee57600080fd5b6104f66113e3565b6040518082815260200191505060405180910390f35b341561051757600080fd5b61051f6113f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105605780820151818401525b602081019050610544565b50505050905090810190601f16801561058d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105a657600080fd5b6105db600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611429565b005b34156105e857600080fd5b6105f06115d5565b6040518082815260200191505060405180910390f35b341561061157600080fd5b6106196115db565b604051808215151515815260200191505060405180910390f35b341561063e57600080fd5b6106466115f4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561069357600080fd5b61069b61161a565b6040518082815260200191505060405180910390f35b34156106bc57600080fd5b610707600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061161f565b6040518082815260200191505060405180910390f35b341561072857600080fd5b6107306116a7565b6040518082815260200191505060405180910390f35b341561075157600080fd5b6107596116ad565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561079a5780820151818401525b60208101905061077e565b50505050905090810190601f1680156107c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000806107e061117f565b80156107f157506107ef61138b565b155b15610ac157662386f26fc10000341015151561080957fe5b6801e5b8fa8fe2ac0000341115151561081e57fe5b3460075401915068f3f20b8dfa69d00000821115151561083a57fe5b610843346116e6565b905061085a346007546117a290919063ffffffff16565b6007819055506108b281600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a290919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109698160016000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c190919063ffffffff16565b60016000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fe316e9c07bf6ee91102f762d73f95b6cab9dcc157278814c7408906855c6a3a66008600081548092919060010191905055843484604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a1600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610abb57600080fd5b5b610b2e565b7fa24636c18e73457917a92dad223d797b84c2f7a4bdd82892f15a8c4cd9aec1b76040518080602001828103825260178152602001807f53616c65206973206e6f7420696e2070726f677265737300000000000000000081525060200191505060405180910390a1600080fd5b5b505050565b60008114158015610bc257506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610bcc57600080fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b5050565b60005481565b600381600a81101515610ccc57fe5b602091828204019190065b915054906101000a900460ff1681565b600060606004810160003690501015610cff57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150610dd083600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e6583600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c190919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ebb83836117c190919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b5b5050505050565b601281565b61714881565b68f3f20b8dfa69d0000081565b61041a81565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111145761102561138b565b156110a15768a2a15d09519be00000600754101561106e577f100c98fe43bef515268f854995b9fe23e0d72dbe3f2726094d9f1864ab4afde260405160405180910390a161109b565b7f0151fbf6d2def4666ab0f87412daa4ac6a67e9fa86a50cfbd7b36b16d72705d960405160405180910390a15b5b61110e565b7fa24636c18e73457917a92dad223d797b84c2f7a4bdd82892f15a8c4cd9aec1b76040518080602001828103825260158152602001807f53616c65206973206e6f7420656e64656420796574000000000000000000000081525060200191505060405180910390a1600080fd5b5b61117c565b7fcbd9d2e0b97a08f1b662bf4d639e76b32edd97a5d890cafbd2b3cf1b803243a433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600080fd5b5b565b60008060055411801561119457506005544310155b90505b90565b60085481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156113085761124861117f565b151561129557438111151561125c57600080fd5b806005819055507f912ee23dde46ec889d6748212cce445d667f7041597691dc89e8549ad8bc0acb60405160405180910390a15b611302565b7fa24636c18e73457917a92dad223d797b84c2f7a4bdd82892f15a8c4cd9aec1b76040518080602001828103825260188152602001807f53616c6520686173206e6f74207374617274656420796574000000000000000081525060200191505060405180910390a1600080fd5b5b611370565b7fcbd9d2e0b97a08f1b662bf4d639e76b32edd97a5d890cafbd2b3cf1b803243a433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600080fd5b5b50565b600068f3f20b8dfa69d00000600754101590505b90565b6000806005541180156113b157506113a16115db565b806113b057506113af611374565b5b5b90505b90565b600660009054906101000a900460ff1681565b60006113dd670de0b6b3a76400006116e6565b90505b90565b68a2a15d09519be0000081565b6040805190810160405280600781526020017f485042436f696e0000000000000000000000000000000000000000000000000081525081565b6040600481016000369050101561143f57600080fd5b61149182600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c190919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061152682600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a290919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5b505050565b60075481565b6000600361714861ffff16026005540143101590505b90565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600381565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b60055481565b6040805190810160405280600381526020017f485042000000000000000000000000000000000000000000000000000000000081525081565b60008060008061170961714861ffff1660055443036117db90919063ffffffff16565b9250600a8310151561171d576001600a0392505b61173261041a866117f790919063ffffffff16565b91506117826064611774600386600a8110151561174b57fe5b602091828204019190065b9054906101000a900460ff1660ff16856117f790919063ffffffff16565b6117db90919063ffffffff16565b905061179781836117a290919063ffffffff16565b93505b505050919050565b60008082840190506117b68482101561182b565b8091505b5092915050565b60006117cf8383111561182b565b81830390505b92915050565b60008082848115156117e957fe5b0490508091505b5092915050565b6000808284029050611820600085148061181b575083858381151561181857fe5b04145b61182b565b8091505b5092915050565b80151561183757600080fd5b5b505600a165627a7a723058205d6b1d42c3d7b5e3c4607e28ce2038f86d2442a5d34558e1510ccc6ad4f31afb0029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000b747560c55751ec55105d08cbdc10af197f2c6f3

-----Decoded View---------------
Arg [0] : _target (address): 0xb747560C55751eC55105d08CbDc10aF197f2C6F3

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b747560c55751ec55105d08cbdc10af197f2c6f3


Swarm Source

bzzr://5d6b1d42c3d7b5e3c4607e28ce2038f86d2442a5d34558e1510ccc6ad4f31afb
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.