Contract Overview
Balance: 14.040632039875483944 Ether
Ether Value: $1,633.07 (@ $116.31/ETH)
Transactions: 22239 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xe03793e63776cf69fe42414ed03bb924d4d9157eat txn 0x9f314254a972db7d6967d929c3e576240b2bbfb7b24ff5b38ca73f83cb49c072
Token Balance:
 Latest 25 transactions from a total of 22239 transactions

TxHash Age From To Value [TxFee]
0x078999f1512e5c8250169e0c4733894dad79bfa78d8616965f8fcdb0045b5d6311 hrs 5 mins ago0xf582a7c87888714ca875a70b0971f55bde6eb148  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0000426649
0x4a31147d16d9fe2bc5c9daa5cde09324a58b0c5f0077e5fed194ca146d523ef711 hrs 12 mins ago0xf582a7c87888714ca875a70b0971f55bde6eb148  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70.07 Ether0.00015844
0x320024c5266ab0b899d33d36b49192847e0b7def561cc10378a992e408d305691 day 5 hrs ago0x451b397745ccd9c1d6e4e0de297ee757bbb7b1a3  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70.0095 Ether0.000093376
0x78f85e36412727883152cc850f9e4b9d3b911f8d90163061139997f827de88891 day 21 hrs ago0x490bcd89ed87e65960ad6a8cc2234c19001f09b0  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0001283211
0x6e7400a6714f253950caa88de8652395d90d580532fed27f31a1abb5b28347c01 day 21 hrs ago0x0ff6c14d86c9dc111c42ddfdfbc78afa8579e859  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0001276683
0x4371e4d54b7824827c9524b05f357418aaa02fa42eb7e925381b1b48ec9a90181 day 21 hrs ago0x490bcd89ed87e65960ad6a8cc2234c19001f09b0  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0007968444
0x9438b200470466e24f9d08322728fee389ba4fc721eeaeac0466d6edaec3c0e31 day 21 hrs ago0x490bcd89ed87e65960ad6a8cc2234c19001f09b0  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0007964364
0x89f811efc2ee4f03e6f2620288fefabea372483ffbebdfcf1c27fd00e145bcff1 day 21 hrs ago0x490bcd89ed87e65960ad6a8cc2234c19001f09b0  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0007967628
0xaa1ed66c5eea9ab1e09b9837cd88057bae7c7d216840de5ced9a2deb5d84ca531 day 21 hrs ago0x490bcd89ed87e65960ad6a8cc2234c19001f09b0  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0006369543
0x34e4b946e590357b6d9569162c54c041eef188301a52946b799b6b2146f8bc401 day 21 hrs ago0x0ff6c14d86c9dc111c42ddfdfbc78afa8579e859  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70.058617 Ether0.0002381088
0x259f9b516f8a2914c90acf0424c134a2511eb1236d8909a53fdd6076af55dc621 day 21 hrs ago0x490bcd89ed87e65960ad6a8cc2234c19001f09b0  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.001025832
0xd16c1e460bdc849865ef3bdc42402a598951c14d4a8bc0ac101f2f3ded83edf31 day 22 hrs ago0x490bcd89ed87e65960ad6a8cc2234c19001f09b0  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0009510684
0x7219163f36a1f5a182d7f391ffddc376987e698cf6839b974237e5b10132eca21 day 22 hrs ago0x490bcd89ed87e65960ad6a8cc2234c19001f09b0  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0009478044
0xac99dcf7a30f088bfa7b3e2726668f1f5d0fa39b1c5817cc842d674425c31f4d2 days 13 hrs ago0xb862adb7a63d58fe42e0760e98c3d7f7c6c4d584  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000075291
0x70de5b25c9760bea84ba723100be53dbacca5b893cbeccef0574301b0855ca412 days 13 hrs ago0xb862adb7a63d58fe42e0760e98c3d7f7c6c4d584  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000464676
0xc9a032e724f46f2c1785c6df91df72327e48d16a1ad63f1da14dab7b991a60652 days 13 hrs ago0x490bcd89ed87e65960ad6a8cc2234c19001f09b0  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0004915859
0xb63064ba26dd88d363d7bf4625f18928340499b0c4e6eac4bb107b2f61074f1a2 days 13 hrs ago0x490bcd89ed87e65960ad6a8cc2234c19001f09b0  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0002673569
0xa719b16913fe8c6a7d33bcf70789a934be8f32cd872e3b91526a905c3033e7bb2 days 15 hrs ago0xb4bbf084676e3b6f9d9c1beaa7c2aae8e88597f5  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70.001176887433941 Ether0.0005588649
0xc76922dc888a1bb956be4d40df646a766a04194090090f05fbb110329115051a2 days 15 hrs ago0xb4bbf084676e3b6f9d9c1beaa7c2aae8e88597f5  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70.002267960868 Ether0.0002814075
0x7720404a3e17d974436f93d9137ee33b3623f05c3a8aa6c5fc2ca6efb8ab6fa22 days 15 hrs ago0xb862adb7a63d58fe42e0760e98c3d7f7c6c4d584  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000398328
0xf1a3c2c54bd76cd9f6f9dbd58410b94438c54343652fa35ce5f6cdcdde06dc0c2 days 15 hrs ago0xb4bbf084676e3b6f9d9c1beaa7c2aae8e88597f5  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70.003240894318789 Ether0.000534599
0x70a322dcad5da800e439c5c36c3e4aa3a218e186dfe48fd72c045aa0652fa1983 days 1 hr ago0xae6a6bfde0b226302cca6155f487d1f46e6ac821  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000301898
0xea725eeb74070de4e414a2fe69e76846b638db1ee6d3ddb7cb08d529eab8e8b53 days 1 hr ago0xae6a6bfde0b226302cca6155f487d1f46e6ac821  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0001960112
0x8c08711f1b46b3f41c475112ed7572fa2c52dc27ac5d09bab1e2160b51f074ac4 days 7 hrs ago0xae6a6bfde0b226302cca6155f487d1f46e6ac821  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0002717082
0x7c4d211e13d04615388a4f3659d1a1869f4da10917ea41855c820c429007b90f5 days 1 hr ago0x3f75223fdf7e8d0f59060945497e48b9a1608f20  IN   0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.001497608
[ 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
0x078999f1512e5c8250169e0c4733894dad79bfa78d8616965f8fcdb0045b5d63711544311 hrs 5 mins ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xf582a7c87888714ca875a70b0971f55bde6eb1480.0755 Ether
0x78f85e36412727883152cc850f9e4b9d3b911f8d90163061139997f827de888971083061 day 21 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x490bcd89ed87e65960ad6a8cc2234c19001f09b02.704729269324338601 Ether
0x6e7400a6714f253950caa88de8652395d90d580532fed27f31a1abb5b28347c071082671 day 21 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x0ff6c14d86c9dc111c42ddfdfbc78afa8579e8590.058617 Ether
0xac99dcf7a30f088bfa7b3e2726668f1f5d0fa39b1c5817cc842d674425c31f4d71048252 days 13 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xb862adb7a63d58fe42e0760e98c3d7f7c6c4d5840.03697976071784646 Ether
0x7c4d211e13d04615388a4f3659d1a1869f4da10917ea41855c820c429007b90f70911605 days 1 hr ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x3f75223fdf7e8d0f59060945497e48b9a1608f200.001461513478401 Ether
0xc76c3cc90b5228f3b082e0251614e5feac82cdae403928486724f4a68e4d93df70853726 days 2 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x33400bf80e1c40c15837fc23d37afadd94050da30.027690168504000006 Ether
0xd79b5fae16edd91e500b7d2c17e009b426b8b33beaae9df58deecb1da68272b870853656 days 2 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x3f75223fdf7e8d0f59060945497e48b9a1608f200.18361076500135 Ether
0xd734b6293f1535a9096438d99286c26cb1238230c17eaccf9dc7ea15d1d9a63b705894910 days 19 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x451b397745ccd9c1d6e4e0de297ee757bbb7b1a30.6209911525815 Ether
0x402af7e573db431323662e4ac5c1718c56bdd8fde93e9ddfec8e59dab92aa188704492013 days 8 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x736ed51d11e8ced9ccfa229ab5b2cbc5dfd40d4e0.0606270813388548 Ether
0x02241f51e8c9daf7467f4dd65807e266d115a078119c285db5a65eb17521979a704200613 days 20 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x8e80306382c0b4015bef0503037c84fb7ce13cc70.000000000016 Ether
0x0acdcf43284fbee1cc1f22aed0b0980d51462471e703d1860bf89e9408f82ef2703269115 days 12 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x86e346e5c52231c44cca1a07ff00254fc252f8380.011 Ether
0x18477ca0de7fd138e65f8a5b5889c4de9614d52e7ebf3042641231899416ca68703173215 days 16 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xc19b0b7012ae6f9f9ff60035ab79ba2c6323ab7e0.1 Ether
0x58de2d6881e14f3305c6a847ae8f6b364a66266cbba2daca5679cacdf7115a4f702777016 days 9 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xc0a4c80ff85ec29c55c76d406bce2675c2bfae190.015 Ether
0xe500b0e4e25a70cde3a135487e8fc9792a52e78960acf528648b8500c7da2cbb702478216 days 22 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x21ba4bbeb3fd69c9cc65975659d22b96726f9ca10.199101796375 Ether
0x218670b5c8e6be9f05c3384b5cbc7236d84a4d57664a454540ee9d985e2c392f702467916 days 22 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x21ba4bbeb3fd69c9cc65975659d22b96726f9ca10.100898203609 Ether
0x85f0fb2ec1ae05efdc5ece6244f8b9ad934dff43e1e0990426390d13d3e56605699908821 days 12 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x156125160c5db9e7dda104b31a309fe1ef2f411f0.002469678363795778 Ether
0xa8d68d204c61d24fd038145aa789b87b3bb2dcc68f6bbc9b73ed67f69e098cbd699697521 days 21 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xc446073e0c00a1138812b3a99a19df3cb8ace70d0.05 Ether
0x1a02522dc314d58e2b272216513a7097f095b2ec8a3a865cdeb1f9aff0d30e40698269324 days 7 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x0d3271dc3cb54e9e20092db0b60b07ceb1de62a40.0023 Ether
0x64523b2bb7e4058eb38d8d2103c4633237f48228572a8a55c9963dc2320bc80b694408830 days 19 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xc4caa2d027aea781b1bbb0fe029cb0ea65d018370.076 Ether
0xf1831c2600aebc4df81e50b7eb2e8611d785c377b3b3a2320cc95d4c7be5711d694061831 days 9 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x91bd6c4ad15d50d2e873d33925690a9566249b270.033 Ether
0x4806507982bb6e5ab3f27793ee01909351822d30b592ea42194dcbf84747011d693819431 days 19 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x619eac21a080c9d210db032362015cd05227ec130.42664787967 Ether
0xcc443738b288ee39dc1fffe39c6d04590ff1fc2861a31098cb4766a589d03e61693770831 days 21 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xee6a9ed20d8bf55c71730a981e4d2aa30fbf03d10.06 Ether
0x35f3ee61a80152ad4e01d93a519a5cd1b5ba168e0f54d3951896959011f063b3692822633 days 12 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xcd0123cd76f4265f5d7e4cf304d28c395ecd161b0.05 Ether
0x691e33b93f99b2977ed2f105cb7ae16bbbe93f3f9f364f2e2f110bf23424dd06692688833 days 17 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x156125160c5db9e7dda104b31a309fe1ef2f411f0.010280775449083053 Ether
0x2bee4ae3d419db6f1ea1213ce98025f6e4ebe5d159f8b7dfb68ff1bba437cb01690890936 days 19 hrs ago0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xb911194d69080ec507be3861a10716f6767df7592 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: EnclavesDEXProxy
Compiler Text: v0.4.21+commit.dfe3193c
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;

// File: contracts/EtherDeltaI.sol

contract EtherDeltaI {

  uint public feeMake; //percentage times (1 ether)
  uint public feeTake; //percentage times (1 ether)

  mapping (address => mapping (address => uint)) public tokens; //mapping of token addresses to mapping of account balances (token=0 means Ether)
  mapping (address => mapping (bytes32 => bool)) public orders; //mapping of user accounts to mapping of order hashes to booleans (true = submitted by user, equivalent to offchain signature)
  mapping (address => mapping (bytes32 => uint)) public orderFills; //mapping of user accounts to mapping of order hashes to uints (amount of order that has been filled)

  function deposit() payable;

  function withdraw(uint amount);

  function depositToken(address token, uint amount);

  function withdrawToken(address token, uint amount);

  function balanceOf(address token, address user) constant returns (uint);

  function order(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce);

  function trade(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, address user, uint8 v, bytes32 r, bytes32 s, uint amount);

  function testTrade(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, address user, uint8 v, bytes32 r, bytes32 s, uint amount, address sender) constant returns(bool);

  function availableVolume(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, address user, uint8 v, bytes32 r, bytes32 s) constant returns(uint);

  function amountFilled(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, address user, uint8 v, bytes32 r, bytes32 s) constant returns(uint);

  function cancelOrder(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, uint8 v, bytes32 r, bytes32 s);

}

// File: contracts/KindMath.sol

/**
 * @title KindMath
 * @dev Math operations with safety checks that fail
 */
library KindMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    require(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a);
    return c;
  }
}

// File: contracts/KeyValueStorage.sol

contract KeyValueStorage {

  mapping(address => mapping(bytes32 => uint256)) _uintStorage;
  mapping(address => mapping(bytes32 => address)) _addressStorage;
  mapping(address => mapping(bytes32 => bool)) _boolStorage;
  mapping(address => mapping(bytes32 => bytes32)) _bytes32Storage;

  /**** Get Methods ***********/

  function getAddress(bytes32 key) public view returns (address) {
      return _addressStorage[msg.sender][key];
  }

  function getUint(bytes32 key) public view returns (uint) {
      return _uintStorage[msg.sender][key];
  }

  function getBool(bytes32 key) public view returns (bool) {
      return _boolStorage[msg.sender][key];
  }

  function getBytes32(bytes32 key) public view returns (bytes32) {
      return _bytes32Storage[msg.sender][key];
  }

  /**** Set Methods ***********/

  function setAddress(bytes32 key, address value) public {
      _addressStorage[msg.sender][key] = value;
  }

  function setUint(bytes32 key, uint value) public {
      _uintStorage[msg.sender][key] = value;
  }

  function setBool(bytes32 key, bool value) public {
      _boolStorage[msg.sender][key] = value;
  }

  function setBytes32(bytes32 key, bytes32 value) public {
      _bytes32Storage[msg.sender][key] = value;
  }

  /**** Delete Methods ***********/

  function deleteAddress(bytes32 key) public {
      delete _addressStorage[msg.sender][key];
  }

  function deleteUint(bytes32 key) public {
      delete _uintStorage[msg.sender][key];
  }

  function deleteBool(bytes32 key) public {
      delete _boolStorage[msg.sender][key];
  }

  function deleteBytes32(bytes32 key) public {
      delete _bytes32Storage[msg.sender][key];
  }

}

// File: contracts/StorageStateful.sol

contract StorageStateful {
  KeyValueStorage public keyValueStorage;
}

// File: contracts/StorageConsumer.sol

contract StorageConsumer is StorageStateful {
  function StorageConsumer(address _storageAddress) public {
    require(_storageAddress != address(0));
    keyValueStorage = KeyValueStorage(_storageAddress);
  }
}

// File: contracts/TokenI.sol

contract Token {
  /// @return total amount of tokens
  function totalSupply() public returns (uint256);

  /// @param _owner The address from which the balance will be retrieved
  /// @return The balance
  function balanceOf(address _owner) public returns (uint256);

  /// @notice send `_value` token to `_to` from `msg.sender`
  /// @param _to The address of the recipient
  /// @param _value The amount of token to be transferred
  /// @return Whether the transfer was successful or not
  function transfer(address _to, uint256 _value) public returns (bool);

  /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
  /// @param _from The address of the sender
  /// @param _to The address of the recipient
  /// @param _value The amount of token to be transferred
  /// @return Whether the transfer was successful or not
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool);

  /// @notice `msg.sender` approves `_addr` to spend `_value` tokens
  /// @param _spender The address of the account able to transfer the tokens
  /// @param _value The amount of wei to be approved for transfer
  /// @return Whether the approval was successful or not
  function approve(address _spender, uint256 _value) public returns (bool);

  /// @param _owner The address of the account owning tokens
  /// @param _spender The address of the account able to transfer the tokens
  /// @return Amount of remaining tokens allowed to spent
  function allowance(address _owner, address _spender) public returns (uint256);

  event Transfer(address indexed _from, address indexed _to, uint256 _value);
  event Approval(address indexed _owner, address indexed _spender, uint256 _value);

  uint256 public decimals;
  string public name;
}

// File: contracts/EnclavesDEXProxy.sol

contract EnclavesDEXProxy is StorageConsumer {
  using KindMath for uint256;

  address public admin; //the admin address
  address public feeAccount; //the account that will receive fees

  struct EtherDeltaInfo {
    uint256 feeMake;
    uint256 feeTake;
  }

  EtherDeltaInfo public etherDeltaInfo;

  uint256 public feeTake; //percentage times 1 ether
  uint256 public feeAmountThreshold; //gasPrice amount under which no fees are charged

  address public etherDelta;

  bool public useEIP712 = true;
  bytes32 public tradeABIHash;
  bytes32 public withdrawABIHash;

  bool freezeTrading;
  bool depositTokenLock;

  mapping (address => mapping (uint256 => bool)) nonceCheck;

  mapping (address => mapping (address => uint256)) public tokens; //mapping of token addresses to mapping of account balances (token=0 means Ether)
  mapping (address => mapping (bytes32 => bool)) public orders; //mapping of user accounts to mapping of order hashes to booleans (true = submitted by user, equivalent to offchain signature)
  mapping (address => mapping (bytes32 => uint256)) public orderFills; //mapping of user accounts to mapping of order hashes to uints (amount of order that has been filled)

  address internal implementation;
  address public proposedImplementation;
  uint256 public proposedTimestamp;

  event Upgraded(address _implementation);
  event UpgradedProposed(address _proposedImplementation, uint256 _proposedTimestamp);

  modifier onlyAdmin {
    require(msg.sender == admin);
    _;
  }

  function EnclavesDEXProxy(address _storageAddress, address _implementation, address _admin, address _feeAccount, uint256 _feeTake, uint256 _feeAmountThreshold, address _etherDelta, bytes32 _tradeABIHash, bytes32 _withdrawABIHash) public
    StorageConsumer(_storageAddress)
  {
    require(_implementation != address(0));
    implementation = _implementation;
    admin = _admin;
    feeAccount = _feeAccount;
    feeTake = _feeTake;
    feeAmountThreshold = _feeAmountThreshold;
    etherDelta = _etherDelta;
    tradeABIHash = _tradeABIHash;
    withdrawABIHash = _withdrawABIHash;
    etherDeltaInfo.feeMake = EtherDeltaI(etherDelta).feeMake();
    etherDeltaInfo.feeTake = EtherDeltaI(etherDelta).feeTake();
  }

  function getImplementation() public view returns(address) {
    return implementation;
  }

  function proposeUpgrade(address _proposedImplementation) public onlyAdmin {
    require(implementation != _proposedImplementation);
    require(_proposedImplementation != address(0));
    proposedImplementation = _proposedImplementation;
    proposedTimestamp = now + 2 weeks;
    UpgradedProposed(proposedImplementation, now);
  }

  function upgrade() public onlyAdmin {
    require(proposedImplementation != address(0));
    require(proposedTimestamp < now);
    implementation = proposedImplementation;
    Upgraded(implementation);
  }

  function () payable public {
    bytes memory data = msg.data;
    address impl = getImplementation();

    assembly {
      let result := delegatecall(gas, impl, add(data, 0x20), mload(data), 0, 0)
      let size := returndatasize
      let ptr := mload(0x40)
      returndatacopy(ptr, 0, size)
      switch result
      case 0 { revert(ptr, size) }
      default { return(ptr, size) }
    }
  }

}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"orderFills","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"etherDeltaInfo","outputs":[{"name":"feeMake","type":"uint256"},{"name":"feeTake","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposedTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"tokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeAmountThreshold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"useEIP712","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"keyValueStorage","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeAccount","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tradeABIHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getImplementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposedImplementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"orders","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeTake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_proposedImplementation","type":"address"}],"name":"proposeUpgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"etherDelta","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"withdrawABIHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_storageAddress","type":"address"},{"name":"_implementation","type":"address"},{"name":"_admin","type":"address"},{"name":"_feeAccount","type":"address"},{"name":"_feeTake","type":"uint256"},{"name":"_feeAmountThreshold","type":"uint256"},{"name":"_etherDelta","type":"address"},{"name":"_tradeABIHash","type":"bytes32"},{"name":"_withdrawABIHash","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_proposedImplementation","type":"address"},{"indexed":false,"name":"_proposedTimestamp","type":"uint256"}],"name":"UpgradedProposed","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526007805460a060020a60ff02191674010000000000000000000000000000000000000000179055341561003657600080fd5b6040516101208061081c8339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805191906020018051919060200180519150899050600160a060020a038116151561009c57600080fd5b60008054600160a060020a031916600160a060020a03928316179055881615156100c557600080fd5b600f8054600160a060020a0319908116600160a060020a038b8116919091179092556001805482168a841617905560028054821689841617905560058790556006869055600780549091168583161790819055600884905560098390551663577863946040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561016f57600080fd5b5af1151561017c57600080fd5b505050604051805160035550600754600160a060020a031663c281309e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156101e057600080fd5b5af115156101ed57600080fd5b50505060405180516004555050505050505050505061060b806102116000396000f3006060604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166319774d4381146101675780631bff47861461019b5780633cf52ffb146101c6578063508493bc146101d957806355ce76e6146101fe5780635bd948b1146102115780635d4d061e1461023857806365e17c9d146102675780638e1e2add1461027a578063aaf10f421461028d578063bb057c5e146102a0578063bb5f4629146102b3578063c281309e146102d5578063c915fc93146102e8578063d55ec69714610309578063d67a10e31461031c578063f851a4401461032f578063fe26f16f14610342575b6101036105cd565b600080368080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509150610141610355565b9050600080835160208501845af43d604051816000823e828015610163578282f35b8282fd5b341561017257600080fd5b610189600160a060020a0360043516602435610364565b60405190815260200160405180910390f35b34156101a657600080fd5b6101ae610381565b60405191825260208201526040908101905180910390f35b34156101d157600080fd5b61018961038a565b34156101e457600080fd5b610189600160a060020a0360043581169060243516610390565b341561020957600080fd5b6101896103ad565b341561021c57600080fd5b6102246103b3565b604051901515815260200160405180910390f35b341561024357600080fd5b61024b6103d4565b604051600160a060020a03909116815260200160405180910390f35b341561027257600080fd5b61024b6103e3565b341561028557600080fd5b6101896103f2565b341561029857600080fd5b61024b610355565b34156102ab57600080fd5b61024b6103f8565b34156102be57600080fd5b610224600160a060020a0360043516602435610407565b34156102e057600080fd5b610189610427565b34156102f357600080fd5b610307600160a060020a036004351661042d565b005b341561031457600080fd5b6103076104fa565b341561032757600080fd5b61024b6105a9565b341561033a57600080fd5b61024b6105b8565b341561034d57600080fd5b6101896105c7565b600f54600160a060020a031690565b600e60209081526000928352604080842090915290825290205481565b60035460045482565b60115481565b600c60209081526000928352604080842090915290825290205481565b60065481565b60075474010000000000000000000000000000000000000000900460ff1681565b600054600160a060020a031681565b600254600160a060020a031681565b60085481565b601054600160a060020a031681565b600d60209081526000928352604080842090915290825290205460ff1681565b60055481565b60015433600160a060020a0390811691161461044857600080fd5b600f54600160a060020a038281169116141561046357600080fd5b600160a060020a038116151561047857600080fd5b6010805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055426212750081016011557fec67bbd1e1c0c74039cb44e4ee8278b388155a131c81387e07f800c16f776e839290911690604051600160a060020a03909216825260208201526040908101905180910390a150565b60015433600160a060020a0390811691161461051557600080fd5b601054600160a060020a0316151561052c57600080fd5b60115442901061053b57600080fd5b601054600f805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392831617908190557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b9116604051600160a060020a03909116815260200160405180910390a1565b600754600160a060020a031681565b600154600160a060020a031681565b60095481565b602060405190810160405260008152905600a165627a7a72305820748c3fd36452cba2982dabc925ed50191b752dc57a2492bded2e68ee07306ed20029000000000000000000000000129caf12c70fe9633fe24b15497adafc913c842c000000000000000000000000ed06d46ffb309128c4458a270c99c824dc127f5d000000000000000000000000e03793e63776cf69fe42414ed03bb924d4d9157e000000000000000000000000e03793e63776cf69fe42414ed03bb924d4d9157e00000000000000000000000000000000000000000000000000071afd498d0000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000008d12a197cb00d4747a1fe03395095ce2a5cc681957d54158692b43b05f55462695c3dc04b0217afddfda3f27a07ec31ee46b9c20369521fb20e3cff93d515dad43dc9f9f23dfdbb8d0ca564c480634d401bf9aa1

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

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 000000000000000000000000129caf12c70fe9633fe24b15497adafc913c842c
Arg [1] : 000000000000000000000000ed06d46ffb309128c4458a270c99c824dc127f5d
Arg [2] : 000000000000000000000000e03793e63776cf69fe42414ed03bb924d4d9157e
Arg [3] : 000000000000000000000000e03793e63776cf69fe42414ed03bb924d4d9157e
Arg [4] : 00000000000000000000000000000000000000000000000000071afd498d0000
Arg [5] : 000000000000000000000000000000000000000000000000016345785d8a0000
Arg [6] : 0000000000000000000000008d12a197cb00d4747a1fe03395095ce2a5cc6819
Arg [7] : 57d54158692b43b05f55462695c3dc04b0217afddfda3f27a07ec31ee46b9c20
Arg [8] : 369521fb20e3cff93d515dad43dc9f9f23dfdbb8d0ca564c480634d401bf9aa1


   Swarm Source:
bzzr://748c3fd36452cba2982dabc925ed50191b752dc57a2492bded2e68ee07306ed2

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.