ETH Price: $1,913.86 (+4.77%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute137377912021-12-04 4:29:561544 days ago1638592196IN
0x00000001...c675E5034
0 ETH0.0076647596.36843064
Execute122449872021-04-15 13:43:341776 days ago1618494214IN
0x00000001...c675E5034
0 ETH0.0087496575.00000005
Execute121994762021-04-08 13:37:521783 days ago1617889072IN
0x00000001...c675E5034
0 ETH0.01013846121.00000012
Execute111339282020-10-26 19:27:401947 days ago1603740460IN
0x00000001...c675E5034
0 ETH0.0072342660
Execute111162462020-10-24 2:11:261950 days ago1603505486IN
0x00000001...c675E5034
0 ETH0.0072318660
Execute111147312020-10-23 20:29:261950 days ago1603484966IN
0x00000001...c675E5034
0 ETH0.0065977260
Execute110689882020-10-16 20:05:341957 days ago1602878734IN
0x00000001...c675E5034
0 ETH0.0050278260
Execute110225172020-10-09 17:10:361964 days ago1602263436IN
0x00000001...c675E5034
0 ETH0.01660547151.00000015
Execute110224972020-10-09 17:05:521964 days ago1602263152IN
0x00000001...c675E5034
0 ETH0.01660728151.00000015
Execute110224702020-10-09 17:01:361964 days ago1602262896IN
0x00000001...c675E5034
0 ETH0.0166103151.00000015
Execute109722982020-10-01 20:14:041972 days ago1601583244IN
0x00000001...c675E5034
0 ETH0.0058652370
Execute109722952020-10-01 20:12:561972 days ago1601583176IN
0x00000001...c675E5034
0 ETH0.0058666370
Execute109722852020-10-01 20:11:431972 days ago1601583103IN
0x00000001...c675E5034
0 ETH0.0058649570
Execute109382532020-09-26 12:31:071977 days ago1601123467IN
0x00000001...c675E5034
0 ETH0.0085525977.77777777
Execute108822692020-09-17 21:51:521986 days ago1600379512IN
0x00000001...c675E5034
0 ETH0.02680502319.911
Execute105949982020-08-04 18:45:562030 days ago1596566756IN
0x00000001...c675E5034
0 ETH0.0061088355.55
Execute105492512020-07-28 16:58:292037 days ago1595955509IN
0x00000001...c675E5034
0 ETH0.0066090678.87
Execute104715982020-07-16 16:28:052049 days ago1594916885IN
0x00000001...c675E5034
0 ETH0.0086733378.87
Execute104256452020-07-09 13:51:382056 days ago1594302698IN
0x00000001...c675E5034
0 ETH0.002539257.75
Execute104256452020-07-09 13:51:382056 days ago1594302698IN
0x00000001...c675E5034
0 ETH0.0033547540.04
Execute103240032020-06-23 19:46:562072 days ago1592941616IN
0x00000001...c675E5034
0 ETH0.0044019140.04
Execute102783202020-06-16 18:01:052079 days ago1592330465IN
0x00000001...c675E5034
0 ETH0.0033565140.04
Execute96672192020-03-14 3:45:262174 days ago1584157526IN
0x00000001...c675E5034
0 ETH0.0009294811.10000011
Execute96668072020-03-14 2:13:542174 days ago1584152034IN
0x00000001...c675E5034
0 ETH0.0012203511.10000011
Execute96212912020-03-07 1:40:162181 days ago1583545216IN
0x00000001...c675E5034
0 ETH0.0009291611.10000011
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
-89331482019-11-14 15:30:482294 days ago1573745448  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DharmaUpgradeMultisig

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2019-11-14
*/

pragma solidity 0.5.11; // optimization disabled, evm version: petersburg


/**
 * @title DharmaUpgradeMultisig
 * @author 0age (derived from Christian Lundkvist's Simple Multisig)
 * @notice This contract is a multisig that will control upgrades to the Dharma
 * Smart Wallet and the Dharma Key Ring via the Dharma Upgrade Beacon Controller
 * Manager. it is based on Christian Lundkvist's Simple Multisig (found at
 * https://github.com/christianlundkvist/simple-multisig). The address of the
 * Dharma Upgrade Beacon Controller Manager is hard-coded as the only allowable
 * call destination, and any changes in ownership or signature threshold will
 * require deploying a new multisig and transferring ownership of the upgrade
 * beacon controller manager.
 */
contract DharmaUpgradeMultisig {
  // The nonce is the only mutable state, and is incremented on every call.
  uint256 private _nonce;

  // Maintain a mapping and a convenience array of owners.
  mapping(address => bool) private _isOwner;
  address[] private _owners;

  // This multisig can only call the Upgrade Beacon Controller Manager contract.
  address private constant _DESTINATION = address(
    0x00000000008A10a98969A000D1C0AbA90F858D6a
  );

  // The threshold is an exact number of valid signatures that must be supplied.
  uint256 private constant _THRESHOLD = 3;

  // Note: Owners must be strictly increasing in order to prevent duplicates.
  constructor(address[] memory owners) public {
    require(owners.length <= 10, "Cannot have more than 10 owners.");
    require(_THRESHOLD <= owners.length, "Threshold cannot exceed total owners.");

    address lastAddress = address(0);
    for (uint256 i = 0; i < owners.length; i++) {
      require(
        owners[i] > lastAddress, "Owner addresses must be strictly increasing."
      );
      _isOwner[owners[i]] = true;
      lastAddress = owners[i];
    }
    _owners = owners;
  }

  function getNextHash(
    bytes calldata data,
    address executor,
    uint256 gasLimit
  ) external view returns (bytes32 hash) {
    hash = _getHash(data, executor, gasLimit, _nonce);
  }

  function getHash(
    bytes calldata data,
    address executor,
    uint256 gasLimit,
    uint256 nonce
  ) external view returns (bytes32 hash) {
    hash = _getHash(data, executor, gasLimit, nonce);
  }

  function getNonce() external view returns (uint256 nonce) {
    nonce = _nonce;
  }

  function getOwners() external view returns (address[] memory owners) {
    owners = _owners;
  }

  function isOwner(address account) external view returns (bool owner) {
    owner = _isOwner[account];
  }

  function getThreshold() external pure returns (uint256 threshold) {
    threshold = _THRESHOLD;
  }

  function getDestination() external pure returns (address destination) {
    destination = _DESTINATION;
  }

  // Note: addresses recovered from signatures must be strictly increasing.
  function execute(
    bytes calldata data,
    address executor,
    uint256 gasLimit,
    bytes calldata signatures
  ) external returns (bool success, bytes memory returnData) {
    require(
      executor == msg.sender || executor == address(0),
      "Must call from the executor account if one is specified."
    );

    // Derive the message hash and wrap in the eth signed messsage hash.
    bytes32 hash = _toEthSignedMessageHash(
      _getHash(data, executor, gasLimit, _nonce)
    );

    // Recover each signer from the provided signatures.
    address[] memory signers = _recoverGroup(hash, signatures);

    require(signers.length == _THRESHOLD, "Total signers must equal threshold.");

    // Verify that each signatory is an owner and is strictly increasing.
    address lastAddress = address(0); // cannot have address(0) as an owner
    for (uint256 i = 0; i < signers.length; i++) {
      require(
        _isOwner[signers[i]], "Signature does not correspond to an owner."
      );
      require(
        signers[i] > lastAddress, "Signer addresses must be strictly increasing."
      );
      lastAddress = signers[i];
    }

    // Increment the nonce and execute the transaction.
    _nonce++;
    (success, returnData) = _DESTINATION.call.gas(gasLimit)(data);
  }

  function _getHash(
    bytes memory data,
    address executor,
    uint256 gasLimit,
    uint256 nonce
  ) internal view returns (bytes32 hash) {
    // Note: this is the data used to create a personal signed message hash.
    hash = keccak256(
      abi.encodePacked(address(this), nonce, executor, gasLimit, data)
    );
  }

  /**
   * @dev Returns each address that signed a hashed message (`hash`) from a
   * collection of `signatures`.
   *
   * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:
   * this function rejects them by requiring the `s` value to be in the lower
   * half order, and the `v` value to be either 27 or 28.
   *
   * NOTE: This call _does not revert_ if a signature is invalid, or if the
   * signer is otherwise unable to be retrieved. In those scenarios, the zero
   * address is returned for that signature.
   *
   * IMPORTANT: `hash` _must_ be the result of a hash operation for the
   * verification to be secure: it is possible to craft signatures that recover
   * to arbitrary addresses for non-hashed data.
   */
  function _recoverGroup(
    bytes32 hash,
    bytes memory signatures
  ) internal pure returns (address[] memory signers) {
    // Ensure that the signatures length is a multiple of 65.
    if (signatures.length % 65 != 0) {
      return new address[](0);
    }

    // Create an appropriately-sized array of addresses for each signer.
    signers = new address[](signatures.length / 65);

    // Get each signature location and divide into r, s and v variables.
    bytes32 signatureLocation;
    bytes32 r;
    bytes32 s;
    uint8 v;

    for (uint256 i = 0; i < signers.length; i++) {
      assembly {
        signatureLocation := add(signatures, mul(i, 65))
        r := mload(add(signatureLocation, 32))
        s := mload(add(signatureLocation, 64))
        v := byte(0, mload(add(signatureLocation, 96)))
      }

      // EIP-2 still allows signature malleability for ecrecover(). Remove
      // this possibility and make the signature unique.
      if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {
        continue;
      }

      if (v != 27 && v != 28) {
        continue;
      }

      // If signature is valid & not malleable, add signer address.
      signers[i] = ecrecover(hash, v, r, s);
    }
  }

  function _toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) {
    return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash));
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"executor","type":"address"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"getHash","outputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getDestination","outputs":[{"internalType":"address","name":"destination","type":"address"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"owner","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"executor","type":"address"},{"internalType":"uint256","name":"gasLimit","type":"uint256"}],"name":"getNextHash","outputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"internalType":"address[]","name":"owners","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getThreshold","outputs":[{"internalType":"uint256","name":"threshold","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"executor","type":"address"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"name":"execute","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"owners","type":"address[]"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

60806040523480156200001157600080fd5b50604051620012d3380380620012d3833981810160405260208110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660208202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015620000c6578082015181840152602081019050620000a9565b50505050905001604052505050600a815111156200014c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f43616e6e6f742068617665206d6f7265207468616e203130206f776e6572732e81525060200191505060405180910390fd5b805160031115620001a9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180620012826025913960400191505060405180910390fd5b600080905060008090505b8251811015620002e8578173ffffffffffffffffffffffffffffffffffffffff16838281518110620001e257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161162000258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180620012a7602c913960400191505060405180910390fd5b60018060008584815181106200026a57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550828181518110620002d057fe5b602002602001015191508080600101915050620001b4565b508160029080519060200190620003019291906200030a565b505050620003df565b82805482825590600052602060002090810192821562000386579160200282015b82811115620003855782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906200032b565b5b50905062000395919062000399565b5090565b620003dc91905b80821115620003d857600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101620003a0565b5090565b90565b610e9380620003ef6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a0e67e2b1161005b578063a0e67e2b146102ab578063d087d2881461030a578063e75235b814610328578063eeb4bafe1461034657610088565b8063084490b91461008d57806316ad95421461014e5780632f54bf6e146101985780633a6cd7f2146101f4575b600080fd5b610138600480360360808110156100a357600080fd5b81019080803590602001906401000000008111156100c057600080fd5b8201836020820111156100d257600080fd5b803590602001918460018302840111640100000000831117156100f457600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506104c2565b6040518082815260200191505060405180910390f35b61015661051f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101da600480360360208110156101ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610536565b604051808215151515815260200191505060405180910390f35b6102956004803603606081101561020a57600080fd5b810190808035906020019064010000000081111561022757600080fd5b82018360208201111561023957600080fd5b8035906020019184600183028401116401000000008311171561025b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061058c565b6040518082815260200191505060405180910390f35b6102b36105ea565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102f65780820151818401526020810190506102db565b505050509050019250505060405180910390f35b610312610678565b6040518082815260200191505060405180910390f35b610330610681565b6040518082815260200191505060405180910390f35b61043c6004803603608081101561035c57600080fd5b810190808035906020019064010000000081111561037957600080fd5b82018360208201111561038b57600080fd5b803590602001918460018302840111640100000000831117156103ad57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156103f857600080fd5b82018360208201111561040a57600080fd5b8035906020019184600183028401116401000000008311171561042c57600080fd5b909192939192939050505061068a565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561048657808201518184015260208101905061046b565b50505050905090810190601f1680156104b35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b600061051486868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050858585610a80565b905095945050505050565b60006e8a10a98969a000d1c0aba90f858d6a905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006105e085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508484600054610a80565b9050949350505050565b6060600280548060200260200160405190810160405280929190818152602001828054801561066e57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610624575b5050505050905090565b60008054905090565b60006003905090565b600060603373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614806106f45750600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b610749576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180610e276038913960400191505060405180910390fd5b60006107a56107a08a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508989600054610a80565b610b7c565b905060606107f78287878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610bd4565b90506003815114610853576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610dad6023913960400191505060405180910390fd5b600080905060008090505b82518110156109d6576001600084838151811061087757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610dfd602a913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1683828151811061093f57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16116109b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610dd0602d913960400191505060405180910390fd5b8281815181106109bf57fe5b60200260200101519150808060010191505061085e565b5060008081548092919060010191905055506e8a10a98969a000d1c0aba90f858d6a73ffffffffffffffffffffffffffffffffffffffff16888c8c60405180838380828437808301925050509250505060006040518083038160008787f1925050503d8060008114610a64576040519150601f19603f3d011682016040523d82523d6000602084013e610a69565b606091505b508095508196505050505050965096945050505050565b60003082858588604051602001808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140183815260200182805190602001908083835b60208310610b335780518252602082019150602081019050602083039250610b10565b6001836020036101000a03801982511681845116808217855250505050505090500195505050505050604051602081830303815290604052805190602001209050949350505050565b60008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050919050565b606060006041835181610be357fe5b0614610c21576000604051908082528060200260200182016040528015610c195781602001602082028038833980820191505090505b509050610da6565b6041825181610c2c57fe5b04604051908082528060200260200182016040528015610c5b5781602001602082028038833980820191505090505b50905060008060008060008090505b8551811015610da05760418102870194506020850151935060408501519250606085015160001a91507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115610cc357610d93565b601b8260ff1614158015610cdb5750601c8260ff1614155b15610ce557610d93565b60018883868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610d42573d6000803e3d6000fd5b50505060206040510351868281518110610d5857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b8080600101915050610c6a565b50505050505b9291505056fe546f74616c207369676e657273206d75737420657175616c207468726573686f6c642e5369676e657220616464726573736573206d757374206265207374726963746c7920696e6372656173696e672e5369676e617475726520646f6573206e6f7420636f72726573706f6e6420746f20616e206f776e65722e4d7573742063616c6c2066726f6d20746865206578656375746f72206163636f756e74206966206f6e65206973207370656369666965642ea265627a7a7231582016708ccf3d3fe847a31bdde4013bb18f0d71bda5e25122fac0e197ba0d5cdca664736f6c634300050b00325468726573686f6c642063616e6e6f742065786365656420746f74616c206f776e6572732e4f776e657220616464726573736573206d757374206265207374726963746c7920696e6372656173696e672e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000097659dab3885339dca94a1ffa319cfb2f1b18d8c000000000000000000000000a7e36e02a59c5ddd85c1a30177091db9790a2b29000000000000000000000000c1fb35ed6440c5a99ec6372a20541f92812a4b30000000000000000000000000e1ee55f4c4959bd680aa397c29bf3e957f744044000000000000000000000000f70f7983f765f72c05f725f506d3f1197704e128

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063a0e67e2b1161005b578063a0e67e2b146102ab578063d087d2881461030a578063e75235b814610328578063eeb4bafe1461034657610088565b8063084490b91461008d57806316ad95421461014e5780632f54bf6e146101985780633a6cd7f2146101f4575b600080fd5b610138600480360360808110156100a357600080fd5b81019080803590602001906401000000008111156100c057600080fd5b8201836020820111156100d257600080fd5b803590602001918460018302840111640100000000831117156100f457600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506104c2565b6040518082815260200191505060405180910390f35b61015661051f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101da600480360360208110156101ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610536565b604051808215151515815260200191505060405180910390f35b6102956004803603606081101561020a57600080fd5b810190808035906020019064010000000081111561022757600080fd5b82018360208201111561023957600080fd5b8035906020019184600183028401116401000000008311171561025b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061058c565b6040518082815260200191505060405180910390f35b6102b36105ea565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102f65780820151818401526020810190506102db565b505050509050019250505060405180910390f35b610312610678565b6040518082815260200191505060405180910390f35b610330610681565b6040518082815260200191505060405180910390f35b61043c6004803603608081101561035c57600080fd5b810190808035906020019064010000000081111561037957600080fd5b82018360208201111561038b57600080fd5b803590602001918460018302840111640100000000831117156103ad57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156103f857600080fd5b82018360208201111561040a57600080fd5b8035906020019184600183028401116401000000008311171561042c57600080fd5b909192939192939050505061068a565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561048657808201518184015260208101905061046b565b50505050905090810190601f1680156104b35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b600061051486868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050858585610a80565b905095945050505050565b60006e8a10a98969a000d1c0aba90f858d6a905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006105e085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508484600054610a80565b9050949350505050565b6060600280548060200260200160405190810160405280929190818152602001828054801561066e57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610624575b5050505050905090565b60008054905090565b60006003905090565b600060603373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614806106f45750600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b610749576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180610e276038913960400191505060405180910390fd5b60006107a56107a08a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508989600054610a80565b610b7c565b905060606107f78287878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610bd4565b90506003815114610853576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610dad6023913960400191505060405180910390fd5b600080905060008090505b82518110156109d6576001600084838151811061087757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610dfd602a913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1683828151811061093f57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16116109b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610dd0602d913960400191505060405180910390fd5b8281815181106109bf57fe5b60200260200101519150808060010191505061085e565b5060008081548092919060010191905055506e8a10a98969a000d1c0aba90f858d6a73ffffffffffffffffffffffffffffffffffffffff16888c8c60405180838380828437808301925050509250505060006040518083038160008787f1925050503d8060008114610a64576040519150601f19603f3d011682016040523d82523d6000602084013e610a69565b606091505b508095508196505050505050965096945050505050565b60003082858588604051602001808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140183815260200182805190602001908083835b60208310610b335780518252602082019150602081019050602083039250610b10565b6001836020036101000a03801982511681845116808217855250505050505090500195505050505050604051602081830303815290604052805190602001209050949350505050565b60008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050919050565b606060006041835181610be357fe5b0614610c21576000604051908082528060200260200182016040528015610c195781602001602082028038833980820191505090505b509050610da6565b6041825181610c2c57fe5b04604051908082528060200260200182016040528015610c5b5781602001602082028038833980820191505090505b50905060008060008060008090505b8551811015610da05760418102870194506020850151935060408501519250606085015160001a91507f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115610cc357610d93565b601b8260ff1614158015610cdb5750601c8260ff1614155b15610ce557610d93565b60018883868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610d42573d6000803e3d6000fd5b50505060206040510351868281518110610d5857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b8080600101915050610c6a565b50505050505b9291505056fe546f74616c207369676e657273206d75737420657175616c207468726573686f6c642e5369676e657220616464726573736573206d757374206265207374726963746c7920696e6372656173696e672e5369676e617475726520646f6573206e6f7420636f72726573706f6e6420746f20616e206f776e65722e4d7573742063616c6c2066726f6d20746865206578656375746f72206163636f756e74206966206f6e65206973207370656369666965642ea265627a7a7231582016708ccf3d3fe847a31bdde4013bb18f0d71bda5e25122fac0e197ba0d5cdca664736f6c634300050b0032

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

0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000097659dab3885339dca94a1ffa319cfb2f1b18d8c000000000000000000000000a7e36e02a59c5ddd85c1a30177091db9790a2b29000000000000000000000000c1fb35ed6440c5a99ec6372a20541f92812a4b30000000000000000000000000e1ee55f4c4959bd680aa397c29bf3e957f744044000000000000000000000000f70f7983f765f72c05f725f506d3f1197704e128

-----Decoded View---------------
Arg [0] : owners (address[]): 0x97659DAB3885339dCa94A1Ffa319CFB2f1B18d8c,0xA7E36e02a59c5Ddd85c1A30177091dB9790a2b29,0xC1fB35ED6440C5A99EC6372A20541F92812A4b30,0xe1Ee55F4c4959bD680AA397C29bf3e957F744044,0xF70F7983f765F72c05F725F506D3F1197704e128

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [2] : 00000000000000000000000097659dab3885339dca94a1ffa319cfb2f1b18d8c
Arg [3] : 000000000000000000000000a7e36e02a59c5ddd85c1a30177091db9790a2b29
Arg [4] : 000000000000000000000000c1fb35ed6440c5a99ec6372a20541f92812a4b30
Arg [5] : 000000000000000000000000e1ee55f4c4959bd680aa397c29bf3e957f744044
Arg [6] : 000000000000000000000000f70f7983f765f72c05f725f506d3f1197704e128


Deployed Bytecode Sourcemap

780:6121:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;780:6121:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2167:212;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2167:212:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2167:212:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2167:212:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2167:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2800:109;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2580:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2580:107:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1964:197;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1964:197:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1964:197:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1964:197:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1964:197:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2476:98;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2476:98:0;;;;;;;;;;;;;;;;;2385:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2693:101;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2992:1322;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2992:1322:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2992:1322:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2992:1322:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2992:1322:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2992:1322:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2992:1322:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2992:1322:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2992:1322:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2167:212;2304:12;2332:41;2341:4;;2332:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2332:41:0;;;;;;2347:8;2357;2367:5;2332:8;:41::i;:::-;2325:48;;2167:212;;;;;;;:::o;2800:109::-;2849:19;1196:42;2877:26;;2800:109;:::o;2580:107::-;2637:10;2664:8;:17;2673:7;2664:17;;;;;;;;;;;;;;;;;;;;;;;;;2656:25;;2580:107;;;:::o;1964:197::-;2085:12;2113:42;2122:4;;2113:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2113:42:0;;;;;;2128:8;2138;2148:6;;2113:8;:42::i;:::-;2106:49;;1964:197;;;;;;:::o;2476:98::-;2520:23;2561:7;2552:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2476:98;:::o;2385:85::-;2428:13;2458:6;;2450:14;;2385:85;:::o;2693:101::-;2740:17;1370:1;2766:22;;2693:101;:::o;2992:1322::-;3136:12;3150:23;3210:10;3198:22;;:8;:22;;;:48;;;;3244:1;3224:22;;:8;:22;;;3198:48;3182:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3403:12;3418:81;3450:42;3459:4;;3450:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3450:42:0;;;;;;3465:8;3475;3485:6;;3450:8;:42::i;:::-;3418:23;:81::i;:::-;3403:96;;3566:24;3593:31;3607:4;3613:10;;3593:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3593:31:0;;;;;;:13;:31::i;:::-;3566:58;;1370:1;3641:7;:14;:28;3633:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3793:19;3823:1;3793:32;;3875:9;3887:1;3875:13;;3870:297;3894:7;:14;3890:1;:18;3870:297;;;3942:8;:20;3951:7;3959:1;3951:10;;;;;;;;;;;;;;3942:20;;;;;;;;;;;;;;;;;;;;;;;;;3924:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4057:11;4044:24;;:7;4052:1;4044:10;;;;;;;;;;;;;;:24;;;4026:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4149:7;4157:1;4149:10;;;;;;;;;;;;;;4135:24;;3910:3;;;;;;;3870:297;;;;4232:6;;:8;;;;;;;;;;;;;1196:42;4271:17;;4293:8;4303:4;;4271:37;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;4271:37:0;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;4247:61:0;;;;;;;;2992:1322;;;;;;;;;;;;:::o;4320:337::-;4456:12;4605:4;4612:5;4619:8;4629;4639:4;4580:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4580:64:0;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4580:64:0;;;4562:89;;;;;;4555:96;;4320:337;;;;;;:::o;6730:168::-;6800:7;6886:4;6833:58;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6833:58:0;;;6823:69;;;;;;6816:76;;6730:168;;;:::o;5429:1295::-;5529:24;5655:1;5649:2;5629:10;:17;:22;;;;;;:27;5625:73;;5688:1;5674:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5674:16:0;;;;5667:23;;;;5625:73;5824:2;5804:10;:17;:22;;;;;;5790:37;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5790:37:0;;;;5780:47;;5910:25;5942:9;5958;5974:7;5995:9;6007:1;5995:13;;5990:729;6014:7;:14;6010:1;:18;5990:729;;;6108:2;6105:1;6101:10;6089;6085:27;6064:48;;6156:2;6137:17;6133:26;6127:33;6122:38;;6204:2;6185:17;6181:26;6175:33;6170:38;;6260:2;6241:17;6237:26;6231:33;6228:1;6223:42;6218:47;;6435:66;6430:1;6422:10;;:79;6418:114;;;6514:8;;6418:114;6551:2;6546:1;:7;;;;:18;;;;;6562:2;6557:1;:7;;;;6546:18;6542:53;;;6577:8;;6542:53;6687:24;6697:4;6703:1;6706;6709;6687:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6687:24:0;;;;;;;;6674:7;6682:1;6674:10;;;;;;;;;;;;;:37;;;;;;;;;;;5990:729;6030:3;;;;;;;5990:729;;;;5429:1295;;;;;;;;;:::o

Swarm Source

bzzr://16708ccf3d3fe847a31bdde4013bb18f0d71bda5e25122fac0e197ba0d5cdca6

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.