Contract 0xbF45F4280Cfbe7C2D2515A7D984B8c71c15E82B7 7

 

Contract Overview

Balance:
7.260603057453384622 Ether

EtherValue:
$9,615.43 (@ $1,324.33/ETH)

Token:
 
Txn Hash
Method
Block
From
To
Value
0x66f7ac8464307a7ebc0ad2d5e9c986457d6822201074f297bb8747cba63d8713Withdraw Token132195732021-09-13 20:33:21380 days 12 hrs ago0xc3c0717034ac5d3fc7ed856837adab07dd35938d IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0035719354
0x06e2f2337f5042800bfb12c890c3ccfb3e7112e3fd0d2b4070bb30e79767d9a5Withdraw Token126047122021-06-10 4:53:33476 days 4 hrs ago0x90f8725c932a24262e48bd9abe8dff268a655e55 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000357289.2
0xc8ffab05192010b0d0b186745c11160af9e11fb0f16abad64e4771694336a3d0Withdraw125597912021-06-03 6:02:00483 days 2 hrs ago0x9318f39ef9dd79d4bf1bcb566a6f2cc1f91dbb1b IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0005964822
0xb665ecc73990db8eee06ab2b21c027d1ebf5e447cfffb88cf265c43ed9228f6dDeposit Token123334632021-04-29 5:22:24518 days 3 hrs ago0x640d0d3c17a253d0b9fca05633b2b3efb9db473b IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.003078150
0x45af194349432e9a9d8bc40b9fb722f71cbe14e9450050642c4d47327b4bbbffWithdraw Token120499612021-03-16 13:41:27561 days 19 hrs ago0x07a0af3b01eb56f321732393a30d78e76d97f91e IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.00550522140
0x1a1e8359ecdc8bc77bc4b6d2ac82dff59d16bba76444629ea16b8ed5ee8c738aWithdraw Token118260322021-02-10 2:20:41596 days 6 hrs ago0xd39998575134fda843870c595106624461f25330 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.00515131131.00000145
0xf03edfb20fad02316d511f880199e3a8f7a7b1a482ad373a0ade10f7f1c0a3fcWithdraw116657642021-01-16 10:41:27620 days 22 hrs ago0xbd81e6ce7ff0325a22173f6ecb317e64cdb04377 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0011981245
0xdccab1593a58646329f6b76b44784b99a5c1b68ef65b8fdca5aef4ee34f8803eWithdraw Both114769422020-12-18 11:32:45649 days 21 hrs agoENS Name vith.eth IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0028894844
0x2d0dc17fc75ce720a7eaa8e01fd371bfd28eb2f7877f3113038ccf74ac60ad2cWithdraw Both114469702020-12-13 21:07:55654 days 11 hrs ago0x51a95b91c471c5f7a67f121b87ff1cbee11826de IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0013924633
0xc368e362aaf45aaadd81da87acea3a8f3a3e34c4d71bedc5962e758632a6b22fWithdraw Token113008382020-11-21 9:57:34676 days 22 hrs ago0x800f66512d24afc421e27d3c86510aa64e8fa3dd IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0017387232
0x9f670f7c2f3e77f42a2c351b88a682b0447bdb7e9b7e98bab35806c041206f48Withdraw107659622020-08-31 2:23:37759 days 6 hrs agodust-token.com: Deployer IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.00361773136
0x2f2f6998b25235cb3398bb82426f7fc8b23518d170165d996dc61d900149b602Withdraw Both106983392020-08-20 17:10:57769 days 15 hrs ago0xd6c2a4f5addf2026cb07b37a4b43b3b744023545 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.00686064120
0xe6d005610a88112103d35a92df63cab5380b10b3d5c9bcffea56249242ff3026Withdraw Both105243582020-07-24 20:21:51796 days 12 hrs ago0xc3c0717034ac5d3fc7ed856837adab07dd35938d IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0026882147
0xc0881873a9046c629f7fe7081e11771abdd9248b5698964861c6570fd867a2bbWithdraw Both103307772020-06-24 20:59:57826 days 11 hrs ago0x83d91600625a39bb61c5e9dc59b65e967ec862c3 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0011817628
0x37245fd48318da4d1a71891fca6dd72bd22485cc296cf2e43e8cc04c15bb9f9eWithdraw103307622020-06-24 20:57:11826 days 11 hrs ago0xd62ce04fb4c10f30305ae7a55607b2d9bd68942f IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0007980330
0xea51c17b7aa898a7f8e7dcf28f7e263c8c017e2c8e7a8904afba0b65e5adeca2Withdraw Both103307462020-06-24 20:53:03826 days 12 hrs ago0x55f14483b7c1b7c337ec36fb4426fd67426cbfd5 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0012654630
0x2dbd3cb56001d5e66f8dc3e2d59c91e96fc5307449c5c81379d3319d7f9ca01aWithdraw103307182020-06-24 20:46:43826 days 12 hrs ago0xe2900f0faa1a428f7b5dd35a392f786445cba449 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0008253731
0x0693efd7e05002d4f3f407422be969ecdeba62f1bf3a14e03141145e40e880d4Withdraw Token97818382020-03-31 21:12:28911 days 11 hrs ago0x0ed87df7938a51da6edf7c41a5869d21e2336055 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000382227
0xbad1093e8d4eccff0e69bc34441a206034da02010eb045793946fc6f234cb597Withdraw Token97818322020-03-31 21:11:10911 days 11 hrs ago0x0ed87df7938a51da6edf7c41a5869d21e2336055 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000271735
0x3202d3109accb7ba8c992772988656b1787802134c90023f082199b95da64995Withdraw Both97818232020-03-31 21:09:44911 days 11 hrs ago0x0ed87df7938a51da6edf7c41a5869d21e2336055 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000285925
0xa51eb96314cfaa5cd56c82f7c924c78e3183835807b6906f86e49457c4ec7d86Withdraw Both97592052020-03-28 9:36:07914 days 23 hrs ago0xb160ccd2d242c820d82ce920416c2f3ed2c18c58 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000084342
0xd7cc2904e3c55827ccd135105bb37672915e4fc686ee055bf7ceec5a1eb392ebWithdraw Token96034712020-03-04 7:53:37939 days 1 hr ago0xca9fe696335319ce61d9cdfb29e837e0f07d4495 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000083353.2
0x4a310ce22e40418b13abb6936dd6ca2df0d2d1a69fa2d1d7245e97e7aa15f14dWithdraw Token96034712020-03-04 7:53:37939 days 1 hr ago0xca9fe696335319ce61d9cdfb29e837e0f07d4495 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.0001183
0xd90828ecc4587a9b8b20b9f17b45b2e1f87cc187cb00dfec35604180b7458b5cWithdraw Both96034442020-03-04 7:45:53939 days 1 hr ago0xca9fe696335319ce61d9cdfb29e837e0f07d4495 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000137272.4
0xe07172de871f4b628f74a2cc9e5eb46cd60023af74d03cbff13183d3161d5c56Cancel Order94793182020-02-14 5:37:11958 days 3 hrs ago0x7bde74b0ed3de8443bb42f1bbe2161856d0274d0 IN  0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70 Ether0.000309198
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xc8ffab05192010b0d0b186745c11160af9e11fb0f16abad64e4771694336a3d0125597912021-06-03 6:02:00483 days 2 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x9318f39ef9dd79d4bf1bcb566a6f2cc1f91dbb1b0.01385903 Ether
0xf03edfb20fad02316d511f880199e3a8f7a7b1a482ad373a0ade10f7f1c0a3fc116657642021-01-16 10:41:27620 days 22 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xbd81e6ce7ff0325a22173f6ecb317e64cdb043770.29301386 Ether
0xdccab1593a58646329f6b76b44784b99a5c1b68ef65b8fdca5aef4ee34f8803e114769422020-12-18 11:32:45649 days 21 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b7ENS Name vith.eth0.0059869 Ether
0x2d0dc17fc75ce720a7eaa8e01fd371bfd28eb2f7877f3113038ccf74ac60ad2c114469702020-12-13 21:07:55654 days 11 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x51a95b91c471c5f7a67f121b87ff1cbee11826de0.75121135 Ether
0x9f670f7c2f3e77f42a2c351b88a682b0447bdb7e9b7e98bab35806c041206f48107659622020-08-31 2:23:37759 days 6 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b7dust-token.com: Deployer0.05 Ether
0x2f2f6998b25235cb3398bb82426f7fc8b23518d170165d996dc61d900149b602106983392020-08-20 17:10:57769 days 15 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xd6c2a4f5addf2026cb07b37a4b43b3b7440235450.003 Ether
0xe6d005610a88112103d35a92df63cab5380b10b3d5c9bcffea56249242ff3026105243582020-07-24 20:21:51796 days 12 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xc3c0717034ac5d3fc7ed856837adab07dd35938d0.06298737 Ether
0xc0881873a9046c629f7fe7081e11771abdd9248b5698964861c6570fd867a2bb103307772020-06-24 20:59:57826 days 11 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x83d91600625a39bb61c5e9dc59b65e967ec862c30.11732112 Ether
0x37245fd48318da4d1a71891fca6dd72bd22485cc296cf2e43e8cc04c15bb9f9e103307622020-06-24 20:57:11826 days 11 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xd62ce04fb4c10f30305ae7a55607b2d9bd68942f0.0263328 Ether
0xea51c17b7aa898a7f8e7dcf28f7e263c8c017e2c8e7a8904afba0b65e5adeca2103307462020-06-24 20:53:03826 days 12 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x55f14483b7c1b7c337ec36fb4426fd67426cbfd50.03860992 Ether
0x2dbd3cb56001d5e66f8dc3e2d59c91e96fc5307449c5c81379d3319d7f9ca01a103307182020-06-24 20:46:43826 days 12 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xe2900f0faa1a428f7b5dd35a392f786445cba4490.04656304 Ether
0x3202d3109accb7ba8c992772988656b1787802134c90023f082199b95da6499597818232020-03-31 21:09:44911 days 11 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x0ed87df7938a51da6edf7c41a5869d21e23360550.000035 Ether
0xa51eb96314cfaa5cd56c82f7c924c78e3183835807b6906f86e49457c4ec7d8697592052020-03-28 9:36:07914 days 23 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xb160ccd2d242c820d82ce920416c2f3ed2c18c580.00004 Ether
0xd90828ecc4587a9b8b20b9f17b45b2e1f87cc187cb00dfec35604180b7458b5c96034442020-03-04 7:45:53939 days 1 hr ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xca9fe696335319ce61d9cdfb29e837e0f07d44950.04067535 Ether
0x0675447c23a52f960958fa85b625c33cf523e3171e7228fa2a30e57d18f5096593081332020-01-18 22:58:07984 days 9 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x6544dd1e1d1dd2eefe42d6f2975cf3225a4b20560.051 Ether
0xcec11595e8ca25fd9557b18557a11cf68482aabec0db0c6c9cc4886cecc7b3e192324832020-01-07 8:50:24996 days 5 mins ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x85460227ee0bb7f034d907f84306353d3e67ac6b0.22627794 Ether
0x8c32c875c5c0e0fd3a52233d1708839298ef8dfbe51f1f110181abbafcc44af191496302019-12-23 7:21:081011 days 1 hr ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x38c4958f273be3144d7d6c593bb4f8b24a6dba0e0.01 Ether
0x2861e37d62ad7409d42844e4a055f5079943c1a15f6ab4b6d5723361e57c837391322932019-12-19 20:34:371014 days 12 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xce2e52ba1ce72bc0fd2f222cb14fb1f4501c80e20.0430051 Ether
0x39ed4cb9473e4a44d66356d3bad267337e25c705d638c1e3fa625fb462be671b91322642019-12-19 20:26:361014 days 12 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70xce2e52ba1ce72bc0fd2f222cb14fb1f4501c80e20.06119488 Ether
0xf2e572101c58ce744ca90ce852641ada4451e8682d394f0dbcaeafc38c58f19a90783472019-12-09 16:19:331024 days 16 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x505ed8c9c2ba94b31dfa1bf686756d3a693367f60.00004728 Ether
0xe1c1f8e9eeebc751c361e7ade5cf5efebd297e2cd8c5904fa4d2b950dd05a77789545112019-11-18 4:39:151046 days 4 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x3efd9b0bd8e4595bc494539aca584821950106ee0.00618496 Ether
0x9c06d492cbed5f7c09eddb44982b2a778c109b33f88148728fee3749c098755888818352019-11-06 4:42:351058 days 4 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x505ed8c9c2ba94b31dfa1bf686756d3a693367f60.02 Ether
0x652a5c873f693d9404cbe2a37c291c80d17bc9a09fe55c36653e084cb596716988344922019-10-29 14:16:471065 days 18 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x505ed8c9c2ba94b31dfa1bf686756d3a693367f60.01 Ether
0x6f79de500bd631e4412f403058d1dab3909c38086f5740ca76f41008c888448b88315652019-10-29 2:48:521066 days 6 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x505ed8c9c2ba94b31dfa1bf686756d3a693367f60.01990087 Ether
0x76d7ac7c321985b164a77a3818fa1edb3edebf4bac87f8b0d38c518c1eac633687788322019-10-20 16:58:431074 days 15 hrs ago 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b70x95a7a609850364aaefb0ce2c549dd8e1a34d6ef60.005 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EnclavesDEXProxy

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-04-16
*/

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

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

