Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 31 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Change Token Min... | 5417168 | 2508 days ago | IN | 0 ETH | 0.0000331 | ||||
Register Payment | 5417131 | 2508 days ago | IN | 0 ETH | 0.00002578 | ||||
Register Payment | 5417103 | 2508 days ago | IN | 0 ETH | 0.00002578 | ||||
Register Payment... | 5404344 | 2510 days ago | IN | 0 ETH | 0.00343048 | ||||
Register Payment... | 5404335 | 2510 days ago | IN | 0 ETH | 0.00367396 | ||||
Register Payment... | 5404327 | 2510 days ago | IN | 0 ETH | 0.00367396 | ||||
Register Payment... | 5404286 | 2510 days ago | IN | 0 ETH | 0.00367402 | ||||
Register Payment... | 5404244 | 2510 days ago | IN | 0 ETH | 0.00367389 | ||||
Register Payment... | 5404197 | 2510 days ago | IN | 0 ETH | 0.00367383 | ||||
Register Payment... | 5404177 | 2510 days ago | IN | 0 ETH | 0.00367409 | ||||
Register Payment... | 5404162 | 2510 days ago | IN | 0 ETH | 0.00367389 | ||||
Register Payment... | 5404115 | 2510 days ago | IN | 0 ETH | 0.00364402 | ||||
Register Payment... | 5404092 | 2510 days ago | IN | 0 ETH | 0.00367389 | ||||
Register Payment... | 5403807 | 2510 days ago | IN | 0 ETH | 0.00367396 | ||||
Register Payment... | 5403783 | 2510 days ago | IN | 0 ETH | 0.00367402 | ||||
Register Payment... | 5403740 | 2510 days ago | IN | 0 ETH | 0.00367389 | ||||
Register Payment... | 5403722 | 2510 days ago | IN | 0 ETH | 0.00367402 | ||||
Register Payment... | 5403710 | 2510 days ago | IN | 0 ETH | 0.00367383 | ||||
Register Payment... | 5403694 | 2510 days ago | IN | 0 ETH | 0.00367383 | ||||
Register Payment... | 5403683 | 2510 days ago | IN | 0 ETH | 0.00367396 | ||||
Register Payment... | 5403675 | 2510 days ago | IN | 0 ETH | 0.00367389 | ||||
Register Payment... | 5403644 | 2510 days ago | IN | 0 ETH | 0.00367402 | ||||
Register Payment... | 5403623 | 2510 days ago | IN | 0 ETH | 0.00367389 | ||||
Register Payment... | 5403583 | 2510 days ago | IN | 0 ETH | 0.00367409 | ||||
Register Payment... | 5403499 | 2510 days ago | IN | 0 ETH | 0.00367396 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Presale
Compiler Version
v0.4.21+commit.dfe3193c
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-03-27 */ pragma solidity ^0.4.18; // File: contracts/IPricingStrategy.sol interface IPricingStrategy { function isPricingStrategy() public view returns (bool); /** Calculate the current price for buy in amount. */ function calculateTokenAmount(uint weiAmount, uint tokensSold) public view returns (uint tokenAmount); } // File: zeppelin-solidity/contracts/token/ERC20Basic.sol /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } // File: zeppelin-solidity/contracts/token/ERC20.sol /** * @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); } // File: contracts/token/ERC223.sol contract ERC223 is ERC20 { function transfer(address _to, uint _value, bytes _data) public returns (bool); function transferFrom(address _from, address _to, uint _value, bytes _data) public returns (bool); event Transfer(address indexed from, address indexed to, uint value, bytes data); } // File: contracts/token/TokenReciever.sol /* * Contract that is working with ERC223 tokens */ contract TokenReciever { function tokenFallback(address _from, uint _value, bytes _data) public pure { } } // File: zeppelin-solidity/contracts/math/SafeMath.sol /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } // File: zeppelin-solidity/contracts/ownership/Ownable.sol /** * @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 OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() 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 transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } // File: zeppelin-solidity/contracts/ownership/Contactable.sol /** * @title Contactable token * @dev Basic version of a contactable contract, allowing the owner to provide a string with their * contact information. */ 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; } } // File: contracts/token/PlayHallToken.sol contract PlayHallToken is ERC223, Contactable { using SafeMath for uint; string constant public name = "PlayHall Token"; string constant public symbol = "PHT"; uint constant public decimals = 18; bool public isActivated = false; mapping (address => uint) balances; mapping (address => mapping (address => uint)) internal allowed; mapping (address => bool) public freezedList; // address, who is allowed to issue new tokens (presale and sale contracts) address public minter; bool public mintingFinished = false; event Mint(address indexed to, uint amount); event MintingFinished(); modifier onlyMinter() { require(msg.sender == minter); _; } modifier canMint() { require(!mintingFinished); _; } modifier whenActivated() { require(isActivated); _; } function PlayHallToken() public { minter = msg.sender; } /** * @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, uint _value) public returns (bool) { bytes memory empty; return transfer(_to, _value, empty); } /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. * @param _data Optional metadata. */ function transfer(address _to, uint _value, bytes _data) public whenActivated returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); require(!freezedList[msg.sender]); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); if (isContract(_to)) { TokenReciever receiver = TokenReciever(_to); receiver.tokenFallback(msg.sender, _value, _data); } Transfer(msg.sender, _to, _value); Transfer(msg.sender, _to, _value, _data); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint balance) { return balances[_owner]; } /** * @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 uint the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint _value) public returns (bool) { bytes memory empty; return transferFrom(_from, _to, _value, empty); } /** * @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 uint the amount of tokens to be transferred * @param _data Optional metadata. */ function transferFrom(address _from, address _to, uint _value, bytes _data) public whenActivated returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); require(!freezedList[_from]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); if (isContract(_to)) { TokenReciever receiver = TokenReciever(_to); receiver.tokenFallback(_from, _value, _data); } Transfer(_from, _to, _value); Transfer(_from, _to, _value, _data); 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, uint _value) public returns (bool) { require(_value == 0 || allowed[msg.sender][_spender] == 0); 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 uint specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public view returns (uint) { 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); 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); } Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @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, uint _amount, bool freeze) canMint onlyMinter external returns (bool) { totalSupply = totalSupply.add(_amount); balances[_to] = balances[_to].add(_amount); if (freeze) { freezedList[_to] = true; } Mint(_to, _amount); Transfer(address(0), _to, _amount); return true; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() canMint onlyMinter external returns (bool) { mintingFinished = true; MintingFinished(); return true; } /** * Minter can pass it's role to another address */ function setMinter(address _minter) external onlyMinter { require(_minter != 0x0); minter = _minter; } /** * Owner can unfreeze any address */ function removeFromFreezedList(address user) external onlyOwner { freezedList[user] = false; } /** * Activation of the token allows all tokenholders to operate with the token */ function activate() external onlyOwner returns (bool) { isActivated = true; return true; } function isContract(address _addr) private view returns (bool) { uint length; assembly { //retrieve the size of the code on target address, this needs assembly length := extcodesize(_addr) } return (length>0); } } // File: zeppelin-solidity/contracts/lifecycle/Pausable.sol /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ 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(); } } // File: contracts/SaleBase.sol contract SaleBase is Pausable, Contactable { using SafeMath for uint; // The token being sold PlayHallToken public token; // start and end timestamps where purchases are allowed (both inclusive) uint public startTime; uint public endTime; // address where funds are collected address public wallet; // the contract, which determine how many token units a buyer gets per wei IPricingStrategy public pricingStrategy; // amount of raised money in wei uint public weiRaised; // amount of tokens that was sold on the crowdsale uint public tokensSold; // maximum amount of wei in total, that can be bought uint public weiMaximumGoal; // if weiMinimumGoal will not be reached till endTime, buyers will be able to refund ETH uint public weiMinimumGoal; // minimum amount of wel, that can be contributed uint public weiMinimumAmount; // How many distinct addresses have bought uint public buyerCount; // how much wei we have returned back to the contract after a failed crowdfund uint public loadedRefund; // how much wei we have given back to buyers uint public weiRefunded; // how much ETH each address has bought to this crowdsale mapping (address => uint) public boughtAmountOf; // whether a buyer already bought some tokens mapping (address => bool) public isBuyer; // whether a buyer bought tokens through other currencies mapping (address => bool) public isExternalBuyer; address public admin; /** * 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 tokenAmount amount of tokens purchased */ event TokenPurchase( address indexed purchaser, address indexed beneficiary, uint value, uint tokenAmount ); // a refund was processed for an buyer event Refund(address buyer, uint weiAmount); event RefundLoaded(uint amount); function SaleBase( uint _startTime, uint _endTime, IPricingStrategy _pricingStrategy, PlayHallToken _token, address _wallet, uint _weiMaximumGoal, uint _weiMinimumGoal, uint _weiMinimumAmount, address _admin ) public { require(_startTime >= now); require(_endTime >= _startTime); require(_pricingStrategy.isPricingStrategy()); require(address(_token) != 0x0); require(_wallet != 0x0); require(_weiMaximumGoal > 0); require(_admin != 0x0); startTime = _startTime; endTime = _endTime; pricingStrategy = _pricingStrategy; token = _token; wallet = _wallet; weiMaximumGoal = _weiMaximumGoal; weiMinimumGoal = _weiMinimumGoal; weiMinimumAmount = _weiMinimumAmount; admin = _admin; } modifier onlyOwnerOrAdmin() { require(msg.sender == owner || msg.sender == admin); _; } // fallback function can be used to buy tokens function () external payable { buyTokens(msg.sender); } // low level token purchase function function buyTokens(address beneficiary) public whenNotPaused payable returns (bool) { uint weiAmount = msg.value; require(beneficiary != 0x0); require(weiAmount >= weiMinimumAmount); require(validPurchase(msg.value)); // calculate token amount to be created uint tokenAmount = pricingStrategy.calculateTokenAmount(weiAmount, weiRaised); mintTokenToBuyer(beneficiary, tokenAmount, weiAmount); wallet.transfer(msg.value); return true; } function mintTokenToBuyer(address beneficiary, uint tokenAmount, uint weiAmount) internal { if (!isBuyer[beneficiary]) { // A new buyer buyerCount++; isBuyer[beneficiary] = true; } boughtAmountOf[beneficiary] = boughtAmountOf[beneficiary].add(weiAmount); weiRaised = weiRaised.add(weiAmount); tokensSold = tokensSold.add(tokenAmount); token.mint(beneficiary, tokenAmount, true); TokenPurchase(msg.sender, beneficiary, weiAmount, tokenAmount); } // return true if the transaction can buy tokens function validPurchase(uint weiAmount) internal constant returns (bool) { bool withinPeriod = now >= startTime && now <= endTime; bool withinCap = weiRaised.add(weiAmount) <= weiMaximumGoal; return withinPeriod && withinCap; } // return true if crowdsale event has ended function hasEnded() public constant returns (bool) { bool capReached = weiRaised >= weiMaximumGoal; bool afterEndTime = now > endTime; return capReached || afterEndTime; } // get the amount of unsold tokens allocated to this contract; function getWeiLeft() external constant returns (uint) { return weiMaximumGoal - weiRaised; } // return true if the crowdsale has raised enough money to be a successful. function isMinimumGoalReached() public constant returns (bool) { return weiRaised >= weiMinimumGoal; } // allows to update tokens rate for owner function setPricingStrategy(IPricingStrategy _pricingStrategy) external onlyOwner returns (bool) { pricingStrategy = _pricingStrategy; return true; } /** * Allow load refunds back on the contract for the refunding. * * The team can transfer the funds back on the smart contract in the case the minimum goal was not reached.. */ function loadRefund() external payable { require(msg.sender == wallet); require(msg.value > 0); require(!isMinimumGoalReached()); loadedRefund = loadedRefund.add(msg.value); RefundLoaded(msg.value); } /** * Buyers can claim refund. * * Note that any refunds from proxy buyers should be handled separately, * and not through this contract. */ function refund() external { require(!isMinimumGoalReached() && loadedRefund > 0); require(!isExternalBuyer[msg.sender]); uint weiValue = boughtAmountOf[msg.sender]; require(weiValue > 0); boughtAmountOf[msg.sender] = 0; weiRefunded = weiRefunded.add(weiValue); msg.sender.transfer(weiValue); Refund(msg.sender, weiValue); } function registerPayment(address beneficiary, uint tokenAmount, uint weiAmount) public onlyOwnerOrAdmin { require(validPurchase(weiAmount)); isExternalBuyer[beneficiary] = true; mintTokenToBuyer(beneficiary, tokenAmount, weiAmount); } function registerPayments(address[] beneficiaries, uint[] tokenAmounts, uint[] weiAmounts) external onlyOwnerOrAdmin { require(beneficiaries.length == tokenAmounts.length); require(tokenAmounts.length == weiAmounts.length); for (uint i = 0; i < beneficiaries.length; i++) { registerPayment(beneficiaries[i], tokenAmounts[i], weiAmounts[i]); } } function setAdmin(address adminAddress) external onlyOwner { admin = adminAddress; } } // File: contracts/presale/Presale.sol /** * @title Presale * @dev Presale is a contract for managing a token crowdsale. * Presales have a start and end timestamps, where buyers can make * token purchases and the crowdsale will assign them tokens based * on a token per ETH rate. Funds collected are forwarded to a wallet * as they arrive. */ contract Presale is SaleBase { function Presale( uint _startTime, uint _endTime, IPricingStrategy _pricingStrategy, PlayHallToken _token, address _wallet, uint _weiMaximumGoal, uint _weiMinimumGoal, uint _weiMinimumAmount, address _admin ) public SaleBase( _startTime, _endTime, _pricingStrategy, _token, _wallet, _weiMaximumGoal, _weiMinimumGoal, _weiMinimumAmount, _admin) { } function changeTokenMinter(address newMinter) external onlyOwner { require(newMinter != 0x0); require(hasEnded()); token.setMinter(newMinter); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"getWeiLeft","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBuyer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contactInformation","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiMinimumAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_pricingStrategy","type":"address"}],"name":"setPricingStrategy","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiMaximumGoal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiRefunded","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"adminAddress","type":"address"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pricingStrategy","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"loadedRefund","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMinimumGoalReached","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiMinimumGoal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"loadRefund","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiaries","type":"address[]"},{"name":"tokenAmounts","type":"uint256[]"},{"name":"weiAmounts","type":"uint256[]"}],"name":"registerPayments","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyerCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"boughtAmountOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"info","type":"string"}],"name":"setContactInformation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newMinter","type":"address"}],"name":"changeTokenMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"},{"name":"tokenAmount","type":"uint256"},{"name":"weiAmount","type":"uint256"}],"name":"registerPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isExternalBuyer","outputs":[{"name":"","type":"bool"}],"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":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_startTime","type":"uint256"},{"name":"_endTime","type":"uint256"},{"name":"_pricingStrategy","type":"address"},{"name":"_token","type":"address"},{"name":"_wallet","type":"address"},{"name":"_weiMaximumGoal","type":"uint256"},{"name":"_weiMinimumGoal","type":"uint256"},{"name":"_weiMinimumAmount","type":"uint256"},{"name":"_admin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"tokenAmount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"}],"name":"Refund","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"RefundLoaded","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"}]
Contract Creation Code
60606040526000805460a060020a60ff0219169055341561001f57600080fd5b604051610120806112f683398101604052808051919060200180519190602001805191906020018051919060200180519190602001805191906020018051919060200180519190602001805160008054600160a060020a03191633600160a060020a031617905591508990508888888888888888428910156100a057600080fd5b888810156100ad57600080fd5b86600160a060020a03166304bbc2556040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561010357600080fd5b5af1151561011057600080fd5b50505060405180519050151561012557600080fd5b600160a060020a038616151561013a57600080fd5b600160a060020a038516151561014f57600080fd5b6000841161015c57600080fd5b600160a060020a038116151561017157600080fd5b60039890985560049690965560068054600160a060020a0319908116600160a060020a03978816179091556002805482169587169590951790945560058054851693861693909317909255600955600a55600b929092556012805490921692169190911790555061110397508796506101f395506000945050505050396000f30060606040526004361061019d5763ffffffff60e060020a600035041663122e74f481146101a95780632a55feec146101ce5780633197cbb61461020157806336f7ab5e1461021457806338310f491461029e5780633f4ba83a146102b15780634042b66f146102c657806350c67734146102d9578063518ab2a8146102f8578063521eb2731461030b5780635506aa6c1461033a578063590e1ae31461034d5780635c975abb146103605780635da89ac014610373578063704b6c021461038657806378b99c24146103a557806378e97925146103b8578063797d9437146103cb5780637c2e08a3146103de57806382768708146103f15780638456cb591461040457806387612102146104175780638da5cb5b1461041f57806396581de1146104325780639e0cea0514610468578063b6f356241461047b578063b967a52e1461049a578063c9dca9ba146104eb578063ead1ed5b1461050a578063ec8ac4d81461052f578063ecb70fb714610543578063efb610bc14610556578063f2fde38b14610575578063f851a44014610594578063fc0c546a146105a7575b6101a6336105ba565b50005b34156101b457600080fd5b6101bc6106c8565b60405190815260200160405180910390f35b34156101d957600080fd5b6101ed600160a060020a03600435166106d3565b604051901515815260200160405180910390f35b341561020c57600080fd5b6101bc6106e8565b341561021f57600080fd5b6102276106ee565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561026357808201518382015260200161024b565b50505050905090810190601f1680156102905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102a957600080fd5b6101bc61078c565b34156102bc57600080fd5b6102c4610792565b005b34156102d157600080fd5b6101bc610811565b34156102e457600080fd5b6101ed600160a060020a0360043516610817565b341561030357600080fd5b6101bc610865565b341561031657600080fd5b61031e61086b565b604051600160a060020a03909116815260200160405180910390f35b341561034557600080fd5b6101bc61087a565b341561035857600080fd5b6102c4610880565b341561036b57600080fd5b6101ed610997565b341561037e57600080fd5b6101bc6109a7565b341561039157600080fd5b6102c4600160a060020a03600435166109ad565b34156103b057600080fd5b61031e6109f7565b34156103c357600080fd5b6101bc610a06565b34156103d657600080fd5b6101bc610a0c565b34156103e957600080fd5b6101ed610a12565b34156103fc57600080fd5b6101bc610a1d565b341561040f57600080fd5b6102c4610a23565b6102c4610aa7565b341561042a57600080fd5b61031e610b2c565b341561043d57600080fd5b6102c46024600480358281019290820135918135808301929082013591604435918201910135610b3b565b341561047357600080fd5b6101bc610bf5565b341561048657600080fd5b6101bc600160a060020a0360043516610bfb565b34156104a557600080fd5b6102c460046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610c0d95505050505050565b34156104f657600080fd5b6102c4600160a060020a0360043516610c3f565b341561051557600080fd5b6102c4600160a060020a0360043516602435604435610ce5565b6101ed600160a060020a03600435166105ba565b341561054e57600080fd5b6101ed610d62565b341561056157600080fd5b6101ed600160a060020a0360043516610d85565b341561058057600080fd5b6102c4600160a060020a0360043516610d9a565b341561059f57600080fd5b61031e610e35565b34156105b257600080fd5b61031e610e44565b600080548190819060a060020a900460ff16156105d657600080fd5b349150600160a060020a03841615156105ee57600080fd5b600b548210156105fd57600080fd5b61060634610e53565b151561061157600080fd5b600654600754600160a060020a0390911690630355383590849060405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b151561066657600080fd5b5af1151561067357600080fd5b50505060405180519050905061068a848284610e9c565b600554600160a060020a03163480156108fc0290604051600060405180830381858888f1935050505015156106be57600080fd5b5060019392505050565b600754600954035b90565b60106020526000908152604090205460ff1681565b60045481565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107845780601f1061075957610100808354040283529160200191610784565b820191906000526020600020905b81548152906001019060200180831161076757829003601f168201915b505050505081565b600b5481565b60005433600160a060020a039081169116146107ad57600080fd5b60005460a060020a900460ff1615156107c557600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60075481565b6000805433600160a060020a0390811691161461083357600080fd5b5060068054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60085481565b600554600160a060020a031681565b60095481565b600061088a610a12565b15801561089957506000600d54115b15156108a457600080fd5b600160a060020a03331660009081526011602052604090205460ff16156108ca57600080fd5b50600160a060020a0333166000908152600f60205260408120549081116108f057600080fd5b600160a060020a0333166000908152600f6020526040812055600e5461091c908263ffffffff61102916565b600e55600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561095057600080fd5b7fbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d3382604051600160a060020a03909216825260208201526040908101905180910390a150565b60005460a060020a900460ff1681565b600e5481565b60005433600160a060020a039081169116146109c857600080fd5b6012805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600654600160a060020a031681565b60035481565b600d5481565b600a54600754101590565b600a5481565b60005433600160a060020a03908116911614610a3e57600080fd5b60005460a060020a900460ff1615610a5557600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60055433600160a060020a03908116911614610ac257600080fd5b60003411610acf57600080fd5b610ad7610a12565b15610ae157600080fd5b600d54610af4903463ffffffff61102916565b600d557fff13c6c63336413f032ad2ec351d9e01203de54fc79ce8899050e0bc2ec7134b3460405190815260200160405180910390a1565b600054600160a060020a031681565b6000805433600160a060020a0390811691161480610b67575060125433600160a060020a039081169116145b1515610b7257600080fd5b858414610b7e57600080fd5b838214610b8a57600080fd5b5060005b85811015610bec57610be4878783818110610ba557fe5b90506020020135600160a060020a03168686848181101515610bc357fe5b905060200201358585858181101515610bd857fe5b90506020020135610ce5565b600101610b8e565b50505050505050565b600c5481565b600f6020526000908152604090205481565b60005433600160a060020a03908116911614610c2857600080fd5b6001818051610c3b92916020019061103f565b5050565b60005433600160a060020a03908116911614610c5a57600080fd5b600160a060020a0381161515610c6f57600080fd5b610c77610d62565b1515610c8257600080fd5b600254600160a060020a031663fca3b5aa8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610cd257600080fd5b5af11515610cdf57600080fd5b50505050565b60005433600160a060020a0390811691161480610d10575060125433600160a060020a039081169116145b1515610d1b57600080fd5b610d2481610e53565b1515610d2f57600080fd5b600160a060020a0383166000908152601160205260409020805460ff19166001179055610d5d838383610e9c565b505050565b600954600754600454600092909110159042118180610d7e5750805b9250505090565b60116020526000908152604090205460ff1681565b60005433600160a060020a03908116911614610db557600080fd5b600160a060020a0381161515610dca57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b601254600160a060020a031681565b600254600160a060020a031681565b60008060006003544210158015610e6c57506004544211155b9150600954610e868560075461102990919063ffffffff16565b11159050818015610e945750805b949350505050565b600160a060020a03831660009081526010602052604090205460ff161515610eee57600c80546001908101909155600160a060020a0384166000908152601060205260409020805460ff191690911790555b600160a060020a0383166000908152600f6020526040902054610f17908263ffffffff61102916565b600160a060020a0384166000908152600f6020526040902055600754610f43908263ffffffff61102916565b600755600854610f59908363ffffffff61102916565b600855600254600160a060020a031663d1a1beb48484600160405160e060020a63ffffffff8616028152600160a060020a039093166004840152602483019190915215156044820152606401602060405180830381600087803b1515610fbe57600080fd5b5af11515610fcb57600080fd5b505050604051805190505082600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18838560405191825260208201526040908101905180910390a3505050565b60008282018381101561103857fe5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061108057805160ff19168380011785556110ad565b828001600101855582156110ad579182015b828111156110ad578251825591602001919060010190611092565b506110b99291506110bd565b5090565b6106d091905b808211156110b957600081556001016110c35600a165627a7a72305820ba3c28fc7c70f348a38a5db1f33070032de92318ad1c5d463b543499c54920200029000000000000000000000000000000000000000000000000000000005aba74a8000000000000000000000000000000000000000000000000000000005acc7d100000000000000000000000001114380bea291009dc83a937a3446cc763c4650200000000000000000000000095442a375dd03e97f347f7671a48ba40b2751455000000000000000000000000f3f3425faa8dbf3ef6ab115d514f44757a39f55d0000000000000000000000000000000000000000000002f6f10780d22cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000d5fe6421e3d770e9008b0ab7f0abb56f2946200a
Deployed Bytecode
0x60606040526004361061019d5763ffffffff60e060020a600035041663122e74f481146101a95780632a55feec146101ce5780633197cbb61461020157806336f7ab5e1461021457806338310f491461029e5780633f4ba83a146102b15780634042b66f146102c657806350c67734146102d9578063518ab2a8146102f8578063521eb2731461030b5780635506aa6c1461033a578063590e1ae31461034d5780635c975abb146103605780635da89ac014610373578063704b6c021461038657806378b99c24146103a557806378e97925146103b8578063797d9437146103cb5780637c2e08a3146103de57806382768708146103f15780638456cb591461040457806387612102146104175780638da5cb5b1461041f57806396581de1146104325780639e0cea0514610468578063b6f356241461047b578063b967a52e1461049a578063c9dca9ba146104eb578063ead1ed5b1461050a578063ec8ac4d81461052f578063ecb70fb714610543578063efb610bc14610556578063f2fde38b14610575578063f851a44014610594578063fc0c546a146105a7575b6101a6336105ba565b50005b34156101b457600080fd5b6101bc6106c8565b60405190815260200160405180910390f35b34156101d957600080fd5b6101ed600160a060020a03600435166106d3565b604051901515815260200160405180910390f35b341561020c57600080fd5b6101bc6106e8565b341561021f57600080fd5b6102276106ee565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561026357808201518382015260200161024b565b50505050905090810190601f1680156102905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102a957600080fd5b6101bc61078c565b34156102bc57600080fd5b6102c4610792565b005b34156102d157600080fd5b6101bc610811565b34156102e457600080fd5b6101ed600160a060020a0360043516610817565b341561030357600080fd5b6101bc610865565b341561031657600080fd5b61031e61086b565b604051600160a060020a03909116815260200160405180910390f35b341561034557600080fd5b6101bc61087a565b341561035857600080fd5b6102c4610880565b341561036b57600080fd5b6101ed610997565b341561037e57600080fd5b6101bc6109a7565b341561039157600080fd5b6102c4600160a060020a03600435166109ad565b34156103b057600080fd5b61031e6109f7565b34156103c357600080fd5b6101bc610a06565b34156103d657600080fd5b6101bc610a0c565b34156103e957600080fd5b6101ed610a12565b34156103fc57600080fd5b6101bc610a1d565b341561040f57600080fd5b6102c4610a23565b6102c4610aa7565b341561042a57600080fd5b61031e610b2c565b341561043d57600080fd5b6102c46024600480358281019290820135918135808301929082013591604435918201910135610b3b565b341561047357600080fd5b6101bc610bf5565b341561048657600080fd5b6101bc600160a060020a0360043516610bfb565b34156104a557600080fd5b6102c460046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610c0d95505050505050565b34156104f657600080fd5b6102c4600160a060020a0360043516610c3f565b341561051557600080fd5b6102c4600160a060020a0360043516602435604435610ce5565b6101ed600160a060020a03600435166105ba565b341561054e57600080fd5b6101ed610d62565b341561056157600080fd5b6101ed600160a060020a0360043516610d85565b341561058057600080fd5b6102c4600160a060020a0360043516610d9a565b341561059f57600080fd5b61031e610e35565b34156105b257600080fd5b61031e610e44565b600080548190819060a060020a900460ff16156105d657600080fd5b349150600160a060020a03841615156105ee57600080fd5b600b548210156105fd57600080fd5b61060634610e53565b151561061157600080fd5b600654600754600160a060020a0390911690630355383590849060405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b151561066657600080fd5b5af1151561067357600080fd5b50505060405180519050905061068a848284610e9c565b600554600160a060020a03163480156108fc0290604051600060405180830381858888f1935050505015156106be57600080fd5b5060019392505050565b600754600954035b90565b60106020526000908152604090205460ff1681565b60045481565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107845780601f1061075957610100808354040283529160200191610784565b820191906000526020600020905b81548152906001019060200180831161076757829003601f168201915b505050505081565b600b5481565b60005433600160a060020a039081169116146107ad57600080fd5b60005460a060020a900460ff1615156107c557600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60075481565b6000805433600160a060020a0390811691161461083357600080fd5b5060068054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60085481565b600554600160a060020a031681565b60095481565b600061088a610a12565b15801561089957506000600d54115b15156108a457600080fd5b600160a060020a03331660009081526011602052604090205460ff16156108ca57600080fd5b50600160a060020a0333166000908152600f60205260408120549081116108f057600080fd5b600160a060020a0333166000908152600f6020526040812055600e5461091c908263ffffffff61102916565b600e55600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561095057600080fd5b7fbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d3382604051600160a060020a03909216825260208201526040908101905180910390a150565b60005460a060020a900460ff1681565b600e5481565b60005433600160a060020a039081169116146109c857600080fd5b6012805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600654600160a060020a031681565b60035481565b600d5481565b600a54600754101590565b600a5481565b60005433600160a060020a03908116911614610a3e57600080fd5b60005460a060020a900460ff1615610a5557600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60055433600160a060020a03908116911614610ac257600080fd5b60003411610acf57600080fd5b610ad7610a12565b15610ae157600080fd5b600d54610af4903463ffffffff61102916565b600d557fff13c6c63336413f032ad2ec351d9e01203de54fc79ce8899050e0bc2ec7134b3460405190815260200160405180910390a1565b600054600160a060020a031681565b6000805433600160a060020a0390811691161480610b67575060125433600160a060020a039081169116145b1515610b7257600080fd5b858414610b7e57600080fd5b838214610b8a57600080fd5b5060005b85811015610bec57610be4878783818110610ba557fe5b90506020020135600160a060020a03168686848181101515610bc357fe5b905060200201358585858181101515610bd857fe5b90506020020135610ce5565b600101610b8e565b50505050505050565b600c5481565b600f6020526000908152604090205481565b60005433600160a060020a03908116911614610c2857600080fd5b6001818051610c3b92916020019061103f565b5050565b60005433600160a060020a03908116911614610c5a57600080fd5b600160a060020a0381161515610c6f57600080fd5b610c77610d62565b1515610c8257600080fd5b600254600160a060020a031663fca3b5aa8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610cd257600080fd5b5af11515610cdf57600080fd5b50505050565b60005433600160a060020a0390811691161480610d10575060125433600160a060020a039081169116145b1515610d1b57600080fd5b610d2481610e53565b1515610d2f57600080fd5b600160a060020a0383166000908152601160205260409020805460ff19166001179055610d5d838383610e9c565b505050565b600954600754600454600092909110159042118180610d7e5750805b9250505090565b60116020526000908152604090205460ff1681565b60005433600160a060020a03908116911614610db557600080fd5b600160a060020a0381161515610dca57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b601254600160a060020a031681565b600254600160a060020a031681565b60008060006003544210158015610e6c57506004544211155b9150600954610e868560075461102990919063ffffffff16565b11159050818015610e945750805b949350505050565b600160a060020a03831660009081526010602052604090205460ff161515610eee57600c80546001908101909155600160a060020a0384166000908152601060205260409020805460ff191690911790555b600160a060020a0383166000908152600f6020526040902054610f17908263ffffffff61102916565b600160a060020a0384166000908152600f6020526040902055600754610f43908263ffffffff61102916565b600755600854610f59908363ffffffff61102916565b600855600254600160a060020a031663d1a1beb48484600160405160e060020a63ffffffff8616028152600160a060020a039093166004840152602483019190915215156044820152606401602060405180830381600087803b1515610fbe57600080fd5b5af11515610fcb57600080fd5b505050604051805190505082600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18838560405191825260208201526040908101905180910390a3505050565b60008282018381101561103857fe5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061108057805160ff19168380011785556110ad565b828001600101855582156110ad579182015b828111156110ad578251825591602001919060010190611092565b506110b99291506110bd565b5090565b6106d091905b808211156110b957600081556001016110c35600a165627a7a72305820ba3c28fc7c70f348a38a5db1f33070032de92318ad1c5d463b543499c54920200029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000005aba74a8000000000000000000000000000000000000000000000000000000005acc7d100000000000000000000000001114380bea291009dc83a937a3446cc763c4650200000000000000000000000095442a375dd03e97f347f7671a48ba40b2751455000000000000000000000000f3f3425faa8dbf3ef6ab115d514f44757a39f55d0000000000000000000000000000000000000000000002f6f10780d22cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000d5fe6421e3d770e9008b0ab7f0abb56f2946200a
-----Decoded View---------------
Arg [0] : _startTime (uint256): 1522169000
Arg [1] : _endTime (uint256): 1523350800
Arg [2] : _pricingStrategy (address): 0x1114380BeA291009Dc83A937A3446cC763c46502
Arg [3] : _token (address): 0x95442A375Dd03e97F347f7671A48bA40B2751455
Arg [4] : _wallet (address): 0xf3f3425FAA8DBF3ef6ab115d514f44757A39f55D
Arg [5] : _weiMaximumGoal (uint256): 14000000000000000000000
Arg [6] : _weiMinimumGoal (uint256): 0
Arg [7] : _weiMinimumAmount (uint256): 10000000000000000000
Arg [8] : _admin (address): 0xd5Fe6421e3D770e9008b0ab7f0ABb56f2946200A
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000005aba74a8
Arg [1] : 000000000000000000000000000000000000000000000000000000005acc7d10
Arg [2] : 0000000000000000000000001114380bea291009dc83a937a3446cc763c46502
Arg [3] : 00000000000000000000000095442a375dd03e97f347f7671a48ba40b2751455
Arg [4] : 000000000000000000000000f3f3425faa8dbf3ef6ab115d514f44757a39f55d
Arg [5] : 0000000000000000000000000000000000000000000002f6f10780d22cc00000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000008ac7230489e80000
Arg [8] : 000000000000000000000000d5fe6421e3d770e9008b0ab7f0abb56f2946200a
Swarm Source
bzzr://ba3c28fc7c70f348a38a5db1f33070032de92318ad1c5d463b543499c5492020
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.