Contract Overview
ETH Balance: 0 Ether
No Of Transactions: 2169 txns
  Latest 25 txns from a total Of 2169 transactions View All

TxHash Age From To Value [TxFee]
0x19bb989b8dee933bbdc1363f83ce7431ddcb65fa2e84f043c721423ab5c0507813 days 20 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.006523125
0x6be0176143441daa88f7da596c58640559a045f85aafd8a8618c5e01044cfabb43 days 2 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.09313450945
0xda5834fd77487b4e0be7db8c219e8ed67b4749fe911c9f419c62adb181262f7548 days 5 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.09314090625
0x9b7041c585f3043ad1b1305365c77dbf71922ff9fd8821d1fd4bd41290ab04b961 days 1 hr ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.09314090625
0x6609d65d5ccfe9bc9b3822207d9b0e5b375fe239040400bcc3d3a09aeb1eaa7c71 days 9 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.0930943125
0x8c51e4be16e86a8ae60a4d601b951787707df32b56649a7a9dd2f11904ea00a479 days 19 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.0930943125
0x9c58a2db1bb164c7d69b9cee50be062be23eba5a512901d9f7469840bf1a522083 days 6 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.0930943125
0x46c8779b2be9b227805454bcab1b1277b719e1263f4601c83be9fa2279af9c1883 days 6 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.0930943125
0xac32c979095367f753047c7b9c3c864d4c65dc3bb42216107d5fb032c42e602085 days 10 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.0930943125
0x1777d09ca71fd2599834123d4960ba968adb73c0d4dec97281fb26a4007c378b86 days 5 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.0930943125
0x3d9a0afed7d0501c40f8c5f4588ddf2f2f821f2304f71544f7f821e70f155bac89 days 9 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.08386875
0x956375092a64513955c02fc2eb3dab7fe150183b678286592f4ec1b53bd182b189 days 12 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.07455
0xf2df43dd2a607a7efad588a910e7f048b2d04d3a4e6b3597c14896afcb354e1e90 days 6 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.07454488
0x2bafbd6045709608a081b19ede1ff841d9c1f80b519b20240628388b8c34a76590 days 8 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.07455
0xddc7c055df3de4b36dc37b26dc946b58b8ea60485345f974493d02bd437f5edf90 days 8 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.07455
0x08982df97b6c013165b9893a53f5674943321b52db2ab06dbfb6ff8b4c9b738390 days 22 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.07455
0x54fd6d441050d6a03b557cc6816b33614ccf1b9c97843039cbed7b951a2ed80891 days 18 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.07454488
0xec6400dbacdea4fb4a4c34d0a4922d9734358d3cdba442a8bf01dd75fac2512a91 days 18 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.07455
0x89f9ea9b194064bbf2ed3e9cce0a6bace78254620dff5fb33003749f3ca6471f92 days 3 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.07455
0x6885c1e65256b1789796e862ac93f746778ad7ab9c856abba3095080efbda28b92 days 14 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.07455
0x9e350935d1f15c9376affa2d70f9f98a9492d3642a2145d7c2f0020ee49caeca92 days 17 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.007455
0x980f70859a396c6f2342e14e9bbfc7bf552912275fabf7561958faeb9ec87aad92 days 22 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.007455
0x1e30a031910f56d13c1d91d3c8c97ab18aa8a196db0b42453bc9f87b24f1b39e93 days 2 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.005590866
0x4fcf6a81a8ff0d403eb0a277d959cbe3fd8e43f335e5643b9fd1dc371003f65e93 days 2 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.00559125
0xce37a805c43d261f423aadb305752d15ba0ad3dda5c2c95af73f8eb8477951d193 days 4 hrs ago0x50858f2c7873fac9398ed9c195d185089caa7967  IN   0xd7dc3926bc6089a5be4815215ceaa6e7075910230 Ether0.00559125
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Name: IdentityFactoryWithRecoveryKey
Compiler Version: v0.4.8+commit.60cc1668
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.4;

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

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

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

  function transfer(address _owner) onlyOwner { owner = _owner; }
}

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) onlyOwner {
    if (!destination.call.value(value)(data)) { throw; }
    Forwarded(destination, value, data);
  }
}

