Contract Overview
Balance: 0.36 Ether
Ether Value: $29.85 (@ $82.93/ETH)
Transactions: 7 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xd0c9a560ea86af18174b76bc5c13a973c52dac6aat txn 0x3a42f1dc06bb3c31fe5f8c716891c024b3e5f45ff60ade5269106582aeb3fb72
 Latest 7 txns

TxHash Age From To Value [TxFee]
0x0edf006b557a585b15f2646870fd199811bc2c1597a9e6bcd41d16cb649af5ee27 days 6 hrs ago0xd0c9a560ea86af18174b76bc5c13a973c52dac6a  IN   0x6959396dc62b52c64e9a99c8227322d2305ae89e0.36 Ether0.001036962
0xa6cf70cd8426ed06e88ff518eb7904e5d4af90e807389a9f0b4703411456d5c427 days 6 hrs ago0xcaf54e97498222ad384a14d4913f40bf328d51e5  IN   0x6959396dc62b52c64e9a99c8227322d2305ae89e0.36 Ether0.000430272
0xd0ad53df4fe31efb7d66ce52be85a711c773a6dd54b0f0b3383398a47a75f3c027 days 6 hrs ago0xcaf54e97498222ad384a14d4913f40bf328d51e5  IN   0x6959396dc62b52c64e9a99c8227322d2305ae89e0.36 Ether0.000430272
0xe8022b1cdafdcc25667065aac1e64f9fcb9b690c84def59ac6ebfa68d283777f27 days 6 hrs ago0x88d9c37a9a39a71e3598bb0348c8860ab0868372  IN   0x6959396dc62b52c64e9a99c8227322d2305ae89e0 Ether0.00117729
0xe853db90eb2c60483790e9dc02bbfbe75b00ab1c7819b6dd1bd877e412bb4f1227 days 7 hrs ago0xd0c9a560ea86af18174b76bc5c13a973c52dac6a  IN   0x6959396dc62b52c64e9a99c8227322d2305ae89e0.0001 Ether0.00157581
0xe2bf3745026b11d8f7ed671d4ac0805778ca6990c41654f95f768cff00dc15a527 days 7 hrs ago0xd0c9a560ea86af18174b76bc5c13a973c52dac6a  IN   0x6959396dc62b52c64e9a99c8227322d2305ae89e0.0000001 Ether0.00040833
0x3a42f1dc06bb3c31fe5f8c716891c024b3e5f45ff60ade5269106582aeb3fb7228 days 3 hrs ago0xd0c9a560ea86af18174b76bc5c13a973c52dac6a  IN    Contract Creation0 Ether0.003991884
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 1 Internal Transaction

ParentTxHash Block Age From To Value
0xe8022b1cdafdcc25667065aac1e64f9fcb9b690c84def59ac6ebfa68d283777f672727627 days 6 hrs ago0x6959396dc62b52c64e9a99c8227322d2305ae89e0x88d9c37a9a39a71e3598bb0348c8860ab08683720.0001 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: CertificateCore
Compiler Text: v0.4.23+commit.124ca40d
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.23;

// File: contracts/Ownable.sol

/**
     * @title Ownable
     * @dev The Ownable contract has an owner address, and provides basic authorization control
     * functions, this simplifies the implementation of "user permissions".
     */
    contract Ownable {
      address public owner;
    
      event OwnershipRenounced(address indexed previousOwner);
      event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
      /**
       * @dev The Ownable constructor sets the original `owner` of the contract to the sender
       * account.
       */
      //function Ownable() public {
      constructor() public {
        owner = msg.sender;
      }
    
      /**
       * @dev Throws if called by any account other than the owner.
       */
      modifier onlyOwner() {
        require(msg.sender == owner);
        _;
      }
    
      /**
       * @dev Allows the current owner to transfer control of the contract to a newOwner.
       * @param newOwner The address to transfer ownership to.
       */
      function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
      }
    
      /**
       * @dev Allows the current owner to relinquish control of the contract.
       */
      function renounceOwnership() public onlyOwner {
        emit OwnershipRenounced(owner);
        owner = address(0);
      }
    }

