Contract Overview
Balance: 0 Ether
Transactions: 19185 txns
 Latest 25 txns From a total of 19185 Transactions

TxHash Age From To Value [TxFee]
0xe4c92551d207603712e36f0baea0ab9d4f767043b4beee5dbc563b9686c5815e6 days 16 hrs ago0x00b8fbd65d61b7dfe34b9a3bb6c81908d7ffd541  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.000301363
0x18e7d411d8a9a6662264095aaddd8061acb9ec09e8235030c3ee4b245873f31a6 days 17 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0x38f46fc01da514536caf390858ddd1512722bd24c4e23889ae0cc66cb63650656 days 18 hrs ago0x00b8fbd65d61b7dfe34b9a3bb6c81908d7ffd541  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.000301299
0x90c6d75ff7815e76a1a3378a49f8a51963f7c84e9f13f105537661333212e9126 days 19 hrs ago0x00b8fbd65d61b7dfe34b9a3bb6c81908d7ffd541  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.000301299
0x697727eb8969e8372454ccf15de09eb0c5836cdc41c39349ba35dc0339eec96d11 days 10 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602598
0xc35c40ff4615897b670f65ce85a64eb4fc8f38fd3097101a657e52a16531c51e16 days 11 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0xb0a106a6ef4c9c5ad1d6b115ffefd958a5e552002ad4cc8dc38c16f3c5d954d016 days 19 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0xb0a8a4c89409f58927dc0198e1c9eb090a7718e4e4282fd11bdec271e61c113b19 days 15 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0x786b69a20448e7c6df6a185594074422f96ab8e5ad65860fa01d7499605e937a19 days 18 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0x6aaa16efdccb8a0651dae78395d458da3cb6b6e99f0d5288125a41a1ec4876f420 days 10 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0x97300c093430e94a603a3e74d3ba0161a47d477c66a851dbbbe7e1b38940382221 days 14 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0x072b03ec4bb290ca51c2854af7a2cc0adeb4ebecb6617f79940b9a9662ede60e22 days 11 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0x368c1bf9ad199ac64d0f3202ded865d15ea9b825a75aa98609fd4b9029fb054a22 days 21 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0x104e9f6aea903f9c73e07459b33ce96e4a86ad48e3b436d0db51da1076ec51d023 days 8 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0xc7dc798712a9ebfeba918a23fcb5e3ccdef2583fc41a404c699640c89463a9ae23 days 11 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0x80ec41faf1b858b367231354a03af32ba8d7a015d96df4942dc7662cb581daf323 days 12 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0xbff7d7bf4d859c4717f59da61b15d3c2a84fbbd7be4a8d167c2ef0f1110d631023 days 13 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0xce6c461746e6e50031cab6f9fe24b3de2f29e6da63cc2c254217dad4b231b90c23 days 18 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0xc53b8d3eafadffaf0be3b84aa56f1dec5f60822296157a1e40f6683f14fa78c123 days 18 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0x5be8f83f7e7f7712d0a720dbd6fcae5c16f85d58f62f0817ae8308f95263170223 days 18 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0xd1eedb3ac9f861ed426075b337c066d730d115821a35faa92242355f031220ff23 days 18 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0xebb3eba21dd2f785cfc4cfe45e581b1ad38962c8ecfc83570663aa6c2aee384023 days 20 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0x4ca9eeed3e831164a03e11575673c666e1680eab1d50f644b2f07ddc1e097b1823 days 20 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0xdcc493a244ef8674852926d58699b7e1c2c013d5b3c44bc73b2fc87a64a42a6f23 days 21 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
0x1f4cdca21bd7474fbfc1e84f351c5587380511da3c9ca71aa3d399dadc6a150323 days 21 hrs ago0x1392532c5b228ba18b33bec82d255a9f8a6a24f4  IN   0x87ea811785c4bd30fc104c2543cf8ed90f7eeec70 Ether0.00602726
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click Here To View More View All
ParentTxHash Block Age From To Value
0xe4c92551d207603712e36f0baea0ab9d4f767043b4beee5dbc563b9686c5815e31257536 days 16 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x18e7d411d8a9a6662264095aaddd8061acb9ec09e8235030c3ee4b245873f31a31256006 days 17 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x38f46fc01da514536caf390858ddd1512722bd24c4e23889ae0cc66cb636506531251746 days 18 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x90c6d75ff7815e76a1a3378a49f8a51963f7c84e9f13f105537661333212e91231249826 days 19 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x697727eb8969e8372454ccf15de09eb0c5836cdc41c39349ba35dc0339eec96d309839211 days 10 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0xc35c40ff4615897b670f65ce85a64eb4fc8f38fd3097101a657e52a16531c51e306940916 days 11 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0xb0a106a6ef4c9c5ad1d6b115ffefd958a5e552002ad4cc8dc38c16f3c5d954d0306734816 days 19 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0xb0a8a4c89409f58927dc0198e1c9eb090a7718e4e4282fd11bdec271e61c113b305113719 days 15 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x786b69a20448e7c6df6a185594074422f96ab8e5ad65860fa01d7499605e937a305043619 days 18 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x6aaa16efdccb8a0651dae78395d458da3cb6b6e99f0d5288125a41a1ec4876f4304659120 days 10 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x97300c093430e94a603a3e74d3ba0161a47d477c66a851dbbbe7e1b389403822303993421 days 14 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x072b03ec4bb290ca51c2854af7a2cc0adeb4ebecb6617f79940b9a9662ede60e303489722 days 11 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x368c1bf9ad199ac64d0f3202ded865d15ea9b825a75aa98609fd4b9029fb054a303238722 days 21 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x104e9f6aea903f9c73e07459b33ce96e4a86ad48e3b436d0db51da1076ec51d0302970323 days 8 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0xc7dc798712a9ebfeba918a23fcb5e3ccdef2583fc41a404c699640c89463a9ae302897623 days 11 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x80ec41faf1b858b367231354a03af32ba8d7a015d96df4942dc7662cb581daf3302890923 days 12 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0xbff7d7bf4d859c4717f59da61b15d3c2a84fbbd7be4a8d167c2ef0f1110d6310302845723 days 13 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0xce6c461746e6e50031cab6f9fe24b3de2f29e6da63cc2c254217dad4b231b90c302741123 days 18 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0xc53b8d3eafadffaf0be3b84aa56f1dec5f60822296157a1e40f6683f14fa78c1302740423 days 18 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x5be8f83f7e7f7712d0a720dbd6fcae5c16f85d58f62f0817ae8308f952631702302738723 days 18 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0xd1eedb3ac9f861ed426075b337c066d730d115821a35faa92242355f031220ff302737423 days 18 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0xebb3eba21dd2f785cfc4cfe45e581b1ad38962c8ecfc83570663aa6c2aee3840302698123 days 20 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x4ca9eeed3e831164a03e11575673c666e1680eab1d50f644b2f07ddc1e097b18302694723 days 20 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0xdcc493a244ef8674852926d58699b7e1c2c013d5b3c44bc73b2fc87a64a42a6f302666523 days 21 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
0x1f4cdca21bd7474fbfc1e84f351c5587380511da3c9ca71aa3d399dadc6a1503302665623 days 21 hrs ago0x87ea811785c4bd30fc104c2543cf8ed90f7eeec7  Contract Creation0 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: MetaIdentityManager
Compiler Text: v0.4.15+commit.bbb8e64f
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity 0.4.15;


