More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
5864509 | 2408 days ago | 0.2 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
TuurntCrowdsale
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-06-20 */ pragma solidity ^0.4.23; /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to relinquish control of the contract. */ function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function transferOwnership(address _newOwner) public onlyOwner { _transferOwnership(_newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0)); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { // Gas optimization: this is cheaper than asserting 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ 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 a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; uint256 totalSupply_; /** * @dev total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval( address indexed owner, address indexed spender, uint256 value ); } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * @dev https://github.com/ethereum/EIPs/issues/20 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom( address _from, address _to, uint256 _value ) public returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance( address _owner, address _spender ) public view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval( address _spender, uint _addedValue ) public returns (bool) { allowed[msg.sender][_spender] = ( allowed[msg.sender][_spender].add(_addedValue)); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval( address _spender, uint _subtractedValue ) public returns (bool) { uint oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } /** * @title DetailedERC20 token * @dev The decimals are only for visualization purposes. * All the operations are done using the smallest and indivisible token unit, * just as on Ethereum all the operations are done in wei. */ contract DetailedERC20 is ERC20 { string public name; string public symbol; uint8 public decimals; constructor(string _name, string _symbol, uint8 _decimals) public { name = _name; symbol = _symbol; decimals = _decimals; } } /** * @title Math * @dev Assorted math operations */ library Math { function max64(uint64 a, uint64 b) internal pure returns (uint64) { return a >= b ? a : b; } function min64(uint64 a, uint64 b) internal pure returns (uint64) { return a < b ? a : b; } function max256(uint256 a, uint256 b) internal pure returns (uint256) { return a >= b ? a : b; } function min256(uint256 a, uint256 b) internal pure returns (uint256) { return a < b ? a : b; } } /** * @title TuurntToken * @dev The TuurntToken contract contains the information about * Tuurnt token. */ contract TuurntToken is StandardToken, DetailedERC20 { using SafeMath for uint256; // distribution variables uint256 public tokenAllocToTeam; uint256 public tokenAllocToCrowdsale; uint256 public tokenAllocToCompany; // addresses address public crowdsaleAddress; address public teamAddress; address public companyAddress; /** * @dev The TuurntToken constructor set the orginal crowdsaleAddress,teamAddress and companyAddress and allocate the * tokens to them. * @param _crowdsaleAddress The address of crowsale contract * @param _teamAddress The address of team * @param _companyAddress The address of company */ constructor(address _crowdsaleAddress, address _teamAddress, address _companyAddress, string _name, string _symbol, uint8 _decimals) public DetailedERC20(_name, _symbol, _decimals) { require(_crowdsaleAddress != address(0)); require(_teamAddress != address(0)); require(_companyAddress != address(0)); totalSupply_ = 500000000 * 10 ** 18; tokenAllocToTeam = (totalSupply_.mul(33)).div(100); // 33 % Allocation tokenAllocToCompany = (totalSupply_.mul(33)).div(100); // 33 % Allocation tokenAllocToCrowdsale = (totalSupply_.mul(34)).div(100);// 34 % Allocation // Address crowdsaleAddress = _crowdsaleAddress; teamAddress = _teamAddress; companyAddress = _companyAddress; // Allocations balances[crowdsaleAddress] = tokenAllocToCrowdsale; balances[companyAddress] = tokenAllocToCompany; balances[teamAddress] = tokenAllocToTeam; //transfer event emit Transfer(address(0), crowdsaleAddress, tokenAllocToCrowdsale); emit Transfer(address(0), companyAddress, tokenAllocToCompany); emit Transfer(address(0), teamAddress, tokenAllocToTeam); } } contract WhitelistInterface { function checkWhitelist(address _whiteListAddress) public view returns(bool); } /** * @title TuurntCrowdsale * @dev The Crowdsale contract holds the token for the public sale of token and * contains the function to buy token. */ contract TuurntCrowdsale is Ownable { using SafeMath for uint256; TuurntToken public token; WhitelistInterface public whitelist; //variable declaration uint256 public MIN_INVESTMENT = 0.2 ether; uint256 public ethRaised; uint256 public ethRate = 524; uint256 public startCrowdsalePhase1Date; uint256 public endCrowdsalePhase1Date; uint256 public startCrowdsalePhase2Date; uint256 public endCrowdsalePhase2Date; uint256 public startCrowdsalePhase3Date; uint256 public endCrowdsalePhase3Date; uint256 public startPresaleDate; uint256 public endPresaleDate; uint256 public startPrivatesaleDate; uint256 public soldToken = 0; //addresses address public beneficiaryAddress; address public tokenAddress; bool private isPrivatesaleActive = false; bool private isPresaleActive = false; bool private isPhase1CrowdsaleActive = false; bool private isPhase2CrowdsaleActive = false; bool private isPhase3CrowdsaleActive = false; bool private isGapActive = false; event TokenBought(address indexed _investor, uint256 _token, uint256 _timestamp); event LogTokenSet(address _token, uint256 _timestamp); enum State { PrivateSale, PreSale, Gap, CrowdSalePhase1, CrowdSalePhase2, CrowdSalePhase3 } /** * @dev Transfer the ether to the beneficiaryAddress. * @param _fund The ether that is transferred to contract to buy tokens. */ function fundTransfer(uint256 _fund) internal returns(bool) { beneficiaryAddress.transfer(_fund); return true; } /** * @dev fallback function which accepts the ether and call the buy token function. */ function () payable public { buyTokens(msg.sender); } /** * @dev TuurntCrowdsale constructor sets the original beneficiaryAddress and * set the timeslot for the Pre-ICO and ICO. * @param _beneficiaryAddress The address to transfer the ether that is raised during crowdsale. */ constructor(address _beneficiaryAddress, address _whitelist, uint256 _startDate) public { require(_beneficiaryAddress != address(0)); beneficiaryAddress = _beneficiaryAddress; whitelist = WhitelistInterface(_whitelist); startPrivatesaleDate = _startDate; isPrivatesaleActive = !isPrivatesaleActive; } /** * @dev Allow founder to end the Private sale. */ function endPrivatesale() onlyOwner public { require(isPrivatesaleActive == true); isPrivatesaleActive = !isPrivatesaleActive; } /** * @dev Allow founder to set the token contract address. * @param _tokenAddress The address of token contract. */ function setTokenAddress(address _tokenAddress) onlyOwner public { require(tokenAddress == address(0)); token = TuurntToken(_tokenAddress); tokenAddress = _tokenAddress; emit LogTokenSet(token, now); } /** * @dev Allow founder to start the Presale. */ function activePresale(uint256 _presaleDate) onlyOwner public { require(isPresaleActive == false); require(isPrivatesaleActive == false); startPresaleDate = _presaleDate; endPresaleDate = startPresaleDate + 2 days; isPresaleActive = !isPresaleActive; } /** * @dev Allow founder to start the Crowdsale phase1. */ function activeCrowdsalePhase1(uint256 _phase1Date) onlyOwner public { require(isPresaleActive == true); require(_phase1Date > endPresaleDate); require(isPhase1CrowdsaleActive == false); startCrowdsalePhase1Date = _phase1Date; endCrowdsalePhase1Date = _phase1Date + 1 weeks; isPresaleActive = !isPresaleActive; isPhase1CrowdsaleActive = !isPhase1CrowdsaleActive; } /** * @dev Allow founder to start the Crowdsale phase2. */ function activeCrowdsalePhase2(uint256 _phase2Date) onlyOwner public { require(isPhase2CrowdsaleActive == false); require(_phase2Date > endCrowdsalePhase1Date); require(isPhase1CrowdsaleActive == true); startCrowdsalePhase2Date = _phase2Date; endCrowdsalePhase2Date = _phase2Date + 2 weeks; isPhase2CrowdsaleActive = !isPhase2CrowdsaleActive; isPhase1CrowdsaleActive = !isPhase1CrowdsaleActive; } /** * @dev Allow founder to start the Crowdsale phase3. */ function activeCrowdsalePhase3(uint256 _phase3Date) onlyOwner public { require(isPhase3CrowdsaleActive == false); require(_phase3Date > endCrowdsalePhase2Date); require(isPhase2CrowdsaleActive == true); startCrowdsalePhase3Date = _phase3Date; endCrowdsalePhase3Date = _phase3Date + 3 weeks; isPhase3CrowdsaleActive = !isPhase3CrowdsaleActive; isPhase2CrowdsaleActive = !isPhase2CrowdsaleActive; } /** * @dev Allow founder to change the minimum investment of ether. * @param _newMinInvestment The value of new minimum ether investment. */ function changeMinInvestment(uint256 _newMinInvestment) onlyOwner public { MIN_INVESTMENT = _newMinInvestment; } /** * @dev Allow founder to change the ether rate. * @param _newEthRate current rate of ether. */ function setEtherRate(uint256 _newEthRate) onlyOwner public { require(_newEthRate != 0); ethRate = _newEthRate; } /** * @dev Return the state based on the timestamp. */ function getState() view public returns(State) { if(now >= startPrivatesaleDate && isPrivatesaleActive == true) { return State.PrivateSale; } if (now >= startPresaleDate && now <= endPresaleDate) { require(isPresaleActive == true); return State.PreSale; } if (now >= startCrowdsalePhase1Date && now <= endCrowdsalePhase1Date) { require(isPhase1CrowdsaleActive == true); return State.CrowdSalePhase1; } if (now >= startCrowdsalePhase2Date && now <= endCrowdsalePhase2Date) { require(isPhase2CrowdsaleActive == true); return State.CrowdSalePhase2; } if (now >= startCrowdsalePhase3Date && now <= endCrowdsalePhase3Date) { require(isPhase3CrowdsaleActive == true); return State.CrowdSalePhase3; } return State.Gap; } /** * @dev Return the rate based on the state and timestamp. */ function getRate() view public returns(uint256) { if (getState() == State.PrivateSale) { return 5; } if (getState() == State.PreSale) { return 6; } if (getState() == State.CrowdSalePhase1) { return 7; } if (getState() == State.CrowdSalePhase2) { return 8; } if (getState() == State.CrowdSalePhase3) { return 10; } } /** * @dev Calculate the number of tokens to be transferred to the investor address * based on the invested ethers. * @param _investedAmount The value of ether that is invested. */ function getTokenAmount(uint256 _investedAmount) view public returns(uint256) { uint256 tokenRate = getRate(); uint256 tokenAmount = _investedAmount.mul((ethRate.mul(100)).div(tokenRate)); return tokenAmount; } /** * @dev Transfer the tokens to the investor address. * @param _investorAddress The address of investor. */ function buyTokens(address _investorAddress) public payable returns(bool) { require(whitelist.checkWhitelist(_investorAddress)); if ((getState() == State.PreSale) || (getState() == State.CrowdSalePhase1) || (getState() == State.CrowdSalePhase2) || (getState() == State.CrowdSalePhase3) || (getState() == State.PrivateSale)) { uint256 amount; require(_investorAddress != address(0)); require(tokenAddress != address(0)); require(msg.value >= MIN_INVESTMENT); amount = getTokenAmount(msg.value); require(fundTransfer(msg.value)); require(token.transfer(_investorAddress, amount)); ethRaised = ethRaised.add(msg.value); soldToken = soldToken.add(amount); emit TokenBought(_investorAddress,amount,now); return true; }else { revert(); } } /** * @dev Allow founder to end the crowsale and transfer the remaining * tokens of crowdfund to the company address. */ function endCrowdfund(address companyAddress) onlyOwner public returns(bool) { require(isPhase3CrowdsaleActive == true); require(now >= endCrowdsalePhase3Date); uint256 remaining = token.balanceOf(this); require(token.transfer(companyAddress, remaining)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_presaleDate","type":"uint256"}],"name":"activePresale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_phase2Date","type":"uint256"}],"name":"activeCrowdsalePhase2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"endPrivatesale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newMinInvestment","type":"uint256"}],"name":"changeMinInvestment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startPrivatesaleDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"}],"name":"setTokenAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startCrowdsalePhase2Date","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_INVESTMENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_phase3Date","type":"uint256"}],"name":"activeCrowdsalePhase3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"endPresaleDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endCrowdsalePhase3Date","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"soldToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startCrowdsalePhase3Date","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newEthRate","type":"uint256"}],"name":"setEtherRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"whitelist","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startCrowdsalePhase1Date","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investedAmount","type":"uint256"}],"name":"getTokenAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_phase1Date","type":"uint256"}],"name":"activeCrowdsalePhase1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"endCrowdsalePhase1Date","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"beneficiaryAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startPresaleDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"companyAddress","type":"address"}],"name":"endCrowdfund","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_investorAddress","type":"address"}],"name":"buyTokens","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"endCrowdsalePhase2Date","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_beneficiaryAddress","type":"address"},{"name":"_whitelist","type":"address"},{"name":"_startDate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_investor","type":"address"},{"indexed":false,"name":"_token","type":"uint256"},{"indexed":false,"name":"_timestamp","type":"uint256"}],"name":"TokenBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_token","type":"address"},{"indexed":false,"name":"_timestamp","type":"uint256"}],"name":"LogTokenSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60806040526702c68af0bb14000060035561020c6005556000600f556000601160146101000a81548160ff0219169083151502179055506000601160156101000a81548160ff0219169083151502179055506000601160166101000a81548160ff0219169083151502179055506000601160176101000a81548160ff0219169083151502179055506000601160186101000a81548160ff0219169083151502179055506000601160196101000a81548160ff0219169083151502179055503480156100c957600080fd5b5060405160608061203e833981018060405281019080805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561017c57600080fd5b82601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e81905550601160149054906101000a900460ff1615601160146101000a81548160ff021916908315150217905550505050611dfd806102416000396000f3006080604052600436106101a1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630820b7c9146101ad578063104fea4c146101da57806312a3ff951461020757806313f56f731461021e5780631865c57d1461024b5780632411ca691461028457806326a4e8d2146102af57806329a64dd1146102f25780634ef8ff331461031d5780634f1d38c014610348578063547173da1461037557806357d93329146103a05780636769d1f9146103cb578063679aefce146103f6578063715018a61461042157806379a886831461043857806388672f82146104635780638da5cb5b1461049057806393e59dc1146104e757806399c2b93b1461053e5780639d76ea5814610569578063c2507ac1146105c0578063cdf6ddb414610601578063cf64c42f1461062e578063d2d93f9014610659578063d9c4870e14610684578063e08a5f9e146106db578063e75afb6514610706578063ec8ac4d814610761578063f20d5385146107af578063f2fde38b146107da578063fc0c546a1461081d578063fddf0fc014610874575b6101aa3361089f565b50005b3480156101b957600080fd5b506101d860048036038101908080359060200190929190505050610cdf565b005b3480156101e657600080fd5b5061020560048036038101908080359060200190929190505050610dc0565b005b34801561021357600080fd5b5061021c610ed9565b005b34801561022a57600080fd5b5061024960048036038101908080359060200190929190505050610f82565b005b34801561025757600080fd5b50610260610fe7565b6040518082600581111561027057fe5b60ff16815260200191505060405180910390f35b34801561029057600080fd5b50610299611134565b6040518082815260200191505060405180910390f35b3480156102bb57600080fd5b506102f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061113a565b005b3480156102fe57600080fd5b50610307611304565b6040518082815260200191505060405180910390f35b34801561032957600080fd5b5061033261130a565b6040518082815260200191505060405180910390f35b34801561035457600080fd5b5061037360048036038101908080359060200190929190505050611310565b005b34801561038157600080fd5b5061038a611429565b6040518082815260200191505060405180910390f35b3480156103ac57600080fd5b506103b561142f565b6040518082815260200191505060405180910390f35b3480156103d757600080fd5b506103e0611435565b6040518082815260200191505060405180910390f35b34801561040257600080fd5b5061040b61143b565b6040518082815260200191505060405180910390f35b34801561042d57600080fd5b5061043661152a565b005b34801561044457600080fd5b5061044d61162c565b6040518082815260200191505060405180910390f35b34801561046f57600080fd5b5061048e60048036038101908080359060200190929190505050611632565b005b34801561049c57600080fd5b506104a56116a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104f357600080fd5b506104fc6116cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054a57600080fd5b506105536116f2565b6040518082815260200191505060405180910390f35b34801561057557600080fd5b5061057e6116f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105cc57600080fd5b506105eb6004803603810190808035906020019092919050505061171e565b6040518082815260200191505060405180910390f35b34801561060d57600080fd5b5061062c60048036038101908080359060200190929190505050611773565b005b34801561063a57600080fd5b5061064361188c565b6040518082815260200191505060405180910390f35b34801561066557600080fd5b5061066e611892565b6040518082815260200191505060405180910390f35b34801561069057600080fd5b50610699611898565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106e757600080fd5b506106f06118be565b6040518082815260200191505060405180910390f35b34801561071257600080fd5b50610747600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118c4565b604051808215151515815260200191505060405180910390f35b610795600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061089f565b604051808215151515815260200191505060405180910390f35b3480156107bb57600080fd5b506107c4611b60565b6040518082815260200191505060405180910390f35b3480156107e657600080fd5b5061081b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b66565b005b34801561082957600080fd5b50610832611bcd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561088057600080fd5b50610889611bf3565b6040518082815260200191505060405180910390f35b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631950c218846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561095f57600080fd5b505af1158015610973573d6000803e3d6000fd5b505050506040513d602081101561098957600080fd5b810190808051906020019092919050505015156109a557600080fd5b600160058111156109b257fe5b6109ba610fe7565b60058111156109c557fe5b14806109ee5750600360058111156109d957fe5b6109e1610fe7565b60058111156109ec57fe5b145b80610a16575060046005811115610a0157fe5b610a09610fe7565b6005811115610a1457fe5b145b80610a3d5750600580811115610a2857fe5b610a30610fe7565b6005811115610a3b57fe5b145b80610a65575060006005811115610a5057fe5b610a58610fe7565b6005811115610a6357fe5b145b15610cd457600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610aa657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610b0457600080fd5b6003543410151515610b1557600080fd5b610b1e3461171e565b9050610b2934611bf9565b1515610b3457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610bf957600080fd5b505af1158015610c0d573d6000803e3d6000fd5b505050506040513d6020811015610c2357600080fd5b81019080805190602001909291905050501515610c3f57600080fd5b610c5434600454611c6d90919063ffffffff16565b600481905550610c6f81600f54611c6d90919063ffffffff16565b600f819055508273ffffffffffffffffffffffffffffffffffffffff167f28cab0d660ed8aedd61a8c9db00b97f6a2d67e07d87795994f440b18bc5f1aa38242604051808381526020018281526020019250505060405180910390a260019150610cd9565b600080fd5b50919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d3a57600080fd5b60001515601160159054906101000a900460ff161515141515610d5c57600080fd5b60001515601160149054906101000a900460ff161515141515610d7e57600080fd5b80600c819055506202a300600c5401600d81905550601160159054906101000a900460ff1615601160156101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e1b57600080fd5b60001515601160179054906101000a900460ff161515141515610e3d57600080fd5b60075481111515610e4d57600080fd5b60011515601160169054906101000a900460ff161515141515610e6f57600080fd5b80600881905550621275008101600981905550601160179054906101000a900460ff1615601160176101000a81548160ff021916908315150217905550601160169054906101000a900460ff1615601160166101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3457600080fd5b60011515601160149054906101000a900460ff161515141515610f5657600080fd5b601160149054906101000a900460ff1615601160146101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fdd57600080fd5b8060038190555050565b6000600e54421015801561100e575060011515601160149054906101000a900460ff161515145b1561101c5760009050611131565b600c5442101580156110305750600d544211155b156110605760011515601160159054906101000a900460ff16151514151561105757600080fd5b60019050611131565b600654421015801561107457506007544211155b156110a45760011515601160169054906101000a900460ff16151514151561109b57600080fd5b60039050611131565b60085442101580156110b857506009544211155b156110e85760011515601160179054906101000a900460ff1615151415156110df57600080fd5b60049050611131565b600a5442101580156110fc5750600b544211155b1561112c5760011515601160189054906101000a900460ff16151514151561112357600080fd5b60059050611131565b600290505b90565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111f257600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa2051a7b23ad3a524167c26d902a3eced04ed14edaae04816b914f1c48301874600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1642604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b60085481565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561136b57600080fd5b60001515601160189054906101000a900460ff16151514151561138d57600080fd5b6009548111151561139d57600080fd5b60011515601160179054906101000a900460ff1615151415156113bf57600080fd5b80600a81905550621baf808101600b81905550601160189054906101000a900460ff1615601160186101000a81548160ff021916908315150217905550601160179054906101000a900460ff1615601160176101000a81548160ff02191690831515021790555050565b600d5481565b600b5481565b600f5481565b600080600581111561144957fe5b611451610fe7565b600581111561145c57fe5b141561146b5760059050611527565b6001600581111561147857fe5b611480610fe7565b600581111561148b57fe5b141561149a5760069050611527565b600360058111156114a757fe5b6114af610fe7565b60058111156114ba57fe5b14156114c95760079050611527565b600460058111156114d657fe5b6114de610fe7565b60058111156114e957fe5b14156114f85760089050611527565b60058081111561150457fe5b61150c610fe7565b600581111561151757fe5b141561152657600a9050611527565b5b90565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600a5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561168d57600080fd5b6000811415151561169d57600080fd5b8060058190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061172b61143b565b91506117676117588361174a6064600554611c8990919063ffffffff16565b611cc190919063ffffffff16565b85611c8990919063ffffffff16565b90508092505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117ce57600080fd5b60011515601160159054906101000a900460ff1615151415156117f057600080fd5b600d548111151561180057600080fd5b60001515601160169054906101000a900460ff16151514151561182257600080fd5b8060068190555062093a808101600781905550601160159054906101000a900460ff1615601160156101000a81548160ff021916908315150217905550601160169054906101000a900460ff1615601160166101000a81548160ff02191690831515021790555050565b60075481565b60055481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561192257600080fd5b60011515601160189054906101000a900460ff16151514151561194457600080fd5b600b54421015151561195557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611a1257600080fd5b505af1158015611a26573d6000803e3d6000fd5b505050506040513d6020811015611a3c57600080fd5b81019080805190602001909291905050509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611b1457600080fd5b505af1158015611b28573d6000803e3d6000fd5b505050506040513d6020811015611b3e57600080fd5b81019080805190602001909291905050501515611b5a57600080fd5b50919050565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bc157600080fd5b611bca81611cd7565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611c63573d6000803e3d6000fd5b5060019050919050565b60008183019050828110151515611c8057fe5b80905092915050565b600080831415611c9c5760009050611cbb565b8183029050818382811515611cad57fe5b04141515611cb757fe5b8090505b92915050565b60008183811515611cce57fe5b04905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611d1357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820723f100531b27d3877e123c0af0df95fa13dcc83dac4c50f231da2044e05380f0029000000000000000000000000a9cd4e094a3c7cca0431e8da8dd280181ad8c99c0000000000000000000000004c518f5dfdc03117b2ea388d1b4c4497954fd409000000000000000000000000000000000000000000000000000000005b2c11d0
Deployed Bytecode
0x6080604052600436106101a1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630820b7c9146101ad578063104fea4c146101da57806312a3ff951461020757806313f56f731461021e5780631865c57d1461024b5780632411ca691461028457806326a4e8d2146102af57806329a64dd1146102f25780634ef8ff331461031d5780634f1d38c014610348578063547173da1461037557806357d93329146103a05780636769d1f9146103cb578063679aefce146103f6578063715018a61461042157806379a886831461043857806388672f82146104635780638da5cb5b1461049057806393e59dc1146104e757806399c2b93b1461053e5780639d76ea5814610569578063c2507ac1146105c0578063cdf6ddb414610601578063cf64c42f1461062e578063d2d93f9014610659578063d9c4870e14610684578063e08a5f9e146106db578063e75afb6514610706578063ec8ac4d814610761578063f20d5385146107af578063f2fde38b146107da578063fc0c546a1461081d578063fddf0fc014610874575b6101aa3361089f565b50005b3480156101b957600080fd5b506101d860048036038101908080359060200190929190505050610cdf565b005b3480156101e657600080fd5b5061020560048036038101908080359060200190929190505050610dc0565b005b34801561021357600080fd5b5061021c610ed9565b005b34801561022a57600080fd5b5061024960048036038101908080359060200190929190505050610f82565b005b34801561025757600080fd5b50610260610fe7565b6040518082600581111561027057fe5b60ff16815260200191505060405180910390f35b34801561029057600080fd5b50610299611134565b6040518082815260200191505060405180910390f35b3480156102bb57600080fd5b506102f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061113a565b005b3480156102fe57600080fd5b50610307611304565b6040518082815260200191505060405180910390f35b34801561032957600080fd5b5061033261130a565b6040518082815260200191505060405180910390f35b34801561035457600080fd5b5061037360048036038101908080359060200190929190505050611310565b005b34801561038157600080fd5b5061038a611429565b6040518082815260200191505060405180910390f35b3480156103ac57600080fd5b506103b561142f565b6040518082815260200191505060405180910390f35b3480156103d757600080fd5b506103e0611435565b6040518082815260200191505060405180910390f35b34801561040257600080fd5b5061040b61143b565b6040518082815260200191505060405180910390f35b34801561042d57600080fd5b5061043661152a565b005b34801561044457600080fd5b5061044d61162c565b6040518082815260200191505060405180910390f35b34801561046f57600080fd5b5061048e60048036038101908080359060200190929190505050611632565b005b34801561049c57600080fd5b506104a56116a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104f357600080fd5b506104fc6116cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054a57600080fd5b506105536116f2565b6040518082815260200191505060405180910390f35b34801561057557600080fd5b5061057e6116f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105cc57600080fd5b506105eb6004803603810190808035906020019092919050505061171e565b6040518082815260200191505060405180910390f35b34801561060d57600080fd5b5061062c60048036038101908080359060200190929190505050611773565b005b34801561063a57600080fd5b5061064361188c565b6040518082815260200191505060405180910390f35b34801561066557600080fd5b5061066e611892565b6040518082815260200191505060405180910390f35b34801561069057600080fd5b50610699611898565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106e757600080fd5b506106f06118be565b6040518082815260200191505060405180910390f35b34801561071257600080fd5b50610747600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118c4565b604051808215151515815260200191505060405180910390f35b610795600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061089f565b604051808215151515815260200191505060405180910390f35b3480156107bb57600080fd5b506107c4611b60565b6040518082815260200191505060405180910390f35b3480156107e657600080fd5b5061081b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b66565b005b34801561082957600080fd5b50610832611bcd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561088057600080fd5b50610889611bf3565b6040518082815260200191505060405180910390f35b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631950c218846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561095f57600080fd5b505af1158015610973573d6000803e3d6000fd5b505050506040513d602081101561098957600080fd5b810190808051906020019092919050505015156109a557600080fd5b600160058111156109b257fe5b6109ba610fe7565b60058111156109c557fe5b14806109ee5750600360058111156109d957fe5b6109e1610fe7565b60058111156109ec57fe5b145b80610a16575060046005811115610a0157fe5b610a09610fe7565b6005811115610a1457fe5b145b80610a3d5750600580811115610a2857fe5b610a30610fe7565b6005811115610a3b57fe5b145b80610a65575060006005811115610a5057fe5b610a58610fe7565b6005811115610a6357fe5b145b15610cd457600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610aa657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610b0457600080fd5b6003543410151515610b1557600080fd5b610b1e3461171e565b9050610b2934611bf9565b1515610b3457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610bf957600080fd5b505af1158015610c0d573d6000803e3d6000fd5b505050506040513d6020811015610c2357600080fd5b81019080805190602001909291905050501515610c3f57600080fd5b610c5434600454611c6d90919063ffffffff16565b600481905550610c6f81600f54611c6d90919063ffffffff16565b600f819055508273ffffffffffffffffffffffffffffffffffffffff167f28cab0d660ed8aedd61a8c9db00b97f6a2d67e07d87795994f440b18bc5f1aa38242604051808381526020018281526020019250505060405180910390a260019150610cd9565b600080fd5b50919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d3a57600080fd5b60001515601160159054906101000a900460ff161515141515610d5c57600080fd5b60001515601160149054906101000a900460ff161515141515610d7e57600080fd5b80600c819055506202a300600c5401600d81905550601160159054906101000a900460ff1615601160156101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e1b57600080fd5b60001515601160179054906101000a900460ff161515141515610e3d57600080fd5b60075481111515610e4d57600080fd5b60011515601160169054906101000a900460ff161515141515610e6f57600080fd5b80600881905550621275008101600981905550601160179054906101000a900460ff1615601160176101000a81548160ff021916908315150217905550601160169054906101000a900460ff1615601160166101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3457600080fd5b60011515601160149054906101000a900460ff161515141515610f5657600080fd5b601160149054906101000a900460ff1615601160146101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fdd57600080fd5b8060038190555050565b6000600e54421015801561100e575060011515601160149054906101000a900460ff161515145b1561101c5760009050611131565b600c5442101580156110305750600d544211155b156110605760011515601160159054906101000a900460ff16151514151561105757600080fd5b60019050611131565b600654421015801561107457506007544211155b156110a45760011515601160169054906101000a900460ff16151514151561109b57600080fd5b60039050611131565b60085442101580156110b857506009544211155b156110e85760011515601160179054906101000a900460ff1615151415156110df57600080fd5b60049050611131565b600a5442101580156110fc5750600b544211155b1561112c5760011515601160189054906101000a900460ff16151514151561112357600080fd5b60059050611131565b600290505b90565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111f257600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa2051a7b23ad3a524167c26d902a3eced04ed14edaae04816b914f1c48301874600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1642604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b60085481565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561136b57600080fd5b60001515601160189054906101000a900460ff16151514151561138d57600080fd5b6009548111151561139d57600080fd5b60011515601160179054906101000a900460ff1615151415156113bf57600080fd5b80600a81905550621baf808101600b81905550601160189054906101000a900460ff1615601160186101000a81548160ff021916908315150217905550601160179054906101000a900460ff1615601160176101000a81548160ff02191690831515021790555050565b600d5481565b600b5481565b600f5481565b600080600581111561144957fe5b611451610fe7565b600581111561145c57fe5b141561146b5760059050611527565b6001600581111561147857fe5b611480610fe7565b600581111561148b57fe5b141561149a5760069050611527565b600360058111156114a757fe5b6114af610fe7565b60058111156114ba57fe5b14156114c95760079050611527565b600460058111156114d657fe5b6114de610fe7565b60058111156114e957fe5b14156114f85760089050611527565b60058081111561150457fe5b61150c610fe7565b600581111561151757fe5b141561152657600a9050611527565b5b90565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600a5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561168d57600080fd5b6000811415151561169d57600080fd5b8060058190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061172b61143b565b91506117676117588361174a6064600554611c8990919063ffffffff16565b611cc190919063ffffffff16565b85611c8990919063ffffffff16565b90508092505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117ce57600080fd5b60011515601160159054906101000a900460ff1615151415156117f057600080fd5b600d548111151561180057600080fd5b60001515601160169054906101000a900460ff16151514151561182257600080fd5b8060068190555062093a808101600781905550601160159054906101000a900460ff1615601160156101000a81548160ff021916908315150217905550601160169054906101000a900460ff1615601160166101000a81548160ff02191690831515021790555050565b60075481565b60055481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561192257600080fd5b60011515601160189054906101000a900460ff16151514151561194457600080fd5b600b54421015151561195557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611a1257600080fd5b505af1158015611a26573d6000803e3d6000fd5b505050506040513d6020811015611a3c57600080fd5b81019080805190602001909291905050509050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611b1457600080fd5b505af1158015611b28573d6000803e3d6000fd5b505050506040513d6020811015611b3e57600080fd5b81019080805190602001909291905050501515611b5a57600080fd5b50919050565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bc157600080fd5b611bca81611cd7565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611c63573d6000803e3d6000fd5b5060019050919050565b60008183019050828110151515611c8057fe5b80905092915050565b600080831415611c9c5760009050611cbb565b8183029050818382811515611cad57fe5b04141515611cb757fe5b8090505b92915050565b60008183811515611cce57fe5b04905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611d1357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820723f100531b27d3877e123c0af0df95fa13dcc83dac4c50f231da2044e05380f0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a9cd4e094a3c7cca0431e8da8dd280181ad8c99c0000000000000000000000004c518f5dfdc03117b2ea388d1b4c4497954fd409000000000000000000000000000000000000000000000000000000005b2c11d0
-----Decoded View---------------
Arg [0] : _beneficiaryAddress (address): 0xA9cd4E094a3C7cCA0431e8dA8dD280181ad8c99c
Arg [1] : _whitelist (address): 0x4C518f5dFdC03117b2eA388D1B4c4497954fd409
Arg [2] : _startDate (uint256): 1529614800
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000a9cd4e094a3c7cca0431e8da8dd280181ad8c99c
Arg [1] : 0000000000000000000000004c518f5dfdc03117b2ea388d1b4c4497954fd409
Arg [2] : 000000000000000000000000000000000000000000000000000000005b2c11d0
Swarm Source
bzzr://723f100531b27d3877e123c0af0df95fa13dcc83dac4c50f231da2044e05380f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.