ETH Price: $3,153.18 (+2.67%)
Gas: 1 Gwei

Token

GAT Token (GAT)
 

Overview

Max Total Supply

1,000,000,000 GAT

Holders

449

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
266.4 GAT

Value
$0.00
0xaa0ccbd36cc0c83000b18e1770aec8cc6247d221
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
GATTokenSale

Compiler Version
v0.4.17+commit.bdeb9e52

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-10-28
*/

pragma solidity ^0.4.17;

// ----------------------------------------------------------------------------
// GAT Ownership Contract
//
// Copyright (c) 2017 GAT Systems Ltd.
// http://www.gatcoin.io/
//
// The MIT Licence.
// ----------------------------------------------------------------------------


// Implementation of a simple ownership model with transfer acceptance.
//
contract Owned {

    address public owner;
    address public newOwner;

    event OwnerChanged(address indexed _newOwner);


    function Owned() public {
        owner = msg.sender;
    }


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


    function transferOwnership(address _newOwner) public onlyOwner returns (bool) {
        require(_newOwner != address(0));
        require(_newOwner != owner);

        newOwner = _newOwner;

        return true;
    }


    function acceptOwnership() public returns (bool) {
        require(msg.sender == newOwner);

        owner = msg.sender;

        OwnerChanged(msg.sender);

        return true;
    }
}


pragma solidity ^0.4.17;


