ETH Price: $3,095.57 (+2.55%)
Gas: 27 Gwei

Contract

0x5884c40ddEd55b5649A1AaA677A750eaD35E3043
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Transfer65401362018-10-18 20:43:541956 days 11 hrs ago1539895434IN
0x5884c4...D35E3043
0.00275 ETH0.000315664
Transfer65149262018-10-14 18:00:261960 days 14 hrs ago1539540026IN
0x5884c4...D35E3043
0.001 ETH0.000315664
Transfer64720722018-10-07 19:11:271967 days 13 hrs ago1538939487IN
0x5884c4...D35E3043
0 ETH0.000133266
Transfer63642182018-09-20 3:15:101985 days 4 hrs ago1537413310IN
0x5884c4...D35E3043
0.005 ETH0.000511328
Transfer63311532018-09-14 16:32:211990 days 15 hrs ago1536942741IN
0x5884c4...D35E3043
0 ETH0.000122245
Transfer63289562018-09-14 7:40:401991 days 33 mins ago1536910840IN
0x5884c4...D35E3043
0 ETH0.000184417.5625
Transfer63276242018-09-14 2:29:021991 days 5 hrs ago1536892142IN
0x5884c4...D35E3043
0 ETH0.000146316
Transfer63268362018-09-13 23:28:471991 days 8 hrs ago1536881327IN
0x5884c4...D35E3043
0 ETH0.0002926212
Transfer63254002018-09-13 17:44:461991 days 14 hrs ago1536860686IN
0x5884c4...D35E3043
0 ETH0.001463160
Transfer63252692018-09-13 17:13:151991 days 15 hrs ago1536858795IN
0x5884c4...D35E3043
0 ETH0.000195088
Transfer62653622018-09-03 16:36:122001 days 15 hrs ago1535992572IN
0x5884c4...D35E3043
0 ETH0.001002441
Transfer62426932018-08-30 21:01:422005 days 11 hrs ago1535662902IN
0x5884c4...D35E3043
0 ETH0.001002441
Transfer61885172018-08-21 17:18:512014 days 14 hrs ago1534871931IN
0x5884c4...D35E3043
0 ETH0.000146696
Transfer61745632018-08-19 8:51:382016 days 23 hrs ago1534668698IN
0x5884c4...D35E3043
0 ETH0.0012224550
Transfer61705352018-08-18 16:40:192017 days 15 hrs ago1534610419IN
0x5884c4...D35E3043
0 ETH0.001002441
Transfer61693622018-08-18 11:42:272017 days 20 hrs ago1534592547IN
0x5884c4...D35E3043
0 ETH0.001002441
Transfer61334052018-08-12 9:42:522023 days 22 hrs ago1534066972IN
0x5884c4...D35E3043
0.01 ETH0.000394575
Transfer61275022018-08-11 9:32:492024 days 22 hrs ago1533979969IN
0x5884c4...D35E3043
0.0001 ETH0.000473496
Set Tokens Per E...61078342018-08-08 1:53:282028 days 6 hrs ago1533693208IN
0x5884c4...D35E3043
0 ETH0.000056922
Transfer60998092018-08-06 17:15:592029 days 14 hrs ago1533575759IN
0x5884c4...D35E3043
0 ETH0.0009561241
Transfer60997502018-08-06 17:02:062029 days 15 hrs ago1533574926IN
0x5884c4...D35E3043
0 ETH0.00098441
Transfer60969282018-08-06 5:44:232030 days 2 hrs ago1533534263IN
0x5884c4...D35E3043
0.01 ETH0.0013148114
Transfer60969202018-08-06 5:42:042030 days 2 hrs ago1533534124IN
0x5884c4...D35E3043
0.01 ETH0.0000844
Transfer60889832018-08-04 21:32:462031 days 10 hrs ago1533418366IN
0x5884c4...D35E3043
0.001 ETH0.000310
Create Sale60697592018-08-01 15:32:532034 days 16 hrs ago1533137573IN
0x5884c4...D35E3043
0 ETH0.0022927641
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Txn Hash Block From To Value
65401362018-10-18 20:43:541956 days 11 hrs ago1539895434
0x5884c4...D35E3043
0.00275 ETH
65149262018-10-14 18:00:261960 days 14 hrs ago1539540026
0x5884c4...D35E3043
0.001 ETH
63642182018-09-20 3:15:101985 days 4 hrs ago1537413310
0x5884c4...D35E3043
0.005 ETH
61334052018-08-12 9:42:522023 days 22 hrs ago1534066972
0x5884c4...D35E3043
0.01 ETH
61275022018-08-11 9:32:492024 days 22 hrs ago1533979969
0x5884c4...D35E3043
0.0001 ETH
60969282018-08-06 5:44:232030 days 2 hrs ago1533534263
0x5884c4...D35E3043
0.01 ETH
60594872018-07-30 21:38:152036 days 10 hrs ago1532986695
0x5884c4...D35E3043
0.0000001 ETH
60577432018-07-30 14:39:592036 days 17 hrs ago1532961599
0x5884c4...D35E3043
0.001 ETH
60497382018-07-29 6:25:042038 days 1 hr ago1532845504
0x5884c4...D35E3043
0.0001 ETH
60484602018-07-29 1:26:032038 days 6 hrs ago1532827563
0x5884c4...D35E3043
0.0015 ETH
60483082018-07-29 0:51:222038 days 7 hrs ago1532825482
0x5884c4...D35E3043
0.01 ETH
60459072018-07-28 15:26:072038 days 16 hrs ago1532791567
0x5884c4...D35E3043
0.015 ETH
60458952018-07-28 15:23:582038 days 16 hrs ago1532791438
0x5884c4...D35E3043
0.01 ETH
60358152018-07-26 22:33:302040 days 9 hrs ago1532644410
0x5884c4...D35E3043
0.001 ETH
60224552018-07-24 15:46:412042 days 16 hrs ago1532447201
0x5884c4...D35E3043
0.01 ETH
60190412018-07-24 1:45:252043 days 6 hrs ago1532396725
0x5884c4...D35E3043
0.0002 ETH
60162202018-07-23 14:13:022043 days 18 hrs ago1532355182
0x5884c4...D35E3043
0.002 ETH
60134042018-07-23 2:36:512044 days 5 hrs ago1532313411
0x5884c4...D35E3043
0.03 ETH
60115302018-07-22 19:11:212044 days 13 hrs ago1532286681
0x5884c4...D35E3043
0.01 ETH
60111162018-07-22 17:32:552044 days 14 hrs ago1532280775
0x5884c4...D35E3043
0.001 ETH
59911492018-07-19 8:29:002047 days 23 hrs ago1531988940
0x5884c4...D35E3043
0.00001 ETH
59901712018-07-19 4:17:412048 days 3 hrs ago1531973861
0x5884c4...D35E3043
0.01 ETH
59413572018-07-10 22:27:072056 days 9 hrs ago1531261627
0x5884c4...D35E3043
0.00000213 ETH
58781802018-06-30 2:17:242067 days 5 hrs ago1530325044
0x5884c4...D35E3043
0.011 ETH
58781772018-06-30 2:16:292067 days 5 hrs ago1530324989
0x5884c4...D35E3043
0.001 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OnasanderToken

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
No with 200 runs

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

/** @title Onasander Token Contract
*   
*   @author: Andrzej Wegrzyn
*   Contact: [email protected]
*   Date: May 5, 2018
*   Location: New York, USA
*   Token: Onasander
*   Symbol: ONA
*   
*   @notice This is a simple contract due to solidity bugs and complications. 
*
*   @notice Owner has the option to burn all the remaining tokens after the ICO.  That way Owners will not end up with majority of the tokens.
*   @notice Onasander would love to give every user the option to burn the remaining tokens, but due to Solidity VM bugs and risk, we will process
*   @notice all coin burns and refunds manually.
*   
*   @notice How to run the contract:
*
*   Requires:
*   Wallet Address
*
*   Run:
*   1. Create Contract
*   2. Set Minimum Goal
*   3. Set Tokens Per ETH
*   4. Create PRE ICO Sale (can have multiple PRE-ICOs)
*   5. End PRE ICO Sale
*   6. Create ICO Sale
*   7. End ICO Sale
*   8. END ICO
*   9. Burn Remaining Tokens
*
*   e18 for every value except tokens per ETH
*   
*   @dev This contract allows you to configure as many Pre-ICOs as you need.  It's a very simple contract written to give contract admin lots of dynamic options.
*   @dev Here, most features except for total supply, max tokens for sale, company reserves, and token standard features, are dynamic.  You can configure your contract
*   @dev however you want to.  
*
*   @dev IDE: Remix with Mist 0.10
*   @dev Token supply numbers are provided in 0e18 format in MIST in order to bypass MIST number format errors.
*/

pragma solidity ^0.4.23;

contract OnasanderToken
{
    using SafeMath for uint;
    
    address private wallet;                                // Address where funds are collected
    address public owner;                                  // contract owner
    string constant public name = "Onasander";
    string constant public symbol = "ONA";
    uint8 constant public decimals = 18;
    uint public totalSupply = 88000000e18;                       
    uint public totalTokensSold = 0e18;                    // total number of tokens sold to date
    uint public totalTokensSoldInThisSale = 0e18;          // total number of tokens sold in this sale
    uint public maxTokensForSale = 79200000e18;            // 90%  max tokens we can ever sale  
    uint public companyReserves = 8800000e18;              // 10%  company reserves. this is what we end up with after eco ends and burns the rest if any  
    uint public minimumGoal = 0e18;                        // hold minimum goal
    uint public tokensForSale = 0e18;                      // total number of tokens we are selling in the current sale (ICO, preICO)
    bool public saleEnabled = false;                       // enables all sales: ICO and tokensPreICO
    bool public ICOEnded = false;                          // flag checking if the ICO has completed
    bool public burned = false;                            // Excess tokens burned flag after ICO ends
    uint public tokensPerETH = 800;                        // amount of Onasander tokens you get for 1 ETH
    bool public wasGoalReached = false;                    // checks if minimum goal was reached
    address private lastBuyer;
    uint private singleToken = 1e18;

    constructor(address icoWallet) public 
    {   
        require(icoWallet != address(0), "ICO Wallet address is required.");

        owner = msg.sender;
        wallet = icoWallet;
        balances[owner] = totalSupply;  // give initial full balance to contract owner
        emit TokensMinted(owner, totalSupply);        
    }

    event ICOHasEnded();
    event SaleEnded();
    event OneTokenBugFixed();
    event ICOConfigured(uint minimumGoal);
    event TokenPerETHReset(uint amount);
    event ICOCapReached(uint amount);
    event SaleCapReached(uint amount);
    event GoalReached(uint amount);
    event Burned(uint amount);    
    event BuyTokens(address buyer, uint tokens);
    event SaleStarted(uint tokensForSale);    
    event TokensMinted(address targetAddress, uint tokens);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner, uint tokens);
    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);

    mapping(address => uint) balances;
    
    mapping(address => mapping (address => uint)) allowances;

    function balanceOf(address accountAddress) public constant returns (uint balance)
    {
        return balances[accountAddress];
    }

    function allowance(address sender, address spender) public constant returns (uint remainingAllowedAmount)
    {
        return allowances[sender][spender];
    }

    function transfer(address to, uint tokens) public returns (bool success)
    {     
        require (ICOEnded, "ICO has not ended.  Can not transfer.");
        require (balances[to] + tokens > balances[to], "Overflow is not allowed.");

        // actual transfer
        // SafeMath.sub will throw if there is not enough balance.
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        
        emit Transfer(msg.sender, to, tokens);
        return true;
    }



    function transferFrom(address from, address to, uint tokens) public returns(bool success) 
    {
        require (ICOEnded, "ICO has not ended.  Can not transfer.");
        require (balances[to] + tokens > balances[to], "Overflow is not allowed.");

        // actual transfer
        balances[from] = balances[from].sub(tokens);
        allowances[from][msg.sender] = allowances[from][msg.sender].sub(tokens); // lower the allowance by the amount of tokens 
        balances[to] = balances[to].add(tokens);
        
        emit Transfer(from, to, tokens);        
        return true;
    }

    function approve(address spender, uint tokens) public returns(bool success) 
    {          
        require (ICOEnded, "ICO has not ended.  Can not transfer.");      
        allowances[msg.sender][spender] = tokens;                
        emit Approval(msg.sender, spender, tokens);
        return true;
    }

        // in case some investor pays by wire or credit card we will transfer him the tokens manually.
    function wirePurchase(address to, uint numberOfTokenPurchased) onlyOwner public
    {     
        require (saleEnabled, "Sale must be enabled.");
        require (!ICOEnded, "ICO already ended.");
        require (numberOfTokenPurchased > 0, "Tokens must be greater than 0.");
        require (tokensForSale > totalTokensSoldInThisSale, "There is no more tokens for sale in this sale.");
                        
        // calculate amount
        uint buyAmount = numberOfTokenPurchased;
        uint tokens = 0e18;

        // this check is not perfect as someone may want to buy more than we offer for sale and we lose a sale.
        // the best would be to calclate and sell you only the amout of tokens that is left and refund the rest of money        
        if (totalTokensSoldInThisSale.add(buyAmount) >= tokensForSale)
        {
            tokens = tokensForSale.sub(totalTokensSoldInThisSale);  // we allow you to buy only up to total tokens for sale, and refund the rest
            // need to program the refund for the rest,or do it manually.  
        }
        else
        {
            tokens = buyAmount;
        }

        // transfer only as we do not need to take the payment since we already did in wire
        require (balances[to].add(tokens) > balances[to], "Overflow is not allowed.");
        balances[to] = balances[to].add(tokens);
        balances[owner] = balances[owner].sub(tokens);
        lastBuyer = to;

        // update counts
        totalTokensSold = totalTokensSold.add(tokens);
        totalTokensSoldInThisSale = totalTokensSoldInThisSale.add(tokens);
        
        emit BuyTokens(to, tokens);
        emit Transfer(owner, to, tokens);

        isGoalReached();
        isMaxCapReached();
    }

    function buyTokens() payable public
    {        
        require (saleEnabled, "Sale must be enabled.");
        require (!ICOEnded, "ICO already ended.");
        require (tokensForSale > totalTokensSoldInThisSale, "There is no more tokens for sale in this sale.");
        require (msg.value > 0, "Must send ETH");

        // calculate amount
        uint buyAmount = SafeMath.mul(msg.value, tokensPerETH);
        uint tokens = 0e18;

        // this check is not perfect as someone may want to buy more than we offer for sale and we lose a sale.
        // the best would be to calclate and sell you only the amout of tokens that is left and refund the rest of money        
        if (totalTokensSoldInThisSale.add(buyAmount) >= tokensForSale)
        {
            tokens = tokensForSale.sub(totalTokensSoldInThisSale);  // we allow you to buy only up to total tokens for sale, and refund the rest

            // need to program the refund for the rest
        }
        else
        {
            tokens = buyAmount;
        }

        // buy
        require (balances[msg.sender].add(tokens) > balances[msg.sender], "Overflow is not allowed.");
        balances[msg.sender] = balances[msg.sender].add(tokens);
        balances[owner] = balances[owner].sub(tokens);
        lastBuyer = msg.sender;

        // take the money out right away
        wallet.transfer(msg.value);

        // update counts
        totalTokensSold = totalTokensSold.add(tokens);
        totalTokensSoldInThisSale = totalTokensSoldInThisSale.add(tokens);
        
        emit BuyTokens(msg.sender, tokens);
        emit Transfer(owner, msg.sender, tokens);

        isGoalReached();
        isMaxCapReached();
    }

    // Fallback function. Used for buying tokens from contract owner by simply
    // sending Ethers to contract.
    function() public payable 
    {
        // we buy tokens using whatever ETH was sent in
        buyTokens();
    }

    // Called when ICO is closed. Burns the remaining tokens except the tokens reserved
    // Must be called by the owner to trigger correct transfer event
    function burnRemainingTokens() public onlyOwner
    {
        require (!burned, "Remaining tokens have been burned already.");
        require (ICOEnded, "ICO has not ended yet.");

        uint difference = balances[owner].sub(companyReserves); 

        if (wasGoalReached)
        {
            totalSupply = totalSupply.sub(difference);
            balances[owner] = companyReserves;
        }
        else
        {
            // in case we did not reach the goal, we burn all tokens except tokens purchased.
            totalSupply = totalTokensSold;
            balances[owner] = 0e18;
        }

        burned = true;

        emit Transfer(owner, address(0), difference);    // this is run in order to update token holders in the website
        emit Burned(difference);        
    }

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

    function transferOwnership(address newOwner) onlyOwner public
    {
        address preOwner = owner;        
        owner = newOwner;

        uint previousBalance = balances[preOwner];

        // transfer balance 
        balances[newOwner] = balances[newOwner].add(previousBalance);
        balances[preOwner] = 0;

        //emit Transfer(preOwner, newOwner, previousBalance); // required to update the Token Holders on the network
        emit OwnershipTransferred(preOwner, newOwner, previousBalance);
    }

    // Set the number of ONAs sold per ETH 
    function setTokensPerETH(uint newRate) onlyOwner public
    {
        require (!ICOEnded, "ICO already ended.");
        require (newRate > 0, "Rate must be higher than 0.");
        tokensPerETH = newRate;
        emit TokenPerETHReset(newRate);
    }

    // Minimum goal is based on USD, not on ETH. Since we will have different dynamic prices based on the daily pirce of ETH, we
    // will need to be able to adjust our minimum goal in tokens sold, as our goal is set in tokens, not USD.
    function setMinimumGoal(uint goal) onlyOwner public
    {   
        require(goal > 0e18,"Minimum goal must be greater than 0.");
        minimumGoal = goal;

        // since we can edit the goal, we want to check if we reached the goal before in case we lowered the goal number.
        isGoalReached();

        emit ICOConfigured(goal);
    }

    function createSale(uint numberOfTokens) onlyOwner public
    {
        require (!saleEnabled, "Sale is already going on.");
        require (!ICOEnded, "ICO already ended.");
        require (totalTokensSold < maxTokensForSale, "We already sold all our tokens.");

        totalTokensSoldInThisSale = 0e18;
        uint tryingToSell = totalTokensSold.add(numberOfTokens);

        // in case we are trying to create a sale with too many tokens, we subtract and sell only what's left
        if (tryingToSell > maxTokensForSale)
        {
            tokensForSale = maxTokensForSale.sub(totalTokensSold); 
        }
        else
        {
            tokensForSale = numberOfTokens;
        }

        tryingToSell = 0e18;
        saleEnabled = true;
        emit SaleStarted(tokensForSale);
    }

    function endSale() public
    {
        if (saleEnabled)
        {
            saleEnabled = false;
            tokensForSale = 0e18;
            emit SaleEnded();
        }
    }

    function endICO() onlyOwner public
    {
        if (!ICOEnded)
        {
            // run this before end of ICO and end of last sale            
            fixTokenCalcBug();

            endSale();

            ICOEnded = true;            
            lastBuyer = address(0);
            
            emit ICOHasEnded();
        }
    }

    function isGoalReached() internal
    {
        // check if we reached the goal
        if (!wasGoalReached)
        {
            if (totalTokensSold >= minimumGoal)
            {
                wasGoalReached = true;
                emit GoalReached(minimumGoal);
            }
        }
    }

    function isMaxCapReached() internal
    {
        if (totalTokensSoldInThisSale >= tokensForSale)
        {            
            emit SaleCapReached(totalTokensSoldInThisSale);
            endSale();
        }

        if (totalTokensSold >= maxTokensForSale)
        {            
            emit ICOCapReached(maxTokensForSale);
            endICO();
        }
    }

    // This is a hack to add the lost token during final full sale. 
    function fixTokenCalcBug() internal
    {        
        require(!burned, "Fix lost token can only run before the burning of the tokens.");        
        
        if (maxTokensForSale.sub(totalTokensSold) == singleToken)
        {
            totalTokensSold = totalTokensSold.add(singleToken);
            totalTokensSoldInThisSale = totalTokensSoldInThisSale.add(singleToken);
            
            balances[lastBuyer] = balances[lastBuyer].add(singleToken);
            balances[owner] = balances[owner].sub(singleToken);

            emit Transfer(owner, lastBuyer, singleToken);
            emit OneTokenBugFixed();
        }
    }
}

library SafeMath {

  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    if (a == 0) {
      return 0;
    }
    c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // 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 a / b;
  }

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

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

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":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newRate","type":"uint256"}],"name":"setTokensPerETH","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokensForSale","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":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"numberOfTokenPurchased","type":"uint256"}],"name":"wirePurchase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"endSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"endICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ICOEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalTokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wasGoalReached","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"accountAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"saleEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burned","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalTokensSoldInThisSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"burnRemainingTokens","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxTokensForSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"numberOfTokens","type":"uint256"}],"name":"createSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"companyReserves","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"goal","type":"uint256"}],"name":"setMinimumGoal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minimumGoal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"sender","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remainingAllowedAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"icoWallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[],"name":"ICOHasEnded","type":"event"},{"anonymous":false,"inputs":[],"name":"SaleEnded","type":"event"},{"anonymous":false,"inputs":[],"name":"OneTokenBugFixed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"minimumGoal","type":"uint256"}],"name":"ICOConfigured","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPerETHReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"ICOCapReached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"SaleCapReached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"GoalReached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"BuyTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokensForSale","type":"uint256"}],"name":"SaleStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"targetAddress","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"TokensMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

60806040526a48cab98f1671af58000000600255600060035560006004556a4183409a60ffea9c0000006005556a074778f4b571c4bc000000600655600060075560006008556000600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff0219169083151502179055506000600960026101000a81548160ff021916908315150217905550610320600a556000600b60006101000a81548160ff021916908315150217905550670de0b6b3a7640000600c553480156100cf57600080fd5b506040516020806136ec83398101806040528101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f49434f2057616c6c657420616464726573732069732072657175697265642e0081525060200191505060405180910390fd5b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600254600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f3f2c9d57c068687834f0de942a9babb9e5acab57d516d3480a3c16ee165a4273600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1506133cd8061031f6000396000f300608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461018a578063095ea7b31461021a578063116fb2a81461027f57806312aef8c3146102ac57806318160ddd146102d757806323b872dd1461030257806324562747146103875780632cc88401146103b2578063313ce567146103ff578063380d831b146104305780634f2484091461044757806362d9c2671461045e57806363b201171461048d5780636c4d0c00146104b857806370a08231146104e757806371b9b6461461053e57806373f425611461056d578063755f12db1461059c57806383408d73146105c75780638da5cb5b146105de57806395d89b411461063557806397f2f5c3146106c55780639da1b02a146106f05780639f0e7d441461071d578063a9059cbb14610748578063b2561417146107ad578063bc697319146107da578063d0febe4c14610805578063dd62ed3e1461080f578063f2fde38b14610886575b6101886108c9565b005b34801561019657600080fd5b5061019f610f9b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101df5780820151818401526020810190506101c4565b50505050905090810190601f16801561020c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022657600080fd5b50610265600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fd4565b604051808215151515815260200191505060405180910390f35b34801561028b57600080fd5b506102aa60048036038101908080359060200190929190505050611170565b005b3480156102b857600080fd5b506102c161130a565b6040518082815260200191505060405180910390f35b3480156102e357600080fd5b506102ec611310565b6040518082815260200191505060405180910390f35b34801561030e57600080fd5b5061036d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611316565b604051808215151515815260200191505060405180910390f35b34801561039357600080fd5b5061039c611762565b6040518082815260200191505060405180910390f35b3480156103be57600080fd5b506103fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611768565b005b34801561040b57600080fd5b50610414611e25565b604051808260ff1660ff16815260200191505060405180910390f35b34801561043c57600080fd5b50610445611e2a565b005b34801561045357600080fd5b5061045c611e91565b005b34801561046a57600080fd5b50610473611f9f565b604051808215151515815260200191505060405180910390f35b34801561049957600080fd5b506104a2611fb2565b6040518082815260200191505060405180910390f35b3480156104c457600080fd5b506104cd611fb8565b604051808215151515815260200191505060405180910390f35b3480156104f357600080fd5b50610528600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fcb565b6040518082815260200191505060405180910390f35b34801561054a57600080fd5b50610553612014565b604051808215151515815260200191505060405180910390f35b34801561057957600080fd5b50610582612027565b604051808215151515815260200191505060405180910390f35b3480156105a857600080fd5b506105b161203a565b6040518082815260200191505060405180910390f35b3480156105d357600080fd5b506105dc612040565b005b3480156105ea57600080fd5b506105f3612430565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064157600080fd5b5061064a612456565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561068a57808201518184015260208101905061066f565b50505050905090810190601f1680156106b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106d157600080fd5b506106da61248f565b6040518082815260200191505060405180910390f35b3480156106fc57600080fd5b5061071b60048036038101908080359060200190929190505050612495565b005b34801561072957600080fd5b50610732612727565b6040518082815260200191505060405180910390f35b34801561075457600080fd5b50610793600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061272d565b604051808215151515815260200191505060405180910390f35b3480156107b957600080fd5b506107d860048036038101908080359060200190929190505050612a69565b005b3480156107e657600080fd5b506107ef612bac565b6040518082815260200191505060405180910390f35b61080d6108c9565b005b34801561081b57600080fd5b50610870600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612bb2565b6040518082815260200191505060405180910390f35b34801561089257600080fd5b506108c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c39565b005b600080600960009054906101000a900460ff161515610950576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f53616c65206d75737420626520656e61626c65642e000000000000000000000081525060200191505060405180910390fd5b600960019054906101000a900460ff161515156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b600454600854111515610a76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f5468657265206973206e6f206d6f726520746f6b656e7320666f722073616c6581526020017f20696e20746869732073616c652e00000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610aee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f4d7573742073656e64204554480000000000000000000000000000000000000081525060200191505060405180910390fd5b610afa34600a54612e84565b915060009050600854610b1883600454612ebc90919063ffffffff16565b101515610b3d57610b36600454600854612ed890919063ffffffff16565b9050610b41565b8190505b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bd382600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b111515610c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b610c9a81600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d5181600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610e5e573d6000803e3d6000fd5b50610e7481600354612ebc90919063ffffffff16565b600381905550610e8f81600454612ebc90919063ffffffff16565b6004819055507f4aff2c4e63da20aaa26764b3e97f557bf5e95b76ddba8f97a156abbecb0818463382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3610f8f612ef1565b610f97612f6c565b5050565b6040805190810160405280600981526020017f4f6e6173616e646572000000000000000000000000000000000000000000000081525081565b6000600960019054906101000a900460ff161515611080576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f49434f20686173206e6f7420656e6465642e202043616e206e6f74207472616e81526020017f736665722e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111cc57600080fd5b600960019054906101000a900460ff16151515611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b6000811115156112c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f52617465206d75737420626520686967686572207468616e20302e000000000081525060200191505060405180910390fd5b80600a819055507f52305729103b1933f51f949a09d2b9a1c408363a6e7b0b315a0e00464bc029d5816040518082815260200191505060405180910390a150565b60085481565b60025481565b6000600960019054906101000a900460ff1615156113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f49434f20686173206e6f7420656e6465642e202043616e206e6f74207472616e81526020017f736665722e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b61150b82600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115dd82600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116af82600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600a5481565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117c757600080fd5b600960009054906101000a900460ff16151561184b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f53616c65206d75737420626520656e61626c65642e000000000000000000000081525060200191505060405180910390fd5b600960019054906101000a900460ff161515156118d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b600083111515611948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f546f6b656e73206d7573742062652067726561746572207468616e20302e000081525060200191505060405180910390fd5b6004546008541115156119e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f5468657265206973206e6f206d6f726520746f6b656e7320666f722073616c6581526020017f20696e20746869732073616c652e00000000000000000000000000000000000081525060400191505060405180910390fd5b82915060009050600854611a0883600454612ebc90919063ffffffff16565b101515611a2d57611a26600454600854612ed890919063ffffffff16565b9050611a31565b8190505b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ac382600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b111515611b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b611b8a81600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c4181600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611cfc81600354612ebc90919063ffffffff16565b600381905550611d1781600454612ebc90919063ffffffff16565b6004819055507f4aff2c4e63da20aaa26764b3e97f557bf5e95b76ddba8f97a156abbecb0818468482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a18373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611e17612ef1565b611e1f612f6c565b50505050565b601281565b600960009054906101000a900460ff1615611e8f576000600960006101000a81548160ff02191690831515021790555060006008819055507f0bd8a3eb532e5fbcd3f5b00335f0fb42fdc11969e9af0fab7c9e71a36ae0d31a60405160405180910390a15b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eed57600080fd5b600960019054906101000a900460ff161515611f9d57611f0b61300c565b611f13611e2a565b6001600960016101000a81548160ff0219169083151502179055506000600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f89a5180095e498e64367fb3fe8a42dbd6fbcdc7b5c429a7844318fbc3be3a13760405160405180910390a15b565b600960019054906101000a900460ff1681565b60035481565b600b60009054906101000a900460ff1681565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900460ff1681565b600960029054906101000a900460ff1681565b60045481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561209e57600080fd5b600960029054906101000a900460ff16151515612149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f52656d61696e696e6720746f6b656e732068617665206265656e206275726e6581526020017f6420616c72656164792e0000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600960019054906101000a900460ff1615156121cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f49434f20686173206e6f7420656e646564207965742e0000000000000000000081525060200191505060405180910390fd5b612243600654600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b9050600b60009054906101000a900460ff16156122e25761226f81600254612ed890919063ffffffff16565b600281905550600654600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612353565b6003546002819055506000600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600960026101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37fd83c63197e8e676d80ab0122beba9a9d20f3828839e9a1d6fe81d242e9cd7e6e816040518082815260200191505060405180910390a150565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f4f4e41000000000000000000000000000000000000000000000000000000000081525081565b60055481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124f357600080fd5b600960009054906101000a900460ff16151515612578576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616c6520697320616c726561647920676f696e67206f6e2e0000000000000081525060200191505060405180910390fd5b600960019054906101000a900460ff161515156125fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b600554600354101515612678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f576520616c726561647920736f6c6420616c6c206f757220746f6b656e732e0081525060200191505060405180910390fd5b600060048190555061269582600354612ebc90919063ffffffff16565b90506005548111156126c3576126b8600354600554612ed890919063ffffffff16565b6008819055506126cb565b816008819055505b600090506001600960006101000a81548160ff0219169083151502179055507fa78c547613f6306e7a70d1bd161c18a496cae1eeb8d4f9e58b60d69ad72ddf586008546040518082815260200191505060405180910390a15050565b60065481565b6000600960019054906101000a900460ff1615156127d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f49434f20686173206e6f7420656e6465642e202043616e206e6f74207472616e81526020017f736665722e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156128d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b61292282600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129b782600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612ac557600080fd5b600081111515612b63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4d696e696d756d20676f616c206d75737420626520677265617465722074686181526020017f6e20302e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600781905550612b72612ef1565b7f0a64ca691d1f0b1a24c79a664d494042b0e7e40ca1495ad40ba5f3f71f23ddfd816040518082815260200191505060405180910390a150565b60075481565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612c9857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050612d9281600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc13a1166d81cd3b0b352a367aebab95f3a6f6bc695fdab8e9a9d335239c3861b836040518082815260200191505060405180910390a3505050565b600080831415612e975760009050612eb6565b8183029050818382811515612ea857fe5b04141515612eb257fe5b8090505b92915050565b60008183019050828110151515612ecf57fe5b80905092915050565b6000828211151515612ee657fe5b818303905092915050565b600b60009054906101000a900460ff161515612f6a57600754600354101515612f69576001600b60006101000a81548160ff0219169083151502179055507ffbfd8ab7c24300fa9888cd721c8565a7da56759384781283684dcf7c7c4a846b6007546040518082815260200191505060405180910390a15b5b565b600854600454101515612fbb577fb73e71437a3dd947096186742d93725c20946637d210c36562cef949e19dafae6004546040518082815260200191505060405180910390a1612fba611e2a565b5b60055460035410151561300a577ffc7d1c6bb49966a7b98ad244a063c952205109f2f0d1f8b50b5ce50d8019d9146005546040518082815260200191505060405180910390a1613009611e91565b5b565b600960029054906101000a900460ff161515156130b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f466978206c6f737420746f6b656e2063616e206f6e6c792072756e206265666f81526020017f726520746865206275726e696e67206f662074686520746f6b656e732e00000081525060400191505060405180910390fd5b600c546130d1600354600554612ed890919063ffffffff16565b141561339f576130ee600c54600354612ebc90919063ffffffff16565b60038190555061310b600c54600454612ebc90919063ffffffff16565b600481905550613187600c54600d6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613262600c54600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040518082815260200191505060405180910390a37fedf2ef24b74d409b6957d607578f64cbb8b4fa11afaad64eedf2de58043772fe60405160405180910390a15b5600a165627a7a72305820a473a0b54ed24bd66c59e500def6aa48b310b7d56b41369d38ebcb19672050630029000000000000000000000000c5190398f2cdf63504df8150e13a2b70ce91d24d

