ETH Price: $1,948.59 (-0.73%)
 

More Info

Private Name Tags

TokenTracker

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Approve245659382026-03-01 23:38:591 hr ago1772408339IN
Rocket Pool: Old RPL Token
0 ETH0.000094522.04784736
Transfer245659342026-03-01 23:38:111 hr ago1772408291IN
Rocket Pool: Old RPL Token
0 ETH0.0017657934
Approve245633052026-03-01 14:51:359 hrs ago1772376695IN
Rocket Pool: Old RPL Token
0 ETH0.000003740.08062571
Transfer245632112026-03-01 14:32:3510 hrs ago1772375555IN
Rocket Pool: Old RPL Token
0 ETH0.000008020.17025382
Approve245453652026-02-27 2:45:472 days ago1772160347IN
Rocket Pool: Old RPL Token
0 ETH0.000094732.05169512
Approve245453232026-02-27 2:37:232 days ago1772159843IN
Rocket Pool: Old RPL Token
0 ETH0.000094732.05233183
Approve245414972026-02-26 13:49:353 days ago1772113775IN
Rocket Pool: Old RPL Token
0 ETH0.000007190.29749074
Approve245378102026-02-26 1:29:233 days ago1772069363IN
Rocket Pool: Old RPL Token
0 ETH0.000002180.04724692
Transfer245377992026-02-26 1:27:113 days ago1772069231IN
Rocket Pool: Old RPL Token
0 ETH0.000002490.05283471
Transfer245377862026-02-26 1:24:353 days ago1772069075IN
Rocket Pool: Old RPL Token
0 ETH0.000107552.07041453
Approve245376312026-02-26 0:53:353 days ago1772067215IN
Rocket Pool: Old RPL Token
0 ETH0.000003070.06671316
Transfer245376192026-02-26 0:51:113 days ago1772067071IN
Rocket Pool: Old RPL Token
0 ETH0.00000180.07301518
Transfer245376192026-02-26 0:51:113 days ago1772067071IN
Rocket Pool: Old RPL Token
0 ETH0.000003440.07306518
Transfer245373412026-02-25 23:55:114 days ago1772063711IN
Rocket Pool: Old RPL Token
0 ETH0.000107182.06390442
Transfer245373132026-02-25 23:49:354 days ago1772063375IN
Rocket Pool: Old RPL Token
0 ETH0.0017657934
Approve245340692026-02-25 12:56:114 days ago1772024171IN
Rocket Pool: Old RPL Token
0 ETH0.000103342.23819824
Approve245307652026-02-25 1:52:594 days ago1771984379IN
Rocket Pool: Old RPL Token
0 ETH0.000096582.09180535
Transfer245307582026-02-25 1:51:354 days ago1771984295IN
Rocket Pool: Old RPL Token
0 ETH0.0017661934
Approve245234702026-02-24 1:28:235 days ago1771896503IN
Rocket Pool: Old RPL Token
0 ETH0.000051751.12071025
Approve245168182026-02-23 3:12:476 days ago1771816367IN
Rocket Pool: Old RPL Token
0 ETH0.000001630.03523678
Approve245167702026-02-23 3:03:116 days ago1771815791IN
Rocket Pool: Old RPL Token
0 ETH0.000001430.03093904
Approve245166632026-02-23 2:41:476 days ago1771814507IN
Rocket Pool: Old RPL Token
0 ETH0.00000220.04757475
Approve245146042026-02-22 19:48:237 days ago1771789703IN
Rocket Pool: Old RPL Token
0 ETH0.000002030.044
Approve245145992026-02-22 19:47:237 days ago1771789643IN
Rocket Pool: Old RPL Token
0 ETH0.000002030.044
Approve245145872026-02-22 19:44:597 days ago1771789499IN
Rocket Pool: Old RPL Token
0 ETH0.000002030.044
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RocketPoolToken

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *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

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"}]

