ETH Price: $1,583.83 (-0.91%)
 

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Approve222636152025-04-14 0:23:233 days ago1744590203IN
Rocket Pool: Old RPL Token
0 ETH0.000055951.21183468
Transfer222636072025-04-14 0:21:473 days ago1744590107IN
Rocket Pool: Old RPL Token
0 ETH0.0017661934
Approve222635932025-04-14 0:18:593 days ago1744589939IN
Rocket Pool: Old RPL Token
0 ETH0.000041070.88958778
Transfer222635842025-04-14 0:17:113 days ago1744589831IN
Rocket Pool: Old RPL Token
0 ETH0.0017661934
Approve222635242025-04-14 0:04:593 days ago1744589099IN
Rocket Pool: Old RPL Token
0 ETH0.000046211.00100521
Approve222437032025-04-11 5:47:595 days ago1744350479IN
Rocket Pool: Old RPL Token
0 ETH0.00002450.93617352
Approve222437032025-04-11 5:47:595 days ago1744350479IN
Rocket Pool: Old RPL Token
0 ETH0.000022630.93617352
Approve222369322025-04-10 7:08:116 days ago1744268891IN
Rocket Pool: Old RPL Token
0 ETH0.000051832.14422213
Transfer222355112025-04-10 2:23:476 days ago1744251827IN
Rocket Pool: Old RPL Token
0 ETH0.000017130.57039722
Transfer222351192025-04-10 1:05:237 days ago1744247123IN
Rocket Pool: Old RPL Token
0 ETH0.000021680.72184038
Transfer222351002025-04-10 1:01:357 days ago1744246895IN
Rocket Pool: Old RPL Token
0 ETH0.000032860.69714634
Approve222209842025-04-08 1:46:239 days ago1744076783IN
Rocket Pool: Old RPL Token
0 ETH0.000044591.84454141
Approve222209842025-04-08 1:46:239 days ago1744076783IN
Rocket Pool: Old RPL Token
0 ETH0.00003241.34039319
Approve222105602025-04-06 14:47:2310 days ago1743950843IN
Rocket Pool: Old RPL Token
0 ETH0.000023570.50741732
Approve221797672025-04-02 7:35:2314 days ago1743579323IN
Rocket Pool: Old RPL Token
0 ETH0.000124622.68590789
Approve221745722025-04-01 14:11:4715 days ago1743516707IN
Rocket Pool: Old RPL Token
0 ETH0.000103882.23602138
Approve221728712025-04-01 8:30:2315 days ago1743496223IN
Rocket Pool: Old RPL Token
0 ETH0.000336127.23466221
Transfer221718772025-04-01 5:10:3515 days ago1743484235IN
Rocket Pool: Old RPL Token
0 ETH0.000049871.65938971
Transfer221712902025-04-01 3:11:5915 days ago1743477119IN
Rocket Pool: Old RPL Token
0 ETH0.000049260.94844952
Approve221551582025-03-29 21:10:3518 days ago1743282635IN
Rocket Pool: Old RPL Token
0 ETH0.000024120.9980277
Approve221410892025-03-27 21:59:2320 days ago1743112763IN
Rocket Pool: Old RPL Token
0 ETH0.000012080.5
Approve221330312025-03-26 18:59:3521 days ago1743015575IN
Rocket Pool: Old RPL Token
0 ETH0.000031421.3
Approve221216182025-03-25 4:45:2322 days ago1742877923IN
Rocket Pool: Old RPL Token
0 ETH0.000032310.7
Approve221191892025-03-24 20:35:3523 days ago1742848535IN
Rocket Pool: Old RPL Token
0 ETH0.000089143.04236461
Approve221191882025-03-24 20:35:2323 days ago1742848523IN
Rocket Pool: Old RPL Token
0 ETH0.000074291.61076709
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
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

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

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 Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Token contract has migrated to 0xD33526068D116cE69F19A9ee46F0bd304F21A51f

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.