Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 77 txns
Token Tracker: Alethena Equity (ALEQ)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x31e756838eb0c94e42afd6d41c143ef4ef221ed0at txn 0xf60181d9174b3a58e39c42074ae8be0f633082e04107fa8b68544ed98eeee34e
 Latest 25 transactions from a total of 77 transactions

TxHash Age From To Value [TxFee]
0xbc23d3e0a1ecdd4be8edae30e76ba12a16ebcd9095f3f749b51f7ec36952bfbf15 days 4 hrs ago0x6f0ff9b9d45e7297f32bbae223c0922e1aa40fda  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.000150948
0x71188bd3bb0cdf934087474304ff61ce2d87a14cd71d1c10f175ab3d4d265da221 days 16 hrs ago0xf6438a450efac6b880063e5567a037332d0c5a6a  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.001549841
0x2d7f5d20df9e65dbe368e313e7a53f0ee11007205e9f0434e4e231f6b14a8c8135 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0xcb89e2acf897ff3505a0850fa99727e9986b7df5d18924faba11528da7458aa735 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0xe66f5f43e3c6cb2a470bce92df932d366feca3f29f6484c19b9047472c96f7a135 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0xaa1d1e0ffbcb6d9767e2a76d0eebc5c81f4c0d4a9323a532333fcf0ed917ae1635 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0x5222b4ad6ec29b240e357b2c381970bf8f0fa684f55025593b1d94ad9188367e35 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105346
0x8875768e430ef142c259c52a1c4ae36153bfd6011c5101470cb349e864895e2235 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0x2cc5319b86d246fbcf5808dbb812e06a2fb865a9a477d526a1ca0db8db9076cb35 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0xb6d049abccc9c7fae2b7e9a1914efe9305c6d146fe063562e513e9c5bc73c05c35 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0xd2896dbc972f7601225f566c49013f9472d409c531df6a2bfc19da7f42355c1c35 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0xfc8b35975e2cf9349f5113496d28f378b1881988e5d88ecd4a3054496bd5885235 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105346
0x354fe9f035227b50f8e3eb3154c6c3334134459c65e38b9fc62b41e440871b3e35 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0xcbe4f197e3b27d44c24e9baed3cca4aacc95f1d60a282740b60c09f007fe03a435 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0x215253f3e78acc1070737e2bad524e957be747fe4afaa470d01cb2a617f9103635 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0x915c000a451c9124262edcc740244e75dbac14cf771e0b5b1315144f9006561935 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0x90fb0f725f7b856a7a089ae416ded7752282c4fb29e5a8f298f56b6ceb32556b35 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0x8a7b09ba3099483a1112038f4497c5a5b6d60657e68add4cb2b8d863cba221b535 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0xab715f1555be485eea1bb896394373961d4681a4bae7e864ff933d7e8108e54035 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0xe7f2869cd294087c46153c3b202e42db870630979f65232b7993ac5931ba683335 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0x4bd683c9f528df3319d4a948c7d0496949951093c982ae2d184355c1c6610be535 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0xbb5a77e38dd7a813a9e2605c77db69868da4ecd1c7a6b9deb67826dcd4574baa35 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0xd3be6d8053c3fa2aba1e40dd42db6866407722a1d960534fd8af50c311045abb35 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00105474
0x8ae30cbfe131ecb5945e94b00253123d8af0485ea21895dc82da2f71a38870a935 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00158211
0x25eaa043112a51dc806b768e6678f64fe9fb3a9aa24f1607af910c617285820b35 days 3 hrs ago0x08da93d1c6884f52e5e87c335085c678cded0348  IN   0xf40c5e190a608b6f8c0bf2b38c9506b3279414020 Ether0.00158211
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
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: AlethenaShares
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.24;

// This is the Alethena Share Token. 
// To learn more, visit https://github.com/Alethena/Alethena-Shares-Token
// Or contact us at [email protected]