// File: contracts/CeoOwner.sol

contract CeoOwner is Ownable{

	// The primary address which is permitted to interact with the contract
	// Address of wallet account on WEB3.js account.
	address public ceoAddress; 

	modifier onlyCEO() {
		require(msg.sender == ceoAddress);
		_;
	}

}

// File: contracts/ReentrancyGuard.sol

/**
 * @title Helps contracts guard agains reentrancy attacks.
 * @author Remco Bloemen <[email protected]π.com>
 * @notice If you mark a function `nonReentrant`, you should also
 * mark it `external`.
 */
 contract ReentrancyGuard {

  /**
   * @dev We use a single lock for the whole contract.
   */
   bool private reentrancyLock = false;

  /**
   * @dev Prevents a contract from calling itself, directly or indirectly.
   * @notice If you mark a function `nonReentrant`, you should also
   * mark it `external`. Calling one nonReentrant function from
   * another is not supported. Instead, you can implement a
   * `private` function doing the actual work, and a `external`
   * wrapper marked as `nonReentrant`.
   */
   modifier nonReentrant() {
    require(!reentrancyLock);
    reentrancyLock = true;
    _;
    reentrancyLock = false;
  }

}

// File: contracts/SafeMath.sol

/**
     * @title SafeMath
     * @dev Math operations with safety checks that throw on error
     */
     library SafeMath {
      
      /**
      * @dev Multiplies two numbers, throws on overflow.
      */
      function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
        if (a == 0) {
          return 0;
        }
        c = a * b;
        assert(c / a == b);
        return c;
      }
      
      /**
      * @dev Integer division of two numbers, truncating the quotient.
      */
      function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        // uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return a / b;
      }
      
      /**
      * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
      */
      function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
      }
      
      /**
      * @dev Adds two numbers, throws on overflow.
      */
      function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        assert(c >= a);
        return c;
      }
    }

// File: contracts/CertificateCore.sol

contract CertificateCore is CeoOwner, ReentrancyGuard { 
   
    using SafeMath for uint256; 

    uint256 public constant KEY_CREATION_LIMIT = 10000;
    uint256 public totalSupplyOfKeys;
    uint256 public totalReclaimedKeys;
    
    // Track who is making the deposits and the amount made
    mapping(address => uint256) public balanceOf; 

    // Main data structure to hold all of the public keys   
    mapping(address => bool) public allThePublicKeys;
    
    // A bonus deposit has been made
    event DepositBonusEvent(address sender, uint256 amount); 
    
    // A new certificate has been successfully sold and a deposit added
    event DepositCertificateSaleEvent(address sender, address publicKey, uint256 amount);

    // A certificate has been payed out.
    event CertPayedOutEvent(address sender, address recpublicKey, uint256 payoutValue);
    

    constructor(address _ceoAddress) public{
        require(_ceoAddress != address(0));
        owner = msg.sender;
        ceoAddress = _ceoAddress;
    }
 
    
    /**
     *
     * Main function for creating certificates
     * 
     */
    //function createANewCert(address _publicKey, uint256 _amount) external payable onlyCEO{
    function depositCertificateSale(address _publicKey, uint256 _amount) external payable onlyCEO{
        require(msg.sender != address(0));
        require(_amount > 0);
        require(msg.value == _amount);
        require(_publicKey != address(0));
        require(totalSupplyOfKeys < KEY_CREATION_LIMIT);
        require(totalReclaimedKeys < KEY_CREATION_LIMIT);
 
        require(!allThePublicKeys[_publicKey]);

        allThePublicKeys[_publicKey]=true;
        totalSupplyOfKeys ++;

        balanceOf[msg.sender] = balanceOf[msg.sender].add(_amount);
        
        emit DepositCertificateSaleEvent(msg.sender, _publicKey, _amount);
    }
    
    /**
     *  Allow the CEO to deposit ETH without creating a new certificate
     * 
     * */
    //function deposit(uint256 _amount) external payable onlyCEO {
    function depositBonus(uint256 _amount) external payable onlyCEO {
        require(_amount > 0);
        require(msg.value == _amount);
      
        require((totalSupplyOfKeys > 0) && (totalSupplyOfKeys < KEY_CREATION_LIMIT));
        require(totalReclaimedKeys < KEY_CREATION_LIMIT);
      
        balanceOf[msg.sender] = balanceOf[msg.sender].add(_amount);
        
        emit DepositBonusEvent(msg.sender, _amount);
    }
    
    /**
     * Payout a certificate. 
     * 
     */
    function payoutACert(bytes32 _msgHash, uint8 _v, bytes32 _r, bytes32 _s) external nonReentrant{
        require(msg.sender != address(0));
        require(address(this).balance > 0);
        require(totalSupplyOfKeys > 0);
        require(totalReclaimedKeys < KEY_CREATION_LIMIT);
         
        address _recoveredAddress = ecrecover(_msgHash, _v, _r, _s);
        require(allThePublicKeys[_recoveredAddress]);
    
        allThePublicKeys[_recoveredAddress]=false;

        uint256 _validKeys = totalSupplyOfKeys.sub(totalReclaimedKeys);
        uint256 _payoutValue = address(this).balance.div(_validKeys);

        msg.sender.transfer(_payoutValue);
        emit CertPayedOutEvent(msg.sender, _recoveredAddress, _payoutValue);
        
        totalReclaimedKeys ++;
    }
 
     /**
     * Update payout value per certificate.
     */
     //
     // debug only. remove in Live deploy.
     // do this operation on the Dapp side.
    function calculatePayout() view external returns(
        uint256 _etherValue
        ){
        uint256 _validKeys = totalSupplyOfKeys.sub(totalReclaimedKeys);
        // Last key has been paid out.
        if(_validKeys == 0){
            _etherValue = 0;
        }else{
            _etherValue = address(this).balance.div(_validKeys);
        }
    }
 
 
    /**
     * Check to see if a Key has been payed out or if it's still valid
     */
    function checkIfValidKey(address _publicKey) view external{ // external
        require(_publicKey != address(0));
        require(allThePublicKeys[_publicKey]);
    }

    function getBalance() view external returns(
         uint256 contractBalance
    ){
        contractBalance = address(this).balance;
    }
    
    /**
     * Saftey Mechanism
     * 
     */
    function kill() external onlyOwner 
    { 
        selfdestruct(owner); 
    }
 
    /**
     * Payable fallback function.
     * No Tipping! 
     * 
     */
    //function () payable public{
    //    throw;
    //}
    
}

// File: contracts/Migrations.sol