606060405260408051908101604052600b81527f526f636b657420506f6f6c000000000000000000000000000000000000000000602082015260059080516200004d92916020019062000133565b5060408051908101604052600381527f52504c0000000000000000000000000000000000000000000000000000000000602082015260069080516200009792916020019062000133565b5060408051908101604052600381527f312e30000000000000000000000000000000000000000000000000000000000060208201526007908051620000e192916020019062000133565b50670de0b6b3a764000060085560006009556a0ee3a5f48a68b552000000600a5534156200010e57600080fd5b5b5b60038054600160a060020a03191633600160a060020a03161790555b5b620001dd565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017657805160ff1916838001178555620001a6565b82800160010185558215620001a6579182015b82811115620001a657825182559160200191906001019062000189565b5b50620001b5929150620001b9565b5090565b620001da91905b80821115620001b55760008155600101620001c0565b5090565b90565b611e6380620001ed6000396000f300606060405236156101905763ffffffff60e060020a60003504166306fdde038114610195578063095ea7b314610220578063179c537e1461025657806317b83aa61461027757806318160ddd146102a857806323b872dd146102cd5780632511274314610309578063313ce5671461033a57806340c10f191461036357806345493057146103995780634aa83079146103cc5780634cc53838146103ff5780634db08e5b1461043057806352f6ee581461046157806354fd4d50146104865780636932c9c51461051157806370a082311461054c57806379ba50971461057d5780638da5cb5b1461059257806395d89b41146105c157806399f16c6e1461064c578063a7a8add214610676578063a9059cbb14610709578063af35ae271461073f578063bb102aea14610764578063bf7035c314610789578063c11301d4146107ba578063d4ee1d90146107eb578063dd62ed3e1461081a578063ef7c779714610851578063f2ccaed514610884578063f2fde38b146108b5578063f612a62d146108d6578063ff5bc8a714610909575b600080fd5b34156101a057600080fd5b6101a861093a565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022b57600080fd5b610242600160a060020a03600435166024356109d8565b604051901515815260200160405180910390f35b341561026157600080fd5b610275600160a060020a0360043516610a45565b005b341561028257600080fd5b610296600160a060020a0360043516610af9565b60405190815260200160405180910390f35b34156102b357600080fd5b610296610b52565b60405190815260200160405180910390f35b34156102d857600080fd5b610242600160a060020a0360043581169060243516604435610b58565b604051901515815260200160405180910390f35b341561031457600080fd5b610296600160a060020a0360043516610c51565b60405190815260200160405180910390f35b341561034557600080fd5b61034d610caa565b60405160ff909116815260200160405180910390f35b341561036e57600080fd5b610242600160a060020a0360043516602435610caf565b604051901515815260200160405180910390f35b34156103a457600080fd5b610242600160a060020a0360043516610f15565b604051901515815260200160405180910390f35b34156103d757600080fd5b610242600160a060020a0360043516610ffc565b604051901515815260200160405180910390f35b341561040a57600080fd5b610296600160a060020a0360043516611217565b60405190815260200160405180910390f35b341561043b57600080fd5b610296600160a060020a0360043516611270565b60405190815260200160405180910390f35b341561046c57600080fd5b6102966112c9565b60405190815260200160405180910390f35b341561049157600080fd5b6101a86112cf565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561051c57600080fd5b610530600160a060020a036004351661136d565b604051600160a060020a03909116815260200160405180910390f35b341561055757600080fd5b610296600160a060020a03600435166113c8565b60405190815260200160405180910390f35b341561058857600080fd5b6102756113e7565b005b341561059d57600080fd5b610530611473565b604051600160a060020a03909116815260200160405180910390f35b34156105cc57600080fd5b6101a8611482565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561065757600080fd5b610242600435611520565b604051901515815260200160405180910390f35b341561068157600080fd5b61027560048035600160a060020a03169060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650508435946020810135945060408101359350606081013592506080810135915060a08101359060c08101359060e00135600160a060020a0316611728565b005b341561071457600080fd5b610242600160a060020a0360043516602435611a3e565b604051901515815260200160405180910390f35b341561074a57600080fd5b610296611ae8565b60405190815260200160405180910390f35b341561076f57600080fd5b610296611b07565b60405190815260200160405180910390f35b341561079457600080fd5b610296600160a060020a0360043516611b0d565b60405190815260200160405180910390f35b34156107c557600080fd5b610296600160a060020a0360043516611b66565b60405190815260200160405180910390f35b34156107f657600080fd5b610530611bbf565b604051600160a060020a03909116815260200160405180910390f35b341561082557600080fd5b610296600160a060020a0360043581169060243516611bce565b60405190815260200160405180910390f35b341561085c57600080fd5b610242600160a060020a0360043516611bfb565b604051901515815260200160405180910390f35b341561088f57600080fd5b610296600160a060020a0360043516611c5e565b60405190815260200160405180910390f35b34156108c057600080fd5b610275600160a060020a0360043516611cb7565b005b34156108e157600080fd5b610242600160a060020a0360043516611cff565b604051901515815260200160405180910390f35b341561091457600080fd5b610296600160a060020a0360043516611d62565b60405190815260200160405180910390f35b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b33600160a060020a0381166000908152600b60205260409020600a015460b060020a900460ff161515600114610a7757fe5b600160a060020a033381166000908152600b60205260409020600a01548382169116148015610aae5750600160a060020a03821615155b1515610ab657fe5b600160a060020a0333166000908152600b60205260409020600a01805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b5050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114610b2c57fe5b600160a060020a0383166000908152600b602052604090206007015491505b5b50919050565b60095481565b600160a060020a038316600090815260016020526040812054829010801590610ba85750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b8015610bb45750600082115b15610c4557600160a060020a03808416600081815260016020908152604080832080548801905588851680845281842080548990039055600283528184203390961684529490915290819020805486900390559091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610c49565b5060005b5b9392505050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114610c8457fe5b600160a060020a0383166000908152600b602052604090206008015491505b5b50919050565b601281565b33600160a060020a0381166000908152600b60205260408120600a015490919060b060020a900460ff161515600114610ce457fe5b600160a060020a0333166000908152600b60205260409020600801544311610d0857fe5b33600160a060020a03166000908152600b60205260409020600a015460a060020a900460ff161515600114610d3957fe5b33600160a060020a03166000908152600b60205260409020600a015460a860020a900460ff1615610d6657fe5b600160a060020a0333166000908152600b6020526040902060050154610d92908463ffffffff611dbb16565b600160a060020a0333166000908152600b60205260409020600401541015610db657fe5b60008311610dc057fe5b600a54600954610dd6908563ffffffff611dbb16565b1115610dde57fe5b600160a060020a038416600090815260016020526040902054610e07908463ffffffff611dbb16565b600160a060020a03808616600090815260016020908152604080832094909455339092168152600b9091522060050154610e47908463ffffffff611dbb16565b600160a060020a0333166000908152600b6020526040902060050155600954610e76908463ffffffff611dbb16565b6009557fb2c0ac17769dc4009cb3bb7bc94bf96c53610105f662c66592910dd10319dcf8338585604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a183600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b5b5092915050565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff161515600114610f4b57fe5b339150600082600160a060020a031663e14ed0458660006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610fa757600080fd5b6102c65a03f11515610fb857600080fd5b50505060405180519050111515610fcb57fe5b600160a060020a0333166000908152600b60205260409020600901544311610fef57fe5b600192505b5b5050919050565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff16151560011461103257fe5b33600160a060020a0381166000908152600b60205260409020600a015490925060a860020a900460ff161561106357fe5b600160a060020a033381166000908152600b60205260409020600a015485821691161461108c57fe5b600160a060020a0333166000908152600b602052604090206009015415156110ce57600160a060020a0333166000908152600b60205260409020436009909101555b600160a060020a0333166000908152600b60205260409020600901544310156110f357fe5b600160a060020a033381166000908152600b60205260408082206003015492851691638616bc8b9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561114e57600080fd5b6102c65a03f1151561115f57600080fd5b505050604051805190501015151561117357fe5b600160a060020a03339081166000908152600b602052604090819020600a8101805475ff000000000000000000000000000000000000000000191660a860020a179055600501547fcd6dca9e79b9cc7944fdcef11079425f4c73b31837073272dca8e33e188ee58c929187919051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a1600192505b5b5050919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff16151560011461124a57fe5b600160a060020a0383166000908152600b602052604090206003015491505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff1615156001146112a357fe5b600160a060020a0383166000908152600b602052604090206005015491505b5b50919050565b60085481565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff1615156001146113a057fe5b600160a060020a038084166000908152600b60205260409020600a01541691505b5b50919050565b600160a060020a0381166000908152600160205260409020545b919050565b60045433600160a060020a0390811691161461140257600080fd5b600454600354600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36004546003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b565b600354600160a060020a031681565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff16151560011461155657fe5b3391506000841161156357fe5b33600160a060020a03166000908152600b60205260409020600a015460a060020a900460ff16151560011461159457fe5b600160a060020a0333166000908152600b602052604090206008015443116115b857fe5b600160a060020a0333166000908152600b60205260409020600901544310806115fa5750600160a060020a0333166000908152600b6020526040902060090154155b151561160257fe5b600160a060020a0333166000908152600b602052604090206006015484101561162757fe5b600160a060020a0333166000908152600b602052604090206007015484111561164c57fe5b33600160a060020a03166000908152600b60205260409020600a015460a860020a900460ff161561167957fe5b600b600033600160a060020a0316600160a060020a03168152602001908152602001600020600201546117138584600160a060020a0316638616bc8b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156116ec57600080fd5b6102c65a03f115156116fd57600080fd5b505050604051805191905063ffffffff611dbb16565b1115610fef57fe5b600192505b5b5050919050565b60035433600160a060020a0390811691161461174357600080fd5b600160a060020a038a16158015906117635750600160a060020a03811615155b151561176b57fe5b60008611801561177d5750600a548611155b151561178557fe5b8385111561178f57fe5b6101c0604051908101604052808b600160a060020a031681526020018a6040518082805190602001908083835b602083106117dc57805182525b601f1990920191602091820191016117bc565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390206000191681526020018881526020018981526020018781526020016000815260200186815260200185815260200184815260200183815260200182600160a060020a0316815260200160001515815260200160001515815260200160011515815250600b60008c600160a060020a0316600160a060020a031681526020019081526020016000206000820151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600182015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e0820151816007015561010082015181600801556101208201518160090155610140820151600a8201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055610160820151600a8201805491151560a060020a0274ff000000000000000000000000000000000000000019909216919091179055610180820151600a8201805491151560a860020a0275ff000000000000000000000000000000000000000000199092169190911790556101a0820151600a909101805491151560b060020a0276ff000000000000000000000000000000000000000000001990921691909117905550600c805460018101611a038382611dec565b916000526020600020900160005b8154600160a060020a03808f166101009390930a92830292021916179055505b5b50505050505050505050565b600160a060020a033316600090815260016020526040812054829010801590611a675750600082115b15611ad957600160a060020a033381166000818152600160205260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610a3f565b506000610a3f565b5b92915050565b6000611b01600954600a54611dd590919063ffffffff16565b90505b90565b600a5481565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611b4057fe5b600160a060020a0383166000908152600b602052604090206006015491505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611b9957fe5b600160a060020a0383166000908152600b602052604090206002015491505b5b50919050565b600454600160a060020a031681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611c2e57fe5b600160a060020a0383166000908152600b60205260409020600a015460a060020a900460ff1691505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611c9157fe5b600160a060020a0383166000908152600b602052604090206009015491505b5b50919050565b60035433600160a060020a03908116911614611cd257600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611d3257fe5b600160a060020a0383166000908152600b60205260409020600a015460a860020a900460ff1691505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611d9557fe5b600160a060020a0383166000908152600b602052604090206004015491505b5b50919050565b600082820183811015611dca57fe5b8091505b5092915050565b600082821115611de157fe5b508082035b92915050565b815481835581811511611e1057600083815260209020611e10918101908301611e16565b5b505050565b611b0491905b80821115611e305760008155600101611e1c565b5090565b905600a165627a7a72305820c27f2eff3166c0e7e7150fcfc10febaf96de25145b881b1177a41b43435757050029

