More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 46,399 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 24565938 | 1 hr ago | IN | 0 ETH | 0.00009452 | ||||
| Transfer | 24565934 | 1 hr ago | IN | 0 ETH | 0.00176579 | ||||
| Approve | 24563305 | 9 hrs ago | IN | 0 ETH | 0.00000374 | ||||
| Transfer | 24563211 | 10 hrs ago | IN | 0 ETH | 0.00000802 | ||||
| Approve | 24545365 | 2 days ago | IN | 0 ETH | 0.00009473 | ||||
| Approve | 24545323 | 2 days ago | IN | 0 ETH | 0.00009473 | ||||
| Approve | 24541497 | 3 days ago | IN | 0 ETH | 0.00000719 | ||||
| Approve | 24537810 | 3 days ago | IN | 0 ETH | 0.00000218 | ||||
| Transfer | 24537799 | 3 days ago | IN | 0 ETH | 0.00000249 | ||||
| Transfer | 24537786 | 3 days ago | IN | 0 ETH | 0.00010755 | ||||
| Approve | 24537631 | 3 days ago | IN | 0 ETH | 0.00000307 | ||||
| Transfer | 24537619 | 3 days ago | IN | 0 ETH | 0.0000018 | ||||
| Transfer | 24537619 | 3 days ago | IN | 0 ETH | 0.00000344 | ||||
| Transfer | 24537341 | 4 days ago | IN | 0 ETH | 0.00010718 | ||||
| Transfer | 24537313 | 4 days ago | IN | 0 ETH | 0.00176579 | ||||
| Approve | 24534069 | 4 days ago | IN | 0 ETH | 0.00010334 | ||||
| Approve | 24530765 | 4 days ago | IN | 0 ETH | 0.00009658 | ||||
| Transfer | 24530758 | 4 days ago | IN | 0 ETH | 0.00176619 | ||||
| Approve | 24523470 | 5 days ago | IN | 0 ETH | 0.00005175 | ||||
| Approve | 24516818 | 6 days ago | IN | 0 ETH | 0.00000163 | ||||
| Approve | 24516770 | 6 days ago | IN | 0 ETH | 0.00000143 | ||||
| Approve | 24516663 | 6 days ago | IN | 0 ETH | 0.0000022 | ||||
| Approve | 24514604 | 7 days ago | IN | 0 ETH | 0.00000203 | ||||
| Approve | 24514599 | 7 days ago | IN | 0 ETH | 0.00000203 | ||||
| Approve | 24514587 | 7 days ago | IN | 0 ETH | 0.00000203 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
RocketPoolToken
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-09-11
*/
pragma solidity ^0.4.11;
contract Owned {
address public owner;
address public newOwner;
event OwnershipTransferred(address indexed _from, address indexed _to);
function Owned() {
owner = msg.sender;
}
modifier onlyOwner {
require(msg.sender == owner);
_;
}
function transferOwnership(address _newOwner) onlyOwner {
newOwner = _newOwner;
}
function acceptOwnership() {
require(msg.sender == newOwner);
OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
contract Token {
uint256 public totalSupply;
function balanceOf(address _owner) constant returns (uint256 balance);
function transfer(address _to, uint256 _value) returns (bool success);
function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
function approve(address _spender, uint256 _value) returns (bool success);
function allowance(address _owner, address _spender) constant returns (uint256 remaining);
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
library SafeMath {
function mul(uint256 a, uint256 b) internal returns (uint256) {
uint256 c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal 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 returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
function max64(uint64 a, uint64 b) internal constant returns (uint64) {
return a >= b ? a : b;
}
function min64(uint64 a, uint64 b) internal constant returns (uint64) {
return a < b ? a : b;
}
function max256(uint256 a, uint256 b) internal constant returns (uint256) {
return a >= b ? a : b;
}
function min256(uint256 a, uint256 b) internal constant returns (uint256) {
return a < b ? a : b;
}
}
contract SalesAgentInterface {
/**** Properties ***********/
// Main contract token address
address tokenContractAddress;
// Contributions per address
mapping (address => uint256) public contributions;
// Total ETH contributed
uint256 public contributedTotal;
/// @dev Only allow access from the main token contract
modifier onlyTokenContract() {_;}
/*** Events ****************/
event Contribute(address _agent, address _sender, uint256 _value);
event FinaliseSale(address _agent, address _sender, uint256 _value);
event Refund(address _agent, address _sender, uint256 _value);
event ClaimTokens(address _agent, address _sender, uint256 _value);
/*** Methods ****************/
/// @dev The address used for the depositAddress must checkin with the contract to verify it can interact with this contract, must happen or it won't accept funds
function getDepositAddressVerify() public;
/// @dev Get the contribution total of ETH from a contributor
/// @param _owner The owners address
function getContributionOf(address _owner) constant returns (uint256 balance);
}
/* ERC 20 token */
contract StandardToken is Token {
function transfer(address _to, uint256 _value) returns (bool success) {
if (balances[msg.sender] >= _value && _value > 0) {
balances[msg.sender] -= _value;
balances[_to] += _value;
Transfer(msg.sender, _to, _value);
return true;
} else {
return false;
}
}
function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0) {
balances[_to] += _value;
balances[_from] -= _value;
allowed[_from][msg.sender] -= _value;
Transfer(_from, _to, _value);
return true;
} else {
return false;
}
}
function balanceOf(address _owner) constant returns (uint256 balance) {
return balances[_owner];
}
function approve(address _spender, uint256 _value) returns (bool success) {
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
return allowed[_owner][_spender];
}
mapping (address => uint256) balances;
mapping (address => mapping (address => uint256)) allowed;
}
/// @title The main Rocket Pool Token (RPL) contract
/// @author David Rugendyke - http://www.rocketpool.net
/*****************************************************************
* This is the main Rocket Pool Token (RPL) contract. It features
* Smart Agent compatibility. The Sale Agent is a new type of
* contract that can authorise the minting of tokens on behalf of
* the traditional ERC20 token contract. This allows you to
* distribute your ICO tokens through multiple Sale Agents,
* at various times, of various token quantities and of varying
* fund targets. Once you’ve written a new Sale Agent contract,
* you can register him with the main ERC20 token contract,
* he’s then permitted to sell it’s tokens on your behalf using
* guidelines such as the amount of tokens he’s allowed to sell,
* the maximum ether he’s allowed to raise, the start block and
* end blocks he’s allowed to sell between and more.
/****************************************************************/
contract RocketPoolToken is StandardToken, Owned {
/**** Properties ***********/
string public name = "Rocket Pool";
string public symbol = "RPL";
string public version = "1.0";
// Set our token units
uint8 public constant decimals = 18;
uint256 public exponent = 10**uint256(decimals);
uint256 public totalSupply = 0; // The total of tokens currently minted by sales agent contracts
uint256 public totalSupplyCap = 18 * (10**6) * exponent; // 18 Million tokens
/**** Libs *****************/
using SafeMath for uint;
/*** Sale Addresses *********/
mapping (address => SalesAgent) private salesAgents; // Our contract addresses of our sales contracts
address[] private salesAgentsAddresses; // Keep an array of all our sales agent addresses for iteration
/*** Structs ***************/
struct SalesAgent { // These are contract addresses that are authorised to mint tokens
address saleContractAddress; // Address of the contract
bytes32 saleContractType; // Type of the contract ie. presale, crowdsale
uint256 targetEthMax; // The max amount of ether the agent is allowed raise
uint256 targetEthMin; // The min amount of ether to raise to consider this contracts sales a success
uint256 tokensLimit; // The maximum amount of tokens this sale contract is allowed to distribute
uint256 tokensMinted; // The current amount of tokens minted by this agent
uint256 minDeposit; // The minimum deposit amount allowed
uint256 maxDeposit; // The maximum deposit amount allowed
uint256 startBlock; // The start block when allowed to mint tokens
uint256 endBlock; // The end block when to finish minting tokens
address depositAddress; // The address that receives the ether for that sale contract
bool depositAddressCheckedIn; // The address that receives the ether for that sale contract must check in with its sale contract to verify its a valid address that can interact
bool finalised; // Has this sales contract been completed and the ether sent to the deposit address?
bool exists; // Check to see if the mapping exists
}
/*** Events ****************/
event MintToken(address _agent, address _address, uint256 _value);
event SaleFinalised(address _agent, address _address, uint256 _value);
/*** Tests *****************/
event FlagUint(uint256 flag);
event FlagAddress(address flag);
/*** Modifiers *************/
/// @dev Only allow access from the latest version of a sales contract
modifier isSalesContract(address _sender) {
// Is this an authorised sale contract?
assert(salesAgents[_sender].exists == true);
_;
}
/**** Methods ***********/
/// @dev RPL Token Init
function RocketPoolToken() {}
// @dev General validation for a sales agent contract receiving a contribution, additional validation can be done in the sale contract if required
// @param _value The value of the contribution in wei
// @return A boolean that indicates if the operation was successful.
function validateContribution(uint256 _value) isSalesContract(msg.sender) returns (bool) {
// Get an instance of the sale agent contract
SalesAgentInterface saleAgent = SalesAgentInterface(msg.sender);
// Did they send anything from a proper address?
assert(_value > 0);
// Check the depositAddress has been verified by the account holder
assert(salesAgents[msg.sender].depositAddressCheckedIn == true);
// Check if we're ok to receive contributions, have we started?
assert(block.number > salesAgents[msg.sender].startBlock);
// Already ended? Or if the end block is 0, it's an open ended sale until finalised by the depositAddress
assert(block.number < salesAgents[msg.sender].endBlock || salesAgents[msg.sender].endBlock == 0);
// Is it above the min deposit amount?
assert(_value >= salesAgents[msg.sender].minDeposit);
// Is it below the max deposit allowed?
assert(_value <= salesAgents[msg.sender].maxDeposit);
// No contributions if the sale contract has finalised
assert(salesAgents[msg.sender].finalised == false);
// Does this deposit put it over the max target ether for the sale contract?
assert(saleAgent.contributedTotal().add(_value) <= salesAgents[msg.sender].targetEthMax);
// All good
return true;
}
// @dev General validation for a sales agent contract that requires the user claim the tokens after the sale has finished
// @param _sender The address sent the request
// @return A boolean that indicates if the operation was successful.
function validateClaimTokens(address _sender) isSalesContract(msg.sender) returns (bool) {
// Get an instance of the sale agent contract
SalesAgentInterface saleAgent = SalesAgentInterface(msg.sender);
// Must have previously contributed
assert(saleAgent.getContributionOf(_sender) > 0);
// Sale contract completed
assert(block.number > salesAgents[msg.sender].endBlock);
// All good
return true;
}
// @dev Mint the Rocket Pool Tokens (RPL)
// @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) isSalesContract(msg.sender) returns (bool) {
// Check if we're ok to mint new tokens, have we started?
// We dont check for the end block as some sale agents mint tokens during the sale, and some after its finished (proportional sales)
assert(block.number > salesAgents[msg.sender].startBlock);
// Check the depositAddress has been verified by the designated account holder that will receive the funds from that agent
assert(salesAgents[msg.sender].depositAddressCheckedIn == true);
// No minting if the sale contract has finalised
assert(salesAgents[msg.sender].finalised == false);
// Check we don't exceed the assigned tokens of the sale agent
assert(salesAgents[msg.sender].tokensLimit >= salesAgents[msg.sender].tokensMinted.add(_amount));
// Verify ok balances and values
assert(_amount > 0);
// Check we don't exceed the supply limit
assert(totalSupply.add(_amount) <= totalSupplyCap);
// Ok all good, automatically checks for overflow with safeMath
balances[_to] = balances[_to].add(_amount);
// Add to the total minted for that agent, automatically checks for overflow with safeMath
salesAgents[msg.sender].tokensMinted = salesAgents[msg.sender].tokensMinted.add(_amount);
// Add to the overall total minted, automatically checks for overflow with safeMath
totalSupply = totalSupply.add(_amount);
// Fire the event
MintToken(msg.sender, _to, _amount);
// Fire the transfer event
Transfer(0x0, _to, _amount);
// Completed
return true;
}
/// @dev Returns the amount of tokens that can still be minted
function getRemainingTokens() public constant returns(uint256) {
return totalSupplyCap.sub(totalSupply);
}
/// @dev Set the address of a new crowdsale/presale contract agent if needed, usefull for upgrading
/// @param _saleAddress The address of the new token sale contract
/// @param _saleContractType Type of the contract ie. presale, crowdsale, quarterly
/// @param _targetEthMin The min amount of ether to raise to consider this contracts sales a success
/// @param _targetEthMax The max amount of ether the agent is allowed raise
/// @param _tokensLimit The maximum amount of tokens this sale contract is allowed to distribute
/// @param _minDeposit The minimum deposit amount allowed
/// @param _maxDeposit The maximum deposit amount allowed
/// @param _startBlock The start block when allowed to mint tokens
/// @param _endBlock The end block when to finish minting tokens
/// @param _depositAddress The address that receives the ether for that sale contract
function setSaleAgentContract(
address _saleAddress,
string _saleContractType,
uint256 _targetEthMin,
uint256 _targetEthMax,
uint256 _tokensLimit,
uint256 _minDeposit,
uint256 _maxDeposit,
uint256 _startBlock,
uint256 _endBlock,
address _depositAddress
)
// Only the owner can register a new sale agent
public onlyOwner
{
// Valid addresses?
assert(_saleAddress != 0x0 && _depositAddress != 0x0);
// Must have some available tokens
assert(_tokensLimit > 0 && _tokensLimit <= totalSupplyCap);
// Make sure the min deposit is less than or equal to the max
assert(_minDeposit <= _maxDeposit);
// Add the new sales contract
salesAgents[_saleAddress] = SalesAgent({
saleContractAddress: _saleAddress,
saleContractType: sha3(_saleContractType),
targetEthMin: _targetEthMin,
targetEthMax: _targetEthMax,
tokensLimit: _tokensLimit,
tokensMinted: 0,
minDeposit: _minDeposit,
maxDeposit: _maxDeposit,
startBlock: _startBlock,
endBlock: _endBlock,
depositAddress: _depositAddress,
depositAddressCheckedIn: false,
finalised: false,
exists: true
});
// Store our agent address so we can iterate over it if needed
salesAgentsAddresses.push(_saleAddress);
}
/// @dev Sets the contract sale agent process as completed, that sales agent is now retired
function setSaleContractFinalised(address _sender) isSalesContract(msg.sender) public returns(bool) {
// Get an instance of the sale agent contract
SalesAgentInterface saleAgent = SalesAgentInterface(msg.sender);
// Finalise the crowdsale funds
assert(!salesAgents[msg.sender].finalised);
// The address that will receive this contracts deposit, should match the original senders
assert(salesAgents[msg.sender].depositAddress == _sender);
// If the end block is 0, it means an open ended crowdsale, once it's finalised, the end block is set to the current one
if (salesAgents[msg.sender].endBlock == 0) {
salesAgents[msg.sender].endBlock = block.number;
}
// Not yet finished?
assert(block.number >= salesAgents[msg.sender].endBlock);
// Not enough raised?
assert(saleAgent.contributedTotal() >= salesAgents[msg.sender].targetEthMin);
// We're done now
salesAgents[msg.sender].finalised = true;
// Fire the event
SaleFinalised(msg.sender, _sender, salesAgents[msg.sender].tokensMinted);
// All good
return true;
}
/// @dev Verifies if the current address matches the depositAddress
/// @param _verifyAddress The address to verify it matches the depositAddress given for the sales agent
function setSaleContractDepositAddressVerified(address _verifyAddress) isSalesContract(msg.sender) public {
// Check its verified
assert(salesAgents[msg.sender].depositAddress == _verifyAddress && _verifyAddress != 0x0);
// Ok set it now
salesAgents[msg.sender].depositAddressCheckedIn = true;
}
/// @dev Returns true if this sales contract has finalised
/// @param _salesAgentAddress The address of the token sale agent contract
function getSaleContractIsFinalised(address _salesAgentAddress) constant isSalesContract(_salesAgentAddress) public returns(bool) {
return salesAgents[_salesAgentAddress].finalised;
}
/// @dev Returns the min target amount of ether the contract wants to raise
/// @param _salesAgentAddress The address of the token sale agent contract
function getSaleContractTargetEtherMin(address _salesAgentAddress) constant isSalesContract(_salesAgentAddress) public returns(uint256) {
return salesAgents[_salesAgentAddress].targetEthMin;
}
/// @dev Returns the max target amount of ether the contract can raise
/// @param _salesAgentAddress The address of the token sale agent contract
function getSaleContractTargetEtherMax(address _salesAgentAddress) constant isSalesContract(_salesAgentAddress) public returns(uint256) {
return salesAgents[_salesAgentAddress].targetEthMax;
}
/// @dev Returns the min deposit amount of ether
/// @param _salesAgentAddress The address of the token sale agent contract
function getSaleContractDepositEtherMin(address _salesAgentAddress) constant isSalesContract(_salesAgentAddress) public returns(uint256) {
return salesAgents[_salesAgentAddress].minDeposit;
}
/// @dev Returns the max deposit amount of ether
/// @param _salesAgentAddress The address of the token sale agent contract
function getSaleContractDepositEtherMax(address _salesAgentAddress) constant isSalesContract(_salesAgentAddress) public returns(uint256) {
return salesAgents[_salesAgentAddress].maxDeposit;
}
/// @dev Returns the address where the sale contracts ether will be deposited
/// @param _salesAgentAddress The address of the token sale agent contract
function getSaleContractDepositAddress(address _salesAgentAddress) constant isSalesContract(_salesAgentAddress) public returns(address) {
return salesAgents[_salesAgentAddress].depositAddress;
}
/// @dev Returns the true if the sale agents deposit address has been verified
/// @param _salesAgentAddress The address of the token sale agent contract
function getSaleContractDepositAddressVerified(address _salesAgentAddress) constant isSalesContract(_salesAgentAddress) public returns(bool) {
return salesAgents[_salesAgentAddress].depositAddressCheckedIn;
}
/// @dev Returns the start block for the sale agent
/// @param _salesAgentAddress The address of the token sale agent contract
function getSaleContractStartBlock(address _salesAgentAddress) constant isSalesContract(_salesAgentAddress) public returns(uint256) {
return salesAgents[_salesAgentAddress].startBlock;
}
/// @dev Returns the start block for the sale agent
/// @param _salesAgentAddress The address of the token sale agent contract
function getSaleContractEndBlock(address _salesAgentAddress) constant isSalesContract(_salesAgentAddress) public returns(uint256) {
return salesAgents[_salesAgentAddress].endBlock;
}
/// @dev Returns the max tokens for the sale agent
/// @param _salesAgentAddress The address of the token sale agent contract
function getSaleContractTokensLimit(address _salesAgentAddress) constant isSalesContract(_salesAgentAddress) public returns(uint256) {
return salesAgents[_salesAgentAddress].tokensLimit;
}
/// @dev Returns the token total currently minted by the sale agent
/// @param _salesAgentAddress The address of the token sale agent contract
function getSaleContractTokensMinted(address _salesAgentAddress) constant isSalesContract(_salesAgentAddress) public returns(uint256) {
return salesAgents[_salesAgentAddress].tokensMinted;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_verifyAddress","type":"address"}],"name":"setSaleContractDepositAddressVerified","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_salesAgentAddress","type":"address"}],"name":"getSaleContractDepositEtherMax","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_salesAgentAddress","type":"address"}],"name":"getSaleContractStartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"}],"name":"validateClaimTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"}],"name":"setSaleContractFinalised","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_salesAgentAddress","type":"address"}],"name":"getSaleContractTargetEtherMin","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_salesAgentAddress","type":"address"}],"name":"getSaleContractTokensMinted","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"exponent","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_salesAgentAddress","type":"address"}],"name":"getSaleContractDepositAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"validateContribution","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_saleAddress","type":"address"},{"name":"_saleContractType","type":"string"},{"name":"_targetEthMin","type":"uint256"},{"name":"_targetEthMax","type":"uint256"},{"name":"_tokensLimit","type":"uint256"},{"name":"_minDeposit","type":"uint256"},{"name":"_maxDeposit","type":"uint256"},{"name":"_startBlock","type":"uint256"},{"name":"_endBlock","type":"uint256"},{"name":"_depositAddress","type":"address"}],"name":"setSaleAgentContract","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getRemainingTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupplyCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_salesAgentAddress","type":"address"}],"name":"getSaleContractDepositEtherMin","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_salesAgentAddress","type":"address"}],"name":"getSaleContractTargetEtherMax","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_salesAgentAddress","type":"address"}],"name":"getSaleContractDepositAddressVerified","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_salesAgentAddress","type":"address"}],"name":"getSaleContractEndBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_salesAgentAddress","type":"address"}],"name":"getSaleContractIsFinalised","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_salesAgentAddress","type":"address"}],"name":"getSaleContractTokensLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_agent","type":"address"},{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"MintToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_agent","type":"address"},{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"SaleFinalised","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"flag","type":"uint256"}],"name":"FlagUint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"flag","type":"address"}],"name":"FlagAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]Contract Creation Code
606060405260408051908101604052600b81527f526f636b657420506f6f6c000000000000000000000000000000000000000000602082015260059080516200004d92916020019062000133565b5060408051908101604052600381527f52504c0000000000000000000000000000000000000000000000000000000000602082015260069080516200009792916020019062000133565b5060408051908101604052600381527f312e30000000000000000000000000000000000000000000000000000000000060208201526007908051620000e192916020019062000133565b50670de0b6b3a764000060085560006009556a0ee3a5f48a68b552000000600a5534156200010e57600080fd5b5b5b60038054600160a060020a03191633600160a060020a03161790555b5b620001dd565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017657805160ff1916838001178555620001a6565b82800160010185558215620001a6579182015b82811115620001a657825182559160200191906001019062000189565b5b50620001b5929150620001b9565b5090565b620001da91905b80821115620001b55760008155600101620001c0565b5090565b90565b611e6380620001ed6000396000f300606060405236156101905763ffffffff60e060020a60003504166306fdde038114610195578063095ea7b314610220578063179c537e1461025657806317b83aa61461027757806318160ddd146102a857806323b872dd146102cd5780632511274314610309578063313ce5671461033a57806340c10f191461036357806345493057146103995780634aa83079146103cc5780634cc53838146103ff5780634db08e5b1461043057806352f6ee581461046157806354fd4d50146104865780636932c9c51461051157806370a082311461054c57806379ba50971461057d5780638da5cb5b1461059257806395d89b41146105c157806399f16c6e1461064c578063a7a8add214610676578063a9059cbb14610709578063af35ae271461073f578063bb102aea14610764578063bf7035c314610789578063c11301d4146107ba578063d4ee1d90146107eb578063dd62ed3e1461081a578063ef7c779714610851578063f2ccaed514610884578063f2fde38b146108b5578063f612a62d146108d6578063ff5bc8a714610909575b600080fd5b34156101a057600080fd5b6101a861093a565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022b57600080fd5b610242600160a060020a03600435166024356109d8565b604051901515815260200160405180910390f35b341561026157600080fd5b610275600160a060020a0360043516610a45565b005b341561028257600080fd5b610296600160a060020a0360043516610af9565b60405190815260200160405180910390f35b34156102b357600080fd5b610296610b52565b60405190815260200160405180910390f35b34156102d857600080fd5b610242600160a060020a0360043581169060243516604435610b58565b604051901515815260200160405180910390f35b341561031457600080fd5b610296600160a060020a0360043516610c51565b60405190815260200160405180910390f35b341561034557600080fd5b61034d610caa565b60405160ff909116815260200160405180910390f35b341561036e57600080fd5b610242600160a060020a0360043516602435610caf565b604051901515815260200160405180910390f35b34156103a457600080fd5b610242600160a060020a0360043516610f15565b604051901515815260200160405180910390f35b34156103d757600080fd5b610242600160a060020a0360043516610ffc565b604051901515815260200160405180910390f35b341561040a57600080fd5b610296600160a060020a0360043516611217565b60405190815260200160405180910390f35b341561043b57600080fd5b610296600160a060020a0360043516611270565b60405190815260200160405180910390f35b341561046c57600080fd5b6102966112c9565b60405190815260200160405180910390f35b341561049157600080fd5b6101a86112cf565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561051c57600080fd5b610530600160a060020a036004351661136d565b604051600160a060020a03909116815260200160405180910390f35b341561055757600080fd5b610296600160a060020a03600435166113c8565b60405190815260200160405180910390f35b341561058857600080fd5b6102756113e7565b005b341561059d57600080fd5b610530611473565b604051600160a060020a03909116815260200160405180910390f35b34156105cc57600080fd5b6101a8611482565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561065757600080fd5b610242600435611520565b604051901515815260200160405180910390f35b341561068157600080fd5b61027560048035600160a060020a03169060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650508435946020810135945060408101359350606081013592506080810135915060a08101359060c08101359060e00135600160a060020a0316611728565b005b341561071457600080fd5b610242600160a060020a0360043516602435611a3e565b604051901515815260200160405180910390f35b341561074a57600080fd5b610296611ae8565b60405190815260200160405180910390f35b341561076f57600080fd5b610296611b07565b60405190815260200160405180910390f35b341561079457600080fd5b610296600160a060020a0360043516611b0d565b60405190815260200160405180910390f35b34156107c557600080fd5b610296600160a060020a0360043516611b66565b60405190815260200160405180910390f35b34156107f657600080fd5b610530611bbf565b604051600160a060020a03909116815260200160405180910390f35b341561082557600080fd5b610296600160a060020a0360043581169060243516611bce565b60405190815260200160405180910390f35b341561085c57600080fd5b610242600160a060020a0360043516611bfb565b604051901515815260200160405180910390f35b341561088f57600080fd5b610296600160a060020a0360043516611c5e565b60405190815260200160405180910390f35b34156108c057600080fd5b610275600160a060020a0360043516611cb7565b005b34156108e157600080fd5b610242600160a060020a0360043516611cff565b604051901515815260200160405180910390f35b341561091457600080fd5b610296600160a060020a0360043516611d62565b60405190815260200160405180910390f35b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b33600160a060020a0381166000908152600b60205260409020600a015460b060020a900460ff161515600114610a7757fe5b600160a060020a033381166000908152600b60205260409020600a01548382169116148015610aae5750600160a060020a03821615155b1515610ab657fe5b600160a060020a0333166000908152600b60205260409020600a01805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b5050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114610b2c57fe5b600160a060020a0383166000908152600b602052604090206007015491505b5b50919050565b60095481565b600160a060020a038316600090815260016020526040812054829010801590610ba85750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b8015610bb45750600082115b15610c4557600160a060020a03808416600081815260016020908152604080832080548801905588851680845281842080548990039055600283528184203390961684529490915290819020805486900390559091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610c49565b5060005b5b9392505050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114610c8457fe5b600160a060020a0383166000908152600b602052604090206008015491505b5b50919050565b601281565b33600160a060020a0381166000908152600b60205260408120600a015490919060b060020a900460ff161515600114610ce457fe5b600160a060020a0333166000908152600b60205260409020600801544311610d0857fe5b33600160a060020a03166000908152600b60205260409020600a015460a060020a900460ff161515600114610d3957fe5b33600160a060020a03166000908152600b60205260409020600a015460a860020a900460ff1615610d6657fe5b600160a060020a0333166000908152600b6020526040902060050154610d92908463ffffffff611dbb16565b600160a060020a0333166000908152600b60205260409020600401541015610db657fe5b60008311610dc057fe5b600a54600954610dd6908563ffffffff611dbb16565b1115610dde57fe5b600160a060020a038416600090815260016020526040902054610e07908463ffffffff611dbb16565b600160a060020a03808616600090815260016020908152604080832094909455339092168152600b9091522060050154610e47908463ffffffff611dbb16565b600160a060020a0333166000908152600b6020526040902060050155600954610e76908463ffffffff611dbb16565b6009557fb2c0ac17769dc4009cb3bb7bc94bf96c53610105f662c66592910dd10319dcf8338585604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a183600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b5b5092915050565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff161515600114610f4b57fe5b339150600082600160a060020a031663e14ed0458660006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610fa757600080fd5b6102c65a03f11515610fb857600080fd5b50505060405180519050111515610fcb57fe5b600160a060020a0333166000908152600b60205260409020600901544311610fef57fe5b600192505b5b5050919050565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff16151560011461103257fe5b33600160a060020a0381166000908152600b60205260409020600a015490925060a860020a900460ff161561106357fe5b600160a060020a033381166000908152600b60205260409020600a015485821691161461108c57fe5b600160a060020a0333166000908152600b602052604090206009015415156110ce57600160a060020a0333166000908152600b60205260409020436009909101555b600160a060020a0333166000908152600b60205260409020600901544310156110f357fe5b600160a060020a033381166000908152600b60205260408082206003015492851691638616bc8b9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561114e57600080fd5b6102c65a03f1151561115f57600080fd5b505050604051805190501015151561117357fe5b600160a060020a03339081166000908152600b602052604090819020600a8101805475ff000000000000000000000000000000000000000000191660a860020a179055600501547fcd6dca9e79b9cc7944fdcef11079425f4c73b31837073272dca8e33e188ee58c929187919051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a1600192505b5b5050919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff16151560011461124a57fe5b600160a060020a0383166000908152600b602052604090206003015491505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff1615156001146112a357fe5b600160a060020a0383166000908152600b602052604090206005015491505b5b50919050565b60085481565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff1615156001146113a057fe5b600160a060020a038084166000908152600b60205260409020600a01541691505b5b50919050565b600160a060020a0381166000908152600160205260409020545b919050565b60045433600160a060020a0390811691161461140257600080fd5b600454600354600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36004546003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b565b600354600160a060020a031681565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff16151560011461155657fe5b3391506000841161156357fe5b33600160a060020a03166000908152600b60205260409020600a015460a060020a900460ff16151560011461159457fe5b600160a060020a0333166000908152600b602052604090206008015443116115b857fe5b600160a060020a0333166000908152600b60205260409020600901544310806115fa5750600160a060020a0333166000908152600b6020526040902060090154155b151561160257fe5b600160a060020a0333166000908152600b602052604090206006015484101561162757fe5b600160a060020a0333166000908152600b602052604090206007015484111561164c57fe5b33600160a060020a03166000908152600b60205260409020600a015460a860020a900460ff161561167957fe5b600b600033600160a060020a0316600160a060020a03168152602001908152602001600020600201546117138584600160a060020a0316638616bc8b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156116ec57600080fd5b6102c65a03f115156116fd57600080fd5b505050604051805191905063ffffffff611dbb16565b1115610fef57fe5b600192505b5b5050919050565b60035433600160a060020a0390811691161461174357600080fd5b600160a060020a038a16158015906117635750600160a060020a03811615155b151561176b57fe5b60008611801561177d5750600a548611155b151561178557fe5b8385111561178f57fe5b6101c0604051908101604052808b600160a060020a031681526020018a6040518082805190602001908083835b602083106117dc57805182525b601f1990920191602091820191016117bc565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390206000191681526020018881526020018981526020018781526020016000815260200186815260200185815260200184815260200183815260200182600160a060020a0316815260200160001515815260200160001515815260200160011515815250600b60008c600160a060020a0316600160a060020a031681526020019081526020016000206000820151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600182015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e0820151816007015561010082015181600801556101208201518160090155610140820151600a8201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055610160820151600a8201805491151560a060020a0274ff000000000000000000000000000000000000000019909216919091179055610180820151600a8201805491151560a860020a0275ff000000000000000000000000000000000000000000199092169190911790556101a0820151600a909101805491151560b060020a0276ff000000000000000000000000000000000000000000001990921691909117905550600c805460018101611a038382611dec565b916000526020600020900160005b8154600160a060020a03808f166101009390930a92830292021916179055505b5b50505050505050505050565b600160a060020a033316600090815260016020526040812054829010801590611a675750600082115b15611ad957600160a060020a033381166000818152600160205260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610a3f565b506000610a3f565b5b92915050565b6000611b01600954600a54611dd590919063ffffffff16565b90505b90565b600a5481565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611b4057fe5b600160a060020a0383166000908152600b602052604090206006015491505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611b9957fe5b600160a060020a0383166000908152600b602052604090206002015491505b5b50919050565b600454600160a060020a031681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611c2e57fe5b600160a060020a0383166000908152600b60205260409020600a015460a060020a900460ff1691505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611c9157fe5b600160a060020a0383166000908152600b602052604090206009015491505b5b50919050565b60035433600160a060020a03908116911614611cd257600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611d3257fe5b600160a060020a0383166000908152600b60205260409020600a015460a860020a900460ff1691505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611d9557fe5b600160a060020a0383166000908152600b602052604090206004015491505b5b50919050565b600082820183811015611dca57fe5b8091505b5092915050565b600082821115611de157fe5b508082035b92915050565b815481835581811511611e1057600083815260209020611e10918101908301611e16565b5b505050565b611b0491905b80821115611e305760008155600101611e1c565b5090565b905600a165627a7a72305820c27f2eff3166c0e7e7150fcfc10febaf96de25145b881b1177a41b43435757050029
Deployed Bytecode
0x606060405236156101905763ffffffff60e060020a60003504166306fdde038114610195578063095ea7b314610220578063179c537e1461025657806317b83aa61461027757806318160ddd146102a857806323b872dd146102cd5780632511274314610309578063313ce5671461033a57806340c10f191461036357806345493057146103995780634aa83079146103cc5780634cc53838146103ff5780634db08e5b1461043057806352f6ee581461046157806354fd4d50146104865780636932c9c51461051157806370a082311461054c57806379ba50971461057d5780638da5cb5b1461059257806395d89b41146105c157806399f16c6e1461064c578063a7a8add214610676578063a9059cbb14610709578063af35ae271461073f578063bb102aea14610764578063bf7035c314610789578063c11301d4146107ba578063d4ee1d90146107eb578063dd62ed3e1461081a578063ef7c779714610851578063f2ccaed514610884578063f2fde38b146108b5578063f612a62d146108d6578063ff5bc8a714610909575b600080fd5b34156101a057600080fd5b6101a861093a565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022b57600080fd5b610242600160a060020a03600435166024356109d8565b604051901515815260200160405180910390f35b341561026157600080fd5b610275600160a060020a0360043516610a45565b005b341561028257600080fd5b610296600160a060020a0360043516610af9565b60405190815260200160405180910390f35b34156102b357600080fd5b610296610b52565b60405190815260200160405180910390f35b34156102d857600080fd5b610242600160a060020a0360043581169060243516604435610b58565b604051901515815260200160405180910390f35b341561031457600080fd5b610296600160a060020a0360043516610c51565b60405190815260200160405180910390f35b341561034557600080fd5b61034d610caa565b60405160ff909116815260200160405180910390f35b341561036e57600080fd5b610242600160a060020a0360043516602435610caf565b604051901515815260200160405180910390f35b34156103a457600080fd5b610242600160a060020a0360043516610f15565b604051901515815260200160405180910390f35b34156103d757600080fd5b610242600160a060020a0360043516610ffc565b604051901515815260200160405180910390f35b341561040a57600080fd5b610296600160a060020a0360043516611217565b60405190815260200160405180910390f35b341561043b57600080fd5b610296600160a060020a0360043516611270565b60405190815260200160405180910390f35b341561046c57600080fd5b6102966112c9565b60405190815260200160405180910390f35b341561049157600080fd5b6101a86112cf565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561051c57600080fd5b610530600160a060020a036004351661136d565b604051600160a060020a03909116815260200160405180910390f35b341561055757600080fd5b610296600160a060020a03600435166113c8565b60405190815260200160405180910390f35b341561058857600080fd5b6102756113e7565b005b341561059d57600080fd5b610530611473565b604051600160a060020a03909116815260200160405180910390f35b34156105cc57600080fd5b6101a8611482565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561065757600080fd5b610242600435611520565b604051901515815260200160405180910390f35b341561068157600080fd5b61027560048035600160a060020a03169060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650508435946020810135945060408101359350606081013592506080810135915060a08101359060c08101359060e00135600160a060020a0316611728565b005b341561071457600080fd5b610242600160a060020a0360043516602435611a3e565b604051901515815260200160405180910390f35b341561074a57600080fd5b610296611ae8565b60405190815260200160405180910390f35b341561076f57600080fd5b610296611b07565b60405190815260200160405180910390f35b341561079457600080fd5b610296600160a060020a0360043516611b0d565b60405190815260200160405180910390f35b34156107c557600080fd5b610296600160a060020a0360043516611b66565b60405190815260200160405180910390f35b34156107f657600080fd5b610530611bbf565b604051600160a060020a03909116815260200160405180910390f35b341561082557600080fd5b610296600160a060020a0360043581169060243516611bce565b60405190815260200160405180910390f35b341561085c57600080fd5b610242600160a060020a0360043516611bfb565b604051901515815260200160405180910390f35b341561088f57600080fd5b610296600160a060020a0360043516611c5e565b60405190815260200160405180910390f35b34156108c057600080fd5b610275600160a060020a0360043516611cb7565b005b34156108e157600080fd5b610242600160a060020a0360043516611cff565b604051901515815260200160405180910390f35b341561091457600080fd5b610296600160a060020a0360043516611d62565b60405190815260200160405180910390f35b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b33600160a060020a0381166000908152600b60205260409020600a015460b060020a900460ff161515600114610a7757fe5b600160a060020a033381166000908152600b60205260409020600a01548382169116148015610aae5750600160a060020a03821615155b1515610ab657fe5b600160a060020a0333166000908152600b60205260409020600a01805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b5050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114610b2c57fe5b600160a060020a0383166000908152600b602052604090206007015491505b5b50919050565b60095481565b600160a060020a038316600090815260016020526040812054829010801590610ba85750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b8015610bb45750600082115b15610c4557600160a060020a03808416600081815260016020908152604080832080548801905588851680845281842080548990039055600283528184203390961684529490915290819020805486900390559091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610c49565b5060005b5b9392505050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114610c8457fe5b600160a060020a0383166000908152600b602052604090206008015491505b5b50919050565b601281565b33600160a060020a0381166000908152600b60205260408120600a015490919060b060020a900460ff161515600114610ce457fe5b600160a060020a0333166000908152600b60205260409020600801544311610d0857fe5b33600160a060020a03166000908152600b60205260409020600a015460a060020a900460ff161515600114610d3957fe5b33600160a060020a03166000908152600b60205260409020600a015460a860020a900460ff1615610d6657fe5b600160a060020a0333166000908152600b6020526040902060050154610d92908463ffffffff611dbb16565b600160a060020a0333166000908152600b60205260409020600401541015610db657fe5b60008311610dc057fe5b600a54600954610dd6908563ffffffff611dbb16565b1115610dde57fe5b600160a060020a038416600090815260016020526040902054610e07908463ffffffff611dbb16565b600160a060020a03808616600090815260016020908152604080832094909455339092168152600b9091522060050154610e47908463ffffffff611dbb16565b600160a060020a0333166000908152600b6020526040902060050155600954610e76908463ffffffff611dbb16565b6009557fb2c0ac17769dc4009cb3bb7bc94bf96c53610105f662c66592910dd10319dcf8338585604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a183600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b5b5092915050565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff161515600114610f4b57fe5b339150600082600160a060020a031663e14ed0458660006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610fa757600080fd5b6102c65a03f11515610fb857600080fd5b50505060405180519050111515610fcb57fe5b600160a060020a0333166000908152600b60205260409020600901544311610fef57fe5b600192505b5b5050919050565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff16151560011461103257fe5b33600160a060020a0381166000908152600b60205260409020600a015490925060a860020a900460ff161561106357fe5b600160a060020a033381166000908152600b60205260409020600a015485821691161461108c57fe5b600160a060020a0333166000908152600b602052604090206009015415156110ce57600160a060020a0333166000908152600b60205260409020436009909101555b600160a060020a0333166000908152600b60205260409020600901544310156110f357fe5b600160a060020a033381166000908152600b60205260408082206003015492851691638616bc8b9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561114e57600080fd5b6102c65a03f1151561115f57600080fd5b505050604051805190501015151561117357fe5b600160a060020a03339081166000908152600b602052604090819020600a8101805475ff000000000000000000000000000000000000000000191660a860020a179055600501547fcd6dca9e79b9cc7944fdcef11079425f4c73b31837073272dca8e33e188ee58c929187919051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a1600192505b5b5050919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff16151560011461124a57fe5b600160a060020a0383166000908152600b602052604090206003015491505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff1615156001146112a357fe5b600160a060020a0383166000908152600b602052604090206005015491505b5b50919050565b60085481565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff1615156001146113a057fe5b600160a060020a038084166000908152600b60205260409020600a01541691505b5b50919050565b600160a060020a0381166000908152600160205260409020545b919050565b60045433600160a060020a0390811691161461140257600080fd5b600454600354600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36004546003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b565b600354600160a060020a031681565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff16151560011461155657fe5b3391506000841161156357fe5b33600160a060020a03166000908152600b60205260409020600a015460a060020a900460ff16151560011461159457fe5b600160a060020a0333166000908152600b602052604090206008015443116115b857fe5b600160a060020a0333166000908152600b60205260409020600901544310806115fa5750600160a060020a0333166000908152600b6020526040902060090154155b151561160257fe5b600160a060020a0333166000908152600b602052604090206006015484101561162757fe5b600160a060020a0333166000908152600b602052604090206007015484111561164c57fe5b33600160a060020a03166000908152600b60205260409020600a015460a860020a900460ff161561167957fe5b600b600033600160a060020a0316600160a060020a03168152602001908152602001600020600201546117138584600160a060020a0316638616bc8b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156116ec57600080fd5b6102c65a03f115156116fd57600080fd5b505050604051805191905063ffffffff611dbb16565b1115610fef57fe5b600192505b5b5050919050565b60035433600160a060020a0390811691161461174357600080fd5b600160a060020a038a16158015906117635750600160a060020a03811615155b151561176b57fe5b60008611801561177d5750600a548611155b151561178557fe5b8385111561178f57fe5b6101c0604051908101604052808b600160a060020a031681526020018a6040518082805190602001908083835b602083106117dc57805182525b601f1990920191602091820191016117bc565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390206000191681526020018881526020018981526020018781526020016000815260200186815260200185815260200184815260200183815260200182600160a060020a0316815260200160001515815260200160001515815260200160011515815250600b60008c600160a060020a0316600160a060020a031681526020019081526020016000206000820151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600182015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e0820151816007015561010082015181600801556101208201518160090155610140820151600a8201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055610160820151600a8201805491151560a060020a0274ff000000000000000000000000000000000000000019909216919091179055610180820151600a8201805491151560a860020a0275ff000000000000000000000000000000000000000000199092169190911790556101a0820151600a909101805491151560b060020a0276ff000000000000000000000000000000000000000000001990921691909117905550600c805460018101611a038382611dec565b916000526020600020900160005b8154600160a060020a03808f166101009390930a92830292021916179055505b5b50505050505050505050565b600160a060020a033316600090815260016020526040812054829010801590611a675750600082115b15611ad957600160a060020a033381166000818152600160205260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610a3f565b506000610a3f565b5b92915050565b6000611b01600954600a54611dd590919063ffffffff16565b90505b90565b600a5481565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611b4057fe5b600160a060020a0383166000908152600b602052604090206006015491505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611b9957fe5b600160a060020a0383166000908152600b602052604090206002015491505b5b50919050565b600454600160a060020a031681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611c2e57fe5b600160a060020a0383166000908152600b60205260409020600a015460a060020a900460ff1691505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611c9157fe5b600160a060020a0383166000908152600b602052604090206009015491505b5b50919050565b60035433600160a060020a03908116911614611cd257600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611d3257fe5b600160a060020a0383166000908152600b60205260409020600a015460a860020a900460ff1691505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611d9557fe5b600160a060020a0383166000908152600b602052604090206004015491505b5b50919050565b600082820183811015611dca57fe5b8091505b5092915050565b600082821115611de157fe5b508082035b92915050565b815481835581811511611e1057600083815260209020611e10918101908301611e16565b5b505050565b611b0491905b80821115611e305760008155600101611e1c565b5090565b905600a165627a7a72305820c27f2eff3166c0e7e7150fcfc10febaf96de25145b881b1177a41b43435757050029
Swarm Source
bzzr://c27f2eff3166c0e7e7150fcfc10febaf96de25145b881b1177a41b4343575705
Loading...
Loading
Loading...
Loading
OVERVIEW
Token contract has migrated to 0xD33526068D116cE69F19A9ee46F0bd304F21A51fLoading...
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.