60606040526007805460a060020a60ff02191674010000000000000000000000000000000000000000179055341561003657600080fd5b6040516101208061081c8339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805191906020018051919060200180519150899050600160a060020a038116151561009c57600080fd5b60008054600160a060020a031916600160a060020a03928316179055881615156100c557600080fd5b600f8054600160a060020a0319908116600160a060020a038b8116919091179092556001805482168a841617905560028054821689841617905560058790556006869055600780549091168583161790819055600884905560098390551663577863946040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561016f57600080fd5b5af1151561017c57600080fd5b505050604051805160035550600754600160a060020a031663c281309e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156101e057600080fd5b5af115156101ed57600080fd5b50505060405180516004555050505050505050505061060b806102116000396000f3006060604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166319774d4381146101675780631bff47861461019b5780633cf52ffb146101c6578063508493bc146101d957806355ce76e6146101fe5780635bd948b1146102115780635d4d061e1461023857806365e17c9d146102675780638e1e2add1461027a578063aaf10f421461028d578063bb057c5e146102a0578063bb5f4629146102b3578063c281309e146102d5578063c915fc93146102e8578063d55ec69714610309578063d67a10e31461031c578063f851a4401461032f578063fe26f16f14610342575b6101036105cd565b600080368080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509150610141610355565b9050600080835160208501845af43d604051816000823e828015610163578282f35b8282fd5b341561017257600080fd5b610189600160a060020a0360043516602435610364565b60405190815260200160405180910390f35b34156101a657600080fd5b6101ae610381565b60405191825260208201526040908101905180910390f35b34156101d157600080fd5b61018961038a565b34156101e457600080fd5b610189600160a060020a0360043581169060243516610390565b341561020957600080fd5b6101896103ad565b341561021c57600080fd5b6102246103b3565b604051901515815260200160405180910390f35b341561024357600080fd5b61024b6103d4565b604051600160a060020a03909116815260200160405180910390f35b341561027257600080fd5b61024b6103e3565b341561028557600080fd5b6101896103f2565b341561029857600080fd5b61024b610355565b34156102ab57600080fd5b61024b6103f8565b34156102be57600080fd5b610224600160a060020a0360043516602435610407565b34156102e057600080fd5b610189610427565b34156102f357600080fd5b610307600160a060020a036004351661042d565b005b341561031457600080fd5b6103076104fa565b341561032757600080fd5b61024b6105a9565b341561033a57600080fd5b61024b6105b8565b341561034d57600080fd5b6101896105c7565b600f54600160a060020a031690565b600e60209081526000928352604080842090915290825290205481565b60035460045482565b60115481565b600c60209081526000928352604080842090915290825290205481565b60065481565b60075474010000000000000000000000000000000000000000900460ff1681565b600054600160a060020a031681565b600254600160a060020a031681565b60085481565b601054600160a060020a031681565b600d60209081526000928352604080842090915290825290205460ff1681565b60055481565b60015433600160a060020a0390811691161461044857600080fd5b600f54600160a060020a038281169116141561046357600080fd5b600160a060020a038116151561047857600080fd5b6010805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055426212750081016011557fec67bbd1e1c0c74039cb44e4ee8278b388155a131c81387e07f800c16f776e839290911690604051600160a060020a03909216825260208201526040908101905180910390a150565b60015433600160a060020a0390811691161461051557600080fd5b601054600160a060020a0316151561052c57600080fd5b60115442901061053b57600080fd5b601054600f805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392831617908190557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b9116604051600160a060020a03909116815260200160405180910390a1565b600754600160a060020a031681565b600154600160a060020a031681565b60095481565b602060405190810160405260008152905600a165627a7a72305820748c3fd36452cba2982dabc925ed50191b752dc57a2492bded2e68ee07306ed20029000000000000000000000000129caf12c70fe9633fe24b15497adafc913c842c000000000000000000000000ed06d46ffb309128c4458a270c99c824dc127f5d000000000000000000000000e03793e63776cf69fe42414ed03bb924d4d9157e000000000000000000000000e03793e63776cf69fe42414ed03bb924d4d9157e00000000000000000000000000000000000000000000000000071afd498d0000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000008d12a197cb00d4747a1fe03395095ce2a5cc681957d54158692b43b05f55462695c3dc04b0217afddfda3f27a07ec31ee46b9c20369521fb20e3cff93d515dad43dc9f9f23dfdbb8d0ca564c480634d401bf9aa1

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