contract RecoverableController {
  uint    public version;
  Proxy   public proxy;

  address public userKey;
  address public proposedUserKey;
  uint    public proposedUserKeyPendingUntil;

  address public recoveryKey;
  address public proposedRecoveryKey;
  uint    public proposedRecoveryKeyPendingUntil;

  address public proposedController;
  uint    public proposedControllerPendingUntil;

  uint    public shortTimeLock;// use 900 for 15 minutes
  uint    public longTimeLock; // use 259200 for 3 days

  event RecoveryEvent(string action, address initiatedBy);

  modifier onlyUserKey() { if (msg.sender == userKey) _; }
  modifier onlyRecoveryKey() { if (msg.sender == recoveryKey) _; }

  function RecoverableController(address proxyAddress, address _userKey, uint _longTimeLock, uint _shortTimeLock) {
    version = 1;
    proxy = Proxy(proxyAddress);
    userKey = _userKey;
    shortTimeLock = _shortTimeLock;
    longTimeLock = _longTimeLock;
    recoveryKey = msg.sender;
  }

  function forward(address destination, uint value, bytes data) onlyUserKey {
    proxy.forward(destination, value, data);
  }
  //pass 0x0 to cancel 
  function signRecoveryChange(address _proposedRecoveryKey) onlyUserKey{
    proposedRecoveryKeyPendingUntil = now + longTimeLock;
    proposedRecoveryKey = _proposedRecoveryKey;
    RecoveryEvent("signRecoveryChange", msg.sender);
  }
  function changeRecovery() {
    if(proposedRecoveryKeyPendingUntil < now && proposedRecoveryKey != 0x0){
      recoveryKey = proposedRecoveryKey;
      delete proposedRecoveryKey;
    }
  }
  //pass 0x0 to cancel 
  function signControllerChange(address _proposedController) onlyUserKey{
    proposedControllerPendingUntil = now + longTimeLock;
    proposedController = _proposedController;
    RecoveryEvent("signControllerChange", msg.sender);
  }
  function changeController() {
    if(proposedControllerPendingUntil < now && proposedController != 0x0){
      proxy.transfer(proposedController);
      suicide(proposedController);
    }
  }
  //pass 0x0 to cancel 
  function signUserKeyChange(address _proposedUserKey) onlyUserKey{
    proposedUserKeyPendingUntil = now + shortTimeLock;
    proposedUserKey = _proposedUserKey;
    RecoveryEvent("signUserKeyChange", msg.sender);
  }
  function changeUserKey(){
    if(proposedUserKeyPendingUntil < now && proposedUserKey != 0x0){
      userKey = proposedUserKey;
      delete proposedUserKey;
      RecoveryEvent("changeUserKey", msg.sender);
    }
  }
  
  function changeRecoveryFromRecovery(address _recoveryKey) onlyRecoveryKey{ recoveryKey = _recoveryKey; }
  function changeUserKeyFromRecovery(address _userKey) onlyRecoveryKey{
    delete proposedUserKey;
    userKey = _userKey;
  }
}

