ETH Price: $3,033.78 (+3.21%)

Contract

0x26CB3641aaA43911f1D4cB2ce544eb652AAc7c47
 
Transaction Hash
Method
Block
From
To
Transfer189086172023-12-31 23:04:35313 days ago1704063875IN
Crystal Bot: CYL Token
0 ETH0.0009095418.36571388
Transfer185074202023-11-05 17:54:35369 days ago1699206875IN
Crystal Bot: CYL Token
0 ETH0.0008623.10342263
Transfer184998772023-11-04 16:31:23370 days ago1699115483IN
Crystal Bot: CYL Token
0 ETH0.0015847632
Transfer172301662023-05-10 13:00:11548 days ago1683723611IN
Crystal Bot: CYL Token
0 ETH0.0047477195.8901142
Transfer169146142023-03-26 22:37:23593 days ago1679870243IN
Crystal Bot: CYL Token
0 ETH0.0010535121.26768379
Transfer168550372023-03-18 13:48:23601 days ago1679147303IN
Crystal Bot: CYL Token
0 ETH0.0008472615.60004277
Transfer168544202023-03-18 11:43:59602 days ago1679139839IN
Crystal Bot: CYL Token
0 ETH0.0009955620.10267616
Transfer166902422023-02-23 9:35:59625 days ago1677144959IN
Crystal Bot: CYL Token
0 ETH0.001365127.56449066
Transfer166811282023-02-22 2:48:35626 days ago1677034115IN
Crystal Bot: CYL Token
0 ETH0.001358125
Transfer166564122023-02-18 15:29:11629 days ago1676734151IN
Crystal Bot: CYL Token
0 ETH0.0015326628.21340376
Transfer166543052023-02-18 8:22:47630 days ago1676708567IN
Crystal Bot: CYL Token
0 ETH0.0011885724
Transfer166063942023-02-11 15:24:23636 days ago1676129063IN
Crystal Bot: CYL Token
0 ETH0.0009320517.15730247
Transfer164024112023-01-14 3:39:47665 days ago1673667587IN
Crystal Bot: CYL Token
0 ETH0.0011536923.29
Transfer137825812021-12-11 7:48:131064 days ago1639208893IN
Crystal Bot: CYL Token
0 ETH0.0033090660.9
Transfer135821332021-11-09 12:23:561096 days ago1636460636IN
Crystal Bot: CYL Token
0 ETH0.00821247151.1758542
Transfer135697022021-11-07 13:45:521097 days ago1636292752IN
Crystal Bot: CYL Token
0 ETH0.0032577387.5170347
Transfer135462762021-11-03 21:19:301101 days ago1635974370IN
Crystal Bot: CYL Token
0 ETH0.00950519255.35130819
Transfer135442432021-11-03 13:57:471101 days ago1635947867IN
Crystal Bot: CYL Token
0 ETH0.00836633153.97414008
Transfer127409962021-07-01 9:42:151227 days ago1625132535IN
Crystal Bot: CYL Token
0 ETH0.000353919
Transfer122829802021-04-21 10:16:021298 days ago1619000162IN
Crystal Bot: CYL Token
0 ETH0.0054336100
Transfer122809992021-04-21 3:04:251298 days ago1618974265IN
Crystal Bot: CYL Token
0 ETH0.00901977166
Transfer120858212021-03-22 2:05:331328 days ago1616378733IN
Crystal Bot: CYL Token
0 ETH0.00547675146
Transfer120197872021-03-11 21:53:551338 days ago1615499635IN
Crystal Bot: CYL Token
0 ETH0.0122878234
Transfer119929862021-03-07 18:37:541342 days ago1615142274IN
Crystal Bot: CYL Token
0 ETH0.00761493203
Transfer119691882021-03-04 2:55:541346 days ago1614826554IN
Crystal Bot: CYL Token
0 ETH0.00724831138
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
54454352018-04-15 14:23:392399 days ago1523802219
Crystal Bot: CYL Token
0.36 ETH
54443312018-04-15 9:50:402400 days ago1523785840
Crystal Bot: CYL Token
0.001 ETH
54395502018-04-14 14:32:262400 days ago1523716346
Crystal Bot: CYL Token
0.12802338 ETH
54357172018-04-13 23:01:072401 days ago1523660467
Crystal Bot: CYL Token
0.15 ETH
54344882018-04-13 18:02:242401 days ago1523642544
Crystal Bot: CYL Token
0.1 ETH
54285742018-04-12 17:51:222402 days ago1523555482
Crystal Bot: CYL Token
0.006663 ETH
54284932018-04-12 17:32:242402 days ago1523554344
Crystal Bot: CYL Token
0.225 ETH
54283412018-04-12 16:48:512402 days ago1523551731
Crystal Bot: CYL Token
0.05 ETH
54188332018-04-11 2:29:042404 days ago1523413744
Crystal Bot: CYL Token
0.19 ETH
54101862018-04-09 16:31:532405 days ago1523291513
Crystal Bot: CYL Token
0.005 ETH
54065822018-04-09 1:55:072406 days ago1523238907
Crystal Bot: CYL Token
1.10819052 ETH
54044052018-04-08 17:12:582406 days ago1523207578
Crystal Bot: CYL Token
0.053 ETH
54026782018-04-08 10:19:342407 days ago1523182774
Crystal Bot: CYL Token
4.753125 ETH
54001112018-04-08 0:13:532407 days ago1523146433
Crystal Bot: CYL Token
0.0958 ETH
53872262018-04-05 21:16:052409 days ago1522962965
Crystal Bot: CYL Token
0.03 ETH
53871752018-04-05 21:05:032409 days ago1522962303
Crystal Bot: CYL Token
0.003 ETH
53798512018-04-04 15:33:002410 days ago1522855980
Crystal Bot: CYL Token
0.50296283 ETH
53798502018-04-04 15:32:532410 days ago1522855973
Crystal Bot: CYL Token
1.990834 ETH
53781582018-04-04 8:52:052411 days ago1522831925
Crystal Bot: CYL Token
0.0011 ETH
53720962018-04-03 8:46:532412 days ago1522745213
Crystal Bot: CYL Token
1 ETH
53600482018-04-01 8:54:572414 days ago1522572897
Crystal Bot: CYL Token
0.21 ETH
53577802018-03-31 23:57:522414 days ago1522540672
Crystal Bot: CYL Token
1.1 ETH
53570852018-03-31 21:18:072414 days ago1522531087
Crystal Bot: CYL Token
0.53 ETH
53558502018-03-31 16:22:232414 days ago1522513343
Crystal Bot: CYL Token
0.4 ETH
53508262018-03-30 20:18:202415 days ago1522441100
Crystal Bot: CYL Token
0.0218 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CrystalToken

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-02-10
*/

