Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
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)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
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.