ETH Price: $3,640.47 (-0.47%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer145192692022-04-04 11:26:251007 days ago1649071585IN
0xf40c5e19...327941402
0 ETH0.0017206249.2155078
Transfer145187442022-04-04 9:33:201007 days ago1649064800IN
0xf40c5e19...327941402
0 ETH0.0012585936
Transfer145182612022-04-04 7:44:511007 days ago1649058291IN
0xf40c5e19...327941402
0 ETH0.0022103842.45753363
Approve93184202020-01-20 12:47:441812 days ago1579524464IN
0xf40c5e19...327941402
0 ETH0.0008910220
Approve91559842019-12-24 13:46:371839 days ago1577195197IN
0xf40c5e19...327941402
0 ETH0.0008910220
Transfer88390272019-10-30 7:34:511894 days ago1572420891IN
0xf40c5e19...327941402
0 ETH0.0007920115
Transfer87841752019-10-21 13:22:301903 days ago1571664150IN
0xf40c5e19...327941402
0 ETH0.0005679715
Transfer87841662019-10-21 13:21:241903 days ago1571664084IN
0xf40c5e19...327941402
0 ETH0.0005650915
Approve85165842019-09-09 15:52:501945 days ago1568044370IN
0xf40c5e19...327941402
0 ETH0.0009050220
Declare Lost83734922019-08-18 9:13:171967 days ago1566119597IN
0xf40c5e19...327941402
1.01 ETH0.00063925
Resolve Claim83734912019-08-18 9:13:151967 days ago1566119595IN
0xf40c5e19...327941402
0 ETH0.000043291.1
Transfer80676802019-07-01 20:07:412015 days ago1562011661IN
0xf40c5e19...327941402
0 ETH0.0003786510
Approve79775562019-06-17 18:35:212029 days ago1560796521IN
0xf40c5e19...327941402
0 ETH0.0004531510
Transfer79775242019-06-17 18:28:232029 days ago1560796103IN
0xf40c5e19...327941402
0 ETH0.0011340330
Transfer79775062019-06-17 18:24:062029 days ago1560795846IN
0xf40c5e19...327941402
0 ETH0.0015821130
Prepare Claim78982842019-06-05 8:59:392041 days ago1559725179IN
0xf40c5e19...327941402
0 ETH0.000034391
Transfer78935662019-06-04 15:09:402042 days ago1559660980IN
0xf40c5e19...327941402
0 ETH0.000757320
Transfer78543522019-05-29 11:57:192048 days ago1559131039IN
0xf40c5e19...327941402
0 ETH0.0002955813
Transfer78542952019-05-29 11:42:452048 days ago1559130165IN
0xf40c5e19...327941402
0 ETH0.0007924721
Transfer78421082019-05-27 14:00:342050 days ago1558965634IN
0xf40c5e19...327941402
0 ETH0.0090948400
Transfer78419282019-05-27 13:21:242050 days ago1558963284IN
0xf40c5e19...327941402
0 ETH0.0003780110
Transfer78419082019-05-27 13:17:092050 days ago1558963029IN
0xf40c5e19...327941402
0 ETH0.0005286510
Transfer78410732019-05-27 10:07:452050 days ago1558951665IN
0xf40c5e19...327941402
0 ETH0.0005273710
Transfer78407282019-05-27 8:55:212050 days ago1558947321IN
0xf40c5e19...327941402
0 ETH0.0005273710
Prepare Claim78342932019-05-26 8:53:582051 days ago1558860838IN
0xf40c5e19...327941402
0 ETH0.000064391
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
83734912019-08-18 9:13:151967 days ago1566119595
0xf40c5e19...327941402
1.01 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AlethenaShares

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-11-21
*/

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 Security Audit

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

608060405260018054600160a060020a0319908116738fed3492db590ad34ed42b0f509eb3c9626246fc179091556611c37937e0800060025562ed4e0060035562015180600455621551c4600955600a805460ff191690556000805490911633179055611aa2806100716000396000f3006080604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101dc578063095ea7b31461026657806318160ddd1461029e5780631e3b9de5146102c557806323b872dd146103025780632434ec3e1461032c57806324b50e4314610345578063313ce5671461036657806332a7ae95146103915780633a98ef39146103b2578063493c160f146103c757806358a6be1c146104015780635b1c162514610416578063661884631461042e5780636b03ed5f1461045257806370a0823114610467578063715018a61461048857806375a88bcf1461049d5780637dc2cd98146104be5780638da5cb5b146104d357806391dc11fe146104e857806394d645a81461050357806395d89b4114610524578063980591f4146105395780639b56d6c9146105aa578063a56d96bb146105cb578063a77384c114610629578063a9059cbb14610641578063b187bd2614610665578063c6788bdd1461067a578063d3fc9864146106c3578063d73dd6231461072c578063dd62ed3e14610750578063eb470ebf14610777578063ee18d99e14610798578063ee97f7f3146107ad578063f2fde38b146107c2578063f678462f146107e3575b600080fd5b3480156101e857600080fd5b506101f16107f8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022b578181015183820152602001610213565b50505050905090810190601f1680156102585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027257600080fd5b5061028a600160a060020a036004351660243561082f565b604080519115158252519081900360200190f35b3480156102aa57600080fd5b506102b36108b2565b60408051918252519081900360200190f35b3480156102d157600080fd5b506102e6600160a060020a03600435166108b8565b60408051600160a060020a039092168252519081900360200190f35b34801561030e57600080fd5b5061028a600160a060020a03600435811690602435166044356108d6565b610343600160a060020a0360043516602435610973565b005b34801561035157600080fd5b506102b3600160a060020a0360043516610aa1565b34801561037257600080fd5b5061037b610abc565b6040805160ff9092168252519081900360200190f35b34801561039d57600080fd5b50610343600160a060020a0360043516610ac1565b3480156103be57600080fd5b506102b3610c54565b3480156103d357600080fd5b506103e8600160a060020a0360043516610c5a565b6040805192835260208301919091528051918290030190f35b34801561040d57600080fd5b506102b3610c73565b34801561042257600080fd5b50610343600435610c79565b34801561043a57600080fd5b5061028a600160a060020a0360043516602435610cd4565b34801561045e57600080fd5b506102b3610de0565b34801561047357600080fd5b506102b3600160a060020a0360043516610ea1565b34801561049457600080fd5b50610343610ebc565b3480156104a957600080fd5b506102b3600160a060020a0360043516610f28565b3480156104ca57600080fd5b506102b3610f46565b3480156104df57600080fd5b506102e6610f4c565b3480156104f457600080fd5b50610343600435602435610f5b565b34801561050f57600080fd5b506102b3600160a060020a0360043516610fde565b34801561053057600080fd5b506101f16111a3565b34801561054557600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610343958335151595369560449491939091019190819084018382808284375094975050508335600160a060020a03169450505060209091013590506111da565b3480156105b657600080fd5b506102b3600160a060020a03600435166112c9565b3480156105d757600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526103439583359536956044949193909101919081908401838280828437509497506112e79650505050505050565b34801561063557600080fd5b50610343600435611421565b34801561064d57600080fd5b5061028a600160a060020a0360043516602435611451565b34801561067157600080fd5b5061028a611470565b34801561068657600080fd5b5061069b600160a060020a0360043516611479565b60408051600160a060020a039094168452602084019290925282820152519081900360600190f35b3480156106cf57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610343948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506114a49650505050505050565b34801561073857600080fd5b5061028a600160a060020a03600435166024356115df565b34801561075c57600080fd5b506102b3600160a060020a0360043581169060243516611697565b34801561078357600080fd5b506102b3600160a060020a03600435166116c2565b3480156107a457600080fd5b506102b36116e0565b3480156107b957600080fd5b506102e66116e6565b3480156107ce57600080fd5b50610343600160a060020a03600435166116f5565b3480156107ef57600080fd5b506101f1611718565b60408051808201909152600f81527f416c657468656e61204571756974790000000000000000000000000000000000602082015281565b600a5460009060ff161561084257600080fd5b336000818152600b60209081526040808320600160a060020a03881680855290835292819020869055805193845290830191909152818101849052517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360600190a15060015b92915050565b60085490565b600160a060020a039081166000908152600560205260409020541690565b600160a060020a0383166000908152600b6020908152604080832033845290915281205482111561090657600080fd5b600160a060020a0384166000908152600b6020908152604080832033845290915290205461093a908363ffffffff61174f16565b600160a060020a0385166000908152600b60209081526040808320338452909152902055610969848484611761565b5060019392505050565b600061097e83610ea1565b90506000811161098d57600080fd5b6002546109a190829063ffffffff61186516565b3410156109ad57600080fd5b600160a060020a038316600090815260056020526040902060010154156109d357600080fd5b6109dd838361188e565b15156109e857600080fd5b604080516060810182523380825234602080840191825242848601908152600160a060020a038981166000818152600585528881209751885473ffffffffffffffffffffffffffffffffffffffff191693169290921787559351600180880191909155915160029096019590955583855260068252858520858155019390935583518581529351919390927f1982ca8958fc8a8176cb52be509260f4bc5af7ce04e1533711793f1c56dd535992918290030190a3505050565b600160a060020a031660009081526006602052604090205490565b600081565b610ac9611a34565b600054600160a060020a03163314610ae057600080fd5b50600160a060020a03808216600090815260056020908152604091829020825160608101845281549094168452600181015491840182905260020154918301919091521515610b9057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e6f20636c61696d20666f756e64000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038083166000908152600560209081526040808320805473ffffffffffffffffffffffffffffffffffffffff19168155600181018490556002018390558451918501519051919093169280156108fc0292909190818181858888f19350505050158015610c08573d6000803e3d6000fd5b5080516020808301516040805191825251600160a060020a03938416938616927fbb036e629a9f4c0897ee5d48440dfdb36f7e772117723a2ed603a6514244c2d5928290030190a35050565b60095490565b6006602052600090815260409020805460019091015482565b60025481565b604080518082018252828152426020808301918252336000818152600690925284822093518455915160019093019290925591517f4c767b7b6b4e5b19edbb3ce0f841c467aa366beda334c58254bb264371819a119190a250565b600a54600090819060ff1615610ce957600080fd5b50336000908152600b60209081526040808320600160a060020a038716845290915290205480831115610d3f57336000908152600b60209081526040808320600160a060020a0388168452909152812055610d74565b610d4f818463ffffffff61174f16565b336000908152600b60209081526040808320600160a060020a03891684529091529020555b336000818152600b60209081526040808320600160a060020a038916808552908352928190205481519485529184019290925282820152517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360600190a15060019392505050565b336000908152600560205260408120600101548015610e985733600081815260056020526040808220805473ffffffffffffffffffffffffffffffffffffffff19168155600181018390556002018290555183156108fc0291849190818181858888f19350505050158015610e59573d6000803e3d6000fd5b5060408051828152905133917f203627483d943880619f4b7e0cca21dbefd6204b4d85b124eb99540e17ba86dd919081900360200190a2809150610e9d565b600091505b5090565b600160a060020a031660009081526007602052604090205490565b600054600160a060020a03163314610ed357600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600160a060020a031660009081526006602052604090206001015490565b60035481565b600054600160a060020a031681565b60008054600160a060020a03163314610f7357600080fd5b5062015180810260008311610f8757600080fd5b605a8211610f9457600080fd5b60028390556003819055604080518481526020810183905281517fd60264524e7672c0a7793b11f98c5c2852a01efd67c9928705e51e0fdfbc4819929181900390910190a1505050565b6000610fe8611a34565b50600160a060020a03808316600090815260056020908152604080832081516060810183528154909516855260018101549285018390526002015490840152151561109457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e6f20636c61696d20666f756e64000000000000000000000000000000000000604482015290519081900360640190fd5b8151600160a060020a031633146110aa57600080fd5b600354604083015142910111156110c057600080fd5b508051600160a060020a038085166000908152600560209081526040808320805473ffffffffffffffffffffffffffffffffffffffff19168155600181018490556002018390559085015190519284169281156108fc0292818181858888f19350505050158015611135573d6000803e3d6000fd5b50611149848261114487610ea1565b611761565b80600160a060020a031684600160a060020a03167f52a5c2b28bc6eb9712d0ced43463103b486b13ccc9cda499fd3b2d7b6a74a8ee84602001516040518082815260200191505060405180910390a3506020015192915050565b60408051808201909152600481527f414c455100000000000000000000000000000000000000000000000000000000602082015281565b600054600160a060020a031633146111f157600080fd5b600a805460ff191685151590811790915560408051918252600160a060020a03841690820152606081018290526080602080830182815286519284019290925285517f016e2c313f98497b8330a5114aff9a72424bdf37c47e7cba23fc54dd480bc6dd938893889388938893929160a08401919087019080838360005b8381101561128657818101518382015260200161126e565b50505050905090810190601f1680156112b35780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b600160a060020a031660009081526005602052604090206001015490565b600054600160a060020a031633146112fe57600080fd5b6000821161130b57600080fd5b60005461132090600160a060020a0316610ea1565b82111561132c57600080fd5b60008054600160a060020a0316815260076020526040902054611355908363ffffffff61174f16565b60008054600160a060020a0316815260076020908152604080832093909355600880548690039055825185815280820184815285519482019490945284517f6fa26c05a43c14146728c90c874027d865c1b4454522dfbadb3b5b3d3329714d9487948794919260608501928601918190849084905b838110156113e25781810151838201526020016113ca565b50505050905090810190601f16801561140f5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b600054600160a060020a0316331461143857600080fd5b6114406108b2565b81101561144c57600080fd5b600955565b600061145b610de0565b50611467338484611761565b50600192915050565b600a5460ff1681565b600560205260009081526040902080546001820154600290920154600160a060020a03909116919083565b600054600160a060020a031633146114bb57600080fd5b600082116114c857600080fd5b6009546008546114de908463ffffffff6119aa16565b11156114e957600080fd5b600160a060020a038316600090815260076020526040902054611512908363ffffffff6119aa16565b600160a060020a03841660008181526007602090815260408083209490945560088054870190558351868152808201858152865195820195909552855193947f85a66b9141978db9980f7e0ce3b468cebf4f7999f32b23091c5c03e798b1ba7a94889488946060850192908601918190849084905b8381101561159f578181015183820152602001611587565b50505050905090810190601f1680156115cc5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a2505050565b600a5460009060ff16156115f257600080fd5b336000908152600b60209081526040808320600160a060020a0387168452909152902054611626908363ffffffff6119aa16565b336000818152600b60209081526040808320600160a060020a038916808552908352928190208590558051938452908301919091528181019290925290517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360600190a150600192915050565b600160a060020a039182166000908152600b6020908152604080832093909416825291909152205490565b600160a060020a031660009081526005602052604090206002015490565b60045481565b600154600160a060020a031681565b600154600160a060020a0316331461170c57600080fd5b611715816119b7565b50565b60408051808201909152601381527f7368617265732e616c657468656e612e636f6d00000000000000000000000000602082015281565b60008282111561175b57fe5b50900390565b600a5460ff161561177157600080fd5b600160a060020a038216151561178657600080fd5b600160a060020a0383166000908152600760205260409020548111156117ab57600080fd5b600160a060020a0383166000908152600760205260409020546117d4908263ffffffff61174f16565b600160a060020a038085166000908152600760205260408082209390935590841681522054611809908263ffffffff6119aa16565b600160a060020a0380841660008181526007602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000821515611876575060006108ac565b5081810281838281151561188657fe5b04146108ac57fe5b6000611898611a5f565b5033600090815260066020908152604091829020825180840190935280548084526001909101549183019190915215156118d157600080fd5b600454602082015142910111156118e757600080fd5b426004546002028260200151011015151561190157600080fd5b6040805160208082018690526c0100000000000000000000000033810283850152600160a060020a03881602605483015282516048818403018152606890920192839052815191929182918401908083835b602083106119725780518252601f199092019160209182019101611953565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912093519093149695505050505050565b818101828110156108ac57fe5b600160a060020a03811615156119cc57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6060604051908101604052806000600160a060020a0316815260200160008152602001600081525090565b6040805180820190915260008082526020820152905600a165627a7a723058201d17d0aa52b5bb37df3d3c2b7913c06f8e5a717b832d27cc4a22e29e9db7bd950029

Deployed Bytecode

0x6080604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101dc578063095ea7b31461026657806318160ddd1461029e5780631e3b9de5146102c557806323b872dd146103025780632434ec3e1461032c57806324b50e4314610345578063313ce5671461036657806332a7ae95146103915780633a98ef39146103b2578063493c160f146103c757806358a6be1c146104015780635b1c162514610416578063661884631461042e5780636b03ed5f1461045257806370a0823114610467578063715018a61461048857806375a88bcf1461049d5780637dc2cd98146104be5780638da5cb5b146104d357806391dc11fe146104e857806394d645a81461050357806395d89b4114610524578063980591f4146105395780639b56d6c9146105aa578063a56d96bb146105cb578063a77384c114610629578063a9059cbb14610641578063b187bd2614610665578063c6788bdd1461067a578063d3fc9864146106c3578063d73dd6231461072c578063dd62ed3e14610750578063eb470ebf14610777578063ee18d99e14610798578063ee97f7f3146107ad578063f2fde38b146107c2578063f678462f146107e3575b600080fd5b3480156101e857600080fd5b506101f16107f8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022b578181015183820152602001610213565b50505050905090810190601f1680156102585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027257600080fd5b5061028a600160a060020a036004351660243561082f565b604080519115158252519081900360200190f35b3480156102aa57600080fd5b506102b36108b2565b60408051918252519081900360200190f35b3480156102d157600080fd5b506102e6600160a060020a03600435166108b8565b60408051600160a060020a039092168252519081900360200190f35b34801561030e57600080fd5b5061028a600160a060020a03600435811690602435166044356108d6565b610343600160a060020a0360043516602435610973565b005b34801561035157600080fd5b506102b3600160a060020a0360043516610aa1565b34801561037257600080fd5b5061037b610abc565b6040805160ff9092168252519081900360200190f35b34801561039d57600080fd5b50610343600160a060020a0360043516610ac1565b3480156103be57600080fd5b506102b3610c54565b3480156103d357600080fd5b506103e8600160a060020a0360043516610c5a565b6040805192835260208301919091528051918290030190f35b34801561040d57600080fd5b506102b3610c73565b34801561042257600080fd5b50610343600435610c79565b34801561043a57600080fd5b5061028a600160a060020a0360043516602435610cd4565b34801561045e57600080fd5b506102b3610de0565b34801561047357600080fd5b506102b3600160a060020a0360043516610ea1565b34801561049457600080fd5b50610343610ebc565b3480156104a957600080fd5b506102b3600160a060020a0360043516610f28565b3480156104ca57600080fd5b506102b3610f46565b3480156104df57600080fd5b506102e6610f4c565b3480156104f457600080fd5b50610343600435602435610f5b565b34801561050f57600080fd5b506102b3600160a060020a0360043516610fde565b34801561053057600080fd5b506101f16111a3565b34801561054557600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610343958335151595369560449491939091019190819084018382808284375094975050508335600160a060020a03169450505060209091013590506111da565b3480156105b657600080fd5b506102b3600160a060020a03600435166112c9565b3480156105d757600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526103439583359536956044949193909101919081908401838280828437509497506112e79650505050505050565b34801561063557600080fd5b50610343600435611421565b34801561064d57600080fd5b5061028a600160a060020a0360043516602435611451565b34801561067157600080fd5b5061028a611470565b34801561068657600080fd5b5061069b600160a060020a0360043516611479565b60408051600160a060020a039094168452602084019290925282820152519081900360600190f35b3480156106cf57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610343948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506114a49650505050505050565b34801561073857600080fd5b5061028a600160a060020a03600435166024356115df565b34801561075c57600080fd5b506102b3600160a060020a0360043581169060243516611697565b34801561078357600080fd5b506102b3600160a060020a03600435166116c2565b3480156107a457600080fd5b506102b36116e0565b3480156107b957600080fd5b506102e66116e6565b3480156107ce57600080fd5b50610343600160a060020a03600435166116f5565b3480156107ef57600080fd5b506101f1611718565b60408051808201909152600f81527f416c657468656e61204571756974790000000000000000000000000000000000602082015281565b600a5460009060ff161561084257600080fd5b336000818152600b60209081526040808320600160a060020a03881680855290835292819020869055805193845290830191909152818101849052517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360600190a15060015b92915050565b60085490565b600160a060020a039081166000908152600560205260409020541690565b600160a060020a0383166000908152600b6020908152604080832033845290915281205482111561090657600080fd5b600160a060020a0384166000908152600b6020908152604080832033845290915290205461093a908363ffffffff61174f16565b600160a060020a0385166000908152600b60209081526040808320338452909152902055610969848484611761565b5060019392505050565b600061097e83610ea1565b90506000811161098d57600080fd5b6002546109a190829063ffffffff61186516565b3410156109ad57600080fd5b600160a060020a038316600090815260056020526040902060010154156109d357600080fd5b6109dd838361188e565b15156109e857600080fd5b604080516060810182523380825234602080840191825242848601908152600160a060020a038981166000818152600585528881209751885473ffffffffffffffffffffffffffffffffffffffff191693169290921787559351600180880191909155915160029096019590955583855260068252858520858155019390935583518581529351919390927f1982ca8958fc8a8176cb52be509260f4bc5af7ce04e1533711793f1c56dd535992918290030190a3505050565b600160a060020a031660009081526006602052604090205490565b600081565b610ac9611a34565b600054600160a060020a03163314610ae057600080fd5b50600160a060020a03808216600090815260056020908152604091829020825160608101845281549094168452600181015491840182905260020154918301919091521515610b9057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e6f20636c61696d20666f756e64000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038083166000908152600560209081526040808320805473ffffffffffffffffffffffffffffffffffffffff19168155600181018490556002018390558451918501519051919093169280156108fc0292909190818181858888f19350505050158015610c08573d6000803e3d6000fd5b5080516020808301516040805191825251600160a060020a03938416938616927fbb036e629a9f4c0897ee5d48440dfdb36f7e772117723a2ed603a6514244c2d5928290030190a35050565b60095490565b6006602052600090815260409020805460019091015482565b60025481565b604080518082018252828152426020808301918252336000818152600690925284822093518455915160019093019290925591517f4c767b7b6b4e5b19edbb3ce0f841c467aa366beda334c58254bb264371819a119190a250565b600a54600090819060ff1615610ce957600080fd5b50336000908152600b60209081526040808320600160a060020a038716845290915290205480831115610d3f57336000908152600b60209081526040808320600160a060020a0388168452909152812055610d74565b610d4f818463ffffffff61174f16565b336000908152600b60209081526040808320600160a060020a03891684529091529020555b336000818152600b60209081526040808320600160a060020a038916808552908352928190205481519485529184019290925282820152517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360600190a15060019392505050565b336000908152600560205260408120600101548015610e985733600081815260056020526040808220805473ffffffffffffffffffffffffffffffffffffffff19168155600181018390556002018290555183156108fc0291849190818181858888f19350505050158015610e59573d6000803e3d6000fd5b5060408051828152905133917f203627483d943880619f4b7e0cca21dbefd6204b4d85b124eb99540e17ba86dd919081900360200190a2809150610e9d565b600091505b5090565b600160a060020a031660009081526007602052604090205490565b600054600160a060020a03163314610ed357600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600160a060020a031660009081526006602052604090206001015490565b60035481565b600054600160a060020a031681565b60008054600160a060020a03163314610f7357600080fd5b5062015180810260008311610f8757600080fd5b605a8211610f9457600080fd5b60028390556003819055604080518481526020810183905281517fd60264524e7672c0a7793b11f98c5c2852a01efd67c9928705e51e0fdfbc4819929181900390910190a1505050565b6000610fe8611a34565b50600160a060020a03808316600090815260056020908152604080832081516060810183528154909516855260018101549285018390526002015490840152151561109457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e6f20636c61696d20666f756e64000000000000000000000000000000000000604482015290519081900360640190fd5b8151600160a060020a031633146110aa57600080fd5b600354604083015142910111156110c057600080fd5b508051600160a060020a038085166000908152600560209081526040808320805473ffffffffffffffffffffffffffffffffffffffff19168155600181018490556002018390559085015190519284169281156108fc0292818181858888f19350505050158015611135573d6000803e3d6000fd5b50611149848261114487610ea1565b611761565b80600160a060020a031684600160a060020a03167f52a5c2b28bc6eb9712d0ced43463103b486b13ccc9cda499fd3b2d7b6a74a8ee84602001516040518082815260200191505060405180910390a3506020015192915050565b60408051808201909152600481527f414c455100000000000000000000000000000000000000000000000000000000602082015281565b600054600160a060020a031633146111f157600080fd5b600a805460ff191685151590811790915560408051918252600160a060020a03841690820152606081018290526080602080830182815286519284019290925285517f016e2c313f98497b8330a5114aff9a72424bdf37c47e7cba23fc54dd480bc6dd938893889388938893929160a08401919087019080838360005b8381101561128657818101518382015260200161126e565b50505050905090810190601f1680156112b35780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b600160a060020a031660009081526005602052604090206001015490565b600054600160a060020a031633146112fe57600080fd5b6000821161130b57600080fd5b60005461132090600160a060020a0316610ea1565b82111561132c57600080fd5b60008054600160a060020a0316815260076020526040902054611355908363ffffffff61174f16565b60008054600160a060020a0316815260076020908152604080832093909355600880548690039055825185815280820184815285519482019490945284517f6fa26c05a43c14146728c90c874027d865c1b4454522dfbadb3b5b3d3329714d9487948794919260608501928601918190849084905b838110156113e25781810151838201526020016113ca565b50505050905090810190601f16801561140f5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b600054600160a060020a0316331461143857600080fd5b6114406108b2565b81101561144c57600080fd5b600955565b600061145b610de0565b50611467338484611761565b50600192915050565b600a5460ff1681565b600560205260009081526040902080546001820154600290920154600160a060020a03909116919083565b600054600160a060020a031633146114bb57600080fd5b600082116114c857600080fd5b6009546008546114de908463ffffffff6119aa16565b11156114e957600080fd5b600160a060020a038316600090815260076020526040902054611512908363ffffffff6119aa16565b600160a060020a03841660008181526007602090815260408083209490945560088054870190558351868152808201858152865195820195909552855193947f85a66b9141978db9980f7e0ce3b468cebf4f7999f32b23091c5c03e798b1ba7a94889488946060850192908601918190849084905b8381101561159f578181015183820152602001611587565b50505050905090810190601f1680156115cc5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a2505050565b600a5460009060ff16156115f257600080fd5b336000908152600b60209081526040808320600160a060020a0387168452909152902054611626908363ffffffff6119aa16565b336000818152600b60209081526040808320600160a060020a038916808552908352928190208590558051938452908301919091528181019290925290517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360600190a150600192915050565b600160a060020a039182166000908152600b6020908152604080832093909416825291909152205490565b600160a060020a031660009081526005602052604090206002015490565b60045481565b600154600160a060020a031681565b600154600160a060020a0316331461170c57600080fd5b611715816119b7565b50565b60408051808201909152601381527f7368617265732e616c657468656e612e636f6d00000000000000000000000000602082015281565b60008282111561175b57fe5b50900390565b600a5460ff161561177157600080fd5b600160a060020a038216151561178657600080fd5b600160a060020a0383166000908152600760205260409020548111156117ab57600080fd5b600160a060020a0383166000908152600760205260409020546117d4908263ffffffff61174f16565b600160a060020a038085166000908152600760205260408082209390935590841681522054611809908263ffffffff6119aa16565b600160a060020a0380841660008181526007602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000821515611876575060006108ac565b5081810281838281151561188657fe5b04146108ac57fe5b6000611898611a5f565b5033600090815260066020908152604091829020825180840190935280548084526001909101549183019190915215156118d157600080fd5b600454602082015142910111156118e757600080fd5b426004546002028260200151011015151561190157600080fd5b6040805160208082018690526c0100000000000000000000000033810283850152600160a060020a03881602605483015282516048818403018152606890920192839052815191929182918401908083835b602083106119725780518252601f199092019160209182019101611953565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912093519093149695505050505050565b818101828110156108ac57fe5b600160a060020a03811615156119cc57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6060604051908101604052806000600160a060020a0316815260200160008152602001600081525090565b6040805180820190915260008082526020820152905600a165627a7a723058201d17d0aa52b5bb37df3d3c2b7913c06f8e5a717b832d27cc4a22e29e9db7bd950029

Swarm Source

bzzr://1d17d0aa52b5bb37df3d3c2b7913c06f8e5a717b832d27cc4a22e29e9db7bd95

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

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.