contract ERC20Basic {
    function totalSupply() public view returns (uint256);
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender)
        public view returns (uint256);

    function transferFrom(address from, address to, uint256 value)
        public returns (bool);

    function approve(address spender, uint256 value) public returns (bool);
    event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
    );
}

contract Ownable {
    address public owner;
    address public master = 0x8fED3492dB590ad34ed42b0F509EB3c9626246Fc;

    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.
   */
    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 relinquish control of the contract.
   */
    function renounceOwnership() public onlyOwner {
        emit OwnershipRenounced(owner);
        owner = address(0);
    }

  /**
   * @dev Allows the master to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
    function transferOwnership(address _newOwner) public {
        require(msg.sender == master);
        _transferOwnership(_newOwner);
    }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
    function _transferOwnership(address _newOwner) internal {
        require(_newOwner != address(0));
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }
}

contract Claimable is ERC20Basic, Ownable {

    using SafeMath for uint256;

    struct Claim {
        address claimant; // the person who created the claim
        uint256 collateral; // the amount of wei deposited
        uint256 timestamp;  // the timestamp of the block in which the claim was made
    }

    struct PreClaim {
        bytes32 msghash; // the hash of nonce + address to be claimed
        uint256 timestamp;  // the timestamp of the block in which the preclaim was made
    }

    /** @param collateralRate Sets the collateral needed per share to file a claim */
    uint256 public collateralRate = 5*10**15 wei;

    uint256 public claimPeriod = 60*60*24*180; // In seconds ;
    uint256 public preClaimPeriod = 60*60*24; // In seconds ;

    mapping(address => Claim) public claims; // there can be at most one claim per address, here address is claimed address
    mapping(address => PreClaim) public preClaims; // there can be at most one preclaim per address, here address is claimer


    function setClaimParameters(uint256 _collateralRateInWei, uint256 _claimPeriodInDays) public onlyOwner() {
        uint256 claimPeriodInSeconds = _claimPeriodInDays*60*60*24;
        require(_collateralRateInWei > 0);
        require(_claimPeriodInDays > 90); // must be at least 90 days
        collateralRate = _collateralRateInWei;
        claimPeriod = claimPeriodInSeconds;
        emit ClaimParametersChanged(collateralRate, claimPeriod);
    }

    event ClaimMade(address indexed _lostAddress, address indexed _claimant, uint256 _balance);
    event ClaimPrepared(address indexed _claimer);
    event ClaimCleared(address indexed _lostAddress, uint256 collateral);
    event ClaimDeleted(address indexed _lostAddress, address indexed _claimant, uint256 collateral);
    event ClaimResolved(address indexed _lostAddress, address indexed _claimant, uint256 collateral);
    event ClaimParametersChanged(uint256 _collateralRate, uint256  _claimPeriodInDays);


  /** Anyone can declare that the private key to a certain address was lost by calling declareLost
    * providing a deposit/collateral. There are three possibilities of what can happen with the claim:
    * 1) The claim period expires and the claimant can get the deposit and the shares back by calling resolveClaim
    * 2) The "lost" private key is used at any time to call clearClaim. In that case, the claim is deleted and
    *    the deposit sent to the shareholder (the owner of the private key). It is recommended to call resolveClaim
    *    whenever someone transfers funds to let claims be resolved automatically when the "lost" private key is
    *    used again.
    * 3) The owner deletes the claim and assigns the deposit to the claimant. This is intended to be used to resolve
    *    disputes. Generally, using this function implies that you have to trust the issuer of the tokens to handle
    *    the situation well. As a rule of thumb, the contract owner should assume the owner of the lost address to be the
    *    rightful owner of the deposit.
    * It is highly recommended that the owner observes the claims made and informs the owners of the claimed addresses
    * whenever a claim is made for their address (this of course is only possible if they are known to the owner, e.g.
    * through a shareholder register).
    * To prevent frontrunning attacks, a claim can only be made if the information revealed when calling "declareLost"
    * was previously commited using the "prepareClaim" function.
    */

    function prepareClaim(bytes32 _hashedpackage) public{
        preClaims[msg.sender] = PreClaim({
            msghash: _hashedpackage,
            timestamp: block.timestamp
        });
        emit ClaimPrepared(msg.sender);
    }

    function validateClaim(address _lostAddress, bytes32 _nonce) private view returns (bool){
        PreClaim memory preClaim = preClaims[msg.sender];
        require(preClaim.msghash != 0);
        require(preClaim.timestamp + preClaimPeriod <= block.timestamp);
        require(preClaim.timestamp + 2*preClaimPeriod >= block.timestamp);
        return preClaim.msghash == keccak256(abi.encodePacked(_nonce, msg.sender, _lostAddress));
    }

    function declareLost(address _lostAddress, bytes32 _nonce) public payable{
        uint256 balance = balanceOf(_lostAddress);
        require(balance > 0);
        require(msg.value >= balance.mul(collateralRate));
        require(claims[_lostAddress].collateral == 0);
        require(validateClaim(_lostAddress, _nonce));

        claims[_lostAddress] = Claim({
            claimant: msg.sender,
            collateral: msg.value,
            timestamp: block.timestamp
        });
        delete preClaims[msg.sender];
        emit ClaimMade(_lostAddress, msg.sender, balance);
    }

    function getClaimant(address _lostAddress) public view returns (address){
        return claims[_lostAddress].claimant;
    }

    function getCollateral(address _lostAddress) public view returns (uint256){
        return claims[_lostAddress].collateral;
    }

    function getTimeStamp(address _lostAddress) public view returns (uint256){
        return claims[_lostAddress].timestamp;
    }

    function getPreClaimTimeStamp(address _claimerAddress) public view returns (uint256){
        return preClaims[_claimerAddress].timestamp;
    }

    function getMsgHash(address _claimerAddress) public view returns (bytes32){
        return preClaims[_claimerAddress].msghash;
    }

    /**
     * @dev Clears a claim after the key has been found again and assigns the collateral to the "lost" address.
     */
    function clearClaim() public returns (uint256){
        uint256 collateral = claims[msg.sender].collateral;
        if (collateral != 0){
            delete claims[msg.sender];
            msg.sender.transfer(collateral);
            emit ClaimCleared(msg.sender, collateral);
            return collateral;
        } else {
            return 0;
        }
    }

   /**
    * @dev This function is used to resolve a claim.
    * @dev After waiting period, the tokens on the lost address and collateral can be transferred.
   */
    function resolveClaim(address _lostAddress) public returns (uint256){
        Claim memory claim = claims[_lostAddress];
        require(claim.collateral != 0, "No claim found");
        require(claim.claimant == msg.sender);
        require(claim.timestamp + claimPeriod <= block.timestamp);
        address claimant = claim.claimant;
        delete claims[_lostAddress];
        claimant.transfer(claim.collateral);
        internalTransfer(_lostAddress, claimant, balanceOf(_lostAddress));
        emit ClaimResolved(_lostAddress, claimant, claim.collateral);
        return claim.collateral;
    }

    function internalTransfer(address _from, address _to, uint256 _value) internal;

     /** @dev This function is to be executed by the owner only in case a dispute needs to be resolved manually. */
    function deleteClaim(address _lostAddress) public onlyOwner(){
        Claim memory claim = claims[_lostAddress];
        require(claim.collateral != 0, "No claim found");
        delete claims[_lostAddress];
        claim.claimant.transfer(claim.collateral);
        emit ClaimDeleted(_lostAddress, claim.claimant, claim.collateral);
    }

}

