ETH Price: $3,568.84 (-0.45%)
Gas: 44 Gwei

Contract

0x18dfd8c468ed83397C0E1caDAe01E1e65E86d275
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Transfer85098912019-09-08 14:43:441662 days ago1567953824IN
0x18dfd8c4...65E86d275
0 ETH0.0002324310
Transfer84878382019-09-05 4:09:451666 days ago1567656585IN
0x18dfd8c4...65E86d275
0 ETH0.0005736415
Transfer84877772019-09-05 3:54:431666 days ago1567655683IN
0x18dfd8c4...65E86d275
0 ETH0.000799615
Transfer84877602019-09-05 3:51:141666 days ago1567655474IN
0x18dfd8c4...65E86d275
0 ETH0.0003246814
Transfer84822462019-09-04 7:19:311667 days ago1567581571IN
0x18dfd8c4...65E86d275
0 ETH0.0008529116
Transfer84821642019-09-04 7:01:491667 days ago1567580509IN
0x18dfd8c4...65E86d275
0 ETH0.0008529116
Transfer84741292019-09-03 1:01:261668 days ago1567472486IN
0x18dfd8c4...65E86d275
0 ETH0.0015992130
Transfer84738832019-09-03 0:00:421668 days ago1567468842IN
0x18dfd8c4...65E86d275
0 ETH0.0010674220
Transfer84433792019-08-29 6:11:541673 days ago1567059114IN
0x18dfd8c4...65E86d275
0 ETH0.0011713422
Transfer82922342019-08-05 18:22:151696 days ago1565029335IN
0x18dfd8c4...65E86d275
0 ETH0.000046872
Transfer82922172019-08-05 18:18:441696 days ago1565029124IN
0x18dfd8c4...65E86d275
0 ETH0.000076872
Transfer82922012019-08-05 18:13:251696 days ago1565028805IN
0x18dfd8c4...65E86d275
0 ETH0.000076872
Transfer82921872019-08-05 18:09:591696 days ago1565028599IN
0x18dfd8c4...65E86d275
0 ETH0.000076872
Transfer82921602019-08-05 18:04:021696 days ago1565028242IN
0x18dfd8c4...65E86d275
0 ETH0.000038371
Transfer82921222019-08-05 17:53:011696 days ago1565027581IN
0x18dfd8c4...65E86d275
0 ETH0.000038371
Transfer82914722019-08-05 15:37:051696 days ago1565019425IN
0x18dfd8c4...65E86d275
0 ETH0.000116215
Transfer82579992019-07-31 10:59:431702 days ago1564570783IN
0x18dfd8c4...65E86d275
0 ETH0.000153224
Transfer77538412019-05-13 19:22:331780 days ago1557775353IN
0x18dfd8c4...65E86d275
0 ETH0.000069923
Transfer74127162019-03-21 14:37:371833 days ago1553179057IN
0x18dfd8c4...65E86d275
0 ETH0.000266535
Transfer74126932019-03-21 14:32:321833 days ago1553178752IN
0x18dfd8c4...65E86d275
0 ETH0.000266215
Transfer74123712019-03-21 13:22:451833 days ago1553174565IN
0x18dfd8c4...65E86d275
0 ETH0.000192175
Transfer74123492019-03-21 13:14:511833 days ago1553174091IN
0x18dfd8c4...65E86d275
0 ETH0.000480919
Transfer74123062019-03-21 13:04:581833 days ago1553173498IN
0x18dfd8c4...65E86d275
0 ETH0.00048
Transfer74118952019-03-21 11:29:311834 days ago1553167771IN
0x18dfd8c4...65E86d275
0 ETH0.000192175
Transfer74118632019-03-21 11:23:571834 days ago1553167437IN
0x18dfd8c4...65E86d275
0 ETH0.000192175
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:
PacioToken

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-10-23
*/

/* Owned.sol

Pacio Core Ltd https://www.pacio.io

2017.03.04 djh Originally created
2017.08.16 Brought into use for Pacio token sale use
2017.08.22 Logging revised

Owned is a Base Contract for contracts that are:
• "owned"
• can have their owner changed by a call to ChangeOwner() by the owner
• can be paused  from an active state by a call to Pause() by the owner
• can be resumed from a paused state by a call to Resume() by the owner

Modifier functions available for use here and in child contracts are:
• IsOwner()  which throws if called by other than the current owner
• IsActive() which throws if called when the contract is paused

Changes of owner are logged via event LogOwnerChange(address indexed previousOwner, address newOwner)

*/

pragma solidity ^0.4.15;

contract Owned {
  address public ownerA; // Contract owner
  bool    public pausedB;

  // Constructor NOT payable
  // -----------
  function Owned() {
    ownerA = msg.sender;
  }

  // Modifier functions
  // ------------------
  modifier IsOwner {
    require(msg.sender == ownerA);
    _;
  }

  modifier IsActive {
    require(!pausedB);
    _;
  }

  // Events
  // ------
  event LogOwnerChange(address indexed PreviousOwner, address NewOwner);
  event LogPaused();
  event LogResumed();

  // State changing public methods
  // -----------------------------
  // Change owner
  function ChangeOwner(address vNewOwnerA) IsOwner {
    require(vNewOwnerA != address(0)
         && vNewOwnerA != ownerA);
    LogOwnerChange(ownerA, vNewOwnerA);
    ownerA = vNewOwnerA;
  }

  // Pause
  function Pause() IsOwner {
    pausedB = true; // contract has been paused
    LogPaused();
  }

  // Resume
  function Resume() IsOwner {
    pausedB = false; // contract has been resumed
    LogResumed();
  }
} // End Owned contract


// DSMath.sol
// From https://dappsys.readthedocs.io/en/latest/ds_math.html

// Reduced version - just the fns used by Pacio

// Copyright (C) 2015, 2016, 2017  DappHub, LLC

// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND (express or implied).