Deployed Bytecode

0x606060405236156101905763ffffffff60e060020a60003504166306fdde038114610195578063095ea7b314610220578063179c537e1461025657806317b83aa61461027757806318160ddd146102a857806323b872dd146102cd5780632511274314610309578063313ce5671461033a57806340c10f191461036357806345493057146103995780634aa83079146103cc5780634cc53838146103ff5780634db08e5b1461043057806352f6ee581461046157806354fd4d50146104865780636932c9c51461051157806370a082311461054c57806379ba50971461057d5780638da5cb5b1461059257806395d89b41146105c157806399f16c6e1461064c578063a7a8add214610676578063a9059cbb14610709578063af35ae271461073f578063bb102aea14610764578063bf7035c314610789578063c11301d4146107ba578063d4ee1d90146107eb578063dd62ed3e1461081a578063ef7c779714610851578063f2ccaed514610884578063f2fde38b146108b5578063f612a62d146108d6578063ff5bc8a714610909575b600080fd5b34156101a057600080fd5b6101a861093a565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022b57600080fd5b610242600160a060020a03600435166024356109d8565b604051901515815260200160405180910390f35b341561026157600080fd5b610275600160a060020a0360043516610a45565b005b341561028257600080fd5b610296600160a060020a0360043516610af9565b60405190815260200160405180910390f35b34156102b357600080fd5b610296610b52565b60405190815260200160405180910390f35b34156102d857600080fd5b610242600160a060020a0360043581169060243516604435610b58565b604051901515815260200160405180910390f35b341561031457600080fd5b610296600160a060020a0360043516610c51565b60405190815260200160405180910390f35b341561034557600080fd5b61034d610caa565b60405160ff909116815260200160405180910390f35b341561036e57600080fd5b610242600160a060020a0360043516602435610caf565b604051901515815260200160405180910390f35b34156103a457600080fd5b610242600160a060020a0360043516610f15565b604051901515815260200160405180910390f35b34156103d757600080fd5b610242600160a060020a0360043516610ffc565b604051901515815260200160405180910390f35b341561040a57600080fd5b610296600160a060020a0360043516611217565b60405190815260200160405180910390f35b341561043b57600080fd5b610296600160a060020a0360043516611270565b60405190815260200160405180910390f35b341561046c57600080fd5b6102966112c9565b60405190815260200160405180910390f35b341561049157600080fd5b6101a86112cf565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561051c57600080fd5b610530600160a060020a036004351661136d565b604051600160a060020a03909116815260200160405180910390f35b341561055757600080fd5b610296600160a060020a03600435166113c8565b60405190815260200160405180910390f35b341561058857600080fd5b6102756113e7565b005b341561059d57600080fd5b610530611473565b604051600160a060020a03909116815260200160405180910390f35b34156105cc57600080fd5b6101a8611482565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e55780820151818401525b6020016101cc565b50505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561065757600080fd5b610242600435611520565b604051901515815260200160405180910390f35b341561068157600080fd5b61027560048035600160a060020a03169060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650508435946020810135945060408101359350606081013592506080810135915060a08101359060c08101359060e00135600160a060020a0316611728565b005b341561071457600080fd5b610242600160a060020a0360043516602435611a3e565b604051901515815260200160405180910390f35b341561074a57600080fd5b610296611ae8565b60405190815260200160405180910390f35b341561076f57600080fd5b610296611b07565b60405190815260200160405180910390f35b341561079457600080fd5b610296600160a060020a0360043516611b0d565b60405190815260200160405180910390f35b34156107c557600080fd5b610296600160a060020a0360043516611b66565b60405190815260200160405180910390f35b34156107f657600080fd5b610530611bbf565b604051600160a060020a03909116815260200160405180910390f35b341561082557600080fd5b610296600160a060020a0360043581169060243516611bce565b60405190815260200160405180910390f35b341561085c57600080fd5b610242600160a060020a0360043516611bfb565b604051901515815260200160405180910390f35b341561088f57600080fd5b610296600160a060020a0360043516611c5e565b60405190815260200160405180910390f35b34156108c057600080fd5b610275600160a060020a0360043516611cb7565b005b34156108e157600080fd5b610242600160a060020a0360043516611cff565b604051901515815260200160405180910390f35b341561091457600080fd5b610296600160a060020a0360043516611d62565b60405190815260200160405180910390f35b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b33600160a060020a0381166000908152600b60205260409020600a015460b060020a900460ff161515600114610a7757fe5b600160a060020a033381166000908152600b60205260409020600a01548382169116148015610aae5750600160a060020a03821615155b1515610ab657fe5b600160a060020a0333166000908152600b60205260409020600a01805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b5050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114610b2c57fe5b600160a060020a0383166000908152600b602052604090206007015491505b5b50919050565b60095481565b600160a060020a038316600090815260016020526040812054829010801590610ba85750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b8015610bb45750600082115b15610c4557600160a060020a03808416600081815260016020908152604080832080548801905588851680845281842080548990039055600283528184203390961684529490915290819020805486900390559091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610c49565b5060005b5b9392505050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114610c8457fe5b600160a060020a0383166000908152600b602052604090206008015491505b5b50919050565b601281565b33600160a060020a0381166000908152600b60205260408120600a015490919060b060020a900460ff161515600114610ce457fe5b600160a060020a0333166000908152600b60205260409020600801544311610d0857fe5b33600160a060020a03166000908152600b60205260409020600a015460a060020a900460ff161515600114610d3957fe5b33600160a060020a03166000908152600b60205260409020600a015460a860020a900460ff1615610d6657fe5b600160a060020a0333166000908152600b6020526040902060050154610d92908463ffffffff611dbb16565b600160a060020a0333166000908152600b60205260409020600401541015610db657fe5b60008311610dc057fe5b600a54600954610dd6908563ffffffff611dbb16565b1115610dde57fe5b600160a060020a038416600090815260016020526040902054610e07908463ffffffff611dbb16565b600160a060020a03808616600090815260016020908152604080832094909455339092168152600b9091522060050154610e47908463ffffffff611dbb16565b600160a060020a0333166000908152600b6020526040902060050155600954610e76908463ffffffff611dbb16565b6009557fb2c0ac17769dc4009cb3bb7bc94bf96c53610105f662c66592910dd10319dcf8338585604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a183600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600191505b5b5092915050565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff161515600114610f4b57fe5b339150600082600160a060020a031663e14ed0458660006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610fa757600080fd5b6102c65a03f11515610fb857600080fd5b50505060405180519050111515610fcb57fe5b600160a060020a0333166000908152600b60205260409020600901544311610fef57fe5b600192505b5b5050919050565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff16151560011461103257fe5b33600160a060020a0381166000908152600b60205260409020600a015490925060a860020a900460ff161561106357fe5b600160a060020a033381166000908152600b60205260409020600a015485821691161461108c57fe5b600160a060020a0333166000908152600b602052604090206009015415156110ce57600160a060020a0333166000908152600b60205260409020436009909101555b600160a060020a0333166000908152600b60205260409020600901544310156110f357fe5b600160a060020a033381166000908152600b60205260408082206003015492851691638616bc8b9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561114e57600080fd5b6102c65a03f1151561115f57600080fd5b505050604051805190501015151561117357fe5b600160a060020a03339081166000908152600b602052604090819020600a8101805475ff000000000000000000000000000000000000000000191660a860020a179055600501547fcd6dca9e79b9cc7944fdcef11079425f4c73b31837073272dca8e33e188ee58c929187919051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a1600192505b5b5050919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff16151560011461124a57fe5b600160a060020a0383166000908152600b602052604090206003015491505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff1615156001146112a357fe5b600160a060020a0383166000908152600b602052604090206005015491505b5b50919050565b60085481565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff1615156001146113a057fe5b600160a060020a038084166000908152600b60205260409020600a01541691505b5b50919050565b600160a060020a0381166000908152600160205260409020545b919050565b60045433600160a060020a0390811691161461140257600080fd5b600454600354600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36004546003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b565b600354600160a060020a031681565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b33600160a060020a0381166000908152600b60205260408120600a01549091829160b060020a900460ff16151560011461155657fe5b3391506000841161156357fe5b33600160a060020a03166000908152600b60205260409020600a015460a060020a900460ff16151560011461159457fe5b600160a060020a0333166000908152600b602052604090206008015443116115b857fe5b600160a060020a0333166000908152600b60205260409020600901544310806115fa5750600160a060020a0333166000908152600b6020526040902060090154155b151561160257fe5b600160a060020a0333166000908152600b602052604090206006015484101561162757fe5b600160a060020a0333166000908152600b602052604090206007015484111561164c57fe5b33600160a060020a03166000908152600b60205260409020600a015460a860020a900460ff161561167957fe5b600b600033600160a060020a0316600160a060020a03168152602001908152602001600020600201546117138584600160a060020a0316638616bc8b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156116ec57600080fd5b6102c65a03f115156116fd57600080fd5b505050604051805191905063ffffffff611dbb16565b1115610fef57fe5b600192505b5b5050919050565b60035433600160a060020a0390811691161461174357600080fd5b600160a060020a038a16158015906117635750600160a060020a03811615155b151561176b57fe5b60008611801561177d5750600a548611155b151561178557fe5b8385111561178f57fe5b6101c0604051908101604052808b600160a060020a031681526020018a6040518082805190602001908083835b602083106117dc57805182525b601f1990920191602091820191016117bc565b6001836020036101000a038019825116818451161790925250505091909101925060409150505180910390206000191681526020018881526020018981526020018781526020016000815260200186815260200185815260200184815260200183815260200182600160a060020a0316815260200160001515815260200160001515815260200160011515815250600b60008c600160a060020a0316600160a060020a031681526020019081526020016000206000820151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600182015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e0820151816007015561010082015181600801556101208201518160090155610140820151600a8201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055610160820151600a8201805491151560a060020a0274ff000000000000000000000000000000000000000019909216919091179055610180820151600a8201805491151560a860020a0275ff000000000000000000000000000000000000000000199092169190911790556101a0820151600a909101805491151560b060020a0276ff000000000000000000000000000000000000000000001990921691909117905550600c805460018101611a038382611dec565b916000526020600020900160005b8154600160a060020a03808f166101009390930a92830292021916179055505b5b50505050505050505050565b600160a060020a033316600090815260016020526040812054829010801590611a675750600082115b15611ad957600160a060020a033381166000818152600160205260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610a3f565b506000610a3f565b5b92915050565b6000611b01600954600a54611dd590919063ffffffff16565b90505b90565b600a5481565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611b4057fe5b600160a060020a0383166000908152600b602052604090206006015491505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611b9957fe5b600160a060020a0383166000908152600b602052604090206002015491505b5b50919050565b600454600160a060020a031681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611c2e57fe5b600160a060020a0383166000908152600b60205260409020600a015460a060020a900460ff1691505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611c9157fe5b600160a060020a0383166000908152600b602052604090206009015491505b5b50919050565b60035433600160a060020a03908116911614611cd257600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611d3257fe5b600160a060020a0383166000908152600b60205260409020600a015460a860020a900460ff1691505b5b50919050565b600160a060020a0381166000908152600b60205260408120600a0154829060b060020a900460ff161515600114611d9557fe5b600160a060020a0383166000908152600b602052604090206004015491505b5b50919050565b600082820183811015611dca57fe5b8091505b5092915050565b600082821115611de157fe5b508082035b92915050565b815481835581811511611e1057600083815260209020611e10918101908301611e16565b5b505050565b611b0491905b80821115611e305760008155600101611e1c565b5090565b905600a165627a7a72305820c27f2eff3166c0e7e7150fcfc10febaf96de25145b881b1177a41b43435757050029

Swarm Source

bzzr://c27f2eff3166c0e7e7150fcfc10febaf96de25145b881b1177a41b4343575705

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Token contract has migrated to 0xD33526068D116cE69F19A9ee46F0bd304F21A51f

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.