contract Migrations {
  address public owner;
  uint public last_completed_migration;

  modifier restricted() {
    if (msg.sender == owner) _;
  }

  //function Migrations() public {
  constructor() public {
    owner = msg.sender;
  }

  function setCompleted(uint completed) public restricted {
    last_completed_migration = completed;
  }

  function upgrade(address new_address) public restricted {
    Migrations upgraded = Migrations(new_address);
    upgraded.setCompleted(last_completed_migration);
  }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"totalReclaimedKeys","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupplyOfKeys","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ceoAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBalance","outputs":[{"name":"contractBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"KEY_CREATION_LIMIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_msgHash","type":"bytes32"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"payoutACert","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"calculatePayout","outputs":[{"name":"_etherValue","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_publicKey","type":"address"},{"name":"_amount","type":"uint256"}],"name":"depositCertificateSale","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"allThePublicKeys","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"depositBonus","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_publicKey","type":"address"}],"name":"checkIfValidKey","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_ceoAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"DepositBonusEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"publicKey","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"DepositCertificateSaleEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"recpublicKey","type":"address"},{"indexed":false,"name":"payoutValue","type":"uint256"}],"name":"CertPayedOutEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60806040526000600160146101000a81548160ff02191690831515021790555034801561002b57600080fd5b5060405160208061130a83398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156100ca57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506111af8061015b6000396000f3006080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305dbac91146100eb578063082463f7146101165780630a0f81681461014157806312065fe01461019857806324169c2d146101c35780633f98c876146101ee57806341c0e1b51461024857806370a082311461025f578063715018a6146102b657806383c64ec4146102cd5780638da5cb5b146102f8578063915190171461034f578063cc07202f1461038f578063cf1814bc146103ea578063de561a3b1461040a578063f2fde38b1461044d575b600080fd5b3480156100f757600080fd5b50610100610490565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b5061012b610496565b6040518082815260200191505060405180910390f35b34801561014d57600080fd5b5061015661049c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a457600080fd5b506101ad6104c2565b6040518082815260200191505060405180910390f35b3480156101cf57600080fd5b506101d86104e1565b6040518082815260200191505060405180910390f35b3480156101fa57600080fd5b506102466004803603810190808035600019169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291905050506104e7565b005b34801561025457600080fd5b5061025d61083b565b005b34801561026b57600080fd5b506102a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108d0565b6040518082815260200191505060405180910390f35b3480156102c257600080fd5b506102cb6108e8565b005b3480156102d957600080fd5b506102e26109ea565b6040518082815260200191505060405180910390f35b34801561030457600080fd5b5061030d610a49565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61038d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a6e565b005b34801561039b57600080fd5b506103d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d7e565b604051808215151515815260200191505060405180910390f35b61040860048036038101908080359060200190929190505050610d9e565b005b34801561041657600080fd5b5061044b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4c565b005b34801561045957600080fd5b5061048e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fe3565b005b60035481565b60025481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b61271081565b6000806000600160149054906101000a900460ff1615151561050857600080fd5b60018060146101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151561055e57600080fd5b60003073ffffffffffffffffffffffffffffffffffffffff163111151561058457600080fd5b600060025411151561059557600080fd5b6127106003541015156105a757600080fd5b600187878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115801561061e573d6000803e3d6000fd5b505050602060405103519250600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561068257600080fd5b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506106f160035460025461113890919063ffffffff16565b915061071d823073ffffffffffffffffffffffffffffffffffffffff163161115190919063ffffffff16565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610765573d6000803e3d6000fd5b507fa7c0bc9f2e14e492ec5daf3eb159cc7f77b6ad3613d23c52f317e9fcecb008ea338483604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a16003600081548092919060010191905055506000600160146101000a81548160ff02191690831515021790555050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561089657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60046020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094357600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080610a0460035460025461113890919063ffffffff16565b90506000811415610a185760009150610a45565b610a42813073ffffffffffffffffffffffffffffffffffffffff163161115190919063ffffffff16565b91505b5090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610aca57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610b0657600080fd5b600081111515610b1557600080fd5b8034141515610b2357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610b5f57600080fd5b612710600254101515610b7157600080fd5b612710600354101515610b8357600080fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610bdc57600080fd5b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260008154809291906001019190505550610c9881600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fc5c41a9eaef8baffba0904b411c18eb345948afaec1f4c83a29c47291bedcf81338383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a15050565b60056020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dfa57600080fd5b600081111515610e0957600080fd5b8034141515610e1757600080fd5b6000600254118015610e2c5750612710600254105b1515610e3757600080fd5b612710600354101515610e4957600080fd5b610e9b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fe18c5d7fd48c3e96d9acde5e19f1a15fcb61f628503f83e9839cd7c0d0cfe03b3382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f8857600080fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610fe057600080fd5b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561103e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561107a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561114657fe5b818303905092915050565b6000818381151561115e57fe5b04905092915050565b6000818301905082811015151561117a57fe5b809050929150505600a165627a7a72305820f74ee599ffeeb44b8e20b9bbbba99b76c707fbe9d2f6a25fa57772ab6a9463740029000000000000000000000000d0c9a560ea86af18174b76bc5c13a973c52dac6a

    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d0c9a560ea86af18174b76bc5c13a973c52dac6a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d0c9a560ea86af18174b76bc5c13a973c52dac6a


   Swarm Source:
bzzr://f74ee599ffeeb44b8e20b9bbbba99b76c707fbe9d2f6a25fa57772ab6a946374

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.