000000000000000000000000129caf12c70fe9633fe24b15497adafc913c842c000000000000000000000000ed06d46ffb309128c4458a270c99c824dc127f5d000000000000000000000000e03793e63776cf69fe42414ed03bb924d4d9157e000000000000000000000000e03793e63776cf69fe42414ed03bb924d4d9157e00000000000000000000000000000000000000000000000000071afd498d0000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000008d12a197cb00d4747a1fe03395095ce2a5cc681957d54158692b43b05f55462695c3dc04b0217afddfda3f27a07ec31ee46b9c20369521fb20e3cff93d515dad43dc9f9f23dfdbb8d0ca564c480634d401bf9aa1

-----Decoded View---------------
Arg [0] : _storageAddress (address): 0x129caF12C70fe9633Fe24B15497adAFC913C842c
Arg [1] : _implementation (address): 0xed06d46FFB309128C4458A270C99c824dc127f5D
Arg [2] : _admin (address): 0xE03793e63776CF69fe42414ED03bB924d4d9157e
Arg [3] : _feeAccount (address): 0xE03793e63776CF69fe42414ED03bB924d4d9157e
Arg [4] : _feeTake (uint256): 2000000000000000
Arg [5] : _feeAmountThreshold (uint256): 100000000000000000
Arg [6] : _etherDelta (address): 0x8d12A197cB00D4747a1fe03395095ce2A5CC6819
Arg [7] : _tradeABIHash (bytes32): 0x57d54158692b43b05f55462695c3dc04b0217afddfda3f27a07ec31ee46b9c20
Arg [8] : _withdrawABIHash (bytes32): 0x369521fb20e3cff93d515dad43dc9f9f23dfdbb8d0ca564c480634d401bf9aa1

-----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
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.