contract IdentityFactoryWithRecoveryKey {
    event IdentityCreated(
        address indexed userKey,
        address proxy,
        address controller,
        address indexed recoveryKey);

    mapping(address => address) public senderToProxy;
    mapping(address => address) public recoveryToProxy;

    //cost ~2.4M gas
    function CreateProxyWithControllerAndRecoveryKey(address userKey, address _recoveryKey, uint longTimeLock, uint shortTimeLock) {
        Proxy proxy = new Proxy();
        RecoverableController controller = new RecoverableController(proxy, userKey, longTimeLock, shortTimeLock);
        proxy.transfer(controller);
        controller.changeRecoveryFromRecovery(_recoveryKey);

        IdentityCreated(userKey, proxy, controller, _recoveryKey);
        senderToProxy[msg.sender] = proxy;
        recoveryToProxy[_recoveryKey] = proxy;
    }
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"userKey","type":"address"},{"name":"_recoveryKey","type":"address"},{"name":"longTimeLock","type":"uint256"},{"name":"shortTimeLock","type":"uint256"}],"name":"CreateProxyWithControllerAndRecoveryKey","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"recoveryToProxy","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"senderToProxy","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"userKey","type":"address"},{"indexed":false,"name":"proxy","type":"address"},{"indexed":false,"name":"controller","type":"address"},{"indexed":true,"name":"recoveryKey","type":"address"}],"name":"IdentityCreated","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405234610000575b61109d806100196000396000f300606060405263ffffffff60e060020a6000350416634a3a87e2811461003a5780636738bd4e14610061578063e90bcb3214610096575b610000565b346100005761005f600160a060020a03600435811690602435166044356064356100cb565b005b346100005761007a600160a060020a03600435166102a6565b60408051600160a060020a039092168252519081900360200190f35b346100005761007a600160a060020a03600435166102c1565b60408051600160a060020a039092168252519081900360200190f35b60006000604051610382806102dd83396040519101819003906000f0801561000057915081868585604051610a138061065f8339600160a060020a0395861691019081529290931660208301526040808301919091526060820192909252905190819003608001906000f0801561000057905081600160a060020a0316631a695230826040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b156100005760325a03f1156100005750505080600160a060020a031663a08df770866040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b156100005760325a03f11561000057505060408051600160a060020a03858116825284811660208301528251818a169450908a16927fc36800ebd6079fdafc3a7100d0d1172815751804a6d1b7eb365b85f6c9c80e61928290030190a3600160a060020a03338116600090815260208181526040808320805485881673ffffffffffffffffffffffffffffffffffffffff199182168117909255948a168452600190925290912080549092161790555b505050505050565b600160205260009081526040902054600160a060020a031681565b600060208190529081526040902054600160a060020a031681560060606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610351806100316000396000f300606060405236156100465763ffffffff60e060020a6000350416631a695230811461008e5780632f54bf6e146100a95780638da5cb5b146100d6578063d7f31eb9146100ff575b61008c5b604080513481529051600160a060020a033316917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874919081900360200190a25b565b005b346100005761008c600160a060020a0360043516610161565b005b34610000576100c2600160a060020a036004351661019d565b604080519115158252519081900360200190f35b34610000576100e36101b4565b60408051600160a060020a039092168252519081900360200190f35b3461000057604080516020600460443581810135601f810184900484028501840190955284845261008c948235600160a060020a03169460248035956064949293919092019181908401838280828437509496506101c395505050505050565b005b61016a3361019d565b15610198576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a031681565b6101cc3361019d565b1561031e5782600160a060020a0316828260405180828051906020019080838360008314610215575b80518252602083111561021557601f1990920191602091820191016101f5565b505050905090810190601f1680156102415780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876185025a03f192505050151561026557610000565b82600160a060020a03167fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41838360405180838152602001806020018281038252838181518152602001915080519060200190808383600083146102e3575b8051825260208311156102e357601f1990920191602091820191016102c3565b505050905090810190601f16801561030f5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5b5050505600a165627a7a723058201d08dfdc10daed12ae0a5bfec3c85fac4143262d2bd01733fa3346596904f36a002960606040523461000057604051608080610a1383398101604090815281516020830151918301516060909301519092905b600160008190558054600160a060020a03808716600160a060020a03199283161790925560028054868416908316179055600a839055600b8490556005805433909316929091169190911790555b505050505b610981806100926000396000f300606060405236156101015763ffffffff60e060020a60003504166309b8f77a81146101065780631c1c22891461012f5780631de0e877146101585780631ec9f7b51461017757806334c7dcf8146101965780634893ed5b146101bf57806354fd4d50146101de5780637a5d5345146101fd5780637ab0b9981461021857806384191f62146102335780638ac0eef91461024257806397905a8814610251578063a08df7701461027a578063c998e9dd14610295578063cbd2c73b146102b0578063d1c484f6146102cb578063d233fc0b146102ea578063d7f31eb9146102f9578063ec5568891461035b578063f60edb0e14610384578063f66c6691146103ad575b610000565b34610000576101136103cc565b60408051600160a060020a039092168252519081900360200190f35b34610000576101136103db565b60408051600160a060020a039092168252519081900360200190f35b34610000576101656103ea565b60408051918252519081900360200190f35b34610000576101656103f0565b60408051918252519081900360200190f35b34610000576101136103f6565b60408051600160a060020a039092168252519081900360200190f35b3461000057610165610405565b60408051918252519081900360200190f35b346100005761016561040b565b60408051918252519081900360200190f35b3461000057610216600160a060020a0360043516610411565b005b3461000057610216600160a060020a03600435166104ac565b005b3461000057610216610547565b005b34610000576102166105e9565b005b346100005761011361068c565b60408051600160a060020a039092168252519081900360200190f35b3461000057610216600160a060020a036004351661069b565b005b3461000057610216600160a060020a03600435166106d3565b005b3461000057610216600160a060020a0360043516610717565b005b34610000576101656107b2565b60408051918252519081900360200190f35b34610000576102166107b8565b005b3461000057604080516020600460443581810135601f8101849004840285018401909552848452610216948235600160a060020a031694602480359560649492939190920191819084018382808284375094965061080195505050505050565b005b3461000057610113610911565b60408051600160a060020a039092168252519081900360200190f35b3461000057610113610920565b60408051600160a060020a039092168252519081900360200190f35b346100005761016561092f565b60408051918252519081900360200190f35b600654600160a060020a031681565b600254600160a060020a031681565b60095481565b600b5481565b600354600160a060020a031681565b60045481565b60005481565b60025433600160a060020a03908116911614156104a757600b54420160095560088054600160a060020a031916600160a060020a0383811691909117909155604080513390921660208301528082526014828201527f7369676e436f6e74726f6c6c65724368616e6765000000000000000000000000606083015251600080516020610936833981519152916080908290030190a15b5b5b50565b60025433600160a060020a03908116911614156104a757600b54420160075560068054600160a060020a031916600160a060020a0383811691909117909155604080513390921660208301528082526012828201527f7369676e5265636f766572794368616e67650000000000000000000000000000606083015251600080516020610936833981519152916080908290030190a15b5b5b50565b426009541080156105625750600854600160a060020a031615155b156105e657600154600854604080517f1a695230000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015290519190921691631a69523091602480830192600092919082900301818387803b156100005760325a03f115610000575050600854600160a060020a03169050ff5b5b565b426004541080156106045750600354600160a060020a031615155b156105e6576003805460028054600160a060020a03808416600160a060020a03199283161790925590911690915560408051339092166020830152808252600d828201527f6368616e6765557365724b657900000000000000000000000000000000000000606083015251600080516020610936833981519152916080908290030190a15b5b565b600554600160a060020a031681565b60055433600160a060020a03908116911614156104a75760058054600160a060020a031916600160a060020a0383161790555b5b5b50565b60055433600160a060020a03908116911614156104a75760038054600160a060020a031990811690915560028054909116600160a060020a0383161790555b5b5b50565b60025433600160a060020a03908116911614156104a757600a54420160045560038054600160a060020a031916600160a060020a0383811691909117909155604080513390921660208301528082526011828201527f7369676e557365724b65794368616e6765000000000000000000000000000000606083015251600080516020610936833981519152916080908290030190a15b5b5b50565b60075481565b426007541080156107d35750600654600160a060020a031615155b156105e6576006805460058054600160a060020a0319908116600160a060020a038416179091551690555b5b565b60025433600160a060020a039081169116141561090a576001546040517fd7f31eb9000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830190815260248301869052606060448401908152855160648501528551929094169363d7f31eb99388938893889390929091608490910190602085019080838382156108b6575b8051825260208311156108b657601f199092019160209182019101610896565b505050905090810190601f1680156108e25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b156100005760325a03f115610000575050505b5b5b505050565b600154600160a060020a031681565b600854600160a060020a031681565b600a54815600ea8e84a162c4602ea0c61acf85fa1242db8ce550e7a448d613e3c7dff2f06793a165627a7a7230582055dd5e79ac17387077c5f0283d2c23a9a796b29b0b8e40631c3d8ca89c9121690029a165627a7a723058206487a3117e249333dc025a547e0b1c1c1c8b3c07c0e2a0448543a187148f94db0029

   Swarm Source:
bzzr://6487a3117e249333dc025a547e0b1c1c1c8b3c07c0e2a0448543a187148f94db

 

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