contract Owned {
    address public owner;
    modifier onlyOwner() {
        require(isOwner(msg.sender));
        _;
    }

    function Owned() { owner = msg.sender; }

    function isOwner(address addr) public returns(bool) { return addr == owner; }

    function transfer(address newOwner) public onlyOwner {
        if (newOwner != address(this)) {
            owner = newOwner;
        }
    }
}

contract Proxy is Owned {
    event Forwarded (address indexed destination, uint value, bytes data);
    event Received (address indexed sender, uint value);

    function () payable { Received(msg.sender, msg.value); }

    function forward(address destination, uint value, bytes data) public onlyOwner {
        require(destination.call.value(value)(data));
        Forwarded(destination, value, data);
    }
}


contract MetaIdentityManager {
    uint adminTimeLock;
    uint userTimeLock;
    uint adminRate;
    address relay;

    event LogIdentityCreated(
        address indexed identity,
        address indexed creator,
        address owner,
        address indexed recoveryKey);

    event LogOwnerAdded(
        address indexed identity,
        address indexed owner,
        address instigator);

    event LogOwnerRemoved(
        address indexed identity,
        address indexed owner,
        address instigator);

    event LogRecoveryChanged(
        address indexed identity,
        address indexed recoveryKey,
        address instigator);

    event LogMigrationInitiated(
        address indexed identity,
        address indexed newIdManager,
        address instigator);

    event LogMigrationCanceled(
        address indexed identity,
        address indexed newIdManager,
        address instigator);

    event LogMigrationFinalized(
        address indexed identity,
        address indexed newIdManager,
        address instigator);

    mapping(address => mapping(address => uint)) owners;
    mapping(address => address) recoveryKeys;
    mapping(address => mapping(address => uint)) limiter;
    mapping(address => uint) public migrationInitiated;
    mapping(address => address) public migrationNewAddress;

    modifier onlyAuthorized() {
        require(msg.sender == relay || checkMessageData(msg.sender));
        _;
    }

    modifier onlyOwner(address identity, address sender) {
        require(isOwner(identity, sender));
        _;
    }

    modifier onlyOlderOwner(address identity, address sender) {
        require(isOlderOwner(identity, sender));
        _;
    }

    modifier onlyRecovery(address identity, address sender) {
        require(recoveryKeys[identity] == sender);
        _;
    }

    modifier rateLimited(Proxy identity, address sender) {
        require(limiter[identity][sender] < (now - adminRate));
        limiter[identity][sender] = now;
        _;
    }

    modifier validAddress(address addr) { //protects against some weird attacks
        require(addr != address(0));
        _;
    }

    /// @dev Contract constructor sets initial timelocks and meta-tx relay address
    /// @param _userTimeLock Time before new owner added by recovery can control proxy
    /// @param _adminTimeLock Time before new owner can add/remove owners
    /// @param _adminRate Time period used for rate limiting a given key for admin functionality
    /// @param _relayAddress Address of meta transaction relay contract
    function MetaIdentityManager(uint _userTimeLock, uint _adminTimeLock, uint _adminRate, address _relayAddress) {
        require(_adminTimeLock >= _userTimeLock);
        adminTimeLock = _adminTimeLock;
        userTimeLock = _userTimeLock;
        adminRate = _adminRate;
        relay = _relayAddress;
    }

    /// @dev Creates a new proxy contract for an owner and recovery
    /// @param owner Key who can use this contract to control proxy. Given full power
    /// @param recoveryKey Key of recovery network or address from seed to recovery proxy
    /// Gas cost of ~300,000
    function createIdentity(address owner, address recoveryKey) public validAddress(recoveryKey) {
        Proxy identity = new Proxy();
        owners[identity][owner] = now - adminTimeLock; // This is to ensure original owner has full power from day one
        recoveryKeys[identity] = recoveryKey;
        LogIdentityCreated(identity, msg.sender, owner,  recoveryKey);
    }

    /// @dev Creates a new proxy contract for an owner and recovery and allows an initial forward call which would be to set the registry in our case
    /// @param owner Key who can use this contract to control proxy. Given full power
    /// @param recoveryKey Key of recovery network or address from seed to recovery proxy
    /// @param destination Address of contract to be called after proxy is created
    /// @param data of function to be called at the destination contract
    function createIdentityWithCall(address owner, address recoveryKey, address destination, bytes data) public validAddress(recoveryKey) {
        Proxy identity = new Proxy();
        owners[identity][owner] = now - adminTimeLock; // This is to ensure original owner has full power from day one
        recoveryKeys[identity] = recoveryKey;
        LogIdentityCreated(identity, msg.sender, owner,  recoveryKey);
        identity.forward(destination, 0, data);
    }

    /// @dev Allows a user to transfer control of existing proxy to this contract. Must come through proxy
    /// @param owner Key who can use this contract to control proxy. Given full power
    /// @param recoveryKey Key of recovery network or address from seed to recovery proxy
    /// Note: User must change owner of proxy to this contract after calling this
    function registerIdentity(address owner, address recoveryKey) public validAddress(recoveryKey) {
        require(recoveryKeys[msg.sender] == 0); // Deny any funny business
        owners[msg.sender][owner] = now - adminTimeLock; // Owner has full power from day one
        recoveryKeys[msg.sender] = recoveryKey;
        LogIdentityCreated(msg.sender, msg.sender, owner, recoveryKey);
    }

    /// @dev Allows a user to forward a call through their proxy.
    function forwardTo(address sender, Proxy identity, address destination, uint value, bytes data) public
        onlyAuthorized
        onlyOwner(identity, sender)
    {
        identity.forward(destination, value, data);
    }

    /// @dev Allows an olderOwner to add a new owner instantly
    function addOwner(address sender, Proxy identity, address newOwner) public
        onlyAuthorized
        onlyOlderOwner(identity, sender)
        rateLimited(identity, sender)
    {
        require(!isOwner(identity, newOwner));
        owners[identity][newOwner] = now - userTimeLock;
        LogOwnerAdded(identity, newOwner, sender);
    }

    /// @dev Allows a recoveryKey to add a new owner with userTimeLock waiting time
    function addOwnerFromRecovery(address sender, Proxy identity, address newOwner) public
        onlyAuthorized
        onlyRecovery(identity, sender)
        rateLimited(identity, sender)
    {
        require(!isOwner(identity, newOwner));
        owners[identity][newOwner] = now;
        LogOwnerAdded(identity, newOwner, sender);
    }

    /// @dev Allows an owner to remove another owner instantly
    function removeOwner(address sender, Proxy identity, address owner) public
        onlyAuthorized
        onlyOlderOwner(identity, sender)
        rateLimited(identity, sender)
    {
        // an owner should not be allowed to remove itself
        require(sender != owner);
        delete owners[identity][owner];
        LogOwnerRemoved(identity, owner, sender);
    }

    /// @dev Allows an owner to change the recoveryKey instantly
    function changeRecovery(address sender, Proxy identity, address recoveryKey) public
        onlyAuthorized
        onlyOlderOwner(identity, sender)
        rateLimited(identity, sender)
        validAddress(recoveryKey)
    {
        recoveryKeys[identity] = recoveryKey;
        LogRecoveryChanged(identity, recoveryKey, sender);
    }

    /// @dev Allows an owner to begin process of transfering proxy to new IdentityManager
    function initiateMigration(address sender, Proxy identity, address newIdManager) public
        onlyAuthorized
        onlyOlderOwner(identity, sender)
    {
        migrationInitiated[identity] = now;
        migrationNewAddress[identity] = newIdManager;
        LogMigrationInitiated(identity, newIdManager, sender);
    }

    /// @dev Allows an owner to cancel the process of transfering proxy to new IdentityManager
    function cancelMigration(address sender, Proxy identity) public
        onlyAuthorized
        onlyOwner(identity, sender)
    {
        address canceledManager = migrationNewAddress[identity];
        delete migrationInitiated[identity];
        delete migrationNewAddress[identity];
        LogMigrationCanceled(identity, canceledManager, sender);
    }

    /// @dev Allows an owner to finalize and completly transfer proxy to new IdentityManager
    /// Note: before transfering to a new address, make sure this address is "ready to recieve" the proxy.
    /// Not doing so risks the proxy becoming stuck.
    function finalizeMigration(address sender, Proxy identity) onlyAuthorized onlyOlderOwner(identity, sender) {
        require(migrationInitiated[identity] != 0 && migrationInitiated[identity] + adminTimeLock < now);
        address newIdManager = migrationNewAddress[identity];
        delete migrationInitiated[identity];
        delete migrationNewAddress[identity];
        identity.transfer(newIdManager);
        delete recoveryKeys[identity];
        // We can only delete the owner that we know of. All other owners
        // needs to be removed before a call to this method.
        delete owners[identity][sender];
        LogMigrationFinalized(identity, newIdManager, sender);
    }

    //Checks that address a is the first input in msg.data.
    //Has very minimal gas overhead.
    function checkMessageData(address a) internal constant returns (bool t) {
        if (msg.data.length < 36) return false;
        assembly {
            let mask := 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
            t := eq(a, and(mask, calldataload(4)))
        }
    }

    function isOwner(address identity, address owner) public constant returns (bool) {
        return (owners[identity][owner] > 0 && (owners[identity][owner] + userTimeLock) <= now);
    }

    function isOlderOwner(address identity, address owner) public constant returns (bool) {
        return (owners[identity][owner] > 0 && (owners[identity][owner] + adminTimeLock) <= now);
    }

    function isRecovery(address identity, address recoveryKey) public constant returns (bool) {
        return recoveryKeys[identity] == recoveryKey;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"identity","type":"address"},{"name":"recoveryKey","type":"address"}],"name":"isRecovery","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"identity","type":"address"},{"name":"owner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"identity","type":"address"},{"name":"newIdManager","type":"address"}],"name":"initiateMigration","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"identity","type":"address"},{"name":"recoveryKey","type":"address"}],"name":"changeRecovery","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"identity","type":"address"},{"name":"owner","type":"address"}],"name":"isOlderOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"recoveryKey","type":"address"},{"name":"destination","type":"address"},{"name":"data","type":"bytes"}],"name":"createIdentityWithCall","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"migrationNewAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"identity","type":"address"},{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"forwardTo","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"identity","type":"address"},{"name":"newOwner","type":"address"}],"name":"addOwnerFromRecovery","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"recoveryKey","type":"address"}],"name":"registerIdentity","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"identity","type":"address"},{"name":"owner","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"identity","type":"address"}],"name":"cancelMigration","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"identity","type":"address"},{"name":"newOwner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"identity","type":"address"}],"name":"finalizeMigration","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"migrationInitiated","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"recoveryKey","type":"address"}],"name":"createIdentity","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_userTimeLock","type":"uint256"},{"name":"_adminTimeLock","type":"uint256"},{"name":"_adminRate","type":"uint256"},{"name":"_relayAddress","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"identity","type":"address"},{"indexed":true,"name":"creator","type":"address"},{"indexed":false,"name":"owner","type":"address"},{"indexed":true,"name":"recoveryKey","type":"address"}],"name":"LogIdentityCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"identity","type":"address"},{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"instigator","type":"address"}],"name":"LogOwnerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"identity","type":"address"},{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"instigator","type":"address"}],"name":"LogOwnerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"identity","type":"address"},{"indexed":true,"name":"recoveryKey","type":"address"},{"indexed":false,"name":"instigator","type":"address"}],"name":"LogRecoveryChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"identity","type":"address"},{"indexed":true,"name":"newIdManager","type":"address"},{"indexed":false,"name":"instigator","type":"address"}],"name":"LogMigrationInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"identity","type":"address"},{"indexed":true,"name":"newIdManager","type":"address"},{"indexed":false,"name":"instigator","type":"address"}],"name":"LogMigrationCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"identity","type":"address"},{"indexed":true,"name":"newIdManager","type":"address"},{"indexed":false,"name":"instigator","type":"address"}],"name":"LogMigrationFinalized","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052341561000f57600080fd5b6040516080806116da833981016040528080519190602001805191906020018051919060200180519150505b8383101561004857600080fd5b60008390556001849055600282905560038054600160a060020a031916600160a060020a0383161790555b505050505b611653806100876000396000f300606060405236156100ca5763ffffffff60e060020a60003504166311fe12b381146100cf5780631a45fac7146101085780631e2629e1146101355780633061e0ef1461016257806332967ea01461018f5780633c8ac88e146101c8578063422e33f314610238578063701b882614610273578063754fd352146102e6578063781f5a83146103135780637ddc02d41461033a578063a596703914610373578063a949c6371461039a578063c7576ed4146103c7578063c778427b146103ee578063d10e73ab1461041f575b600080fd5b34156100da57600080fd5b6100f4600160a060020a0360043581169060243516610446565b604051901515815260200160405180910390f35b341561011357600080fd5b610133600160a060020a036004358116906024358116906044351661046d565b005b341561014057600080fd5b610133600160a060020a036004358116906024358116906044351661059f565b005b341561016d57600080fd5b610133600160a060020a0360043581169060243581169060443516610666565b005b341561019a57600080fd5b6100f4600160a060020a036004358116906024351661079a565b604051901515815260200160405180910390f35b34156101d357600080fd5b61013360048035600160a060020a03908116916024803583169260443516919060849060643590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061080495505050505050565b005b341561024357600080fd5b610257600160a060020a03600435166109ba565b604051600160a060020a03909116815260200160405180910390f35b341561027e57600080fd5b61013360048035600160a060020a03908116916024803583169260443516916064359160a49060843590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506109d595505050505050565b005b34156102f157600080fd5b610133600160a060020a0360043581169060243581169060443516610b06565b005b341561031e57600080fd5b610133600160a060020a0360043581169060243516610c50565b005b341561034557600080fd5b6100f4600160a060020a0360043581169060243516610d23565b604051901515815260200160405180910390f35b341561037e57600080fd5b610133600160a060020a0360043581169060243516610d8d565b005b34156103a557600080fd5b610133600160a060020a0360043581169060243581169060443516610e5d565b005b34156103d257600080fd5b610133600160a060020a0360043581169060243516610f9b565b005b34156103f957600080fd5b61040d600160a060020a0360043516611153565b60405190815260200160405180910390f35b341561042a57600080fd5b610133600160a060020a0360043581169060243516611165565b005b600160a060020a038281166000908152600560205260409020548116908216145b92915050565b60035433600160a060020a039081169116148061048e575061048e33611237565b5b151561049a57600080fd5b81836104a6828261079a565b15156104b157600080fd5b600254600160a060020a038086166000908152600660209081526040808320938a168352929052205485918791429190910390106104ee57600080fd5b600160a060020a03808316600090815260066020908152604080832085851684529091529020429055878116908616141561052857600080fd5b600160a060020a038087166000818152600460209081526040808320948a1680845294909152808220919091557f5e159cd4447854ae8b4aa048f91c8daad986faab696c3685030e1a5e5a4e8ced908a9051600160a060020a03909116815260200160405180910390a35b5b50505b50505b505050565b60035433600160a060020a03908116911614806105c057506105c033611237565b5b15156105cc57600080fd5b81836105d8828261079a565b15156105e357600080fd5b600160a060020a0384811660008181526007602090815260408083204290556008909152908190208054600160a060020a03191693871693841790557fb7b4557c664a8a4a9a57f5e00f216de044a96f96fc84b70eaa6bd48cb078454190889051600160a060020a03909116815260200160405180910390a35b5b50505b505050565b60035433600160a060020a0390811691161480610687575061068733611237565b5b151561069357600080fd5b818361069f828261079a565b15156106aa57600080fd5b600254600160a060020a038086166000908152600660209081526040808320938a168352929052205485918791429190910390106106e757600080fd5b600160a060020a0380831660009081526006602090815260408083208585168452909152902042905585908116151561071f57600080fd5b600160a060020a03878116600081815260056020526040908190208054600160a060020a031916938a1693841790557fbd1ad05c16aafa75ac8c1d6b8264f47ad9f3045596f667c9476f3f749c018709908b9051600160a060020a03909116815260200160405180910390a35b5b505b50505b50505b505050565b600160a060020a03808316600090815260046020908152604080832093851683529290529081205481901180156107fb575060008054600160a060020a03808616835260046020908152604080852092871685529190529091205442910111155b90505b92915050565b600083600160a060020a038116151561081c57600080fd5b61082461125f565b604051809103906000f080151561083a57600080fd5b60008054600160a060020a038381168084526004602090815260408086208d851687528252808620429590950390945581855260059052928290208054600160a060020a0319168a8316908117909155939550331691907f14e580ab5cd452b772e031536a7c893ec705152c17b3665c6671b382c3ee6266908a9051600160a060020a03909116815260200160405180910390a481600160a060020a031663d7f31eb9856000866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561094f5780820151818401525b602001610936565b50505050905090810190601f16801561097c5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b151561099c57600080fd5b6102c65a03f115156109ad57600080fd5b5050505b5b505050505050565b600860205260009081526040902054600160a060020a031681565b60035433600160a060020a03908116911614806109f657506109f633611237565b5b1515610a0257600080fd5b8385610a0e8282610d23565b1515610a1957600080fd5b85600160a060020a031663d7f31eb98686866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a995780820151818401525b602001610a80565b50505050905090810190601f168015610ac65780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610ae657600080fd5b6102c65a03f11515610af757600080fd5b5050505b5b50505b5050505050565b60035433600160a060020a0390811691161480610b275750610b2733611237565b5b1515610b3357600080fd5b600160a060020a0380831660009081526005602052604090205483918591811690821614610b6057600080fd5b600254600160a060020a038086166000908152600660209081526040808320938a16835292905220548591879142919091039010610b9d57600080fd5b600160a060020a038083166000908152600660209081526040808320938516835292905220429055610bcf8686610d23565b15610bd957600080fd5b600160a060020a038087166000818152600460209081526040808320948a1680845294909152908190204290557f8672e8532f3edff41d3acf0cd4be6ff900e427461b81d094f0197354471cb3c6908a9051600160a060020a03909116815260200160405180910390a35b5b50505b50505b505050565b80600160a060020a0381161515610c6657600080fd5b600160a060020a033381166000908152600560205260409020541615610c8b57600080fd5b60008054600160a060020a0333811680845260046020908152604080862089851687528252808620429590950390945581855260059052928290208054918616600160a060020a031990921682179055919081907f14e580ab5cd452b772e031536a7c893ec705152c17b3665c6671b382c3ee626690879051600160a060020a03909116815260200160405180910390a45b5b505050565b600160a060020a03808316600090815260046020908152604080832093851683529290529081205481901180156107fb5750600154600160a060020a0380851660009081526004602090815260408083209387168352929052205442910111155b90505b92915050565b60035460009033600160a060020a0390811691161480610db15750610db133611237565b5b1515610dbd57600080fd5b8183610dc98282610d23565b1515610dd457600080fd5b600160a060020a03808516600081815260086020818152604080842080546007845282862095909555929091528154600160a060020a0319169091559216945084917f60e805c5650597523aba29fb00a59c856d925c672bce1ea7d579f03aef3a10ce90889051600160a060020a03909116815260200160405180910390a35b5b50505b505050565b60035433600160a060020a0390811691161480610e7e5750610e7e33611237565b5b1515610e8a57600080fd5b8183610e96828261079a565b1515610ea157600080fd5b600254600160a060020a038086166000908152600660209081526040808320938a16835292905220548591879142919091039010610ede57600080fd5b600160a060020a038083166000908152600660209081526040808320938516835292905220429055610f108686610d23565b15610f1a57600080fd5b600154600160a060020a038088166000818152600460209081526040808320948b168084529490915290819020429490940390935590917f8672e8532f3edff41d3acf0cd4be6ff900e427461b81d094f0197354471cb3c6908a9051600160a060020a03909116815260200160405180910390a35b5b50505b50505b505050565b60035460009033600160a060020a0390811691161480610fbf5750610fbf33611237565b5b1515610fcb57600080fd5b8183610fd7828261079a565b1515610fe257600080fd5b600160a060020a03841660009081526007602052604090205415801590611024575060008054600160a060020a03861682526007602052604090912054429101105b151561102f57600080fd5b600160a060020a03808516600081815260086020818152604080842080546007845282862095909555929091528154600160a060020a0319169091559216945090631a6952309085905160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156110b457600080fd5b6102c65a03f115156110c557600080fd5b505050600160a060020a0380851660008181526005602090815260408083208054600160a060020a0319169055600482528083208a8616845290915280822091909155918516917f565ed5a2d5e196b82acb6ff1149b699c2b13169c7d34412d736d3c380de64f3190889051600160a060020a03909116815260200160405180910390a35b5b50505b505050565b60076020526000908152604090205481565b600081600160a060020a038116151561117d57600080fd5b61118561125f565b604051809103906000f080151561119b57600080fd5b60008054600160a060020a038381168084526004602090815260408086208b851687528252808620429590950390945581855260059052928290208054600160a060020a031916888316908117909155939550331691907f14e580ab5cd452b772e031536a7c893ec705152c17b3665c6671b382c3ee626690889051600160a060020a03909116815260200160405180910390a45b5b50505050565b6000602436101561124a5750600061125a565b50600435600160a060020a031681145b919050565b6040516103b88061127083390190560060606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610387806100316000396000f3006060604052361561005f5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631a69523081146100a05780632f54bf6e146100c15780638da5cb5b146100f4578063d7f31eb914610123575b5b33600160a060020a03167f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f885258743460405190815260200160405180910390a25b005b34156100ab57600080fd5b61009e600160a060020a036004351661018a565b005b34156100cc57600080fd5b6100e0600160a060020a03600435166101e7565b604051901515815260200160405180910390f35b34156100ff57600080fd5b6101076101fe565b604051600160a060020a03909116815260200160405180910390f35b341561012e57600080fd5b61009e60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061020d95505050505050565b005b610193336101e7565b151561019e57600080fd5b30600160a060020a031681600160a060020a03161415156101e2576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a031681565b610216336101e7565b151561022157600080fd5b82600160a060020a0316828260405180828051906020019080838360005b838110156102585780820151818401525b60200161023f565b50505050905090810190601f1680156102855780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f19250505015156102a957600080fd5b82600160a060020a03167fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41838360405182815260406020820181815290820183818151815260200191508051906020019080838360005b838110156103195780820151818401525b602001610300565b50505050905090810190601f1680156103465780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5050505600a165627a7a72305820dcb26f0fbb81926e3b3d053ffd1c1260ebb65f5b4166b74f38e53f04234042860029a165627a7a723058202bc36d84a511b64d284e78aaecf9b0dd6e38b033a0bccddb23af4c6c5aeb2de900290000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000001fa4000000000000000000000000000000000000000000000000000000000000004b0000000000000000000000000da8c6dce9e9a85e6f9df7b09b2354da44cb48331

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

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000e10
Arg [1] : 000000000000000000000000000000000000000000000000000000000001fa40
Arg [2] : 00000000000000000000000000000000000000000000000000000000000004b0
Arg [3] : 000000000000000000000000da8c6dce9e9a85e6f9df7b09b2354da44cb48331


   Swarm Source:
bzzr://2bc36d84a511b64d284e78aaecf9b0dd6e38b033a0bccddb23af4c6c5aeb2de9

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward