More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 4,387 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 7691960 | 2030 days ago | IN | 0 ETH | 0.00010972 | ||||
Transfer | 4981476 | 2492 days ago | IN | 0.2 ETH | 0.0008997 | ||||
Transfer | 4980995 | 2492 days ago | IN | 0.12 ETH | 0.0008997 | ||||
Transfer | 4978897 | 2492 days ago | IN | 0.1 ETH | 0.00118497 | ||||
Transfer | 4978884 | 2492 days ago | IN | 0.1 ETH | 0.00118497 | ||||
Transfer | 4918459 | 2503 days ago | IN | 0.09 ETH | 0.00175552 | ||||
Transfer | 4900309 | 2506 days ago | IN | 1.045 ETH | 0.00092164 | ||||
Transfer | 4900306 | 2506 days ago | IN | 1.05 ETH | 0.00010972 | ||||
Transfer | 4891432 | 2508 days ago | IN | 0.28 ETH | 0.00175552 | ||||
Transfer | 4879319 | 2510 days ago | IN | 0.3 ETH | 0.00221181 | ||||
Transfer | 4878020 | 2510 days ago | IN | 0.3 ETH | 0.0034777 | ||||
Transfer | 4877632 | 2510 days ago | IN | 0.3 ETH | 0.00499397 | ||||
Transfer | 4877628 | 2510 days ago | IN | 0.3 ETH | 0.0034777 | ||||
Transfer | 4873376 | 2511 days ago | IN | 0.2 ETH | 0.00166929 | ||||
Transfer | 4870136 | 2511 days ago | IN | 0.28 ETH | 0.00486878 | ||||
Transfer | 4870136 | 2511 days ago | IN | 0.3 ETH | 0.00402022 | ||||
Transfer | 4870136 | 2511 days ago | IN | 0.3 ETH | 0.00388111 | ||||
Transfer | 4870132 | 2511 days ago | IN | 0.28 ETH | 0.00339423 | ||||
Transfer | 4870120 | 2511 days ago | IN | 0.29 ETH | 0.00221181 | ||||
Transfer | 4869097 | 2512 days ago | IN | 1 ETH | 0.00177563 | ||||
Transfer | 4868713 | 2512 days ago | IN | 1 ETH | 0.00208662 | ||||
Transfer | 4868089 | 2512 days ago | IN | 0.1 ETH | 0.00084554 | ||||
Transfer | 4867990 | 2512 days ago | IN | 1.06830361 ETH | 0.00084554 | ||||
Transfer | 4867731 | 2512 days ago | IN | 0.5 ETH | 0.00084554 | ||||
Transfer | 4867675 | 2512 days ago | IN | 0.3 ETH | 0.00221181 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
4879319 | 2510 days ago | 0.3 ETH | ||||
4878020 | 2510 days ago | 0.3 ETH | ||||
4877632 | 2510 days ago | 0.3 ETH | ||||
4877628 | 2510 days ago | 0.3 ETH | ||||
4873376 | 2511 days ago | 0.2 ETH | ||||
4870136 | 2511 days ago | 0.28 ETH | ||||
4870136 | 2511 days ago | 0.3 ETH | ||||
4870136 | 2511 days ago | 0.3 ETH | ||||
4870132 | 2511 days ago | 0.28 ETH | ||||
4870120 | 2511 days ago | 0.29 ETH | ||||
4869097 | 2512 days ago | 1 ETH | ||||
4868713 | 2512 days ago | 1 ETH | ||||
4868089 | 2512 days ago | 0.1 ETH | ||||
4867990 | 2512 days ago | 1.06830361 ETH | ||||
4867731 | 2512 days ago | 0.5 ETH | ||||
4867675 | 2512 days ago | 0.3 ETH | ||||
4866098 | 2512 days ago | 0.10001889 ETH | ||||
4865680 | 2512 days ago | 0.25 ETH | ||||
4864666 | 2512 days ago | 0.996 ETH | ||||
4864084 | 2513 days ago | 0.1 ETH | ||||
4864022 | 2513 days ago | 0.98666 ETH | ||||
4863986 | 2513 days ago | 0.121 ETH | ||||
4863843 | 2513 days ago | 1.13485 ETH | ||||
4863843 | 2513 days ago | 0.2 ETH | ||||
4863843 | 2513 days ago | 1.2 ETH |
Loading...
Loading
Contract Name:
MainSale
Compiler Version
v0.4.15+commit.bbb8e64f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-11-29 */ pragma solidity ^0.4.15; library SafeMath { function mul(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal constant 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 constant returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract Crowdsale { using SafeMath for uint256; // The token being sold MintableToken public token; // start and end timestamps where investments are allowed (both inclusive) uint256 public startTime; uint256 public endTime; // address where funds are collected address public wallet; // how many token units a buyer gets per wei uint256 public rate; // amount of raised money in wei uint256 public weiRaised; /** * event for token purchase logging * @param purchaser who paid for the tokens * @param beneficiary who got the tokens * @param value weis paid for purchase * @param amount amount of tokens purchased */ event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount); function Crowdsale(uint256 _startTime, uint256 _endTime, uint256 _rate, address _wallet) { require(_startTime >= now); require(_endTime >= _startTime); require(_rate > 0); require(_wallet != 0x0); token = createTokenContract(); startTime = _startTime; endTime = _endTime; rate = _rate; wallet = _wallet; } // creates the token to be sold. // override this method to have crowdsale of a specific mintable token. function createTokenContract() internal returns (MintableToken) { return new MintableToken(); } // fallback function can be used to buy tokens function () payable { buyTokens(msg.sender); } // low level token purchase function function buyTokens(address beneficiary) public payable { require(beneficiary != 0x0); require(validPurchase()); uint256 weiAmount = msg.value; // calculate token amount to be created uint256 tokens = weiAmount.mul(rate); // update state weiRaised = weiRaised.add(weiAmount); token.mint(beneficiary, tokens); TokenPurchase(msg.sender, beneficiary, weiAmount, tokens); forwardFunds(); } // send ether to the fund collection wallet // override to create custom fund forwarding mechanisms function forwardFunds() internal { wallet.transfer(msg.value); } // @return true if the transaction can buy tokens function validPurchase() internal constant returns (bool) { bool withinPeriod = now >= startTime && now <= endTime; bool nonZeroPurchase = msg.value != 0; return withinPeriod && nonZeroPurchase; } // @return true if crowdsale event has ended function hasEnded() public constant returns (bool) { return now > endTime; } } contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() { 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 transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) onlyOwner public { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract FinalizableCrowdsale is Crowdsale, Ownable { using SafeMath for uint256; bool public isFinalized = false; event Finalized(); /** * @dev Must be called after crowdsale ends, to do some extra finalization * work. Calls the contract's finalization function. */ function finalize() onlyOwner public { require(!isFinalized); require(hasEnded()); finalization(); Finalized(); isFinalized = true; } /** * @dev Can be overridden to add finalization logic. The overriding function * should call super.finalization() to ensure the chain of finalization is * executed entirely. */ function finalization() internal { } } contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() onlyOwner whenNotPaused public { paused = true; Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() onlyOwner whenPaused public { paused = false; Unpause(); } } contract Contactable is Ownable{ string public contactInformation; /** * @dev Allows the owner to set a string with their contact information. * @param info The contact information to attach to the contract. */ function setContactInformation(string info) onlyOwner public { contactInformation = info; } } contract HasNoContracts is Ownable { /** * @dev Reclaim ownership of Ownable contracts * @param contractAddr The address of the Ownable to be reclaimed. */ function reclaimContract(address contractAddr) external onlyOwner { Ownable contractInst = Ownable(contractAddr); contractInst.transferOwnership(owner); } } contract HasNoEther is Ownable { /** * @dev Constructor that rejects incoming Ether * @dev The `payable` flag is added so we can access `msg.value` without compiler warning. If we * leave out payable, then Solidity will allow inheriting contracts to implement a payable * constructor. By doing it this way we prevent a payable constructor from working. Alternatively * we could use assembly to access msg.value. */ function HasNoEther() payable { require(msg.value == 0); } /** * @dev Disallows direct send by settings a default function without the `payable` flag. */ function() external { } /** * @dev Transfer all Ether held by the contract to the owner. */ function reclaimEther() external onlyOwner { assert(owner.send(this.balance)); } } contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) public constant returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; /** * @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)); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); 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 constant returns (uint256 balance) { return balances[_owner]; } } contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public constant returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeERC20 { function safeTransfer(ERC20Basic token, address to, uint256 value) internal { assert(token.transfer(to, value)); } function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal { assert(token.transferFrom(from, to, value)); } function safeApprove(ERC20 token, address spender, uint256 value) internal { assert(token.approve(spender, value)); } } contract CanReclaimToken is Ownable { using SafeERC20 for ERC20Basic; /** * @dev Reclaim all ERC20Basic compatible tokens * @param token ERC20Basic The address of the token contract */ function reclaimToken(ERC20Basic token) external onlyOwner { uint256 balance = token.balanceOf(this); token.safeTransfer(owner, balance); } } contract HasNoTokens is CanReclaimToken { /** * @dev Reject all ERC23 compatible tokens * @param from_ address The address that is transferring the tokens * @param value_ uint256 the amount of the specified token * @param data_ Bytes The data passed from the caller. */ function tokenFallback(address from_, uint256 value_, bytes data_) external { revert(); } } contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) 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)); uint256 _allowance = allowed[_from][msg.sender]; // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met // require (_value <= _allowance); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = _allowance.sub(_value); Transfer(_from, _to, _value); return true; } /** * @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; 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 constant returns (uint256 remaining) { return allowed[_owner][_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 */ function increaseApproval (address _spender, uint _addedValue) returns (bool success) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval (address _spender, uint _subtractedValue) returns (bool success) { uint oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } contract MintableToken is StandardToken, Ownable { event Mint(address indexed to, uint256 amount); event MintFinished(); bool public mintingFinished = false; modifier canMint() { require(!mintingFinished); _; } /** * @dev Function to mint tokens * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) { totalSupply = totalSupply.add(_amount); balances[_to] = balances[_to].add(_amount); Mint(_to, _amount); Transfer(0x0, _to, _amount); return true; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() onlyOwner public returns (bool) { mintingFinished = true; MintFinished(); return true; } } contract PausableToken is StandardToken, Pausable { function transfer(address _to, uint256 _value) public whenNotPaused returns (bool) { return super.transfer(_to, _value); } function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) { return super.transferFrom(_from, _to, _value); } function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) { return super.approve(_spender, _value); } function increaseApproval(address _spender, uint _addedValue) public whenNotPaused returns (bool success) { return super.increaseApproval(_spender, _addedValue); } function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused returns (bool success) { return super.decreaseApproval(_spender, _subtractedValue); } } contract FlipCrowdsale is Contactable, Pausable, HasNoContracts, HasNoTokens, FinalizableCrowdsale { using SafeMath for uint256; uint256 public tokensSold = 0; // ignore the Crowdsale.rate and dynamically compute rate based on other factors (e.g. purchase amount, time, etc) function FlipCrowdsale(MintableToken _token, uint256 _startTime, uint256 _endTime, address _ethWallet) Ownable() Pausable() Contactable() HasNoTokens() HasNoContracts() Crowdsale(_startTime, _endTime, 1, _ethWallet) FinalizableCrowdsale() { // deployment must set token.owner = FlipCrowdsale.address to allow minting token = _token; contactInformation = 'https://tokensale.gameflip.com/'; } function setWallet(address _wallet) onlyOwner public { require(_wallet != 0x0); wallet = _wallet; } // over-ridden low level token purchase function so that we // can control the token-per-wei exchange rate dynamically function buyTokens(address beneficiary) public payable whenNotPaused { require(beneficiary != 0x0); require(validPurchase()); uint256 weiAmount = msg.value; // calculate token amount to be created uint256 tokens = applyExchangeRate(weiAmount); // update state weiRaised = weiRaised.add(weiAmount); tokensSold = tokensSold.add(tokens); token.mint(beneficiary, tokens); TokenPurchase(msg.sender, beneficiary, weiAmount, tokens); forwardFunds(); } function tokenTransferOwnership(address newOwner) public onlyOwner { require(hasEnded()); token.transferOwnership(newOwner); } /** * @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) onlyOwner public { // do not allow self ownership require(newOwner != address(this)); super.transferOwnership(newOwner); } // overriding Crowdsale#hasEnded to add cap logic // @return true if crowdsale event has ended function hasEnded() public constant returns (bool) { bool capReached = tokensRemaining() == 0; return super.hasEnded() || capReached; } // sub-classes must override to control tokens sales cap function tokensRemaining() constant public returns (uint256); /* * internal functions */ function createTokenContract() internal returns (MintableToken) { return token; } // sub-classes must override to customize token-per-wei exchange rate function applyExchangeRate(uint256 _wei) constant internal returns (uint256); /** * @dev Can be overridden to add finalization logic. The overriding function * should call super.finalization() to ensure the chain of finalization is * executed entirely. */ function finalization() internal { // if we own the token, pass ownership to our owner when finalized if(address(token) != address(0) && token.owner() == address(this) && owner != address(0)) { token.transferOwnership(owner); } super.finalization(); } } contract FlipToken is Contactable, HasNoTokens, HasNoEther, MintableToken, PausableToken { string public constant name = "FLIP Token"; string public constant symbol = "FLP"; uint8 public constant decimals = 18; uint256 public constant ONE_TOKENS = (10 ** uint256(decimals)); uint256 public constant MILLION_TOKENS = (10**6) * ONE_TOKENS; uint256 public constant TOTAL_TOKENS = 100 * MILLION_TOKENS; function FlipToken() Ownable() Contactable() HasNoTokens() HasNoEther() MintableToken() PausableToken() { contactInformation = 'https://tokensale.gameflip.com/'; } // cap minting so that totalSupply <= TOTAL_TOKENS function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) { require(totalSupply.add(_amount) <= TOTAL_TOKENS); return super.mint(_to, _amount); } /** * @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) onlyOwner public { // do not allow self ownership require(newOwner != address(this)); super.transferOwnership(newOwner); } } contract MainSale is FlipCrowdsale { using SafeMath for uint256; function MainSale(MintableToken _token, uint256 _startTime, uint256 _endTime, address _ethWallet) FlipCrowdsale(_token, _startTime, _endTime, _ethWallet) { } function tokensRemaining() constant public returns (uint256) { FlipToken tok = FlipToken(token); return tok.TOTAL_TOKENS().sub(tok.totalSupply()); } function setEndTime(uint256 _endTime) onlyOwner public { require(!hasEnded()); require(_endTime >= now); require(_endTime >= startTime); endTime = _endTime; } /* * internal functions */ function applyExchangeRate(uint256 _wei) constant internal returns (uint256) { // white paper (6.4 Token Main Sale) specifies rates based on purchase time uint256 minPurchaseAmt = 100 finney; require(_wei >= minPurchaseAmt); // compute token-per-wei rate based on current date uint256 period = endTime.sub(startTime).div(4); uint256 nowts = now; uint256 rate; // checks for before startTime and after endTime are handled elsewhere if(nowts < startTime.add(period)) { rate = 250; } else if(nowts < startTime.add(period).add(period)) { rate = 230; } else if(nowts < startTime.add(period).add(period).add(period)) { rate = 220; } else { rate = 200; } uint256 tokens = _wei.mul(rate); // check token cap uint256 remaining = tokensRemaining(); require(remaining >= tokens); // if remaining tokens cannot be purchased (at current rate) then gift to current buyer ... it's a sellout! uint256 min_tokens_purchasable = minPurchaseAmt.mul(rate); remaining = remaining.sub(tokens); if(remaining < min_tokens_purchasable) { tokens = tokens.add(remaining); } return tokens; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"tokenTransferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"}],"name":"reclaimToken","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"contractAddr","type":"address"}],"name":"reclaimContract","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"contactInformation","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"info","type":"string"}],"name":"setContactInformation","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"from_","type":"address"},{"name":"value_","type":"uint256"},{"name":"data_","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokensRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_endTime","type":"uint256"}],"name":"setEndTime","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_token","type":"address"},{"name":"_startTime","type":"uint256"},{"name":"_endTime","type":"uint256"},{"name":"_ethWallet","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[],"name":"Finalized","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"}]
Contract Creation Code
60606040526008805461ffff19169055600060095534156200002057600080fd5b604051608080620014bc833981016040528080519190602001805191906020018051919060200180519150505b838383835b5b82826001835b428410156200006757600080fd5b838310156200007557600080fd5b600082116200008357600080fd5b600160a060020a03811615156200009957600080fd5b620000b1640100000000620012316200018582021704565b60008054600160a060020a0319908116600160a060020a0393841617909155600186905560028590556004849055600380549091169183169190911790555b505060068054600160a060020a03191633600160a060020a031617905550505b60008054600160a060020a031916600160a060020a03861617905560408051908101604052601f81527f68747470733a2f2f746f6b656e73616c652e67616d65666c69702e636f6d2f00602082015260079080516200017492916020019062000195565b505b505050505b505050506200023f565b600054600160a060020a03165b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001d857805160ff191683800117855562000208565b8280016001018555821562000208579182015b8281111562000208578251825591602001919060010190620001eb565b5b50620002179291506200021b565b5090565b6200019291905b8082111562000217576000815560010162000222565b5090565b90565b61126d806200024f6000396000f3006060604052361561012d5763ffffffff60e060020a6000350416630dc081c5811461013a57806317ffc3201461015b5780632aed7f3f1461017c5780632c4e722e1461019d5780633197cbb6146101c257806336f7ab5e146101e75780633f4ba83a146102725780634042b66f146102875780634bb278f3146102ac578063518ab2a8146102c1578063521eb273146102e65780635c975abb1461031557806378e979251461033c5780638456cb59146103615780638d4e4083146103765780638da5cb5b1461039d578063b967a52e146103cc578063c0ee0b8a1461041f578063c8b0812514610450578063ccb98ffc14610475578063deaa59df1461048d578063ec8ac4d8146104ae578063ecb70fb7146104c4578063f2fde38b146104eb578063fc0c546a1461050c575b5b6101373361053b565b5b005b341561014557600080fd5b610137600160a060020a036004351661068e565b005b341561016657600080fd5b610137600160a060020a0360043516610725565b005b341561018757600080fd5b610137600160a060020a03600435166107dd565b005b34156101a857600080fd5b6101b061086c565b60405190815260200160405180910390f35b34156101cd57600080fd5b6101b0610872565b60405190815260200160405180910390f35b34156101f257600080fd5b6101fa610878565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102375780820151818401525b60200161021e565b50505050905090810190601f1680156102645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027d57600080fd5b610137610916565b005b341561029257600080fd5b6101b061097d565b60405190815260200160405180910390f35b34156102b757600080fd5b610137610983565b005b34156102cc57600080fd5b6101b0610a0d565b60405190815260200160405180910390f35b34156102f157600080fd5b6102f9610a13565b604051600160a060020a03909116815260200160405180910390f35b341561032057600080fd5b610328610a22565b604051901515815260200160405180910390f35b341561034757600080fd5b6101b0610a2b565b60405190815260200160405180910390f35b341561036c57600080fd5b610137610a31565b005b341561038157600080fd5b610328610a9a565b604051901515815260200160405180910390f35b34156103a857600080fd5b6102f9610aa8565b604051600160a060020a03909116815260200160405180910390f35b34156103d757600080fd5b61013760046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610ab795505050505050565b005b341561042a57600080fd5b61013760048035600160a060020a0316906024803591604435918201910135610aeb565b005b341561045b57600080fd5b6101b0610af6565b60405190815260200160405180910390f35b341561048057600080fd5b610137600435610bd1565b005b341561049857600080fd5b610137600160a060020a0360043516610c24565b005b610137600160a060020a036004351661053b565b005b34156104cf57600080fd5b610328610c81565b604051901515815260200160405180910390f35b34156104f657600080fd5b610137600160a060020a0360043516610ca6565b005b341561051757600080fd5b6102f9610cf0565b604051600160a060020a03909116815260200160405180910390f35b600854600090819060ff161561055057600080fd5b600160a060020a038316151561056557600080fd5b61056d610cff565b151561057857600080fd5b34915061058482610d30565b60055490915061059a908363ffffffff610e9816565b6005556009546105b0908263ffffffff610e9816565b60095560008054600160a060020a0316906340c10f1990859084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561061557600080fd5b6102c65a03f1151561062657600080fd5b505050604051805190505082600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18848460405191825260208201526040908101905180910390a3610687610eb2565b5b5b505050565b60065433600160a060020a039081169116146106a957600080fd5b6106b1610c81565b15156106bc57600080fd5b600054600160a060020a031663f2fde38b8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561070c57600080fd5b6102c65a03f1151561071d57600080fd5b5050505b5b50565b60065460009033600160a060020a0390811691161461074357600080fd5b81600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561079a57600080fd5b6102c65a03f115156107ab57600080fd5b50505060405180516006549092506107d79150600160a060020a0384811691168363ffffffff610ee916565b5b5b5050565b60065460009033600160a060020a039081169116146107fb57600080fd5b506006548190600160a060020a038083169163f2fde38b911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561085257600080fd5b6102c65a03f1151561086357600080fd5b5050505b5b5050565b60045481565b60025481565b60078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561090e5780601f106108e35761010080835404028352916020019161090e565b820191906000526020600020905b8154815290600101906020018083116108f157829003601f168201915b505050505081565b60065433600160a060020a0390811691161461093157600080fd5b60085460ff16151561094257600080fd5b6008805460ff191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a15b5b5b565b60055481565b60065433600160a060020a0390811691161461099e57600080fd5b600854610100900460ff16156109b357600080fd5b6109bb610c81565b15156109c657600080fd5b6109ce610f6f565b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a16008805461ff0019166101001790555b5b565b60095481565b600354600160a060020a031681565b60085460ff1681565b60015481565b60065433600160a060020a03908116911614610a4c57600080fd5b60085460ff1615610a5c57600080fd5b6008805460ff191660011790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a15b5b5b565b600854610100900460ff1681565b600654600160a060020a031681565b60065433600160a060020a03908116911614610ad257600080fd5b60078180516107d7929160200190611191565b505b5b50565b600080fd5b50505050565b60008054600160a060020a0316610bca816318160ddd84604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b4257600080fd5b6102c65a03f11515610b5357600080fd5b5050506040518051905082600160a060020a0316630b7abf776000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ba357600080fd5b6102c65a03f11515610bb457600080fd5b505050604051805191905063ffffffff61108a16565b91505b5090565b60065433600160a060020a03908116911614610bec57600080fd5b610bf4610c81565b15610bfe57600080fd5b42811015610c0b57600080fd5b600154811015610c1a57600080fd5b60028190555b5b50565b60065433600160a060020a03908116911614610c3f57600080fd5b600160a060020a0381161515610c5457600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600080610c8c610af6565b159050610c976110a1565b80610bca5750805b91505b5090565b60065433600160a060020a03908116911614610cc157600080fd5b30600160a060020a031681600160a060020a031614151515610ce257600080fd5b610721816110aa565b5b5b50565b600054600160a060020a031681565b60008060006001544210158015610d1857506002544211155b915050341515818015610d285750805b92505b505090565b600067016345785d8a000081808080808086891015610d4e57600080fd5b610d766004610d6a60015460025461108a90919063ffffffff16565b9063ffffffff61114316565b600154909650429550610d8f908763ffffffff610e9816565b851015610d9f5760fa9350610e1e565b610dc486610db888600154610e9890919063ffffffff16565b9063ffffffff610e9816565b851015610dd45760e69350610e1e565b610e0986610db888610db88a600154610e9890919063ffffffff16565b9063ffffffff610e9816565b9063ffffffff610e9816565b851015610e195760dc9350610e1e565b60c893505b5b5b610e30898563ffffffff61115f16565b9250610e3a610af6565b915082821015610e4957600080fd5b610e59878563ffffffff61115f16565b9050610e6b828463ffffffff61108a16565b915080821015610e8857610e85838363ffffffff610e9816565b92505b8297505b50505050505050919050565b600082820183811015610ea757fe5b8091505b5092915050565b600354600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561097957600080fd5b5b565b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610f4657600080fd5b6102c65a03f11515610f5757600080fd5b50505060405180519050151561068757fe5b5b505050565b600054600160a060020a031615801590610ff8575060008054600160a060020a0330811692911690638da5cb5b90604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fd257600080fd5b6102c65a03f11515610fe357600080fd5b50505060405180519050600160a060020a0316145b801561100e5750600654600160a060020a031615155b1561107f57600054600654600160a060020a039182169163f2fde38b911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561106a57600080fd5b6102c65a03f1151561107b57600080fd5b5050505b610979610979565b5b565b60008282111561109657fe5b508082035b92915050565b60025442115b90565b60065433600160a060020a039081169116146110c557600080fd5b600160a060020a03811615156110da57600080fd5b600654600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600080828481151561115157fe5b0490508091505b5092915050565b600082820283158061117b575082848281151561117857fe5b04145b1515610ea757fe5b8091505b5092915050565b5b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111d257805160ff19168380011785556111ff565b828001600101855582156111ff579182015b828111156111ff5782518255916020019190600101906111e4565b5b50610bcd929150611210565b5090565b6110a791905b80821115610bcd5760008155600101611216565b5090565b90565b600054600160a060020a03165b905600a165627a7a72305820a6d42bcfc93a52735bc1cea7263df73784719e02be061bdd98b8d6e8211e30d000290000000000000000000000003a1bda28adb5b0a812a7cf10a1950c920f79bcd3000000000000000000000000000000000000000000000000000000005a259b30000000000000000000000000000000000000000000000000000000005a6f6f30000000000000000000000000158f3a8d816d61f80c8db36fd6c48b57ecef0ad4
Deployed Bytecode
0x6060604052361561012d5763ffffffff60e060020a6000350416630dc081c5811461013a57806317ffc3201461015b5780632aed7f3f1461017c5780632c4e722e1461019d5780633197cbb6146101c257806336f7ab5e146101e75780633f4ba83a146102725780634042b66f146102875780634bb278f3146102ac578063518ab2a8146102c1578063521eb273146102e65780635c975abb1461031557806378e979251461033c5780638456cb59146103615780638d4e4083146103765780638da5cb5b1461039d578063b967a52e146103cc578063c0ee0b8a1461041f578063c8b0812514610450578063ccb98ffc14610475578063deaa59df1461048d578063ec8ac4d8146104ae578063ecb70fb7146104c4578063f2fde38b146104eb578063fc0c546a1461050c575b5b6101373361053b565b5b005b341561014557600080fd5b610137600160a060020a036004351661068e565b005b341561016657600080fd5b610137600160a060020a0360043516610725565b005b341561018757600080fd5b610137600160a060020a03600435166107dd565b005b34156101a857600080fd5b6101b061086c565b60405190815260200160405180910390f35b34156101cd57600080fd5b6101b0610872565b60405190815260200160405180910390f35b34156101f257600080fd5b6101fa610878565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102375780820151818401525b60200161021e565b50505050905090810190601f1680156102645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027d57600080fd5b610137610916565b005b341561029257600080fd5b6101b061097d565b60405190815260200160405180910390f35b34156102b757600080fd5b610137610983565b005b34156102cc57600080fd5b6101b0610a0d565b60405190815260200160405180910390f35b34156102f157600080fd5b6102f9610a13565b604051600160a060020a03909116815260200160405180910390f35b341561032057600080fd5b610328610a22565b604051901515815260200160405180910390f35b341561034757600080fd5b6101b0610a2b565b60405190815260200160405180910390f35b341561036c57600080fd5b610137610a31565b005b341561038157600080fd5b610328610a9a565b604051901515815260200160405180910390f35b34156103a857600080fd5b6102f9610aa8565b604051600160a060020a03909116815260200160405180910390f35b34156103d757600080fd5b61013760046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610ab795505050505050565b005b341561042a57600080fd5b61013760048035600160a060020a0316906024803591604435918201910135610aeb565b005b341561045b57600080fd5b6101b0610af6565b60405190815260200160405180910390f35b341561048057600080fd5b610137600435610bd1565b005b341561049857600080fd5b610137600160a060020a0360043516610c24565b005b610137600160a060020a036004351661053b565b005b34156104cf57600080fd5b610328610c81565b604051901515815260200160405180910390f35b34156104f657600080fd5b610137600160a060020a0360043516610ca6565b005b341561051757600080fd5b6102f9610cf0565b604051600160a060020a03909116815260200160405180910390f35b600854600090819060ff161561055057600080fd5b600160a060020a038316151561056557600080fd5b61056d610cff565b151561057857600080fd5b34915061058482610d30565b60055490915061059a908363ffffffff610e9816565b6005556009546105b0908263ffffffff610e9816565b60095560008054600160a060020a0316906340c10f1990859084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561061557600080fd5b6102c65a03f1151561062657600080fd5b505050604051805190505082600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18848460405191825260208201526040908101905180910390a3610687610eb2565b5b5b505050565b60065433600160a060020a039081169116146106a957600080fd5b6106b1610c81565b15156106bc57600080fd5b600054600160a060020a031663f2fde38b8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561070c57600080fd5b6102c65a03f1151561071d57600080fd5b5050505b5b50565b60065460009033600160a060020a0390811691161461074357600080fd5b81600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561079a57600080fd5b6102c65a03f115156107ab57600080fd5b50505060405180516006549092506107d79150600160a060020a0384811691168363ffffffff610ee916565b5b5b5050565b60065460009033600160a060020a039081169116146107fb57600080fd5b506006548190600160a060020a038083169163f2fde38b911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561085257600080fd5b6102c65a03f1151561086357600080fd5b5050505b5b5050565b60045481565b60025481565b60078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561090e5780601f106108e35761010080835404028352916020019161090e565b820191906000526020600020905b8154815290600101906020018083116108f157829003601f168201915b505050505081565b60065433600160a060020a0390811691161461093157600080fd5b60085460ff16151561094257600080fd5b6008805460ff191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a15b5b5b565b60055481565b60065433600160a060020a0390811691161461099e57600080fd5b600854610100900460ff16156109b357600080fd5b6109bb610c81565b15156109c657600080fd5b6109ce610f6f565b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a16008805461ff0019166101001790555b5b565b60095481565b600354600160a060020a031681565b60085460ff1681565b60015481565b60065433600160a060020a03908116911614610a4c57600080fd5b60085460ff1615610a5c57600080fd5b6008805460ff191660011790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a15b5b5b565b600854610100900460ff1681565b600654600160a060020a031681565b60065433600160a060020a03908116911614610ad257600080fd5b60078180516107d7929160200190611191565b505b5b50565b600080fd5b50505050565b60008054600160a060020a0316610bca816318160ddd84604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b4257600080fd5b6102c65a03f11515610b5357600080fd5b5050506040518051905082600160a060020a0316630b7abf776000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ba357600080fd5b6102c65a03f11515610bb457600080fd5b505050604051805191905063ffffffff61108a16565b91505b5090565b60065433600160a060020a03908116911614610bec57600080fd5b610bf4610c81565b15610bfe57600080fd5b42811015610c0b57600080fd5b600154811015610c1a57600080fd5b60028190555b5b50565b60065433600160a060020a03908116911614610c3f57600080fd5b600160a060020a0381161515610c5457600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600080610c8c610af6565b159050610c976110a1565b80610bca5750805b91505b5090565b60065433600160a060020a03908116911614610cc157600080fd5b30600160a060020a031681600160a060020a031614151515610ce257600080fd5b610721816110aa565b5b5b50565b600054600160a060020a031681565b60008060006001544210158015610d1857506002544211155b915050341515818015610d285750805b92505b505090565b600067016345785d8a000081808080808086891015610d4e57600080fd5b610d766004610d6a60015460025461108a90919063ffffffff16565b9063ffffffff61114316565b600154909650429550610d8f908763ffffffff610e9816565b851015610d9f5760fa9350610e1e565b610dc486610db888600154610e9890919063ffffffff16565b9063ffffffff610e9816565b851015610dd45760e69350610e1e565b610e0986610db888610db88a600154610e9890919063ffffffff16565b9063ffffffff610e9816565b9063ffffffff610e9816565b851015610e195760dc9350610e1e565b60c893505b5b5b610e30898563ffffffff61115f16565b9250610e3a610af6565b915082821015610e4957600080fd5b610e59878563ffffffff61115f16565b9050610e6b828463ffffffff61108a16565b915080821015610e8857610e85838363ffffffff610e9816565b92505b8297505b50505050505050919050565b600082820183811015610ea757fe5b8091505b5092915050565b600354600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561097957600080fd5b5b565b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610f4657600080fd5b6102c65a03f11515610f5757600080fd5b50505060405180519050151561068757fe5b5b505050565b600054600160a060020a031615801590610ff8575060008054600160a060020a0330811692911690638da5cb5b90604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fd257600080fd5b6102c65a03f11515610fe357600080fd5b50505060405180519050600160a060020a0316145b801561100e5750600654600160a060020a031615155b1561107f57600054600654600160a060020a039182169163f2fde38b911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561106a57600080fd5b6102c65a03f1151561107b57600080fd5b5050505b610979610979565b5b565b60008282111561109657fe5b508082035b92915050565b60025442115b90565b60065433600160a060020a039081169116146110c557600080fd5b600160a060020a03811615156110da57600080fd5b600654600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600080828481151561115157fe5b0490508091505b5092915050565b600082820283158061117b575082848281151561117857fe5b04145b1515610ea757fe5b8091505b5092915050565b5b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111d257805160ff19168380011785556111ff565b828001600101855582156111ff579182015b828111156111ff5782518255916020019190600101906111e4565b5b50610bcd929150611210565b5090565b6110a791905b80821115610bcd5760008155600101611216565b5090565b90565b600054600160a060020a03165b905600a165627a7a72305820a6d42bcfc93a52735bc1cea7263df73784719e02be061bdd98b8d6e8211e30d00029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003a1bda28adb5b0a812a7cf10a1950c920f79bcd3000000000000000000000000000000000000000000000000000000005a259b30000000000000000000000000000000000000000000000000000000005a6f6f30000000000000000000000000158f3a8d816d61f80c8db36fd6c48b57ecef0ad4
-----Decoded View---------------
Arg [0] : _token (address): 0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3
Arg [1] : _startTime (uint256): 1512414000
Arg [2] : _endTime (uint256): 1517252400
Arg [3] : _ethWallet (address): 0x158F3A8D816D61F80C8DB36fD6C48B57Ecef0AD4
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000003a1bda28adb5b0a812a7cf10a1950c920f79bcd3
Arg [1] : 000000000000000000000000000000000000000000000000000000005a259b30
Arg [2] : 000000000000000000000000000000000000000000000000000000005a6f6f30
Arg [3] : 000000000000000000000000158f3a8d816d61f80c8db36fd6c48b57ecef0ad4
Swarm Source
bzzr://a6d42bcfc93a52735bc1cea7263df73784719e02be061bdd98b8d6e8211e30d0
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.008423 | 350.1699 | $2.95 |
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.