/**
 * @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) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint256 a, uint256 b) internal 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;
  }
}



pragma solidity ^0.4.17;

// ----------------------------------------------------------------------------
// GAT Token ERC20 Interface
//
// Copyright (c) 2017 GAT Systems Ltd.
// http://www.gatcoin.io/
//
// The MIT Licence.
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// ERC20 Standard Interface as specified at:
// https://github.com/ethereum/EIPs/issues/20
// ----------------------------------------------------------------------------

contract ERC20Interface {

    uint256 public totalSupply;

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    function balanceOf(address _owner) public view returns (uint256 balance);
    function transfer(address _to, uint256 _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
    function allowance(address _owner, address _spender) public view returns (uint256 remaining);
}


pragma solidity ^0.4.17;

// ----------------------------------------------------------------------------
// GAT Token Implementation
//
// Copyright (c) 2017 GAT Systems Ltd.
// http://www.gatcoin.io/
//
// The MIT Licence.
// ----------------------------------------------------------------------------




// Implementation of standard ERC20 token with ownership.
//
contract GATToken is ERC20Interface, Owned {

    using SafeMath for uint256;

    string public symbol;
    string public name;
    uint256 public decimals;

    mapping(address => uint256) balances;
    mapping(address => mapping (address => uint256)) allowed;


    function GATToken(string _symbol, string _name, uint256 _decimals, uint256 _totalSupply) public
        Owned()
    {
        symbol      = _symbol;
        name        = _name;
        decimals    = _decimals;
        totalSupply = _totalSupply;

        Transfer(0x0, owner, _totalSupply);
    }


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


    function transfer(address _to, uint256 _value) public returns (bool success) {
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);

        Transfer(msg.sender, _to, _value);

        return true;
    }


    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        balances[_from] = balances[_from].sub(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);

        Transfer(_from, _to, _value);

        return true;
     }


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


     function approve(address _spender, uint256 _value) public returns (bool success) {
         allowed[msg.sender][_spender] = _value;

         Approval(msg.sender, _spender, _value);

         return true;
     }
}


pragma solidity ^0.4.17;

// ----------------------------------------------------------------------------
// GAT Token Sale Configuration
//
// Copyright (c) 2017 GAT Systems Ltd.
// http://www.gatcoin.io/
//
// The MIT Licence.
// ----------------------------------------------------------------------------


contract GATTokenSaleConfig {

    string  public constant SYMBOL                  = "GAT";
    string  public constant NAME                    = "GAT Token";
    uint256 public constant DECIMALS                = 18;

    uint256 public constant DECIMALSFACTOR          = 10**uint256(DECIMALS);
    uint256 public constant START_TIME              = 1509192000; // 28-Oct-2017, 12:00:00 UTC
    uint256 public constant END_TIME                = 1511870399; // 28-Nov-2017, 11:59:59 UTC
    uint256 public constant CONTRIBUTION_MIN        = 0.1 ether;
    uint256 public constant TOKEN_TOTAL_CAP         = 1000000000  * DECIMALSFACTOR;
    uint256 public constant TOKEN_PRIVATE_SALE_CAP  =   70000000  * DECIMALSFACTOR;
    uint256 public constant TOKEN_PRESALE_CAP       =   15000000  * DECIMALSFACTOR;
    uint256 public constant TOKEN_PUBLIC_SALE_CAP   =  130000000  * DECIMALSFACTOR; // This also includes presale
    uint256 public constant TOKEN_FOUNDATION_CAP    =  100000000  * DECIMALSFACTOR;
    uint256 public constant TOKEN_RESERVE1_CAP      =   50000000  * DECIMALSFACTOR;
    uint256 public constant TOKEN_RESERVE2_CAP      =   50000000  * DECIMALSFACTOR;
    uint256 public constant TOKEN_FUTURE_CAP        =  600000000  * DECIMALSFACTOR;

    // Default bonus amount for the presale.
    // 100 = no bonus
    // 120 = 20% bonus.
    // Note that the owner can change the amount of bonus given.
    uint256 public constant PRESALE_BONUS      = 120;

    // Default value for tokensPerKEther based on ETH at 300 USD.
    // The owner can update this value before the sale starts based on the
    // price of ether at that time.
    // E.g. 300 USD/ETH -> 300,000 USD/KETH / 0.2 USD/TOKEN = 1,500,000
    uint256 public constant TOKENS_PER_KETHER = 1500000;
}


pragma solidity ^0.4.17;

// ----------------------------------------------------------------------------
// GAT Token Sample Implementation
//
// Copyright (c) 2017 GAT Systems Ltd.
// http://www.gatcoin.io/
//
// The MIT Licence.
// ----------------------------------------------------------------------------





// This is the main contract that drives the GAT token sale.
// It exposes the ERC20 interface along with various sale-related functions.
//
contract GATTokenSale is GATToken, GATTokenSaleConfig {

    using SafeMath for uint256;

    // Once finalized, tokens will be freely tradable
    bool public finalized;

    // Sale can be suspended or resumed by the owner
    bool public suspended;

    // Addresses for the bank, funding and reserves.
    address public bankAddress;
    address public fundingAddress;
    address public reserve1Address;
    address public reserve2Address;

    // Price of tokens per 1000 ETH
    uint256 public tokensPerKEther;

    // The bonus amount on token purchases
    // E.g. 120 means a 20% bonus will be applied.
    uint256 public bonus;

    // Total number of tokens that have been sold through the sale contract so far.
    uint256 public totalTokensSold;

    // Keep track of start time and end time for the sale. These have default
    // values when the contract is deployed but can be changed by owner as needed.
    uint256 public startTime;
    uint256 public endTime;


    // Events
    event TokensPurchased(address indexed beneficiary, uint256 cost, uint256 tokens);
    event TokensPerKEtherUpdated(uint256 newAmount);
    event BonusAmountUpdated(uint256 newAmount);
    event TimeWindowUpdated(uint256 newStartTime, uint256 newEndTime);
    event SaleSuspended();
    event SaleResumed();
    event TokenFinalized();
    event ContractTokensReclaimed(uint256 amount);


    function GATTokenSale(address _bankAddress, address _fundingAddress, address _reserve1Address, address _reserve2Address) public
        GATToken(SYMBOL, NAME, DECIMALS, 0)
    {
        // Can only create the contract is the sale has not yet started or ended.
        require(START_TIME >= currentTime());
        require(END_TIME > START_TIME);

        // Need valid wallet addresses
        require(_bankAddress    != address(0x0));
        require(_bankAddress    != address(this));
        require(_fundingAddress != address(0x0));
        require(_fundingAddress != address(this));
        require(_reserve1Address != address(0x0));
        require(_reserve1Address != address(this));
        require(_reserve2Address != address(0x0));
        require(_reserve2Address != address(this));

        uint256 salesTotal = TOKEN_PUBLIC_SALE_CAP.add(TOKEN_PRIVATE_SALE_CAP);
        require(salesTotal.add(TOKEN_FUTURE_CAP).add(TOKEN_FOUNDATION_CAP).add(TOKEN_RESERVE1_CAP).add(TOKEN_RESERVE2_CAP) == TOKEN_TOTAL_CAP);

        // Start in non-finalized state
        finalized = false;
        suspended = false;

        // Start and end times (used for presale).
        startTime = START_TIME;
        endTime   = END_TIME;

        // Initial pricing
        tokensPerKEther = TOKENS_PER_KETHER;

        // Bonus for contributions
        bonus = PRESALE_BONUS;

        // Initialize wallet addresses
        bankAddress    = _bankAddress;
        fundingAddress = _fundingAddress;
        reserve1Address = _reserve1Address;
        reserve2Address = _reserve2Address;

        // Assign initial balances
        balances[address(this)] = balances[address(this)].add(TOKEN_PRESALE_CAP);
        totalSupply = totalSupply.add(TOKEN_PRESALE_CAP);
        Transfer(0x0, address(this), TOKEN_PRESALE_CAP);

        balances[reserve1Address] = balances[reserve1Address].add(TOKEN_RESERVE1_CAP);
        totalSupply = totalSupply.add(TOKEN_RESERVE1_CAP);
        Transfer(0x0, reserve1Address, TOKEN_RESERVE1_CAP);

        balances[reserve2Address] = balances[reserve2Address].add(TOKEN_RESERVE2_CAP);
        totalSupply = totalSupply.add(TOKEN_RESERVE2_CAP);
        Transfer(0x0, reserve2Address, TOKEN_RESERVE2_CAP);

        uint256 bankBalance = TOKEN_TOTAL_CAP.sub(totalSupply);
        balances[bankAddress] = balances[bankAddress].add(bankBalance);
        totalSupply = totalSupply.add(bankBalance);
        Transfer(0x0, bankAddress, bankBalance);

        // The total supply that we calculated here should be the same as in the config.
        require(balanceOf(address(this))  == TOKEN_PRESALE_CAP);
        require(balanceOf(reserve1Address) == TOKEN_RESERVE1_CAP);
        require(balanceOf(reserve2Address) == TOKEN_RESERVE2_CAP);
        require(balanceOf(bankAddress)    == bankBalance);
        require(totalSupply == TOKEN_TOTAL_CAP);
    }


    function currentTime() public constant returns (uint256) {
        return now;
    }


    // Allows the owner to change the price for tokens.
    //
    function setTokensPerKEther(uint256 _tokensPerKEther) external onlyOwner returns(bool) {
        require(_tokensPerKEther > 0);

        // Set the tokensPerKEther amount for any new sale.
        tokensPerKEther = _tokensPerKEther;

        TokensPerKEtherUpdated(_tokensPerKEther);

        return true;
    }


    // Allows the owner to change the bonus amount applied to purchases.
    //
    function setBonus(uint256 _bonus) external onlyOwner returns(bool) {
        // 100 means no bonus
        require(_bonus >= 100);

        // 200 means 100% bonus
        require(_bonus <= 200);

        bonus = _bonus;

        BonusAmountUpdated(_bonus);

        return true;
    }


    // Allows the owner to change the time window for the sale.
    //
    function setTimeWindow(uint256 _startTime, uint256 _endTime) external onlyOwner returns(bool) {
        require(_startTime >= START_TIME);
        require(_endTime > _startTime);

        startTime = _startTime;
        endTime   = _endTime;

        TimeWindowUpdated(_startTime, _endTime);

        return true;
    }


    // Allows the owner to suspend / stop the sale.
    //
    function suspend() external onlyOwner returns(bool) {
        if (suspended == true) {
            return false;
        }

        suspended = true;

        SaleSuspended();

        return true;
    }


    // Allows the owner to resume the sale.
    //
    function resume() external onlyOwner returns(bool) {
        if (suspended == false) {
            return false;
        }

        suspended = false;

        SaleResumed();

        return true;
    }


    // Accept ether contributions during the token sale.
    //
    function () payable public {
        buyTokens(msg.sender);
    }


    // Allows the caller to buy tokens for another recipient (proxy purchase).
    // This can be used by exchanges for example.
    //
    function buyTokens(address beneficiary) public payable returns (uint256) {
        require(!suspended);
        require(beneficiary != address(0x0));
        require(beneficiary != address(this));
        require(currentTime() >= startTime);
        require(currentTime() <= endTime);
        require(msg.value >= CONTRIBUTION_MIN);
        require(msg.sender != fundingAddress);

        // Check if the sale contract still has tokens for sale.
        uint256 saleBalance = balanceOf(address(this));
        require(saleBalance > 0);

        // Calculate the number of tokens that the ether should convert to.
        uint256 tokens = msg.value.mul(tokensPerKEther).mul(bonus).div(10**(18 - DECIMALS + 3 + 2));
        require(tokens > 0);

        uint256 cost = msg.value;
        uint256 refund = 0;

        if (tokens > saleBalance) {
            // Not enough tokens left for sale to fulfill the full order.
            tokens = saleBalance;

            // Calculate the actual cost for the tokens that can be purchased.
            cost = tokens.mul(10**(18 - DECIMALS + 3 + 2)).div(tokensPerKEther.mul(bonus));

            // Calculate the amount of ETH refund to the contributor.
            refund = msg.value.sub(cost);
        }

        totalTokensSold = totalTokensSold.add(tokens);

        // Move tokens from the sale contract to the beneficiary
        balances[address(this)] = balances[address(this)].sub(tokens);
        balances[beneficiary]   = balances[beneficiary].add(tokens);
        Transfer(address(this), beneficiary, tokens);

        if (refund > 0) {
           msg.sender.transfer(refund);
        }

        // Transfer the contributed ether to the crowdsale wallets.
        uint256 contribution      = msg.value.sub(refund);
        uint256 reserveAllocation = contribution.div(20);

        fundingAddress.transfer(contribution.sub(reserveAllocation));
        reserve1Address.transfer(reserveAllocation);

        TokensPurchased(beneficiary, cost, tokens);

        return tokens;
    }


    // ERC20 transfer function, modified to only allow transfers once the sale has been finalized.
    //
    function transfer(address _to, uint256 _amount) public returns (bool success) {
        if (!isTransferAllowed(msg.sender, _to)) {
            return false;
        }

        return super.transfer(_to, _amount);
    }


    // ERC20 transferFrom function, modified to only allow transfers once the sale has been finalized.
    //
    function transferFrom(address _from, address _to, uint256 _amount) public returns (bool success) {
        if (!isTransferAllowed(_from, _to)) {
            return false;
        }

        return super.transferFrom(_from, _to, _amount);
    }


    // Internal helper to check if the transfer should be allowed
    //
    function isTransferAllowed(address _from, address _to) private view returns (bool) {
        if (finalized) {
            // We allow everybody to transfer tokens once the sale is finalized.
            return true;
        }

        if (_from == bankAddress || _to == bankAddress) {
            // We allow the bank to initiate transfers. We also allow it to be the recipient
            // of transfers before the token is finalized in case a recipient wants to send
            // back tokens. E.g. KYC requirements cannot be met.
            return true;
        }

        return false;
    }


    // Allows owner to transfer tokens assigned to the sale contract, back to the bank wallet.
    function reclaimContractTokens() external onlyOwner returns (bool) {
        uint256 tokens = balanceOf(address(this));

        if (tokens == 0) {
            return false;
        }

        balances[address(this)] = balances[address(this)].sub(tokens);
        balances[bankAddress]   = balances[bankAddress].add(tokens);
        Transfer(address(this), bankAddress, tokens);

        ContractTokensReclaimed(tokens);

        return true;
    }


    // Allows the owner to finalize the sale and allow tokens to be traded.
    //
    function finalize() external onlyOwner returns (bool) {
        require(!finalized);

        finalized = true;

        TokenFinalized();

        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"resume","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bonus","type":"uint256"}],"name":"setBonus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokensPerKEther","type":"uint256"}],"name":"setTokensPerKEther","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":"_startTime","type":"uint256"},{"name":"_endTime","type":"uint256"}],"name":"setTimeWindow","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"PRESALE_BONUS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_PRIVATE_SALE_CAP","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":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"END_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalTokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserve1Address","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"suspended","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bankAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_FOUNDATION_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_RESERVE1_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DECIMALSFACTOR","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_RESERVE2_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reclaimContractTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserve2Address","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerKEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"finalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_FUTURE_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CONTRIBUTION_MIN","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_PUBLIC_SALE_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_TOTAL_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundingAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"START_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"suspend","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_PRESALE_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_PER_KETHER","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_bankAddress","type":"address"},{"name":"_fundingAddress","type":"address"},{"name":"_reserve1Address","type":"address"},{"name":"_reserve2Address","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"cost","type":"uint256"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"TokensPurchased","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAmount","type":"uint256"}],"name":"TokensPerKEtherUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAmount","type":"uint256"}],"name":"BonusAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newStartTime","type":"uint256"},{"indexed":false,"name":"newEndTime","type":"uint256"}],"name":"TimeWindowUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"SaleSuspended","type":"event"},{"anonymous":false,"inputs":[],"name":"SaleResumed","type":"event"},{"anonymous":false,"inputs":[],"name":"TokenFinalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"ContractTokensReclaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnerChanged","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"},{"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"}]

606060405234156200001057600080fd5b60405160808062001e8e8339810160405280805191906020018051919060200180519190602001805191506000905080604080519081016040908152600382527f474154000000000000000000000000000000000000000000000000000000000060208301528051908101604052600981527f47415420546f6b656e0000000000000000000000000000000000000000000000602082015260018054600160a060020a03191633600160a060020a0316179055601260006003848051620000dc929160200190620007c6565b506004838051620000f2929160200190620007c6565b5060058290556000818155600154600160a060020a03169060008051602062001e6e8339815191528360405190815260200160405180910390a3505050506200014e6200077c64010000000002620011a0176401000000009004565b6359f4714010156200015f57600080fd5b600160a060020a03861615156200017557600080fd5b30600160a060020a031686600160a060020a0316141515156200019757600080fd5b600160a060020a0385161515620001ad57600080fd5b30600160a060020a031685600160a060020a031614151515620001cf57600080fd5b600160a060020a0384161515620001e557600080fd5b30600160a060020a031684600160a060020a0316141515156200020757600080fd5b600160a060020a03831615156200021d57600080fd5b30600160a060020a031683600160a060020a0316141515156200023f57600080fd5b6200026f6a6b88921f0410abc20000006a39e7139a8c08fa060000006401000000006200138c6200078182021704565b91506b033b2e3c9fd0803ce8000000620002d86a295be96e64066972000000620002c381816a52b7d2dcc80cd2e400000081896b01f04ef12cb04cf1580000006401000000006200138c6200078182021704565b906401000000006200138c6200078182021704565b14620002e357600080fd5b600880546359f47140600f55635a1d4fbf6010556216e360600c556078600d55600160b060020a03191662010000600160a060020a03898116919091029190911790915560098054600160a060020a031990811688841617909155600a80548216878416179055600b805490911685831617905530166000908152600660205260409020546200038d906a0c685fa11e01ec6f0000006401000000006200078181026200138c1704565b600160a060020a03301660009081526006602052604081209190915554620003cf906a0c685fa11e01ec6f0000006401000000006200138c6200078182021704565b6000908155600160a060020a0330169060008051602062001e6e8339815191526a0c685fa11e01ec6f00000060405190815260200160405180910390a3600a54600160a060020a03166000908152600660205260409020546200044c906a295be96e640669720000006401000000006200138c6200078182021704565b600a54600160a060020a03166000908152600660205260408120919091555462000490906a295be96e640669720000006401000000006200138c6200078182021704565b6000908155600a54600160a060020a03169060008051602062001e6e8339815191526a295be96e6406697200000060405190815260200160405180910390a3600b54600160a060020a03166000908152600660205260409020546200050f906a295be96e640669720000006401000000006200138c6200078182021704565b600b54600160a060020a03166000908152600660205260408120919091555462000553906a295be96e640669720000006401000000006200138c6200078182021704565b6000908155600b54600160a060020a03169060008051602062001e6e8339815191526a295be96e6406697200000060405190815260200160405180910390a3600054620005bc906b033b2e3c9fd0803ce8000000906401000000006200137a6200079882021704565b600854620100009004600160a060020a0316600090815260066020526040902054909150620005fa90826401000000006200078181026200138c1704565b600854620100009004600160a060020a0316600090815260066020526040812091909155546200063990826401000000006200078181026200138c1704565b6000908155600854620100009004600160a060020a03169060008051602062001e6e8339815191528360405190815260200160405180910390a36a0c685fa11e01ec6f000000620006983064010000000062000e5d620007ab82021704565b14620006a357600080fd5b600a546a295be96e6406697200000090620006d590600160a060020a031664010000000062000e5d620007ab82021704565b14620006e057600080fd5b600b546a295be96e64066972000000906200071290600160a060020a031664010000000062000e5d620007ab82021704565b146200071d57600080fd5b60085481906200074a90620100009004600160a060020a0316640100000000620007ab810262000e5d1704565b146200075557600080fd5b6000546b033b2e3c9fd0803ce8000000146200077057600080fd5b50505050505062000868565b425b90565b6000828201838110156200079157fe5b9392505050565b600082821115620007a557fe5b50900390565b600160a060020a031660009081526006602052604090205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200080957805160ff191683800117855562000839565b8280016001018555821562000839579182015b82811115620008395782518255916020019190600101906200081c565b50620008479291506200084b565b5090565b6200077e91905b8082111562000847576000815560010162000852565b6115f680620008786000396000f300606060405236156102595763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663046f7da2811461026557806306fdde031461028c578063095ea7b3146103165780630b98f975146103385780630e9d02cc1461034e57806318160ddd146103645780631a79c5de146103895780631b3fddb8146103a257806323b872dd146103b55780632a9d04f0146103dd5780632e0f2625146103f0578063313ce567146104035780633197cbb61461041657806337ba682d146104295780634bb278f31461043c57806363b201171461044f57806363cb2afb14610462578063702efdf31461049157806370a08231146104a457806375b4d78c146104c35780637822ed49146104d657806378e97925146104e957806379ba5097146104fc57806384fd7ef01461050f5780638945a8af146105225780638bc04eb7146105355780638d71f131146105225780638da5cb5b146105485780638f14d8a31461055b57806395d89b411461056e578063979260bd14610581578063a3f4df7e14610594578063a5bc770c146105a7578063a9059cbb146105ba578063b3f05b97146105dc578063b46eeebb146105ef578063ba9bb82714610602578063c57a4a4d14610615578063c806a91d14610628578063d18e81b31461063b578063d3b7bfb41461064e578063d4ee1d9014610661578063dd62ed3e14610674578063ddaa26ad14610699578063e6400bbe146106ac578063eb75dc03146106bf578063ec8ac4d8146106d2578063f2fde38b146106e6578063f527c85614610705578063f76f8d7814610718575b6102623361072b565b50005b341561027057600080fd5b610278610a7e565b604051901515815260200160405180910390f35b341561029757600080fd5b61029f610af3565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102db5780820151838201526020016102c3565b50505050905090810190601f1680156103085780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561032157600080fd5b610278600160a060020a0360043516602435610b91565b341561034357600080fd5b610278600435610bfe565b341561035957600080fd5b610278600435610c78565b341561036f57600080fd5b610377610ce3565b60405190815260200160405180910390f35b341561039457600080fd5b610278600435602435610ce9565b34156103ad57600080fd5b610377610d71565b34156103c057600080fd5b610278600160a060020a0360043581169060243516604435610d76565b34156103e857600080fd5b610377610da5565b34156103fb57600080fd5b610377610db4565b341561040e57600080fd5b610377610db9565b341561042157600080fd5b610377610dbf565b341561043457600080fd5b610377610dc5565b341561044757600080fd5b610278610dcd565b341561045a57600080fd5b610377610e3a565b341561046d57600080fd5b610475610e40565b604051600160a060020a03909116815260200160405180910390f35b341561049c57600080fd5b610278610e4f565b34156104af57600080fd5b610377600160a060020a0360043516610e5d565b34156104ce57600080fd5b610377610e78565b34156104e157600080fd5b610475610e7e565b34156104f457600080fd5b610377610e93565b341561050757600080fd5b610278610e99565b341561051a57600080fd5b610377610f14565b341561052d57600080fd5b610377610f23565b341561054057600080fd5b610377610f32565b341561055357600080fd5b610475610f3e565b341561056657600080fd5b610278610f4d565b341561057957600080fd5b61029f611081565b341561058c57600080fd5b6104756110ec565b341561059f57600080fd5b61029f6110fb565b34156105b257600080fd5b610377611132565b34156105c557600080fd5b610278600160a060020a0360043516602435611138565b34156105e757600080fd5b61027861115c565b34156105fa57600080fd5b610377611165565b341561060d57600080fd5b610377611175565b341561062057600080fd5b610377611181565b341561063357600080fd5b610377611190565b341561064657600080fd5b6103776111a0565b341561065957600080fd5b6104756111a4565b341561066c57600080fd5b6104756111b3565b341561067f57600080fd5b610377600160a060020a03600435811690602435166111c2565b34156106a457600080fd5b6103776111ed565b34156106b757600080fd5b6102786111f5565b34156106ca57600080fd5b610377611272565b610377600160a060020a036004351661072b565b34156106f157600080fd5b610278600160a060020a0360043516611281565b341561071057600080fd5b610377611301565b341561072357600080fd5b61029f611308565b6000806000806000806000600860019054906101000a900460ff1615151561075257600080fd5b600160a060020a038816151561076757600080fd5b30600160a060020a031688600160a060020a03161415151561078857600080fd5b600f546107936111a0565b101561079e57600080fd5b6010546107a96111a0565b11156107b457600080fd5b67016345785d8a00003410156107c957600080fd5b60095433600160a060020a03908116911614156107e557600080fd5b6107ee30610e5d565b9550600086116107fd57600080fd5b600d54600c5461083a91620186a09161082e919061082290349063ffffffff61133f16565b9063ffffffff61133f16565b9063ffffffff61136316565b94506000851161084957600080fd5b349350600092508585111561089d57859450610888610875600d54600c5461133f90919063ffffffff16565b61082e87620186a063ffffffff61133f16565b935061089a348563ffffffff61137a16565b92505b600e546108b0908663ffffffff61138c16565b600e55600160a060020a0330166000908152600660205260409020546108dc908663ffffffff61137a16565b600160a060020a0330811660009081526006602052604080822093909355908a1681522054610911908663ffffffff61138c16565b600160a060020a03808a1660008181526006602052604090819020939093559130909116906000805160206115ab8339815191529088905190815260200160405180910390a3600083111561099157600160a060020a03331683156108fc0284604051600060405180830381858888f19350505050151561099157600080fd5b6109a1348463ffffffff61137a16565b91506109b482601463ffffffff61136316565b600954909150600160a060020a03166108fc6109d6848463ffffffff61137a16565b9081150290604051600060405180830381858888f1935050505015156109fb57600080fd5b600a54600160a060020a031681156108fc0282604051600060405180830381858888f193505050501515610a2e57600080fd5b87600160a060020a03167f8fafebcaf9d154343dad25669bfa277f4fbacd7ac6b0c4fed522580e040a0f33858760405191825260208201526040908101905180910390a250929695505050505050565b60015460009033600160a060020a03908116911614610a9c57600080fd5b600854610100900460ff161515610ab557506000610af0565b6008805461ff00191690557fbcbdbf400d5c713d9679ffa947f717848591ab5a7d1608c49119db603c4942cb60405160405180910390a15060015b90565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b895780601f10610b5e57610100808354040283529160200191610b89565b820191906000526020600020905b815481529060010190602001808311610b6c57829003601f168201915b505050505081565b600160a060020a03338116600081815260076020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60015460009033600160a060020a03908116911614610c1c57600080fd5b6064821015610c2a57600080fd5b60c8821115610c3857600080fd5b600d8290557f7d9e5243a26ab840171b7338448bae49afbea12ab5209c779f4e2ae6e2d141cd8260405190815260200160405180910390a1506001919050565b60015460009033600160a060020a03908116911614610c9657600080fd5b60008211610ca357600080fd5b600c8290557fee386bebbe46d39825c2b93313aa1ab1dc57d4774cac81c6debb8c611c9227ab8260405190815260200160405180910390a1506001919050565b60005481565b60015460009033600160a060020a03908116911614610d0757600080fd5b6359f47140831015610d1857600080fd5b828211610d2457600080fd5b600f83905560108290557f6c118f466f3e47773b4c9da27f548aafdf212f592e28574f28ecc67ef19cd451838360405191825260208201526040908101905180910390a150600192915050565b607881565b6000610d82848461139b565b1515610d9057506000610d9e565b610d9b8484846113fc565b90505b9392505050565b6a39e7139a8c08fa0600000081565b601281565b60055481565b60105481565b635a1d4fbf81565b60015460009033600160a060020a03908116911614610deb57600080fd5b60085460ff1615610dfb57600080fd5b6008805460ff191660011790557f0f9b481a37d4503bc76152eef0e2ba08850a8db76068c93d4d6bec0395aee72360405160405180910390a150600190565b600e5481565b600a54600160a060020a031681565b600854610100900460ff1681565b600160a060020a031660009081526006602052604090205490565b600d5481565b600854620100009004600160a060020a031681565b600f5481565b60025460009033600160a060020a03908116911614610eb757600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03169081179091557fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf3660405160405180910390a250600190565b6a52b7d2dcc80cd2e400000081565b6a295be96e6406697200000081565b670de0b6b3a764000081565b600154600160a060020a031681565b600154600090819033600160a060020a03908116911614610f6d57600080fd5b610f7630610e5d565b9050801515610f88576000915061107d565b600160a060020a033016600090815260066020526040902054610fb1908263ffffffff61137a16565b600160a060020a033081166000908152600660205260408082209390935560085462010000900490911681522054610fef908263ffffffff61138c16565b60088054600160a060020a0362010000918290048116600090815260066020526040908190209490945591540481169130909116906000805160206115ab8339815191529084905190815260200160405180910390a37f2bdbc0ce7fbf2aef4c647c03c4bfd8944d985741800d90ca4f1e8c6f5b77419e8160405190815260200160405180910390a1600191505b5090565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b895780601f10610b5e57610100808354040283529160200191610b89565b600b54600160a060020a031681565b60408051908101604052600981527f47415420546f6b656e0000000000000000000000000000000000000000000000602082015281565b600c5481565b6000611144338461139b565b151561115257506000610bf8565b610d9e83836114fd565b60085460ff1681565b6b01f04ef12cb04cf15800000081565b67016345785d8a000081565b6a6b88921f0410abc200000081565b6b033b2e3c9fd0803ce800000081565b4290565b600954600160a060020a031681565b600254600160a060020a031681565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b6359f4714081565b60015460009033600160a060020a0390811691161461121357600080fd5b60085460ff6101009091041615156001141561123157506000610af0565b6008805461ff0019166101001790557fe14916b4c867f32e91547d295f9b845b805d5b8c813daa3adbc1597f80a0c5eb60405160405180910390a150600190565b6a0c685fa11e01ec6f00000081565b60015460009033600160a060020a0390811691161461129f57600080fd5b600160a060020a03821615156112b457600080fd5b600154600160a060020a03838116911614156112cf57600080fd5b5060028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b6216e36081565b60408051908101604052600381527f4741540000000000000000000000000000000000000000000000000000000000602082015281565b600082820283158061135b575082848281151561135857fe5b04145b1515610d9e57fe5b600080828481151561137157fe5b04949350505050565b60008282111561138657fe5b50900390565b600082820183811015610d9e57fe5b60085460009060ff16156113b157506001610bf8565b600854600160a060020a03848116620100009092041614806113e65750600854600160a060020a038381166201000090920416145b156113f357506001610bf8565b50600092915050565b600160a060020a038316600090815260066020526040812054611425908363ffffffff61137a16565b600160a060020a0380861660009081526006602090815260408083209490945560078152838220339093168252919091522054611468908363ffffffff61137a16565b600160a060020a03808616600090815260076020908152604080832033851684528252808320949094559186168152600690915220546114ae908363ffffffff61138c16565b600160a060020a03808516600081815260066020526040908190209390935591908616906000805160206115ab8339815191529085905190815260200160405180910390a35060019392505050565b600160a060020a033316600090815260066020526040812054611526908363ffffffff61137a16565b600160a060020a03338116600090815260066020526040808220939093559085168152205461155b908363ffffffff61138c16565b600160a060020a0380851660008181526006602052604090819020939093559133909116906000805160206115ab8339815191529085905190815260200160405180910390a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058201b13fe237af02730eef44d18389c722bc463a2cacadf5eab36d46994fa5a3f7b0029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef000000000000000000000000dcd288d759fb78ba9af6793200a6ecc5fecb13cd000000000000000000000000a85b419eee304563d3587fe934e932f056ca3c14000000000000000000000000ac640a4ede7955c63b9cd887d1b4720c860ad8b7000000000000000000000000cad687992c0720d2a644f13f82c8874f497b93ce

Deployed Bytecode

0x606060405236156102595763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663046f7da2811461026557806306fdde031461028c578063095ea7b3146103165780630b98f975146103385780630e9d02cc1461034e57806318160ddd146103645780631a79c5de146103895780631b3fddb8146103a257806323b872dd146103b55780632a9d04f0146103dd5780632e0f2625146103f0578063313ce567146104035780633197cbb61461041657806337ba682d146104295780634bb278f31461043c57806363b201171461044f57806363cb2afb14610462578063702efdf31461049157806370a08231146104a457806375b4d78c146104c35780637822ed49146104d657806378e97925146104e957806379ba5097146104fc57806384fd7ef01461050f5780638945a8af146105225780638bc04eb7146105355780638d71f131146105225780638da5cb5b146105485780638f14d8a31461055b57806395d89b411461056e578063979260bd14610581578063a3f4df7e14610594578063a5bc770c146105a7578063a9059cbb146105ba578063b3f05b97146105dc578063b46eeebb146105ef578063ba9bb82714610602578063c57a4a4d14610615578063c806a91d14610628578063d18e81b31461063b578063d3b7bfb41461064e578063d4ee1d9014610661578063dd62ed3e14610674578063ddaa26ad14610699578063e6400bbe146106ac578063eb75dc03146106bf578063ec8ac4d8146106d2578063f2fde38b146106e6578063f527c85614610705578063f76f8d7814610718575b6102623361072b565b50005b341561027057600080fd5b610278610a7e565b604051901515815260200160405180910390f35b341561029757600080fd5b61029f610af3565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102db5780820151838201526020016102c3565b50505050905090810190601f1680156103085780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561032157600080fd5b610278600160a060020a0360043516602435610b91565b341561034357600080fd5b610278600435610bfe565b341561035957600080fd5b610278600435610c78565b341561036f57600080fd5b610377610ce3565b60405190815260200160405180910390f35b341561039457600080fd5b610278600435602435610ce9565b34156103ad57600080fd5b610377610d71565b34156103c057600080fd5b610278600160a060020a0360043581169060243516604435610d76565b34156103e857600080fd5b610377610da5565b34156103fb57600080fd5b610377610db4565b341561040e57600080fd5b610377610db9565b341561042157600080fd5b610377610dbf565b341561043457600080fd5b610377610dc5565b341561044757600080fd5b610278610dcd565b341561045a57600080fd5b610377610e3a565b341561046d57600080fd5b610475610e40565b604051600160a060020a03909116815260200160405180910390f35b341561049c57600080fd5b610278610e4f565b34156104af57600080fd5b610377600160a060020a0360043516610e5d565b34156104ce57600080fd5b610377610e78565b34156104e157600080fd5b610475610e7e565b34156104f457600080fd5b610377610e93565b341561050757600080fd5b610278610e99565b341561051a57600080fd5b610377610f14565b341561052d57600080fd5b610377610f23565b341561054057600080fd5b610377610f32565b341561055357600080fd5b610475610f3e565b341561056657600080fd5b610278610f4d565b341561057957600080fd5b61029f611081565b341561058c57600080fd5b6104756110ec565b341561059f57600080fd5b61029f6110fb565b34156105b257600080fd5b610377611132565b34156105c557600080fd5b610278600160a060020a0360043516602435611138565b34156105e757600080fd5b61027861115c565b34156105fa57600080fd5b610377611165565b341561060d57600080fd5b610377611175565b341561062057600080fd5b610377611181565b341561063357600080fd5b610377611190565b341561064657600080fd5b6103776111a0565b341561065957600080fd5b6104756111a4565b341561066c57600080fd5b6104756111b3565b341561067f57600080fd5b610377600160a060020a03600435811690602435166111c2565b34156106a457600080fd5b6103776111ed565b34156106b757600080fd5b6102786111f5565b34156106ca57600080fd5b610377611272565b610377600160a060020a036004351661072b565b34156106f157600080fd5b610278600160a060020a0360043516611281565b341561071057600080fd5b610377611301565b341561072357600080fd5b61029f611308565b6000806000806000806000600860019054906101000a900460ff1615151561075257600080fd5b600160a060020a038816151561076757600080fd5b30600160a060020a031688600160a060020a03161415151561078857600080fd5b600f546107936111a0565b101561079e57600080fd5b6010546107a96111a0565b11156107b457600080fd5b67016345785d8a00003410156107c957600080fd5b60095433600160a060020a03908116911614156107e557600080fd5b6107ee30610e5d565b9550600086116107fd57600080fd5b600d54600c5461083a91620186a09161082e919061082290349063ffffffff61133f16565b9063ffffffff61133f16565b9063ffffffff61136316565b94506000851161084957600080fd5b349350600092508585111561089d57859450610888610875600d54600c5461133f90919063ffffffff16565b61082e87620186a063ffffffff61133f16565b935061089a348563ffffffff61137a16565b92505b600e546108b0908663ffffffff61138c16565b600e55600160a060020a0330166000908152600660205260409020546108dc908663ffffffff61137a16565b600160a060020a0330811660009081526006602052604080822093909355908a1681522054610911908663ffffffff61138c16565b600160a060020a03808a1660008181526006602052604090819020939093559130909116906000805160206115ab8339815191529088905190815260200160405180910390a3600083111561099157600160a060020a03331683156108fc0284604051600060405180830381858888f19350505050151561099157600080fd5b6109a1348463ffffffff61137a16565b91506109b482601463ffffffff61136316565b600954909150600160a060020a03166108fc6109d6848463ffffffff61137a16565b9081150290604051600060405180830381858888f1935050505015156109fb57600080fd5b600a54600160a060020a031681156108fc0282604051600060405180830381858888f193505050501515610a2e57600080fd5b87600160a060020a03167f8fafebcaf9d154343dad25669bfa277f4fbacd7ac6b0c4fed522580e040a0f33858760405191825260208201526040908101905180910390a250929695505050505050565b60015460009033600160a060020a03908116911614610a9c57600080fd5b600854610100900460ff161515610ab557506000610af0565b6008805461ff00191690557fbcbdbf400d5c713d9679ffa947f717848591ab5a7d1608c49119db603c4942cb60405160405180910390a15060015b90565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b895780601f10610b5e57610100808354040283529160200191610b89565b820191906000526020600020905b815481529060010190602001808311610b6c57829003601f168201915b505050505081565b600160a060020a03338116600081815260076020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60015460009033600160a060020a03908116911614610c1c57600080fd5b6064821015610c2a57600080fd5b60c8821115610c3857600080fd5b600d8290557f7d9e5243a26ab840171b7338448bae49afbea12ab5209c779f4e2ae6e2d141cd8260405190815260200160405180910390a1506001919050565b60015460009033600160a060020a03908116911614610c9657600080fd5b60008211610ca357600080fd5b600c8290557fee386bebbe46d39825c2b93313aa1ab1dc57d4774cac81c6debb8c611c9227ab8260405190815260200160405180910390a1506001919050565b60005481565b60015460009033600160a060020a03908116911614610d0757600080fd5b6359f47140831015610d1857600080fd5b828211610d2457600080fd5b600f83905560108290557f6c118f466f3e47773b4c9da27f548aafdf212f592e28574f28ecc67ef19cd451838360405191825260208201526040908101905180910390a150600192915050565b607881565b6000610d82848461139b565b1515610d9057506000610d9e565b610d9b8484846113fc565b90505b9392505050565b6a39e7139a8c08fa0600000081565b601281565b60055481565b60105481565b635a1d4fbf81565b60015460009033600160a060020a03908116911614610deb57600080fd5b60085460ff1615610dfb57600080fd5b6008805460ff191660011790557f0f9b481a37d4503bc76152eef0e2ba08850a8db76068c93d4d6bec0395aee72360405160405180910390a150600190565b600e5481565b600a54600160a060020a031681565b600854610100900460ff1681565b600160a060020a031660009081526006602052604090205490565b600d5481565b600854620100009004600160a060020a031681565b600f5481565b60025460009033600160a060020a03908116911614610eb757600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03169081179091557fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf3660405160405180910390a250600190565b6a52b7d2dcc80cd2e400000081565b6a295be96e6406697200000081565b670de0b6b3a764000081565b600154600160a060020a031681565b600154600090819033600160a060020a03908116911614610f6d57600080fd5b610f7630610e5d565b9050801515610f88576000915061107d565b600160a060020a033016600090815260066020526040902054610fb1908263ffffffff61137a16565b600160a060020a033081166000908152600660205260408082209390935560085462010000900490911681522054610fef908263ffffffff61138c16565b60088054600160a060020a0362010000918290048116600090815260066020526040908190209490945591540481169130909116906000805160206115ab8339815191529084905190815260200160405180910390a37f2bdbc0ce7fbf2aef4c647c03c4bfd8944d985741800d90ca4f1e8c6f5b77419e8160405190815260200160405180910390a1600191505b5090565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b895780601f10610b5e57610100808354040283529160200191610b89565b600b54600160a060020a031681565b60408051908101604052600981527f47415420546f6b656e0000000000000000000000000000000000000000000000602082015281565b600c5481565b6000611144338461139b565b151561115257506000610bf8565b610d9e83836114fd565b60085460ff1681565b6b01f04ef12cb04cf15800000081565b67016345785d8a000081565b6a6b88921f0410abc200000081565b6b033b2e3c9fd0803ce800000081565b4290565b600954600160a060020a031681565b600254600160a060020a031681565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b6359f4714081565b60015460009033600160a060020a0390811691161461121357600080fd5b60085460ff6101009091041615156001141561123157506000610af0565b6008805461ff0019166101001790557fe14916b4c867f32e91547d295f9b845b805d5b8c813daa3adbc1597f80a0c5eb60405160405180910390a150600190565b6a0c685fa11e01ec6f00000081565b60015460009033600160a060020a0390811691161461129f57600080fd5b600160a060020a03821615156112b457600080fd5b600154600160a060020a03838116911614156112cf57600080fd5b5060028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b6216e36081565b60408051908101604052600381527f4741540000000000000000000000000000000000000000000000000000000000602082015281565b600082820283158061135b575082848281151561135857fe5b04145b1515610d9e57fe5b600080828481151561137157fe5b04949350505050565b60008282111561138657fe5b50900390565b600082820183811015610d9e57fe5b60085460009060ff16156113b157506001610bf8565b600854600160a060020a03848116620100009092041614806113e65750600854600160a060020a038381166201000090920416145b156113f357506001610bf8565b50600092915050565b600160a060020a038316600090815260066020526040812054611425908363ffffffff61137a16565b600160a060020a0380861660009081526006602090815260408083209490945560078152838220339093168252919091522054611468908363ffffffff61137a16565b600160a060020a03808616600090815260076020908152604080832033851684528252808320949094559186168152600690915220546114ae908363ffffffff61138c16565b600160a060020a03808516600081815260066020526040908190209390935591908616906000805160206115ab8339815191529085905190815260200160405180910390a35060019392505050565b600160a060020a033316600090815260066020526040812054611526908363ffffffff61137a16565b600160a060020a03338116600090815260066020526040808220939093559085168152205461155b908363ffffffff61138c16565b600160a060020a0380851660008181526006602052604090819020939093559133909116906000805160206115ab8339815191529085905190815260200160405180910390a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058201b13fe237af02730eef44d18389c722bc463a2cacadf5eab36d46994fa5a3f7b0029

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

000000000000000000000000dcd288d759fb78ba9af6793200a6ecc5fecb13cd000000000000000000000000a85b419eee304563d3587fe934e932f056ca3c14000000000000000000000000ac640a4ede7955c63b9cd887d1b4720c860ad8b7000000000000000000000000cad687992c0720d2a644f13f82c8874f497b93ce

-----Decoded View---------------
Arg [0] : _bankAddress (address): 0xdcD288d759Fb78BA9aF6793200a6eCc5FecB13cd
Arg [1] : _fundingAddress (address): 0xA85B419eeE304563d3587Fe934e932F056cA3C14
Arg [2] : _reserve1Address (address): 0xAC640A4EDe7955c63b9Cd887D1B4720C860AD8b7
Arg [3] : _reserve2Address (address): 0xcaD687992c0720D2a644F13F82c8874f497B93Ce

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000dcd288d759fb78ba9af6793200a6ecc5fecb13cd
Arg [1] : 000000000000000000000000a85b419eee304563d3587fe934e932f056ca3c14
Arg [2] : 000000000000000000000000ac640a4ede7955c63b9cd887d1b4720c860ad8b7
Arg [3] : 000000000000000000000000cad687992c0720d2a644f13f82c8874f497b93ce


Swarm Source

bzzr://1b13fe237af02730eef44d18389c722bc463a2cacadf5eab36d46994fa5a3f7b
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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