contract DSMath {
  /*
  standard uint256 functions
  */

  function add(uint256 x, uint256 y) constant internal returns (uint256 z) {
    assert((z = x + y) >= x);
  }

  function sub(uint256 x, uint256 y) constant internal returns (uint256 z) {
    assert((z = x - y) <= x);
  }

  function mul(uint256 x, uint256 y) constant internal returns (uint256 z) {
    z = x * y;
    assert(x == 0 || z / x == y);
  }

  // div isn't needed. Only error case is div by zero and Solidity throws on that
  // function div(uint256 x, uint256 y) constant internal returns (uint256 z) {
  //   z = x / y;
  // }

  // subMaxZero(x, y)
  // Pacio addition to avoid throwing if a subtraction goes below zero and return 0 in that case.
  function subMaxZero(uint256 x, uint256 y) constant internal returns (uint256 z) {
    if (y > x)
      z = 0;
    else
      z = x - y;
  }
}

// ERC20Token.sol 2017.08.16 started

// 2017.10.07 isERC20Token changed to isEIP20Token

/*
ERC Token Standard #20 Interface
https://github.com/ethereum/EIPs/issues/20
https://github.com/frozeman/EIPs/blob/94bc4311e889c2c58c561c074be1483f48ac9374/EIPS/eip-20-token-standard.md
Using Dappsys naming style of 3 letter names: src, dst, guy, wad
*/

contract ERC20Token is Owned, DSMath {
  // Data
  bool public constant isEIP20Token = true; // Interface declaration
  uint public totalSupply;     // Total tokens minted
  bool public saleInProgressB; // when true stops transfers

  mapping(address => uint) internal iTokensOwnedM;                 // Tokens owned by an account
  mapping(address => mapping (address => uint)) private pAllowedM; // Owner of account approves the transfer of an amount to another account

  // ERC20 Events
  // ============
  // Transfer
  // Triggered when tokens are transferred.
  event Transfer(address indexed src, address indexed dst, uint wad);

  // Approval
  // Triggered whenever approve(address spender, uint wad) is called.
  event Approval(address indexed Sender, address indexed Spender, uint Wad);

  // ERC20 Methods
  // =============
  // Public Constant Methods
  // -----------------------
  // balanceOf()
  // Returns the token balance of account with address guy
  function balanceOf(address guy) public constant returns (uint) {
    return iTokensOwnedM[guy];
  }

  // allowance()
  // Returns the number of tokens approved by guy that can be transferred ("spent") by spender
  function allowance(address guy, address spender) public constant returns (uint) {
    return pAllowedM[guy][spender];
  }

  // Modifier functions
  // ------------------
  modifier IsTransferOK(address src, address dst, uint wad) {
    require(!saleInProgressB          // Sale not in progress
         && !pausedB                  // IsActive
         && iTokensOwnedM[src] >= wad // Source has the tokens available
      // && wad > 0                   // Non-zero transfer No! The std says: Note Transfers of 0 values MUST be treated as normal transfers and fire the Transfer event
         && dst != src                // Destination is different from source
         && dst != address(this)      // Not transferring to this token contract
         && dst != ownerA);           // Not transferring to the owner of this contract - the token sale contract
    _;
  }

  // State changing public methods made pause-able and with call logging
  // -----------------------------
  // transfer()
  // Transfers wad of sender's tokens to another account, address dst
  // No need for overflow check given that totalSupply is always far smaller than max uint
  function transfer(address dst, uint wad) IsTransferOK(msg.sender, dst, wad) returns (bool) {
    iTokensOwnedM[msg.sender] -= wad; // There is no need to check this for underflow via a sub() call given the IsTransferOK iTokensOwnedM[src] >= wad check
    iTokensOwnedM[dst] = add(iTokensOwnedM[dst], wad);
    Transfer(msg.sender, dst, wad);
    return true;
  }

  // transferFrom()
  // Sender transfers wad tokens from src account src to dst account, if
  // sender had been approved by src for a transfer of >= wad tokens from src's account
  // by a prior call to approve() with that call's sender being this calls src,
  //  and its spender being this call's sender.
  function transferFrom(address src, address dst, uint wad) IsTransferOK(src, dst, wad) returns (bool) {
    require(pAllowedM[src][msg.sender] >= wad); // Transfer is approved
    iTokensOwnedM[src]         -= wad; // There is no need to check this for underflow given the require above
    pAllowedM[src][msg.sender] -= wad; // There is no need to check this for underflow given the require above
    iTokensOwnedM[dst] = add(iTokensOwnedM[dst], wad);
    Transfer(src, dst, wad);
    return true;
  }

  // approve()
  // Approves the passed address (of spender) to spend up to wad tokens on behalf of msg.sender,
  //  in one or more transferFrom() calls
  // If this function is called again it overwrites the current allowance with wad.
  function approve(address spender, uint wad) IsActive returns (bool) {
    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    // djh: This appears to be of doubtful value, and is not used in the Dappsys library though it is in the Zeppelin one. Removed.
    // require((wad == 0) || (pAllowedM[msg.sender][spender] == 0));
    pAllowedM[msg.sender][spender] = wad;
    Approval(msg.sender, spender, wad);
    return true;
  }
} // End ERC20Token contracts

// PacioToken.sol 2017.08.22 started

/* The Pacio Token named PIOE for the Ethereum version

Follows the EIP20 standard: https://github.com/frozeman/EIPs/blob/94bc4311e889c2c58c561c074be1483f48ac9374/EIPS/eip-20-token-standard.md

2017.10.08 Changed to suit direct deployment rather than being created via the PacioICO constructor, so that Etherscan can recognise it.

*/