pragma solidity ^0.4.19;
/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic
{
    uint256 public totalSupply;

    function balanceOf(address who) public constant returns (uint256);

    function transfer(address to, uint256 value) public returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic
{
    function allowance(address owner, address spender) public constant returns (uint256);

    function transferFrom(address from, address to, uint256 value) public returns (bool);

    function approve(address spender, uint256 value) public returns (bool);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}


// Contract Ownable (defines a contract with an owner)
//------------------------------------------------------------------------------------------------------------
contract Ownable
{
    /**
    * @dev Address of the current owner
    */
    address public owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    // Constructor. Set the original `owner` of the contract to the sender account.
    function Ownable() public
    {
        owner = msg.sender;
    }

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

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


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

    function div(uint256 a, uint256 b) internal pure returns (uint256)
    {
        uint256 c = a / b;
        return c;
    }

    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)
    {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}



/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract SafeBasicToken is ERC20Basic
{
    // Use safemath for math operations
    using SafeMath for uint256;

    // Maps each address to its current balance
    mapping(address => uint256) balances;

    // List of admins that can transfer tokens also during the ICO
    mapping(address => bool) public admin;

    // List of addresses that can receive tokens also during the ICO
    mapping(address => bool) public receivable;

    // Specifies whether the tokens are locked(ICO is running) - Tokens cannot be transferred during the ICO
    bool public locked;


    // Checks the size of the message to avoid attacks
    modifier onlyPayloadSize(uint size)
    {
        assert(msg.data.length >= size + 4);
        _;
    }

    /** Transfer tokens to the specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) onlyPayloadSize(2 * 32) public returns (bool)
    {
        require(_to != address(0));
        require(!locked || admin[msg.sender] == true || receivable[_to] == true);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        Transfer(msg.sender, _to, _value);
        return true;
    }


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


/** @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard 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 SafeStandardToken is ERC20, SafeBasicToken
{
    /** Map address => (address => value)
    *   allowed[_owner][_spender] represents the amount of tokens the _spender can use on behalf of the _owner
    */
    mapping(address => mapping(address => uint256)) allowed;


    /** Return the allowance of the _spender on behalf of the _owner
    * @param _owner address The address which owns the funds.
    * @param _spender address The address which will be allowed to spend the funds.
    * @return A uint256 specifying the amount of tokens still available for the spender.
    */
    function allowance(address _owner, address _spender) public constant returns (uint256 remaining)
    {
        return allowed[_owner][_spender];
    }


    /** Allow the _spender to spend _value tokens on behalf of msg.sender.
     * To avoid race condition, the current allowed amount must be first set to 0 through a different transaction.
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) public returns (bool)
    {
        require(_value == 0 || allowed[msg.sender][_spender] == 0);
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }


    /** Increase the allowance for _spender by _addedValue (to be use when allowed[_spender] > 0)
     */
    function increaseApproval(address _spender, uint _addedValue) public returns (bool success)
    {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }


    /** Decrease the allowance for _spender by _subtractedValue. Set it to 0 if _subtractedValue is less then the current allowance
    */
    function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool success)
    {
        uint oldValue = allowed[msg.sender][_spender];

        if (_subtractedValue > oldValue)
            allowed[msg.sender][_spender] = 0;
        else
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }


    /** Transfer tokens on behalf of _from to _to (if allowed)
     * @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 uint256 the amount of tokens to be transferred
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool)
    {
        require(_to != address(0));
        uint256 _allowance = allowed[_from][msg.sender];
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = _allowance.sub(_value);
        Transfer(_from, _to, _value);
        return true;
    }
}



// Main contract
contract CrystalToken is SafeStandardToken, Ownable
{
    using SafeMath for uint256;

    string public constant name = "CrystalToken";
    string public constant symbol = "CYL";
    uint256 public constant decimals = 18;
    uint256 public constant INITIAL_SUPPLY = 28000000 * (10 ** uint256(decimals));

    // Struct representing information of a single round
    struct Round
    {
        uint256 startTime;                      // Timestamp of the start of the round
        uint256 endTime;                        // Timestamp of the end of the round
        uint256 availableTokens;                // Number of tokens available in this round
        uint256 maxPerUser;                     // Number of maximum tokens per user
        uint256 rate;                           // Number of token per wei in this round
        mapping(address => uint256) balances;   // Balances of the users in this round
    }

    // Array containing information of all the rounds
    Round[5] rounds;

    // Address where funds are collected
    address public wallet;

    // Amount of collected money in wei
    uint256 public weiRaised;

    // Current round index
    uint256 public runningRound;

    // Constructor
    function CrystalToken(address _walletAddress) public
    {
        wallet = _walletAddress;
        totalSupply = INITIAL_SUPPLY;
        balances[msg.sender] = INITIAL_SUPPLY;

        rounds[0] = Round(1519052400, 1519138800,  250000 * (10 ** 18), 200 * (10 ** 18), 2000);    // 19 Feb 2018 - 15.00 GMT
        rounds[1] = Round(1519398000, 1519484400, 1250000 * (10 ** 18), 400 * (10 ** 18), 1333);    // 23 Feb 2018 - 15.00 GMT
        rounds[2] = Round(1519657200, 1519743600, 1500000 * (10 ** 18), 1000 * (10 ** 18), 1000);   // 26 Feb 2018 - 15.00 GMT
        rounds[3] = Round(1519830000, 1519916400, 2000000 * (10 ** 18), 1000 * (10 ** 18), 800);    // 28 Feb 2018 - 15.00 GMT
        rounds[4] = Round(1520262000, 1520348400, 2000000 * (10 ** 18), 2000 * (10 ** 18), 667);    //  5 Mar 2018 - 15.00 GMT

        // Set the owner as an admin
        admin[msg.sender] = true;

        // Lock the tokens for the ICO
        locked = true;

        // Set the current round to 100 (no round)
        runningRound = uint256(0);
    }


    /** Event for token purchase logging
     * @param purchaser who paid for the tokens
     * @param beneficiary who got the tokens
     * @param value weis paid for purchase
     * @param amount amount of tokens purchased
     */
    event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount);


    // Rate change event
    event RateChanged(address indexed owner, uint round, uint256 old_rate, uint256 new_rate);


    // Fallback function, used to buy token
    // If ETH are sent to the contract address, without any additional data, this function is called
    function() public payable
    {
        // Take the address of the buyer
        address beneficiary = msg.sender;

        // Check that the sender is not the 0 address
        require(beneficiary != 0x0);

        // Check that sent ETH in wei is > 0
        uint256 weiAmount = msg.value;
        require(weiAmount != 0);

        // Get the current round (100 if there is no open round)
        uint256 roundIndex = runningRound;

        // Check if there is a running round
        require(roundIndex != uint256(100));

        // Get the information of the current round
        Round storage round = rounds[roundIndex];

        // Calculate the token amount to sell. Exceeding amount will not generate tokens
        uint256 tokens = weiAmount.mul(round.rate);
        uint256 maxPerUser = round.maxPerUser;
        uint256 remaining = maxPerUser - round.balances[beneficiary];
        if(remaining < tokens)
            tokens = remaining;

        // Check if the tokens can be sold
        require(areTokensBuyable(roundIndex, tokens));

        // Reduce the number of available tokens in the round (fails if there are no more available tokens)
        round.availableTokens = round.availableTokens.sub(tokens);

        // Add the number of tokens to the current user's balance of this round
        round.balances[msg.sender] = round.balances[msg.sender].add(tokens);

        // Transfer the amount of token to the buyer
        balances[owner] = balances[owner].sub(tokens);
        balances[beneficiary] = balances[beneficiary].add(tokens);
        Transfer(owner, beneficiary, tokens);

        // Raise the event of token purchase
        TokenPurchase(beneficiary, beneficiary, weiAmount, tokens);

        // Update the number of collected money
        weiRaised = weiRaised.add(weiAmount);

        // Transfer funds to the wallet
        wallet.transfer(msg.value);
    }


    /** Check if there is an open round and if there are enough tokens available for current phase and for the sender
    * @param _roundIndex index of the current round
    * @param _tokens number of requested tokens
    */
    function areTokensBuyable(uint _roundIndex, uint256 _tokens) internal constant returns (bool)
    {
        uint256 current_time = block.timestamp;
        Round storage round = rounds[_roundIndex];

        return (
        _tokens > 0 &&                                              // Check that the user can still buy tokens
        round.availableTokens >= _tokens &&                         // Check that there are still available tokens
        current_time >= round.startTime &&                          // Check that the current timestamp is after the start of the round
        current_time <= round.endTime                               // Check that the current timestamp is before the end of the round
        );
    }



    // Return the current number of unsold tokens
    function tokenBalance() constant public returns (uint256)
    {
        return balanceOf(owner);
    }


    event Burn(address burner, uint256 value);


    /** Burns a specific amount of tokens.
     * @param _value The amount of token to be burned.
     */
    function burn(uint256 _value) public onlyOwner
    {
        require(_value <= balances[msg.sender]);
        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(burner, _value);
    }



    /** Mint a specific amount of tokens.
   * @param _value The amount of token to be minted.
   */
    function mint(uint256 _value) public onlyOwner
    {
        totalSupply = totalSupply.add(_value);
        balances[msg.sender] = balances[msg.sender].add(_value);
    }



    // Functions to set the features of each round (only for the owner) and of the whole ICO
    // ----------------------------------------------------------------------------------------
    function setTokensLocked(bool _value) onlyOwner public
    {
        locked = _value;
    }

    /** Set the current round index
    * @param _roundIndex the new round index to set
    */
    function setRound(uint256 _roundIndex) public onlyOwner
    {
        runningRound = _roundIndex;
    }

    function setAdmin(address _addr, bool _value) onlyOwner public
    {
        admin[_addr] = _value;
    }

    function setReceivable(address _addr, bool _value) onlyOwner public
    {
        receivable[_addr] = _value;
    }

    function setRoundStart(uint _round, uint256 _value) onlyOwner public
    {
        require(_round >= 0 && _round < rounds.length);
        rounds[_round].startTime = _value;
    }

    function setRoundEnd(uint _round, uint256 _value) onlyOwner public
    {
        require(_round >= 0 && _round < rounds.length);
        rounds[_round].endTime = _value;
    }

    function setRoundAvailableToken(uint _round, uint256 _value) onlyOwner public
    {
        require(_round >= 0 && _round < rounds.length);
        rounds[_round].availableTokens = _value;
    }

    function setRoundMaxPerUser(uint _round, uint256 _value) onlyOwner public
    {
        require(_round >= 0 && _round < rounds.length);
        rounds[_round].maxPerUser = _value;
    }

    function setRoundRate(uint _round, uint256 _round_usd_cents, uint256 _ethvalue_usd) onlyOwner public
    {
        require(_round >= 0 && _round < rounds.length);
        uint256 rate = _ethvalue_usd * 100 / _round_usd_cents;
        uint256 oldRate = rounds[_round].rate;
        rounds[_round].rate = rate;
        RateChanged(msg.sender, _round, oldRate, rounds[_round].rate);
    }
    // ----------------------------------------------------------------------------------------


    // Functions to get the features of each round
    // ----------------------------------------------------------------------------------------
    function getRoundUserBalance(uint _round, address _user) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].balances[_user];
    }

    function getRoundStart(uint _round) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].startTime;
    }

    function getRoundEnd(uint _round) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].endTime;
    }

    function getRoundAvailableToken(uint _round) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].availableTokens;
    }

    function getRoundMaxPerUser(uint _round) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].maxPerUser;
    }

    function getRoundRate(uint _round) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].rate;
    }
    // ----------------------------------------------------------------------------------------
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_round","type":"uint256"}],"name":"getRoundRate","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":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_value","type":"bool"}],"name":"setReceivable","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"bool"}],"name":"setTokensLocked","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_round","type":"uint256"},{"name":"_round_usd_cents","type":"uint256"},{"name":"_ethvalue_usd","type":"uint256"}],"name":"setRoundRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_value","type":"bool"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_round","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"setRoundMaxPerUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"admin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_round","type":"uint256"}],"name":"getRoundEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_round","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"setRoundEnd","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":"_round","type":"uint256"}],"name":"getRoundMaxPerUser","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"},{"constant":false,"inputs":[{"name":"_roundIndex","type":"uint256"}],"name":"setRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_round","type":"uint256"}],"name":"getRoundAvailableToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_round","type":"uint256"},{"name":"_user","type":"address"}],"name":"getRoundUserBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_round","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"setRoundStart","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_round","type":"uint256"}],"name":"getRoundStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"locked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"runningRound","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"receivable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_round","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"setRoundAvailableToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_walletAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"round","type":"uint256"},{"indexed":false,"name":"old_rate","type":"uint256"},{"indexed":false,"name":"new_rate","type":"uint256"}],"name":"RateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"}]

606060405234156200001057600080fd5b60405160208062002f3c8339810160405280805190602001909190505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080602560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a0a6301ab3f00026000819055506012600a0a6301ab3f0002600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060a060405190810160405280635a8ae6708152602001635a8c37f081526020016934f086f3b33b684000008152602001680ad78ebc5ac620000081526020016107d0815250600760006005811015156200016457fe5b60060201600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a060405190810160405280635a902c708152602001635a917df081526020016a0108b2a2c280290940000081526020016815af1d78b58c400000815260200161053581525060076001600581101515620001f457fe5b60060201600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a060405190810160405280635a9420f08152602001635a95727081526020016a013da329b63364718000008152602001683635c9adc5dea0000081526020016103e8815250600760026005811015156200028457fe5b60060201600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a060405190810160405280635a96c3f08152602001635a98157081526020016a01a784379d99db420000008152602001683635c9adc5dea000008152602001610320815250600760036005811015156200031457fe5b60060201600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a060405190810160405280635a9d5b708152602001635a9eacf081526020016a01a784379d99db420000008152602001686c6b935b8bbd400000815260200161029b81525060076004600581101515620003a457fe5b6006020160008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050506001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460006101000a81548160ff021916908315150217905550600060278190555050612ad380620004696000396000f3006060604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306e2f5c11461067057806306fdde03146106a7578063095ea7b31461073557806318160ddd1461078f5780631f617a60146107b857806323b872dd146107fc5780632ff2e9dc14610875578063313ce5671461089e5780634042b66f146108c757806340a915a5146108f057806342966c681461091557806349eee1a4146109385780634b0bddd21461096d578063521eb273146109b157806361f3c00614610a0657806363a846f814610a325780636618846314610a835780636bf4223b14610add57806370a0823114610b145780637c4d972b14610b615780638da5cb5b14610b8d578063941660e514610be257806395d89b4114610c195780639b624e7b14610ca75780639e1a4d1914610cca578063a0712d6814610cf3578063a9059cbb14610d16578063c1cbbe6c14610d70578063c37a832d14610da7578063c63e2ebc14610dfd578063cf16cc8314610e29578063cf30901214610e60578063d3f2e7cf14610e8d578063d73dd62314610eb6578063da60278a14610f10578063dd62ed3e14610f61578063f21b937914610fcd578063f2fde38b14610ff9575b600080600080600080600033965060008773ffffffffffffffffffffffffffffffffffffffff161415151561020c57600080fd5b3495506000861415151561021f57600080fd5b60275494506064851415151561023457600080fd5b60078560058110151561024357fe5b60060201935061026084600401548761103290919063ffffffff16565b9250836003015491508360050160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482039050828110156102bb578092505b6102c58584611065565b15156102d057600080fd5b6102e78385600201546110c090919063ffffffff16565b8460020181905550610343838560050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b8460050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506103fc8360016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104b383600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a38673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188886604051808381526020018281526020019250505060405180910390a36105ff866026546110d990919063ffffffff16565b602681905550602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561066757600080fd5b50505050505050005b341561067b57600080fd5b61069160048080359060200190919050506110f7565b6040518082815260200191505060405180910390f35b34156106b257600080fd5b6106ba611132565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106fa5780820151818401526020810190506106df565b50505050905090810190601f1680156107275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561074057600080fd5b610775600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116b565b604051808215151515815260200191505060405180910390f35b341561079a57600080fd5b6107a26112f2565b6040518082815260200191505060405180910390f35b34156107c357600080fd5b6107fa600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506112f8565b005b341561080757600080fd5b61085b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506113af565b604051808215151515815260200191505060405180910390f35b341561088057600080fd5b61088861169b565b6040518082815260200191505060405180910390f35b34156108a957600080fd5b6108b16116a9565b6040518082815260200191505060405180910390f35b34156108d257600080fd5b6108da6116ae565b6040518082815260200191505060405180910390f35b34156108fb57600080fd5b610913600480803515159060200190919050506116b4565b005b341561092057600080fd5b610936600480803590602001909190505061172d565b005b341561094357600080fd5b61096b60048080359060200190919080359060200190919080359060200190919050506118fb565b005b341561097857600080fd5b6109af600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050611a36565b005b34156109bc57600080fd5b6109c4611aed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a1157600080fd5b610a306004808035906020019091908035906020019091905050611b13565b005b3415610a3d57600080fd5b610a69600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611baa565b604051808215151515815260200191505060405180910390f35b3415610a8e57600080fd5b610ac3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611bca565b604051808215151515815260200191505060405180910390f35b3415610ae857600080fd5b610afe6004808035906020019091905050611e5b565b6040518082815260200191505060405180910390f35b3415610b1f57600080fd5b610b4b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e96565b6040518082815260200191505060405180910390f35b3415610b6c57600080fd5b610b8b6004808035906020019091908035906020019091905050611edf565b005b3415610b9857600080fd5b610ba0611f76565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610bed57600080fd5b610c036004808035906020019091905050611f9c565b6040518082815260200191505060405180910390f35b3415610c2457600080fd5b610c2c611fd7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c6c578082015181840152602081019050610c51565b50505050905090810190601f168015610c995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610cb257600080fd5b610cc86004808035906020019091905050612010565b005b3415610cd557600080fd5b610cdd612076565b6040518082815260200191505060405180910390f35b3415610cfe57600080fd5b610d1460048080359060200190919050506120a8565b005b3415610d2157600080fd5b610d56600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506121b7565b604051808215151515815260200191505060405180910390f35b3415610d7b57600080fd5b610d916004808035906020019091905050612476565b6040518082815260200191505060405180910390f35b3415610db257600080fd5b610de7600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506124b1565b6040518082815260200191505060405180910390f35b3415610e0857600080fd5b610e27600480803590602001909190803590602001909190505061252a565b005b3415610e3457600080fd5b610e4a60048080359060200190919050506125c1565b6040518082815260200191505060405180910390f35b3415610e6b57600080fd5b610e736125fc565b604051808215151515815260200191505060405180910390f35b3415610e9857600080fd5b610ea061260f565b6040518082815260200191505060405180910390f35b3415610ec157600080fd5b610ef6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612615565b604051808215151515815260200191505060405180910390f35b3415610f1b57600080fd5b610f47600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612811565b604051808215151515815260200191505060405180910390f35b3415610f6c57600080fd5b610fb7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612831565b6040518082815260200191505060405180910390f35b3415610fd857600080fd5b610ff760048080359060200190919080359060200190919050506128b8565b005b341561100457600080fd5b611030600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061294f565b005b60008082840290506000841480611053575082848281151561105057fe5b04145b151561105b57fe5b8091505092915050565b600080600042915060078560058110151561107c57fe5b600602019050600084118015611096575083816002015410155b80156110a6575080600001548210155b80156110b6575080600101548211155b9250505092915050565b60008282111515156110ce57fe5b818303905092915050565b60008082840190508381101515156110ed57fe5b8091505092915050565b60008082101580156111095750600582105b151561111457600080fd5b60078260058110151561112357fe5b60060201600401549050919050565b6040805190810160405280600c81526020017f4372797374616c546f6b656e000000000000000000000000000000000000000081525081565b6000808214806111f757506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561120257600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561135457600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156113ee57600080fd5b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506114bf83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061155483600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115aa83826110c090919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6012600a0a6301ab3f000281565b601281565b60265481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561171057600080fd5b80600460006101000a81548160ff02191690831515021790555050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561178b57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156117d957600080fd5b33905061182e82600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611886826000546110c090919063ffffffff16565b6000819055507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58183604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561195a57600080fd5b6000851015801561196b5750600585105b151561197657600080fd5b836064840281151561198457fe5b04915060078560058110151561199657fe5b60060201600401549050816007866005811015156119b057fe5b60060201600401819055503373ffffffffffffffffffffffffffffffffffffffff167f4f3741b54f8ff88679a722b2b023483f666f143039dfec0c5116b7af733d2ce78683600789600581101515611a0457fe5b600602016004015460405180848152602001838152602001828152602001935050505060405180910390a25050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a9257600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b6f57600080fd5b60008210158015611b805750600582105b1515611b8b57600080fd5b80600783600581101515611b9b57fe5b60060201600301819055505050565b60026020528060005260406000206000915054906101000a900460ff1681565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611cdb576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d6f565b611cee83826110c090919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000808210158015611e6d5750600582105b1515611e7857600080fd5b600782600581101515611e8757fe5b60060201600101549050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f3b57600080fd5b60008210158015611f4c5750600582105b1515611f5757600080fd5b80600783600581101515611f6757fe5b60060201600101819055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808210158015611fae5750600582105b1515611fb957600080fd5b600782600581101515611fc857fe5b60060201600301549050919050565b6040805190810160405280600381526020017f43594c000000000000000000000000000000000000000000000000000000000081525081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561206c57600080fd5b8060278190555050565b60006120a3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611e96565b905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561210457600080fd5b612119816000546110d990919063ffffffff16565b60008190555061217181600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006040600481016000369050101515156121ce57fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561220a57600080fd5b600460009054906101000a900460ff161580612276575060011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b806122d1575060011515600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156122dc57600080fd5b61232e83600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123c383600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b60008082101580156124885750600582105b151561249357600080fd5b6007826005811015156124a257fe5b60060201600201549050919050565b60008083101580156124c35750600583105b15156124ce57600080fd5b6007836005811015156124dd57fe5b6006020160050160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561258657600080fd5b600082101580156125975750600582105b15156125a257600080fd5b806007836005811015156125b257fe5b60060201600001819055505050565b60008082101580156125d35750600582105b15156125de57600080fd5b6007826005811015156125ed57fe5b60060201600001549050919050565b600460009054906101000a900460ff1681565b60275481565b60006126a682600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561291457600080fd5b600082101580156129255750600582105b151561293057600080fd5b8060078360058110151561294057fe5b60060201600201819055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129ab57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156129e757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208041e3b325e0b9242246162f6d35f4330a3f844d0818f999e6adcd2bef362601002900000000000000000000000024cf63494b22472d864c827258e30d722c53c97a

Deployed Bytecode

0x6060604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306e2f5c11461067057806306fdde03146106a7578063095ea7b31461073557806318160ddd1461078f5780631f617a60146107b857806323b872dd146107fc5780632ff2e9dc14610875578063313ce5671461089e5780634042b66f146108c757806340a915a5146108f057806342966c681461091557806349eee1a4146109385780634b0bddd21461096d578063521eb273146109b157806361f3c00614610a0657806363a846f814610a325780636618846314610a835780636bf4223b14610add57806370a0823114610b145780637c4d972b14610b615780638da5cb5b14610b8d578063941660e514610be257806395d89b4114610c195780639b624e7b14610ca75780639e1a4d1914610cca578063a0712d6814610cf3578063a9059cbb14610d16578063c1cbbe6c14610d70578063c37a832d14610da7578063c63e2ebc14610dfd578063cf16cc8314610e29578063cf30901214610e60578063d3f2e7cf14610e8d578063d73dd62314610eb6578063da60278a14610f10578063dd62ed3e14610f61578063f21b937914610fcd578063f2fde38b14610ff9575b600080600080600080600033965060008773ffffffffffffffffffffffffffffffffffffffff161415151561020c57600080fd5b3495506000861415151561021f57600080fd5b60275494506064851415151561023457600080fd5b60078560058110151561024357fe5b60060201935061026084600401548761103290919063ffffffff16565b9250836003015491508360050160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482039050828110156102bb578092505b6102c58584611065565b15156102d057600080fd5b6102e78385600201546110c090919063ffffffff16565b8460020181905550610343838560050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b8460050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506103fc8360016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104b383600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a38673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188886604051808381526020018281526020019250505060405180910390a36105ff866026546110d990919063ffffffff16565b602681905550602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561066757600080fd5b50505050505050005b341561067b57600080fd5b61069160048080359060200190919050506110f7565b6040518082815260200191505060405180910390f35b34156106b257600080fd5b6106ba611132565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106fa5780820151818401526020810190506106df565b50505050905090810190601f1680156107275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561074057600080fd5b610775600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116b565b604051808215151515815260200191505060405180910390f35b341561079a57600080fd5b6107a26112f2565b6040518082815260200191505060405180910390f35b34156107c357600080fd5b6107fa600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506112f8565b005b341561080757600080fd5b61085b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506113af565b604051808215151515815260200191505060405180910390f35b341561088057600080fd5b61088861169b565b6040518082815260200191505060405180910390f35b34156108a957600080fd5b6108b16116a9565b6040518082815260200191505060405180910390f35b34156108d257600080fd5b6108da6116ae565b6040518082815260200191505060405180910390f35b34156108fb57600080fd5b610913600480803515159060200190919050506116b4565b005b341561092057600080fd5b610936600480803590602001909190505061172d565b005b341561094357600080fd5b61096b60048080359060200190919080359060200190919080359060200190919050506118fb565b005b341561097857600080fd5b6109af600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050611a36565b005b34156109bc57600080fd5b6109c4611aed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a1157600080fd5b610a306004808035906020019091908035906020019091905050611b13565b005b3415610a3d57600080fd5b610a69600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611baa565b604051808215151515815260200191505060405180910390f35b3415610a8e57600080fd5b610ac3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611bca565b604051808215151515815260200191505060405180910390f35b3415610ae857600080fd5b610afe6004808035906020019091905050611e5b565b6040518082815260200191505060405180910390f35b3415610b1f57600080fd5b610b4b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e96565b6040518082815260200191505060405180910390f35b3415610b6c57600080fd5b610b8b6004808035906020019091908035906020019091905050611edf565b005b3415610b9857600080fd5b610ba0611f76565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610bed57600080fd5b610c036004808035906020019091905050611f9c565b6040518082815260200191505060405180910390f35b3415610c2457600080fd5b610c2c611fd7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c6c578082015181840152602081019050610c51565b50505050905090810190601f168015610c995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610cb257600080fd5b610cc86004808035906020019091905050612010565b005b3415610cd557600080fd5b610cdd612076565b6040518082815260200191505060405180910390f35b3415610cfe57600080fd5b610d1460048080359060200190919050506120a8565b005b3415610d2157600080fd5b610d56600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506121b7565b604051808215151515815260200191505060405180910390f35b3415610d7b57600080fd5b610d916004808035906020019091905050612476565b6040518082815260200191505060405180910390f35b3415610db257600080fd5b610de7600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506124b1565b6040518082815260200191505060405180910390f35b3415610e0857600080fd5b610e27600480803590602001909190803590602001909190505061252a565b005b3415610e3457600080fd5b610e4a60048080359060200190919050506125c1565b6040518082815260200191505060405180910390f35b3415610e6b57600080fd5b610e736125fc565b604051808215151515815260200191505060405180910390f35b3415610e9857600080fd5b610ea061260f565b6040518082815260200191505060405180910390f35b3415610ec157600080fd5b610ef6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612615565b604051808215151515815260200191505060405180910390f35b3415610f1b57600080fd5b610f47600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612811565b604051808215151515815260200191505060405180910390f35b3415610f6c57600080fd5b610fb7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612831565b6040518082815260200191505060405180910390f35b3415610fd857600080fd5b610ff760048080359060200190919080359060200190919050506128b8565b005b341561100457600080fd5b611030600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061294f565b005b60008082840290506000841480611053575082848281151561105057fe5b04145b151561105b57fe5b8091505092915050565b600080600042915060078560058110151561107c57fe5b600602019050600084118015611096575083816002015410155b80156110a6575080600001548210155b80156110b6575080600101548211155b9250505092915050565b60008282111515156110ce57fe5b818303905092915050565b60008082840190508381101515156110ed57fe5b8091505092915050565b60008082101580156111095750600582105b151561111457600080fd5b60078260058110151561112357fe5b60060201600401549050919050565b6040805190810160405280600c81526020017f4372797374616c546f6b656e000000000000000000000000000000000000000081525081565b6000808214806111f757506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561120257600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561135457600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156113ee57600080fd5b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506114bf83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061155483600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115aa83826110c090919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6012600a0a6301ab3f000281565b601281565b60265481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561171057600080fd5b80600460006101000a81548160ff02191690831515021790555050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561178b57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156117d957600080fd5b33905061182e82600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611886826000546110c090919063ffffffff16565b6000819055507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58183604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561195a57600080fd5b6000851015801561196b5750600585105b151561197657600080fd5b836064840281151561198457fe5b04915060078560058110151561199657fe5b60060201600401549050816007866005811015156119b057fe5b60060201600401819055503373ffffffffffffffffffffffffffffffffffffffff167f4f3741b54f8ff88679a722b2b023483f666f143039dfec0c5116b7af733d2ce78683600789600581101515611a0457fe5b600602016004015460405180848152602001838152602001828152602001935050505060405180910390a25050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a9257600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b6f57600080fd5b60008210158015611b805750600582105b1515611b8b57600080fd5b80600783600581101515611b9b57fe5b60060201600301819055505050565b60026020528060005260406000206000915054906101000a900460ff1681565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611cdb576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d6f565b611cee83826110c090919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000808210158015611e6d5750600582105b1515611e7857600080fd5b600782600581101515611e8757fe5b60060201600101549050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f3b57600080fd5b60008210158015611f4c5750600582105b1515611f5757600080fd5b80600783600581101515611f6757fe5b60060201600101819055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808210158015611fae5750600582105b1515611fb957600080fd5b600782600581101515611fc857fe5b60060201600301549050919050565b6040805190810160405280600381526020017f43594c000000000000000000000000000000000000000000000000000000000081525081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561206c57600080fd5b8060278190555050565b60006120a3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611e96565b905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561210457600080fd5b612119816000546110d990919063ffffffff16565b60008190555061217181600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006040600481016000369050101515156121ce57fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561220a57600080fd5b600460009054906101000a900460ff161580612276575060011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b806122d1575060011515600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156122dc57600080fd5b61232e83600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123c383600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b60008082101580156124885750600582105b151561249357600080fd5b6007826005811015156124a257fe5b60060201600201549050919050565b60008083101580156124c35750600583105b15156124ce57600080fd5b6007836005811015156124dd57fe5b6006020160050160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561258657600080fd5b600082101580156125975750600582105b15156125a257600080fd5b806007836005811015156125b257fe5b60060201600001819055505050565b60008082101580156125d35750600582105b15156125de57600080fd5b6007826005811015156125ed57fe5b60060201600001549050919050565b600460009054906101000a900460ff1681565b60275481565b60006126a682600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561291457600080fd5b600082101580156129255750600582105b151561293057600080fd5b8060078360058110151561294057fe5b60060201600201819055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129ab57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156129e757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208041e3b325e0b9242246162f6d35f4330a3f844d0818f999e6adcd2bef3626010029

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

00000000000000000000000024cf63494b22472d864c827258e30d722c53c97a

-----Decoded View---------------
Arg [0] : _walletAddress (address): 0x24cF63494b22472D864C827258E30D722C53c97a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000024cf63494b22472d864c827258e30d722c53c97a


Swarm Source

bzzr://8041e3b325e0b9242246162f6d35f4330a3f844d0818f999e6adcd2bef362601

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Crystal Token is a cryptocurrency token innovating the field of smart trading with the novel Crystal AI Trading which rewards token holders constantly.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.