contract AlethenaShares is ERC20, Claimable {

    string public constant name = "Alethena Equity";
    string public constant symbol = "ALEQ";
    uint8 public constant decimals = 0; // legally, shares are not divisible

    using SafeMath for uint256;

      /** URL where the source code as well as the terms and conditions can be found. */
    string public constant termsAndConditions = "shares.alethena.com";

    mapping(address => uint256) balances;
    uint256 totalSupply_;        // total number of tokenized shares, sum of all balances
    uint256 totalShares_ = 1397188; // total number of outstanding shares, maybe not all tokenized

    event Mint(address indexed shareholder, uint256 amount, string message);
    event Unmint(uint256 amount, string message);

  /** @dev Total number of tokens in existence */
    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }

  /** @dev Total number of shares in existence, not necessarily all represented by a token.
    * @dev This could be useful to calculate the total market cap.
    */
    function totalShares() public view returns (uint256) {
        return totalShares_;
    }

    function setTotalShares(uint256 _newTotalShares) public onlyOwner() {
        require(_newTotalShares >= totalSupply());
        totalShares_ = _newTotalShares;
    }

  /** Increases the number of the tokenized shares. If the shares are newly issued, the share total also needs to be increased. */
    function mint(address shareholder, uint256 _amount, string _message) public onlyOwner() {
        require(_amount > 0);
        require(totalSupply_.add(_amount) <= totalShares_);
        balances[shareholder] = balances[shareholder].add(_amount);
        totalSupply_ = totalSupply_ + _amount;
        emit Mint(shareholder, _amount, _message);
    }