contract PacioToken is ERC20Token {
  // enum NFF {  // Founders/Foundation enum
  //   Founders, // 0 Pacio Founders
  //   Foundatn} // 1 Pacio Foundation
  string public constant name   = "Pacio Token";
  string public constant symbol = "PIOE";
  uint8  public constant decimals = 12;
  uint   public tokensIssued;           // Tokens issued - tokens in circulation
  uint   public tokensAvailable;        // Tokens available = total supply less allocated and issued tokens
  uint   public contributors;           // Number of contributors
  uint   public founderTokensAllocated; // Founder tokens allocated
  uint   public founderTokensVested;    // Founder tokens vested. Same as iTokensOwnedM[pFounderToksA] until tokens transferred. Unvested tokens = founderTokensAllocated - founderTokensVested
  uint   public foundationTokensAllocated; // Foundation tokens allocated
  uint   public foundationTokensVested;    // Foundation tokens vested. Same as iTokensOwnedM[pFoundationToksA] until tokens transferred. Unvested tokens = foundationTokensAllocated - foundationTokensVested
  bool   public icoCompleteB;           // Is set to true when both presale and full ICO are complete. Required for vesting of founder and foundation tokens and transfers of PIOEs to PIOs
  address private pFounderToksA;        // Address for Founder tokens issued
  address private pFoundationToksA;     // Address for Foundation tokens issued

  // Events
  // ------
  event LogIssue(address indexed Dst, uint Picos);
  event LogSaleCapReached(uint TokensIssued); // not tokensIssued just to avoid compiler Warning: This declaration shadows an existing declaration
  event LogIcoCompleted();
  event LogBurn(address Src, uint Picos);
  event LogDestroy(uint Picos);

  // No Constructor
  // --------------

  // Initialisation/Settings Methods IsOwner but not IsActive
  // -------------------------------

  // Initialise()
  // To be called by deployment owner to change ownership to the sale contract, and do the initial allocations and minting.
  // Can only be called once. If the sale contract changes but the token contract stays the same then ChangeOwner() can be called via PacioICO.ChangeTokenContractOwner() to change the owner to the new contract
  function Initialise(address vNewOwnerA) { // IsOwner c/o the super.ChangeOwner() call
    require(totalSupply == 0);          // can only be called once
    super.ChangeOwner(vNewOwnerA);      // includes an IsOwner check so don't need to repeat it here
    founderTokensAllocated    = 10**20; // 10% or 100 million = 1e20 Picos
    foundationTokensAllocated = 10**20; // 10% or 100 million = 1e20 Picos This call sets tokensAvailable
    // Equivalent of Mint(10**21) which can't be used here as msg.sender is the old (deployment) owner // 1 Billion PIOEs    = 1e21 Picos, all minted)
    totalSupply           = 10**21; // 1 Billion PIOEs    = 1e21 Picos, all minted)
    iTokensOwnedM[ownerA] = 10**21;
    tokensAvailable       = 8*(10**20); // 800 million [String: '800000000000000000000'] s: 1, e: 20, c: [ 8000000 ] }
    // From the EIP20 Standard: A token contract which creates new tokens SHOULD trigger a Transfer event with the _from address set to 0x0 when tokens are created.
    Transfer(0x0, ownerA, 10**21); // log event 0x0 from == minting
  }

  // Mint()
  // PacioICO() includes a Mint() fn to allow manual calling of this if necessary e.g. re full ICO going over the cap
  function Mint(uint picos) IsOwner {
    totalSupply           = add(totalSupply,           picos);
    iTokensOwnedM[ownerA] = add(iTokensOwnedM[ownerA], picos);
    tokensAvailable = subMaxZero(totalSupply, tokensIssued + founderTokensAllocated + foundationTokensAllocated);
    // From the EIP20 Standard: A token contract which creates new tokens SHOULD trigger a Transfer event with the _from address set to 0x0 when tokens are created.
    Transfer(0x0, ownerA, picos); // log event 0x0 from == minting
  }

  // PrepareForSale()
  // stops transfers and allows purchases
  function PrepareForSale() IsOwner {
    require(!icoCompleteB); // Cannot start selling again once ICO has been set to completed
    saleInProgressB = true; // stops transfers
  }

  // ChangeOwner()
  // To be called by owner to change the token contract owner, expected to be to a sale contract
  // Transfers any minted tokens from old to new sale contract
  function ChangeOwner(address vNewOwnerA) { // IsOwner c/o the super.ChangeOwner() call
    transfer(vNewOwnerA, iTokensOwnedM[ownerA]); // includes checks
    super.ChangeOwner(vNewOwnerA); // includes an IsOwner check so don't need to repeat it here
  }

  // Public Constant Methods
  // -----------------------
  // None. Used public variables instead which result in getter functions

  // State changing public methods made pause-able and with call logging
  // -----------------------------
  // Issue()
  // Transfers picos tokens to dst to issue them. IsOwner because this is expected to be called from the token sale contract
  function Issue(address dst, uint picos) IsOwner IsActive returns (bool) {
    require(saleInProgressB      // Sale is in progress
         && iTokensOwnedM[ownerA] >= picos // Owner has the tokens available
      // && picos > 0            // Non-zero issue No need to check for this
         && dst != address(this) // Not issuing to this token contract
         && dst != ownerA);      // Not issuing to the owner of this contract - the token sale contract
    if (iTokensOwnedM[dst] == 0)
      contributors++;
    iTokensOwnedM[ownerA] -= picos; // There is no need to check this for underflow via a sub() call given the iTokensOwnedM[ownerA] >= picos check
    iTokensOwnedM[dst]     = add(iTokensOwnedM[dst], picos);
    tokensIssued           = add(tokensIssued,       picos);
    tokensAvailable    = subMaxZero(tokensAvailable, picos); // subMaxZero() in case a sale goes over, only possible for full ICO, when cap is for all available tokens.
    LogIssue(dst, picos);                                    // If that should happen,may need to mint some more PIOEs to allow founder and foundation vesting to complete.
    return true;
  }

  // SaleCapReached()
  // To be be called from the token sale contract when a cap (pre or full) is reached
  // Allows transfers
  function SaleCapReached() IsOwner IsActive {
    saleInProgressB = false; // allows transfers
    LogSaleCapReached(tokensIssued);
  }

  // Functions for manual calling via same name function in PacioICO()
  // =================================================================
  // IcoCompleted()
  // To be be called manually via PacioICO after full ICO ends. Could be called before cap is reached if ....
  function IcoCompleted() IsOwner IsActive {
    require(!icoCompleteB);
    saleInProgressB = false; // allows transfers
    icoCompleteB    = true;
    LogIcoCompleted();
  }

  // SetFFSettings(address vFounderTokensA, address vFoundationTokensA, uint vFounderTokensAllocation, uint vFoundationTokensAllocation)
  // Allows setting Founder and Foundation addresses (or changing them if an appropriate transfer has been done)
  //  plus optionally changing the allocations which are set by the constructor, so that they can be varied post deployment if required re a change of plan
  // All values are optional - zeros can be passed
  // Must have been called with non-zero Founder and Foundation addresses before Founder and Foundation vesting can be done
  function SetFFSettings(address vFounderTokensA, address vFoundationTokensA, uint vFounderTokensAllocation, uint vFoundationTokensAllocation) IsOwner {
    if (vFounderTokensA    != address(0)) pFounderToksA    = vFounderTokensA;
    if (vFoundationTokensA != address(0)) pFoundationToksA = vFoundationTokensA;
    if (vFounderTokensAllocation > 0)    assert((founderTokensAllocated    = vFounderTokensAllocation)    >= founderTokensVested);
    if (vFoundationTokensAllocation > 0) assert((foundationTokensAllocated = vFoundationTokensAllocation) >= foundationTokensVested);
    tokensAvailable = totalSupply - founderTokensAllocated - foundationTokensAllocated - tokensIssued;
  }

  // VestFFTokens()
  // To vest Founder and/or Foundation tokens
  // 0 can be passed meaning skip that one
  // No separate event as the LogIssue event can be used to trace vesting transfers
  // To be be called manually via PacioICO
  function VestFFTokens(uint vFounderTokensVesting, uint vFoundationTokensVesting) IsOwner IsActive {
    require(icoCompleteB); // ICO must be completed before vesting can occur. djh?? Add other time restriction?
    if (vFounderTokensVesting > 0) {
      assert(pFounderToksA != address(0)); // Founders token address must have been set
      assert((founderTokensVested  = add(founderTokensVested,          vFounderTokensVesting)) <= founderTokensAllocated);
      iTokensOwnedM[ownerA]        = sub(iTokensOwnedM[ownerA],        vFounderTokensVesting);
      iTokensOwnedM[pFounderToksA] = add(iTokensOwnedM[pFounderToksA], vFounderTokensVesting);
      LogIssue(pFounderToksA,          vFounderTokensVesting);
      tokensIssued = add(tokensIssued, vFounderTokensVesting);
    }
    if (vFoundationTokensVesting > 0) {
      assert(pFoundationToksA != address(0)); // Foundation token address must have been set
      assert((foundationTokensVested  = add(foundationTokensVested,          vFoundationTokensVesting)) <= foundationTokensAllocated);
      iTokensOwnedM[ownerA]           = sub(iTokensOwnedM[ownerA],           vFoundationTokensVesting);
      iTokensOwnedM[pFoundationToksA] = add(iTokensOwnedM[pFoundationToksA], vFoundationTokensVesting);
      LogIssue(pFoundationToksA,       vFoundationTokensVesting);
      tokensIssued = add(tokensIssued, vFoundationTokensVesting);
    }
    // Does not affect tokensAvailable as these tokens had already been allowed for in tokensAvailable when allocated
  }

  // Burn()
  // For use when transferring issued PIOEs to PIOs
  // To be be called manually via PacioICO or from a new transfer contract to be written which is set to own this one
  function Burn(address src, uint picos) IsOwner IsActive {
    require(icoCompleteB);
    iTokensOwnedM[src] = subMaxZero(iTokensOwnedM[src], picos);
    tokensIssued       = subMaxZero(tokensIssued, picos);
    totalSupply        = subMaxZero(totalSupply,  picos);
    LogBurn(src, picos);
    // Does not affect tokensAvailable as these are issued tokens that are being burnt
  }

  // Destroy()
  // For use when transferring unissued PIOEs to PIOs
  // To be be called manually via PacioICO or from a new transfer contract to be written which is set to own this one
  function Destroy(uint picos) IsOwner IsActive {
    require(icoCompleteB);
    totalSupply     = subMaxZero(totalSupply,     picos);
    tokensAvailable = subMaxZero(tokensAvailable, picos);
    LogDestroy(picos);
  }

  // Fallback function
  // =================
  // No sending ether to this contract!
  // Not payable so trying to send ether will throw
  function() {
    revert(); // reject any attempt to access the token contract other than via the defined methods with their testing for valid access
  }
} // End PacioToken contract

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"saleInProgressB","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"PrepareForSale","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"picos","type":"uint256"}],"name":"Mint","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"wad","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"SaleCapReached","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"icoCompleteB","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"Resume","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokensAvailable","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isEIP20Token","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"Pause","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"contributors","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"guy","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"vFounderTokensA","type":"address"},{"name":"vFoundationTokensA","type":"address"},{"name":"vFounderTokensAllocation","type":"uint256"},{"name":"vFoundationTokensAllocation","type":"uint256"}],"name":"SetFFSettings","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokensIssued","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"founderTokensVested","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"vNewOwnerA","type":"address"}],"name":"Initialise","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"foundationTokensVested","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"picos","type":"uint256"}],"name":"Issue","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"picos","type":"uint256"}],"name":"Burn","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"IcoCompleted","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"picos","type":"uint256"}],"name":"Destroy","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"foundationTokensAllocated","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"guy","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ownerA","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"vFounderTokensVesting","type":"uint256"},{"name":"vFoundationTokensVesting","type":"uint256"}],"name":"VestFFTokens","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"vNewOwnerA","type":"address"}],"name":"ChangeOwner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"founderTokensAllocated","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"pausedB","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"payable":false,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"Dst","type":"address"},{"indexed":false,"name":"Picos","type":"uint256"}],"name":"LogIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"TokensIssued","type":"uint256"}],"name":"LogSaleCapReached","type":"event"},{"anonymous":false,"inputs":[],"name":"LogIcoCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"Src","type":"address"},{"indexed":false,"name":"Picos","type":"uint256"}],"name":"LogBurn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"Picos","type":"uint256"}],"name":"LogDestroy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"Sender","type":"address"},{"indexed":true,"name":"Spender","type":"address"},{"indexed":false,"name":"Wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"PreviousOwner","type":"address"},{"indexed":false,"name":"NewOwner","type":"address"}],"name":"LogOwnerChange","type":"event"},{"anonymous":false,"inputs":[],"name":"LogPaused","type":"event"},{"anonymous":false,"inputs":[],"name":"LogResumed","type":"event"}]

60606040525b60008054600160a060020a03191633600160a060020a03161790555b5b6116e4806100316000396000f300606060405236156101a95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630123347481146101bc57806306fdde03146101e3578063076609781461026e5780630788370314610283578063095ea7b31461029b57806318160ddd146102d157806323b872dd146102f657806326e56c0514610332578063313ce567146103475780633455603514610370578063490d6d111461039757806360659a92146103ac57806367043001146103d15780636985a022146103f85780636e7e3b2b1461040d57806370a082311461043257806377725b88146104635780637c48bbda146104905780637c99922d146104b5578063867022d1146104da57806395d89b41146104fb578063a05d068d14610586578063a9059cbb146105ab578063c65a3f76146105e1578063cc16f5db14610617578063cf15b87d1461063b578063d3f5559c14610650578063d7b1b9c414610668578063dd62ed3e1461068d578063e06f3d38146106c4578063e6e2e1cd146106f3578063f28532921461070e578063f33dc1fa1461072f578063f371ec4914610754575b34156101b457600080fd5b5b600080fd5b005b34156101c757600080fd5b6101cf61077b565b604051901515815260200160405180910390f35b34156101ee57600080fd5b6101f6610784565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102335780820151818401525b60200161021a565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027957600080fd5b6101ba6107bb565b005b341561028e57600080fd5b6101ba6004356107f7565b005b34156102a657600080fd5b6101cf600160a060020a03600435166024356108ad565b604051901515815260200160405180910390f35b34156102dc57600080fd5b6102e4610930565b60405190815260200160405180910390f35b341561030157600080fd5b6101cf600160a060020a0360043581169060243516604435610936565b604051901515815260200160405180910390f35b341561033d57600080fd5b6101ba610ab8565b005b341561035257600080fd5b61035a610b2f565b60405160ff909116815260200160405180910390f35b341561037b57600080fd5b6101cf610b34565b604051901515815260200160405180910390f35b34156103a257600080fd5b6101ba610b3d565b005b34156103b757600080fd5b6102e4610ba6565b60405190815260200160405180910390f35b34156103dc57600080fd5b6101cf610bac565b604051901515815260200160405180910390f35b341561040357600080fd5b6101ba610bb1565b005b341561041857600080fd5b6102e4610c20565b60405190815260200160405180910390f35b341561043d57600080fd5b6102e4600160a060020a0360043516610c26565b60405190815260200160405180910390f35b341561046e57600080fd5b6101ba600160a060020a0360043581169060243516604435606435610c45565b005b341561049b57600080fd5b6102e4610d25565b60405190815260200160405180910390f35b34156104c057600080fd5b6102e4610d2b565b60405190815260200160405180910390f35b34156104e557600080fd5b6101ba600160a060020a0360043516610d31565b005b341561050657600080fd5b6101f6610dbc565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102335780820151818401525b60200161021a565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561059157600080fd5b6102e4610df3565b60405190815260200160405180910390f35b34156105b657600080fd5b6101cf600160a060020a0360043516602435610df9565b604051901515815260200160405180910390f35b34156105ec57600080fd5b6101cf600160a060020a0360043516602435610f2c565b604051901515815260200160405180910390f35b341561062257600080fd5b6101ba600160a060020a03600435166024356110ac565b005b341561064657600080fd5b6101ba611196565b005b341561065b57600080fd5b6101ba600435611222565b005b341561067357600080fd5b6102e46112bd565b60405190815260200160405180910390f35b341561069857600080fd5b6102e4600160a060020a03600435811690602435166112c3565b60405190815260200160405180910390f35b34156106cf57600080fd5b6106d76112f0565b604051600160a060020a03909116815260200160405180910390f35b34156106fe57600080fd5b6101ba6004356024356112ff565b005b341561071957600080fd5b6101ba600160a060020a0360043516611548565b005b341561073a57600080fd5b6102e461157a565b60405190815260200160405180910390f35b341561075f57600080fd5b6101cf611580565b604051901515815260200160405180910390f35b60025460ff1681565b60408051908101604052600b81527f506163696f20546f6b656e000000000000000000000000000000000000000000602082015281565b60005433600160a060020a039081169116146107d657600080fd5b600c5460ff16156107e657600080fd5b6002805460ff191660011790555b5b565b60005433600160a060020a0390811691161461081257600080fd5b61081e60015482611590565b60015560008054600160a060020a03168152600360205260409020546108449082611590565b60008054600160a060020a0316815260036020526040902055600154600a5460085460055461087693929101016115a4565b60065560008054600160a060020a0316906000805160206116998339815191528360405190815260200160405180910390a35b5b50565b6000805460a060020a900460ff16156108c557600080fd5b600160a060020a03338116600081815260046020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b5b92915050565b60015481565b60025460009084908490849060ff1615801561095c575060005460a060020a900460ff16155b80156109815750600160a060020a038316600090815260036020526040902054819010155b801561099f575082600160a060020a031682600160a060020a031614155b80156109bd575030600160a060020a031682600160a060020a031614155b80156109d75750600054600160a060020a03838116911614155b15156109e257600080fd5b600160a060020a038088166000908152600460209081526040808320339094168352929052205485901015610a1657600080fd5b600160a060020a03808816600090815260036020818152604080842080548b90039055600482528084203386168552825280842080548b90039055938a168352522054610a639086611590565b600160a060020a03808816600081815260036020526040908190209390935591908916906000805160206116998339815191529088905190815260200160405180910390a3600193505b5b5050509392505050565b60005433600160a060020a03908116911614610ad357600080fd5b60005460a060020a900460ff1615610aea57600080fd5b6002805460ff191690556005547fea9053089eb0a566d14b6fa613f9cd756308616ec1220fcaa2811c4753bd26a39060405190815260200160405180910390a15b5b5b565b600c81565b600c5460ff1681565b60005433600160a060020a03908116911614610b5857600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7f4d6aa4949e2b9a4b6f2e8d032e8e289b4ce5fe924db2d9e18e92d2edb955c560405160405180910390a15b5b565b60065481565b600181565b60005433600160a060020a03908116911614610bcc57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f777ecb744cfc69794c3985ebff0496449aafc907c556f1d4003201beb364e80f60405160405180910390a15b5b565b60075481565b600160a060020a0381166000908152600360205260409020545b919050565b60005433600160a060020a03908116911614610c6057600080fd5b600160a060020a03841615610c9d57600c805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a038716021790555b600160a060020a03831615610cd557600d805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385161790555b6000821115610cef576009546008839055821015610cef57fe5b5b6000811115610d0a57600b54600a829055811015610d0a57fe5b5b600554600a546008546001540303036006555b5b50505050565b60055481565b60095481565b60015415610d3e57600080fd5b610d47816115c2565b68056bc75e2d631000006008819055600a55683635c9adc5dea00000600181905560008054600160a060020a03908116825260036020526040808320849055682b5e3af16b18800000600655825490911692600080516020611699833981519152915190815260200160405180910390a35b50565b60408051908101604052600481527f50494f4500000000000000000000000000000000000000000000000000000000602082015281565b600b5481565b60025460009033908490849060ff16158015610e1f575060005460a060020a900460ff16155b8015610e445750600160a060020a038316600090815260036020526040902054819010155b8015610e62575082600160a060020a031682600160a060020a031614155b8015610e80575030600160a060020a031682600160a060020a031614155b8015610e9a5750600054600160a060020a03838116911614155b1515610ea557600080fd5b600160a060020a033381166000908152600360205260408082208054899003905591881681522054610ed79086611590565b600160a060020a0380881660008181526003602052604090819020939093559133909116906000805160206116998339815191529088905190815260200160405180910390a3600193505b5b50505092915050565b6000805433600160a060020a03908116911614610f4857600080fd5b60005460a060020a900460ff1615610f5f57600080fd5b60025460ff168015610f8a575060008054600160a060020a0316815260036020526040902054829010155b8015610fa8575030600160a060020a031683600160a060020a031614155b8015610fc25750600054600160a060020a03848116911614155b1515610fcd57600080fd5b600160a060020a0383166000908152600360205260409020541515610ff6576007805460010190555b60008054600160a060020a0390811682526003602052604080832080548690039055908516825290205461102a9083611590565b600160a060020a0384166000908152600360205260409020556005546110509083611590565b60055560065461106090836115a4565b600655600160a060020a0383167f600c523bbab56f21f37d382a0935adbae55e98c4bda5c1f3f11d60d60ddf36338360405190815260200160405180910390a25060015b5b5b92915050565b60005433600160a060020a039081169116146110c757600080fd5b60005460a060020a900460ff16156110de57600080fd5b600c5460ff1615156110ef57600080fd5b600160a060020a03821660009081526003602052604090205461111290826115a4565b600160a060020a03831660009081526003602052604090205560055461113890826115a4565b60055560015461114890826115a4565b6001557f38d762ef507761291a578e921acfe29c1af31a7331ea03e391cf16cfc4d4f5818282604051600160a060020a03909216825260208201526040908101905180910390a15b5b5b5050565b60005433600160a060020a039081169116146111b157600080fd5b60005460a060020a900460ff16156111c857600080fd5b600c5460ff16156111d857600080fd5b6002805460ff19908116909155600c805490911660011790557fd39e4607bf77a7536c03b411bcdfc5291d87772400a12cb753a2c286b3ec937b60405160405180910390a15b5b5b565b60005433600160a060020a0390811691161461123d57600080fd5b60005460a060020a900460ff161561125457600080fd5b600c5460ff16151561126557600080fd5b611271600154826115a4565b60015560065461128190826115a4565b6006557f386161059715b23c3cb4306eb909f39cab2dbf8ddc1a65a88cb2b119fc065fb28160405190815260200160405180910390a15b5b5b50565b600a5481565b600160a060020a038083166000908152600460209081526040808320938516835292905220545b92915050565b600054600160a060020a031681565b60005433600160a060020a0390811691161461131a57600080fd5b60005460a060020a900460ff161561133157600080fd5b600c5460ff16151561134257600080fd5b600082111561144a57600c546101009004600160a060020a0316151561136457fe5b60085461137360095484611590565b6009819055111561138057fe5b60008054600160a060020a03168152600360205260409020546113a39083611684565b60008054600160a060020a0390811682526003602052604080832093909355600c54610100900416815220546113d99083611590565b600c8054600160a060020a03610100918290048116600090815260036020526040908190209490945591540416907f600c523bbab56f21f37d382a0935adbae55e98c4bda5c1f3f11d60d60ddf36339084905190815260200160405180910390a261144660055483611590565b6005555b600081111561119057600d54600160a060020a0316151561146757fe5b600a54611476600b5483611590565b600b819055111561148357fe5b60008054600160a060020a03168152600360205260409020546114a69082611684565b60008054600160a060020a0390811682526003602052604080832093909355600d5416815220546114d79082611590565b600d8054600160a060020a039081166000908152600360205260409081902093909355905416907f600c523bbab56f21f37d382a0935adbae55e98c4bda5c1f3f11d60d60ddf36339083905190815260200160405180910390a261153d60055482611590565b6005555b5b5b5b5050565b60008054600160a060020a031681526003602052604090205461156c908290610df9565b506108a9816115c2565b5b50565b60085481565b60005460a060020a900460ff1681565b8082018281101561092957fe5b5b92915050565b6000828211156115b657506000610929565b508082035b5b92915050565b60005433600160a060020a039081169116146115dd57600080fd5b600160a060020a038116158015906116035750600054600160a060020a03828116911614155b151561160e57600080fd5b600054600160a060020a03167fe516f4dd5cedc9fa569ffc0fe731ed5801fb5ff4a1860847fe1c7db3c590c55182604051600160a060020a03909116815260200160405180910390a26000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b8082038281111561092957fe5b5b929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820366e6a424e6e3a1835d343f3bda9b5102505dbdf85609c62bd93bc1fa63811640029

Deployed Bytecode

0x606060405236156101a95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630123347481146101bc57806306fdde03146101e3578063076609781461026e5780630788370314610283578063095ea7b31461029b57806318160ddd146102d157806323b872dd146102f657806326e56c0514610332578063313ce567146103475780633455603514610370578063490d6d111461039757806360659a92146103ac57806367043001146103d15780636985a022146103f85780636e7e3b2b1461040d57806370a082311461043257806377725b88146104635780637c48bbda146104905780637c99922d146104b5578063867022d1146104da57806395d89b41146104fb578063a05d068d14610586578063a9059cbb146105ab578063c65a3f76146105e1578063cc16f5db14610617578063cf15b87d1461063b578063d3f5559c14610650578063d7b1b9c414610668578063dd62ed3e1461068d578063e06f3d38146106c4578063e6e2e1cd146106f3578063f28532921461070e578063f33dc1fa1461072f578063f371ec4914610754575b34156101b457600080fd5b5b600080fd5b005b34156101c757600080fd5b6101cf61077b565b604051901515815260200160405180910390f35b34156101ee57600080fd5b6101f6610784565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102335780820151818401525b60200161021a565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027957600080fd5b6101ba6107bb565b005b341561028e57600080fd5b6101ba6004356107f7565b005b34156102a657600080fd5b6101cf600160a060020a03600435166024356108ad565b604051901515815260200160405180910390f35b34156102dc57600080fd5b6102e4610930565b60405190815260200160405180910390f35b341561030157600080fd5b6101cf600160a060020a0360043581169060243516604435610936565b604051901515815260200160405180910390f35b341561033d57600080fd5b6101ba610ab8565b005b341561035257600080fd5b61035a610b2f565b60405160ff909116815260200160405180910390f35b341561037b57600080fd5b6101cf610b34565b604051901515815260200160405180910390f35b34156103a257600080fd5b6101ba610b3d565b005b34156103b757600080fd5b6102e4610ba6565b60405190815260200160405180910390f35b34156103dc57600080fd5b6101cf610bac565b604051901515815260200160405180910390f35b341561040357600080fd5b6101ba610bb1565b005b341561041857600080fd5b6102e4610c20565b60405190815260200160405180910390f35b341561043d57600080fd5b6102e4600160a060020a0360043516610c26565b60405190815260200160405180910390f35b341561046e57600080fd5b6101ba600160a060020a0360043581169060243516604435606435610c45565b005b341561049b57600080fd5b6102e4610d25565b60405190815260200160405180910390f35b34156104c057600080fd5b6102e4610d2b565b60405190815260200160405180910390f35b34156104e557600080fd5b6101ba600160a060020a0360043516610d31565b005b341561050657600080fd5b6101f6610dbc565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102335780820151818401525b60200161021a565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561059157600080fd5b6102e4610df3565b60405190815260200160405180910390f35b34156105b657600080fd5b6101cf600160a060020a0360043516602435610df9565b604051901515815260200160405180910390f35b34156105ec57600080fd5b6101cf600160a060020a0360043516602435610f2c565b604051901515815260200160405180910390f35b341561062257600080fd5b6101ba600160a060020a03600435166024356110ac565b005b341561064657600080fd5b6101ba611196565b005b341561065b57600080fd5b6101ba600435611222565b005b341561067357600080fd5b6102e46112bd565b60405190815260200160405180910390f35b341561069857600080fd5b6102e4600160a060020a03600435811690602435166112c3565b60405190815260200160405180910390f35b34156106cf57600080fd5b6106d76112f0565b604051600160a060020a03909116815260200160405180910390f35b34156106fe57600080fd5b6101ba6004356024356112ff565b005b341561071957600080fd5b6101ba600160a060020a0360043516611548565b005b341561073a57600080fd5b6102e461157a565b60405190815260200160405180910390f35b341561075f57600080fd5b6101cf611580565b604051901515815260200160405180910390f35b60025460ff1681565b60408051908101604052600b81527f506163696f20546f6b656e000000000000000000000000000000000000000000602082015281565b60005433600160a060020a039081169116146107d657600080fd5b600c5460ff16156107e657600080fd5b6002805460ff191660011790555b5b565b60005433600160a060020a0390811691161461081257600080fd5b61081e60015482611590565b60015560008054600160a060020a03168152600360205260409020546108449082611590565b60008054600160a060020a0316815260036020526040902055600154600a5460085460055461087693929101016115a4565b60065560008054600160a060020a0316906000805160206116998339815191528360405190815260200160405180910390a35b5b50565b6000805460a060020a900460ff16156108c557600080fd5b600160a060020a03338116600081815260046020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b5b92915050565b60015481565b60025460009084908490849060ff1615801561095c575060005460a060020a900460ff16155b80156109815750600160a060020a038316600090815260036020526040902054819010155b801561099f575082600160a060020a031682600160a060020a031614155b80156109bd575030600160a060020a031682600160a060020a031614155b80156109d75750600054600160a060020a03838116911614155b15156109e257600080fd5b600160a060020a038088166000908152600460209081526040808320339094168352929052205485901015610a1657600080fd5b600160a060020a03808816600090815260036020818152604080842080548b90039055600482528084203386168552825280842080548b90039055938a168352522054610a639086611590565b600160a060020a03808816600081815260036020526040908190209390935591908916906000805160206116998339815191529088905190815260200160405180910390a3600193505b5b5050509392505050565b60005433600160a060020a03908116911614610ad357600080fd5b60005460a060020a900460ff1615610aea57600080fd5b6002805460ff191690556005547fea9053089eb0a566d14b6fa613f9cd756308616ec1220fcaa2811c4753bd26a39060405190815260200160405180910390a15b5b5b565b600c81565b600c5460ff1681565b60005433600160a060020a03908116911614610b5857600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7f4d6aa4949e2b9a4b6f2e8d032e8e289b4ce5fe924db2d9e18e92d2edb955c560405160405180910390a15b5b565b60065481565b600181565b60005433600160a060020a03908116911614610bcc57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f777ecb744cfc69794c3985ebff0496449aafc907c556f1d4003201beb364e80f60405160405180910390a15b5b565b60075481565b600160a060020a0381166000908152600360205260409020545b919050565b60005433600160a060020a03908116911614610c6057600080fd5b600160a060020a03841615610c9d57600c805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a038716021790555b600160a060020a03831615610cd557600d805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385161790555b6000821115610cef576009546008839055821015610cef57fe5b5b6000811115610d0a57600b54600a829055811015610d0a57fe5b5b600554600a546008546001540303036006555b5b50505050565b60055481565b60095481565b60015415610d3e57600080fd5b610d47816115c2565b68056bc75e2d631000006008819055600a55683635c9adc5dea00000600181905560008054600160a060020a03908116825260036020526040808320849055682b5e3af16b18800000600655825490911692600080516020611699833981519152915190815260200160405180910390a35b50565b60408051908101604052600481527f50494f4500000000000000000000000000000000000000000000000000000000602082015281565b600b5481565b60025460009033908490849060ff16158015610e1f575060005460a060020a900460ff16155b8015610e445750600160a060020a038316600090815260036020526040902054819010155b8015610e62575082600160a060020a031682600160a060020a031614155b8015610e80575030600160a060020a031682600160a060020a031614155b8015610e9a5750600054600160a060020a03838116911614155b1515610ea557600080fd5b600160a060020a033381166000908152600360205260408082208054899003905591881681522054610ed79086611590565b600160a060020a0380881660008181526003602052604090819020939093559133909116906000805160206116998339815191529088905190815260200160405180910390a3600193505b5b50505092915050565b6000805433600160a060020a03908116911614610f4857600080fd5b60005460a060020a900460ff1615610f5f57600080fd5b60025460ff168015610f8a575060008054600160a060020a0316815260036020526040902054829010155b8015610fa8575030600160a060020a031683600160a060020a031614155b8015610fc25750600054600160a060020a03848116911614155b1515610fcd57600080fd5b600160a060020a0383166000908152600360205260409020541515610ff6576007805460010190555b60008054600160a060020a0390811682526003602052604080832080548690039055908516825290205461102a9083611590565b600160a060020a0384166000908152600360205260409020556005546110509083611590565b60055560065461106090836115a4565b600655600160a060020a0383167f600c523bbab56f21f37d382a0935adbae55e98c4bda5c1f3f11d60d60ddf36338360405190815260200160405180910390a25060015b5b5b92915050565b60005433600160a060020a039081169116146110c757600080fd5b60005460a060020a900460ff16156110de57600080fd5b600c5460ff1615156110ef57600080fd5b600160a060020a03821660009081526003602052604090205461111290826115a4565b600160a060020a03831660009081526003602052604090205560055461113890826115a4565b60055560015461114890826115a4565b6001557f38d762ef507761291a578e921acfe29c1af31a7331ea03e391cf16cfc4d4f5818282604051600160a060020a03909216825260208201526040908101905180910390a15b5b5b5050565b60005433600160a060020a039081169116146111b157600080fd5b60005460a060020a900460ff16156111c857600080fd5b600c5460ff16156111d857600080fd5b6002805460ff19908116909155600c805490911660011790557fd39e4607bf77a7536c03b411bcdfc5291d87772400a12cb753a2c286b3ec937b60405160405180910390a15b5b5b565b60005433600160a060020a0390811691161461123d57600080fd5b60005460a060020a900460ff161561125457600080fd5b600c5460ff16151561126557600080fd5b611271600154826115a4565b60015560065461128190826115a4565b6006557f386161059715b23c3cb4306eb909f39cab2dbf8ddc1a65a88cb2b119fc065fb28160405190815260200160405180910390a15b5b5b50565b600a5481565b600160a060020a038083166000908152600460209081526040808320938516835292905220545b92915050565b600054600160a060020a031681565b60005433600160a060020a0390811691161461131a57600080fd5b60005460a060020a900460ff161561133157600080fd5b600c5460ff16151561134257600080fd5b600082111561144a57600c546101009004600160a060020a0316151561136457fe5b60085461137360095484611590565b6009819055111561138057fe5b60008054600160a060020a03168152600360205260409020546113a39083611684565b60008054600160a060020a0390811682526003602052604080832093909355600c54610100900416815220546113d99083611590565b600c8054600160a060020a03610100918290048116600090815260036020526040908190209490945591540416907f600c523bbab56f21f37d382a0935adbae55e98c4bda5c1f3f11d60d60ddf36339084905190815260200160405180910390a261144660055483611590565b6005555b600081111561119057600d54600160a060020a0316151561146757fe5b600a54611476600b5483611590565b600b819055111561148357fe5b60008054600160a060020a03168152600360205260409020546114a69082611684565b60008054600160a060020a0390811682526003602052604080832093909355600d5416815220546114d79082611590565b600d8054600160a060020a039081166000908152600360205260409081902093909355905416907f600c523bbab56f21f37d382a0935adbae55e98c4bda5c1f3f11d60d60ddf36339083905190815260200160405180910390a261153d60055482611590565b6005555b5b5b5b5050565b60008054600160a060020a031681526003602052604090205461156c908290610df9565b506108a9816115c2565b5b50565b60085481565b60005460a060020a900460ff1681565b8082018281101561092957fe5b5b92915050565b6000828211156115b657506000610929565b508082035b5b92915050565b60005433600160a060020a039081169116146115dd57600080fd5b600160a060020a038116158015906116035750600054600160a060020a03828116911614155b151561160e57600080fd5b600054600160a060020a03167fe516f4dd5cedc9fa569ffc0fe731ed5801fb5ff4a1860847fe1c7db3c590c55182604051600160a060020a03909116815260200160405180910390a26000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b8082038281111561092957fe5b5b929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820366e6a424e6e3a1835d343f3bda9b5102505dbdf85609c62bd93bc1fa63811640029

Swarm Source

bzzr://366e6a424e6e3a1835d343f3bda9b5102505dbdf85609c62bd93bc1fa6381164

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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