Deployed Bytecode

0x608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461018a578063095ea7b31461021a578063116fb2a81461027f57806312aef8c3146102ac57806318160ddd146102d757806323b872dd1461030257806324562747146103875780632cc88401146103b2578063313ce567146103ff578063380d831b146104305780634f2484091461044757806362d9c2671461045e57806363b201171461048d5780636c4d0c00146104b857806370a08231146104e757806371b9b6461461053e57806373f425611461056d578063755f12db1461059c57806383408d73146105c75780638da5cb5b146105de57806395d89b411461063557806397f2f5c3146106c55780639da1b02a146106f05780639f0e7d441461071d578063a9059cbb14610748578063b2561417146107ad578063bc697319146107da578063d0febe4c14610805578063dd62ed3e1461080f578063f2fde38b14610886575b6101886108c9565b005b34801561019657600080fd5b5061019f610f9b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101df5780820151818401526020810190506101c4565b50505050905090810190601f16801561020c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022657600080fd5b50610265600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fd4565b604051808215151515815260200191505060405180910390f35b34801561028b57600080fd5b506102aa60048036038101908080359060200190929190505050611170565b005b3480156102b857600080fd5b506102c161130a565b6040518082815260200191505060405180910390f35b3480156102e357600080fd5b506102ec611310565b6040518082815260200191505060405180910390f35b34801561030e57600080fd5b5061036d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611316565b604051808215151515815260200191505060405180910390f35b34801561039357600080fd5b5061039c611762565b6040518082815260200191505060405180910390f35b3480156103be57600080fd5b506103fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611768565b005b34801561040b57600080fd5b50610414611e25565b604051808260ff1660ff16815260200191505060405180910390f35b34801561043c57600080fd5b50610445611e2a565b005b34801561045357600080fd5b5061045c611e91565b005b34801561046a57600080fd5b50610473611f9f565b604051808215151515815260200191505060405180910390f35b34801561049957600080fd5b506104a2611fb2565b6040518082815260200191505060405180910390f35b3480156104c457600080fd5b506104cd611fb8565b604051808215151515815260200191505060405180910390f35b3480156104f357600080fd5b50610528600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fcb565b6040518082815260200191505060405180910390f35b34801561054a57600080fd5b50610553612014565b604051808215151515815260200191505060405180910390f35b34801561057957600080fd5b50610582612027565b604051808215151515815260200191505060405180910390f35b3480156105a857600080fd5b506105b161203a565b6040518082815260200191505060405180910390f35b3480156105d357600080fd5b506105dc612040565b005b3480156105ea57600080fd5b506105f3612430565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064157600080fd5b5061064a612456565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561068a57808201518184015260208101905061066f565b50505050905090810190601f1680156106b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106d157600080fd5b506106da61248f565b6040518082815260200191505060405180910390f35b3480156106fc57600080fd5b5061071b60048036038101908080359060200190929190505050612495565b005b34801561072957600080fd5b50610732612727565b6040518082815260200191505060405180910390f35b34801561075457600080fd5b50610793600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061272d565b604051808215151515815260200191505060405180910390f35b3480156107b957600080fd5b506107d860048036038101908080359060200190929190505050612a69565b005b3480156107e657600080fd5b506107ef612bac565b6040518082815260200191505060405180910390f35b61080d6108c9565b005b34801561081b57600080fd5b50610870600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612bb2565b6040518082815260200191505060405180910390f35b34801561089257600080fd5b506108c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c39565b005b600080600960009054906101000a900460ff161515610950576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f53616c65206d75737420626520656e61626c65642e000000000000000000000081525060200191505060405180910390fd5b600960019054906101000a900460ff161515156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b600454600854111515610a76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f5468657265206973206e6f206d6f726520746f6b656e7320666f722073616c6581526020017f20696e20746869732073616c652e00000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610aee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f4d7573742073656e64204554480000000000000000000000000000000000000081525060200191505060405180910390fd5b610afa34600a54612e84565b915060009050600854610b1883600454612ebc90919063ffffffff16565b101515610b3d57610b36600454600854612ed890919063ffffffff16565b9050610b41565b8190505b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bd382600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b111515610c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b610c9a81600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d5181600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610e5e573d6000803e3d6000fd5b50610e7481600354612ebc90919063ffffffff16565b600381905550610e8f81600454612ebc90919063ffffffff16565b6004819055507f4aff2c4e63da20aaa26764b3e97f557bf5e95b76ddba8f97a156abbecb0818463382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3610f8f612ef1565b610f97612f6c565b5050565b6040805190810160405280600981526020017f4f6e6173616e646572000000000000000000000000000000000000000000000081525081565b6000600960019054906101000a900460ff161515611080576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f49434f20686173206e6f7420656e6465642e202043616e206e6f74207472616e81526020017f736665722e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111cc57600080fd5b600960019054906101000a900460ff16151515611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b6000811115156112c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f52617465206d75737420626520686967686572207468616e20302e000000000081525060200191505060405180910390fd5b80600a819055507f52305729103b1933f51f949a09d2b9a1c408363a6e7b0b315a0e00464bc029d5816040518082815260200191505060405180910390a150565b60085481565b60025481565b6000600960019054906101000a900460ff1615156113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f49434f20686173206e6f7420656e6465642e202043616e206e6f74207472616e81526020017f736665722e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b61150b82600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115dd82600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116af82600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600a5481565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117c757600080fd5b600960009054906101000a900460ff16151561184b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f53616c65206d75737420626520656e61626c65642e000000000000000000000081525060200191505060405180910390fd5b600960019054906101000a900460ff161515156118d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b600083111515611948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f546f6b656e73206d7573742062652067726561746572207468616e20302e000081525060200191505060405180910390fd5b6004546008541115156119e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f5468657265206973206e6f206d6f726520746f6b656e7320666f722073616c6581526020017f20696e20746869732073616c652e00000000000000000000000000000000000081525060400191505060405180910390fd5b82915060009050600854611a0883600454612ebc90919063ffffffff16565b101515611a2d57611a26600454600854612ed890919063ffffffff16565b9050611a31565b8190505b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ac382600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b111515611b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b611b8a81600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c4181600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611cfc81600354612ebc90919063ffffffff16565b600381905550611d1781600454612ebc90919063ffffffff16565b6004819055507f4aff2c4e63da20aaa26764b3e97f557bf5e95b76ddba8f97a156abbecb0818468482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a18373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611e17612ef1565b611e1f612f6c565b50505050565b601281565b600960009054906101000a900460ff1615611e8f576000600960006101000a81548160ff02191690831515021790555060006008819055507f0bd8a3eb532e5fbcd3f5b00335f0fb42fdc11969e9af0fab7c9e71a36ae0d31a60405160405180910390a15b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eed57600080fd5b600960019054906101000a900460ff161515611f9d57611f0b61300c565b611f13611e2a565b6001600960016101000a81548160ff0219169083151502179055506000600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f89a5180095e498e64367fb3fe8a42dbd6fbcdc7b5c429a7844318fbc3be3a13760405160405180910390a15b565b600960019054906101000a900460ff1681565b60035481565b600b60009054906101000a900460ff1681565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900460ff1681565b600960029054906101000a900460ff1681565b60045481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561209e57600080fd5b600960029054906101000a900460ff16151515612149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f52656d61696e696e6720746f6b656e732068617665206265656e206275726e6581526020017f6420616c72656164792e0000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600960019054906101000a900460ff1615156121cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f49434f20686173206e6f7420656e646564207965742e0000000000000000000081525060200191505060405180910390fd5b612243600654600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b9050600b60009054906101000a900460ff16156122e25761226f81600254612ed890919063ffffffff16565b600281905550600654600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612353565b6003546002819055506000600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600960026101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37fd83c63197e8e676d80ab0122beba9a9d20f3828839e9a1d6fe81d242e9cd7e6e816040518082815260200191505060405180910390a150565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f4f4e41000000000000000000000000000000000000000000000000000000000081525081565b60055481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124f357600080fd5b600960009054906101000a900460ff16151515612578576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616c6520697320616c726561647920676f696e67206f6e2e0000000000000081525060200191505060405180910390fd5b600960019054906101000a900460ff161515156125fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b600554600354101515612678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f576520616c726561647920736f6c6420616c6c206f757220746f6b656e732e0081525060200191505060405180910390fd5b600060048190555061269582600354612ebc90919063ffffffff16565b90506005548111156126c3576126b8600354600554612ed890919063ffffffff16565b6008819055506126cb565b816008819055505b600090506001600960006101000a81548160ff0219169083151502179055507fa78c547613f6306e7a70d1bd161c18a496cae1eeb8d4f9e58b60d69ad72ddf586008546040518082815260200191505060405180910390a15050565b60065481565b6000600960019054906101000a900460ff1615156127d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f49434f20686173206e6f7420656e6465642e202043616e206e6f74207472616e81526020017f736665722e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156128d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b61292282600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129b782600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612ac557600080fd5b600081111515612b63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4d696e696d756d20676f616c206d75737420626520677265617465722074686181526020017f6e20302e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600781905550612b72612ef1565b7f0a64ca691d1f0b1a24c79a664d494042b0e7e40ca1495ad40ba5f3f71f23ddfd816040518082815260200191505060405180910390a150565b60075481565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612c9857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050612d9281600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc13a1166d81cd3b0b352a367aebab95f3a6f6bc695fdab8e9a9d335239c3861b836040518082815260200191505060405180910390a3505050565b600080831415612e975760009050612eb6565b8183029050818382811515612ea857fe5b04141515612eb257fe5b8090505b92915050565b60008183019050828110151515612ecf57fe5b80905092915050565b6000828211151515612ee657fe5b818303905092915050565b600b60009054906101000a900460ff161515612f6a57600754600354101515612f69576001600b60006101000a81548160ff0219169083151502179055507ffbfd8ab7c24300fa9888cd721c8565a7da56759384781283684dcf7c7c4a846b6007546040518082815260200191505060405180910390a15b5b565b600854600454101515612fbb577fb73e71437a3dd947096186742d93725c20946637d210c36562cef949e19dafae6004546040518082815260200191505060405180910390a1612fba611e2a565b5b60055460035410151561300a577ffc7d1c6bb49966a7b98ad244a063c952205109f2f0d1f8b50b5ce50d8019d9146005546040518082815260200191505060405180910390a1613009611e91565b5b565b600960029054906101000a900460ff161515156130b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f466978206c6f737420746f6b656e2063616e206f6e6c792072756e206265666f81526020017f726520746865206275726e696e67206f662074686520746f6b656e732e00000081525060400191505060405180910390fd5b600c546130d1600354600554612ed890919063ffffffff16565b141561339f576130ee600c54600354612ebc90919063ffffffff16565b60038190555061310b600c54600454612ebc90919063ffffffff16565b600481905550613187600c54600d6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613262600c54600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040518082815260200191505060405180910390a37fedf2ef24b74d409b6957d607578f64cbb8b4fa11afaad64eedf2de58043772fe60405160405180910390a15b5600a165627a7a72305820a473a0b54ed24bd66c59e500def6aa48b310b7d56b41369d38ebcb19672050630029

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

000000000000000000000000c5190398f2cdf63504df8150e13a2b70ce91d24d

-----Decoded View---------------
Arg [0] : icoWallet (address): 0xc5190398f2cdf63504dF8150E13A2B70cE91d24D

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


Swarm Source

bzzr://a473a0b54ed24bd66c59e500def6aa48b310b7d56b41369d38ebcb1967205063

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.