/** Decrease the number of the tokenized shares. There are two use-cases for this function:
 *  1) a capital decrease with a destruction of the shares, in which case the law requires that the
 *     destroyed shares are currently owned by the company.
 *  2) a shareholder wants to take shares offline. This can only happen with the agreement of the
 *     the company. To do so, the shares must be transferred to the company first, the company call
 *     this function and then assigning the untokenized shares back to the shareholder in whatever
 *     way the new form (e.g. printed certificate) of the shares requires.
 */
    function unmint(uint256 _amount, string _message) public onlyOwner() {
        require(_amount > 0);
        require(_amount <= balanceOf(owner));
        balances[owner] = balances[owner].sub(_amount);
        totalSupply_ = totalSupply_ - _amount;
        emit Unmint(_amount, _message);
    }

  /** This contract is pausible.  */
    bool public isPaused = false;

  /** @dev Function to set pause.
   *  This could for example be used in case of a fork of the network, in which case all
   *  "wrong" forked contracts should be paused in their respective fork. Deciding which
   *  fork is the "right" one is up to the owner of the contract.
   */
    function pause(bool _pause, string _message, address _newAddress, uint256 _fromBlock) public onlyOwner() {
        isPaused = _pause;
        emit Pause(_pause, _message, _newAddress, _fromBlock);
    }

    event Pause(bool paused, string message, address newAddress, uint256 fromBlock);

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
The next section contains standard ERC20 routines.
Main change: Transfer functions have an additional post function which resolves claims if applicable.
 */
//////////////////////////////////////////////////////////////////////////////////////////////////////////////

  /**
  * @dev Transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
    function transfer(address _to, uint256 _value) public returns (bool) {
        clearClaim();
        internalTransfer(msg.sender, _to, _value);
        return true;
    }

    function internalTransfer(address _from, address _to, uint256 _value) internal {
        require(!isPaused);
        require(_to != address(0));
        require(_value <= balances[_from]);
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(_from, _to, _value);
    }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
    function balanceOf(address _owner) public view returns (uint256) {
        return balances[_owner];
    }

    mapping (address => mapping (address => uint256)) internal allowed;

  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_value <= allowed[_from][msg.sender]);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        internalTransfer(_from, _to, _value);
        return true;
    }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
    function approve(address _spender, uint256 _value) public returns (bool) {
        require(!isPaused);
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    event Approval(address approver, address spender, uint256 value);
  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
    function allowance(address _owner, address _spender) public view returns (uint256) {
        return allowed[_owner][_spender];
    }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
    function increaseApproval(address _spender, uint256 _addedValue) public returns (bool) {
        require(!isPaused);
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
    function decreaseApproval(address _spender, uint256 _subtractedValue) public returns (bool) {
        require(!isPaused);
        uint256 oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

}

library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
        // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        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;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_lostAddress","type":"address"}],"name":"getClaimant","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_lostAddress","type":"address"},{"name":"_nonce","type":"bytes32"}],"name":"declareLost","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_claimerAddress","type":"address"}],"name":"getMsgHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_lostAddress","type":"address"}],"name":"deleteClaim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalShares","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"preClaims","outputs":[{"name":"msghash","type":"bytes32"},{"name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"collateralRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_hashedpackage","type":"bytes32"}],"name":"prepareClaim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"clearClaim","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","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":"_claimerAddress","type":"address"}],"name":"getPreClaimTimeStamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"claimPeriod","outputs":[{"name":"","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":"_collateralRateInWei","type":"uint256"},{"name":"_claimPeriodInDays","type":"uint256"}],"name":"setClaimParameters","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_lostAddress","type":"address"}],"name":"resolveClaim","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_pause","type":"bool"},{"name":"_message","type":"string"},{"name":"_newAddress","type":"address"},{"name":"_fromBlock","type":"uint256"}],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_lostAddress","type":"address"}],"name":"getCollateral","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_message","type":"string"}],"name":"unmint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newTotalShares","type":"uint256"}],"name":"setTotalShares","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isPaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"claims","outputs":[{"name":"claimant","type":"address"},{"name":"collateral","type":"uint256"},{"name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"shareholder","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_message","type":"string"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_lostAddress","type":"address"}],"name":"getTimeStamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preClaimPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"master","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"termsAndConditions","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"shareholder","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"message","type":"string"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"message","type":"string"}],"name":"Unmint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"paused","type":"bool"},{"indexed":false,"name":"message","type":"string"},{"indexed":false,"name":"newAddress","type":"address"},{"indexed":false,"name":"fromBlock","type":"uint256"}],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"approver","type":"address"},{"indexed":false,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_lostAddress","type":"address"},{"indexed":true,"name":"_claimant","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"ClaimMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_claimer","type":"address"}],"name":"ClaimPrepared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_lostAddress","type":"address"},{"indexed":false,"name":"collateral","type":"uint256"}],"name":"ClaimCleared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_lostAddress","type":"address"},{"indexed":true,"name":"_claimant","type":"address"},{"indexed":false,"name":"collateral","type":"uint256"}],"name":"ClaimDeleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_lostAddress","type":"address"},{"indexed":true,"name":"_claimant","type":"address"},{"indexed":false,"name":"collateral","type":"uint256"}],"name":"ClaimResolved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_collateralRate","type":"uint256"},{"indexed":false,"name":"_claimPeriodInDays","type":"uint256"}],"name":"ClaimParametersChanged","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"},{"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"}]

  Contract Creation Code Switch To Opcodes View
608060405260018054600160a060020a0319908116738fed3492db590ad34ed42b0f509eb3c9626246fc179091556611c37937e0800060025562ed4e0060035562015180600455621551c4600955600a805460ff191690556000805490911633179055611aa2806100716000396000f3006080604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101dc578063095ea7b31461026657806318160ddd1461029e5780631e3b9de5146102c557806323b872dd146103025780632434ec3e1461032c57806324b50e4314610345578063313ce5671461036657806332a7ae95146103915780633a98ef39146103b2578063493c160f146103c757806358a6be1c146104015780635b1c162514610416578063661884631461042e5780636b03ed5f1461045257806370a0823114610467578063715018a61461048857806375a88bcf1461049d5780637dc2cd98146104be5780638da5cb5b146104d357806391dc11fe146104e857806394d645a81461050357806395d89b4114610524578063980591f4146105395780639b56d6c9146105aa578063a56d96bb146105cb578063a77384c114610629578063a9059cbb14610641578063b187bd2614610665578063c6788bdd1461067a578063d3fc9864146106c3578063d73dd6231461072c578063dd62ed3e14610750578063eb470ebf14610777578063ee18d99e14610798578063ee97f7f3146107ad578063f2fde38b146107c2578063f678462f146107e3575b600080fd5b3480156101e857600080fd5b506101f16107f8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022b578181015183820152602001610213565b50505050905090810190601f1680156102585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027257600080fd5b5061028a600160a060020a036004351660243561082f565b604080519115158252519081900360200190f35b3480156102aa57600080fd5b506102b36108b2565b60408051918252519081900360200190f35b3480156102d157600080fd5b506102e6600160a060020a03600435166108b8565b60408051600160a060020a039092168252519081900360200190f35b34801561030e57600080fd5b5061028a600160a060020a03600435811690602435166044356108d6565b610343600160a060020a0360043516602435610973565b005b34801561035157600080fd5b506102b3600160a060020a0360043516610aa1565b34801561037257600080fd5b5061037b610abc565b6040805160ff9092168252519081900360200190f35b34801561039d57600080fd5b50610343600160a060020a0360043516610ac1565b3480156103be57600080fd5b506102b3610c54565b3480156103d357600080fd5b506103e8600160a060020a0360043516610c5a565b6040805192835260208301919091528051918290030190f35b34801561040d57600080fd5b506102b3610c73565b34801561042257600080fd5b50610343600435610c79565b34801561043a57600080fd5b5061028a600160a060020a0360043516602435610cd4565b34801561045e57600080fd5b506102b3610de0565b34801561047357600080fd5b506102b3600160a060020a0360043516610ea1565b34801561049457600080fd5b50610343610ebc565b3480156104a957600080fd5b506102b3600160a060020a0360043516610f28565b3480156104ca57600080fd5b506102b3610f46565b3480156104df57600080fd5b506102e6610f4c565b3480156104f457600080fd5b50610343600435602435610f5b565b34801561050f57600080fd5b506102b3600160a060020a0360043516610fde565b34801561053057600080fd5b506101f16111a3565b34801561054557600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610343958335151595369560449491939091019190819084018382808284375094975050508335600160a060020a03169450505060209091013590506111da565b3480156105b657600080fd5b506102b3600160a060020a03600435166112c9565b3480156105d757600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526103439583359536956044949193909101919081908401838280828437509497506112e79650505050505050565b34801561063557600080fd5b50610343600435611421565b34801561064d57600080fd5b5061028a600160a060020a0360043516602435611451565b34801561067157600080fd5b5061028a611470565b34801561068657600080fd5b5061069b600160a060020a0360043516611479565b60408051600160a060020a039094168452602084019290925282820152519081900360600190f35b3480156106cf57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610343948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506114a49650505050505050565b34801561073857600080fd5b5061028a600160a060020a03600435166024356115df565b34801561075c57600080fd5b506102b3600160a060020a0360043581169060243516611697565b34801561078357600080fd5b506102b3600160a060020a03600435166116c2565b3480156107a457600080fd5b506102b36116e0565b3480156107b957600080fd5b506102e66116e6565b3480156107ce57600080fd5b50610343600160a060020a03600435166116f5565b3480156107ef57600080fd5b506101f1611718565b60408051808201909152600f81527f416c657468656e61204571756974790000000000000000000000000000000000602082015281565b600a5460009060ff161561084257600080fd5b336000818152600b60209081526040808320600160a060020a03881680855290835292819020869055805193845290830191909152818101849052517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360600190a15060015b92915050565b60085490565b600160a060020a039081166000908152600560205260409020541690565b600160a060020a0383166000908152600b6020908152604080832033845290915281205482111561090657600080fd5b600160a060020a0384166000908152600b6020908152604080832033845290915290205461093a908363ffffffff61174f16565b600160a060020a0385166000908152600b60209081526040808320338452909152902055610969848484611761565b5060019392505050565b600061097e83610ea1565b90506000811161098d57600080fd5b6002546109a190829063ffffffff61186516565b3410156109ad57600080fd5b600160a060020a038316600090815260056020526040902060010154156109d357600080fd5b6109dd838361188e565b15156109e857600080fd5b604080516060810182523380825234602080840191825242848601908152600160a060020a038981166000818152600585528881209751885473ffffffffffffffffffffffffffffffffffffffff191693169290921787559351600180880191909155915160029096019590955583855260068252858520858155019390935583518581529351919390927f1982ca8958fc8a8176cb52be509260f4bc5af7ce04e1533711793f1c56dd535992918290030190a3505050565b600160a060020a031660009081526006602052604090205490565b600081565b610ac9611a34565b600054600160a060020a03163314610ae057600080fd5b50600160a060020a03808216600090815260056020908152604091829020825160608101845281549094168452600181015491840182905260020154918301919091521515610b9057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e6f20636c61696d20666f756e64000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038083166000908152600560209081526040808320805473ffffffffffffffffffffffffffffffffffffffff19168155600181018490556002018390558451918501519051919093169280156108fc0292909190818181858888f19350505050158015610c08573d6000803e3d6000fd5b5080516020808301516040805191825251600160a060020a03938416938616927fbb036e629a9f4c0897ee5d48440dfdb36f7e772117723a2ed603a6514244c2d5928290030190a35050565b60095490565b6006602052600090815260409020805460019091015482565b60025481565b604080518082018252828152426020808301918252336000818152600690925284822093518455915160019093019290925591517f4c767b7b6b4e5b19edbb3ce0f841c467aa366beda334c58254bb264371819a119190a250565b600a54600090819060ff1615610ce957600080fd5b50336000908152600b60209081526040808320600160a060020a038716845290915290205480831115610d3f57336000908152600b60209081526040808320600160a060020a0388168452909152812055610d74565b610d4f818463ffffffff61174f16565b336000908152600b60209081526040808320600160a060020a03891684529091529020555b336000818152600b60209081526040808320600160a060020a038916808552908352928190205481519485529184019290925282820152517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360600190a15060019392505050565b336000908152600560205260408120600101548015610e985733600081815260056020526040808220805473ffffffffffffffffffffffffffffffffffffffff19168155600181018390556002018290555183156108fc0291849190818181858888f19350505050158015610e59573d6000803e3d6000fd5b5060408051828152905133917f203627483d943880619f4b7e0cca21dbefd6204b4d85b124eb99540e17ba86dd919081900360200190a2809150610e9d565b600091505b5090565b600160a060020a031660009081526007602052604090205490565b600054600160a060020a03163314610ed357600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600160a060020a031660009081526006602052604090206001015490565b60035481565b600054600160a060020a031681565b60008054600160a060020a03163314610f7357600080fd5b5062015180810260008311610f8757600080fd5b605a8211610f9457600080fd5b60028390556003819055604080518481526020810183905281517fd60264524e7672c0a7793b11f98c5c2852a01efd67c9928705e51e0fdfbc4819929181900390910190a1505050565b6000610fe8611a34565b50600160a060020a03808316600090815260056020908152604080832081516060810183528154909516855260018101549285018390526002015490840152151561109457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e6f20636c61696d20666f756e64000000000000000000000000000000000000604482015290519081900360640190fd5b8151600160a060020a031633146110aa57600080fd5b600354604083015142910111156110c057600080fd5b508051600160a060020a038085166000908152600560209081526040808320805473ffffffffffffffffffffffffffffffffffffffff19168155600181018490556002018390559085015190519284169281156108fc0292818181858888f19350505050158015611135573d6000803e3d6000fd5b50611149848261114487610ea1565b611761565b80600160a060020a031684600160a060020a03167f52a5c2b28bc6eb9712d0ced43463103b486b13ccc9cda499fd3b2d7b6a74a8ee84602001516040518082815260200191505060405180910390a3506020015192915050565b60408051808201909152600481527f414c455100000000000000000000000000000000000000000000000000000000602082015281565b600054600160a060020a031633146111f157600080fd5b600a805460ff191685151590811790915560408051918252600160a060020a03841690820152606081018290526080602080830182815286519284019290925285517f016e2c313f98497b8330a5114aff9a72424bdf37c47e7cba23fc54dd480bc6dd938893889388938893929160a08401919087019080838360005b8381101561128657818101518382015260200161126e565b50505050905090810190601f1680156112b35780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b600160a060020a031660009081526005602052604090206001015490565b600054600160a060020a031633146112fe57600080fd5b6000821161130b57600080fd5b60005461132090600160a060020a0316610ea1565b82111561132c57600080fd5b60008054600160a060020a0316815260076020526040902054611355908363ffffffff61174f16565b60008054600160a060020a0316815260076020908152604080832093909355600880548690039055825185815280820184815285519482019490945284517f6fa26c05a43c14146728c90c874027d865c1b4454522dfbadb3b5b3d3329714d9487948794919260608501928601918190849084905b838110156113e25781810151838201526020016113ca565b50505050905090810190601f16801561140f5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b600054600160a060020a0316331461143857600080fd5b6114406108b2565b81101561144c57600080fd5b600955565b600061145b610de0565b50611467338484611761565b50600192915050565b600a5460ff1681565b600560205260009081526040902080546001820154600290920154600160a060020a03909116919083565b600054600160a060020a031633146114bb57600080fd5b600082116114c857600080fd5b6009546008546114de908463ffffffff6119aa16565b11156114e957600080fd5b600160a060020a038316600090815260076020526040902054611512908363ffffffff6119aa16565b600160a060020a03841660008181526007602090815260408083209490945560088054870190558351868152808201858152865195820195909552855193947f85a66b9141978db9980f7e0ce3b468cebf4f7999f32b23091c5c03e798b1ba7a94889488946060850192908601918190849084905b8381101561159f578181015183820152602001611587565b50505050905090810190601f1680156115cc5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a2505050565b600a5460009060ff16156115f257600080fd5b336000908152600b60209081526040808320600160a060020a0387168452909152902054611626908363ffffffff6119aa16565b336000818152600b60209081526040808320600160a060020a038916808552908352928190208590558051938452908301919091528181019290925290517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360600190a150600192915050565b600160a060020a039182166000908152600b6020908152604080832093909416825291909152205490565b600160a060020a031660009081526005602052604090206002015490565b60045481565b600154600160a060020a031681565b600154600160a060020a0316331461170c57600080fd5b611715816119b7565b50565b60408051808201909152601381527f7368617265732e616c657468656e612e636f6d00000000000000000000000000602082015281565b60008282111561175b57fe5b50900390565b600a5460ff161561177157600080fd5b600160a060020a038216151561178657600080fd5b600160a060020a0383166000908152600760205260409020548111156117ab57600080fd5b600160a060020a0383166000908152600760205260409020546117d4908263ffffffff61174f16565b600160a060020a038085166000908152600760205260408082209390935590841681522054611809908263ffffffff6119aa16565b600160a060020a0380841660008181526007602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000821515611876575060006108ac565b5081810281838281151561188657fe5b04146108ac57fe5b6000611898611a5f565b5033600090815260066020908152604091829020825180840190935280548084526001909101549183019190915215156118d157600080fd5b600454602082015142910111156118e757600080fd5b426004546002028260200151011015151561190157600080fd5b6040805160208082018690526c0100000000000000000000000033810283850152600160a060020a03881602605483015282516048818403018152606890920192839052815191929182918401908083835b602083106119725780518252601f199092019160209182019101611953565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912093519093149695505050505050565b818101828110156108ac57fe5b600160a060020a03811615156119cc57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6060604051908101604052806000600160a060020a0316815260200160008152602001600081525090565b6040805180820190915260008082526020820152905600a165627a7a723058201d17d0aa52b5bb37df3d3c2b7913c06f8e5a717b832d27cc4a22e29e9db7bd950029

   Swarm Source:
bzzr://1d17d0aa52b5bb37df3d3c2b7913c06f8e5a717b832d27cc4a22e29e9db7bd95

 

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.