Contract Overview
Balance: 546.829502442625460514 Ether
Transactions: 3048 txns
Misc:
Contract Creator: 0x18e79a47d8a58bef5aaecbba85ea1420649c64a8at txn 0x079b04c7ab794aa81259eaf9c530300757b9d93f3563ac83d135be96439de851
Token Balance:
 Latest 25 transactions from a total of 3048 transactions

TxHash Age From To Value [TxFee]
0x8f2b866ec0cc5b4718812e98a8c636a11b2d5ff63e3ec5216d9e07dce7dd22b817 days 2 hrs ago0x432ab1d67b473b1b14e173ea13e238e4522b2400  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e11 Ether0.000117972
0x11b525bb3ac2f72ac0a110427930d5ff8cb4bf3b9fe4ef0acbf5d9dcba42035018 days 2 hrs ago0x46c6cdc24606ef220c38c12af8d129026072f829  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e11 Ether0.000177972
0xa8bc96ccc70c59a852e9e4a61763d4ce17fac4142849f42a4c87d9d1d861893321 days 9 hrs ago0xb345cd3f3265b406ed77f74e3aa9393b3e3d6c2e  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10.1 Ether0.00088986
0x85f72570cea37fd4412a2b788f171ea6dc76a066a4e52770f74f96bc88af715323 days 13 hrs ago0x432ab1d67b473b1b14e173ea13e238e4522b2400  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e11 Ether0.000177972
0xbdc698d4a4941370f57546841f0e1785c8ba704137f45b84a686dfa91e97209153 days 7 hrs ago0xbf6f07486b9cc880bb1b073252864e7acffc70b3  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e13 Ether0.0003480174
0x01f4b42294b77c5f76d981e1ba798847c1ba6408424cf72d89ff6f0c60c84a8171 days 13 hrs ago0xa2b856a25fea1f259e18f290bf4a6a2a00c4b8b2  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10.5 Ether0.00058986
0xf181e5beabbbe9d85da9379ec03c49cec9f92f2973abc38f8436f5b89336a82a71 days 14 hrs ago0xa2b856a25fea1f259e18f290bf4a6a2a00c4b8b2  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether0.00095072
0x72880420cf71e620b5fff09bec9366d118c3f26bd1e39e252d589f616e920fbd71 days 14 hrs ago0xa2b856a25fea1f259e18f290bf4a6a2a00c4b8b2  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether0.00074502
0xfffb03f474c229dda46e5f828be05d54353c60570a954978a64cec811cbf12ab71 days 14 hrs ago0x9ffaee0180ffa58e172d5d1dc0034e952824845c  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether0.00075672
0x65b5a87449716c9d53e03c28b4ff3cebd035466d1a4bbe0bfce687f2e526cca071 days 14 hrs ago0x9ffaee0180ffa58e172d5d1dc0034e952824845c  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10.00001 Ether0.00058986
0x04637e7cac24094cbd16f3cc5596fc944a2e4be0a76f018bb0e87c3e7a31622871 days 14 hrs ago0x9ffaee0180ffa58e172d5d1dc0034e952824845c  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10.001 Ether0.00058986
0x42f637524932eba03773eff47ba3ccfde6c21b9ec3b6ff40dae347783995fd7871 days 14 hrs ago0x9ffaee0180ffa58e172d5d1dc0034e952824845c  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10.01 Ether0.00088986
0x775d0ec86529740b383d24e321666c6833e6ad429d44b548c8573eb43a88680877 days 2 hrs ago0x82d18368df7ad9fe17772324c5350d14ab6503e2  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether0.000049114
0xd5dc7333044c473c57f46e31962a8f7d4eb8fe1dab11e1085df298ba578c174477 days 2 hrs ago0x82d18368df7ad9fe17772324c5350d14ab6503e2  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether0.000067816
0xe1b7599cea6891cd6942964c7d7e471e83abbca3eb1a2dc999484d97155e436477 days 10 hrs ago0x3b90c13c183b26ba4ee4e05a116324c2d62a308b  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether0.000047479
0xb173be320edf717bb2959e06e3d99199fd4856c58919141f21bbeebfede4831877 days 10 hrs ago0xcc24a9873ff6981c2af56fc8f475d7d1f3bbb904  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether0.000114551
0x95a5555b3aaf987dbdf8b68d7266fb2d01b0d24da00500c7c9e35bf4570f4abb77 days 10 hrs ago0x3b90c13c183b26ba4ee4e05a116324c2d62a308b  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether0.000049306
0x2759ddce9e440e72278f81b356fcde1ccd5c6df8a78d317f0324eba4415909b977 days 10 hrs ago0x3b90c13c183b26ba4ee4e05a116324c2d62a308b  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10.3 Ether0.000044493
0x06b95a13e6e3afaef393ed65ec43d190a7e46b91c3757e75784849dac52bb24077 days 11 hrs ago0xcc24a9873ff6981c2af56fc8f475d7d1f3bbb904  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether0.000067179
0x692346695bc5d6b229668c6aa0f649673c0ef78a5e0f11ddf4d7ad960969896578 days 15 hrs ago0x8e5a7208841558af9f735f053c70f8b23ac3db38  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e11 Ether0.00058986
0x5425802d75c17cf13854dd4bb11dcc29386a99ee926d9e57477929384e009a4f78 days 15 hrs ago0x8e5a7208841558af9f735f053c70f8b23ac3db38  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e11 Ether0.00088986
0x965b3b8582a8918cfea160e28303d2f9b9fffb9fd6cab5172d64da0bde5effaa79 days 11 hrs ago0xbf6f07486b9cc880bb1b073252864e7acffc70b3  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e12 Ether0.0005250174
0xb0b69cdac674af867462a6b01bb6938ebe08893c3975253c37062127c6d3168679 days 11 hrs ago0xbf6f07486b9cc880bb1b073252864e7acffc70b3  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether0.000439196
0x20dc3c5c3dfc631cf548883b0bd252e6a7cacf89f5250acc7830867be186364683 days 14 hrs ago0xf76b6526f3b71c8adf0e9cfa8e831c3e61f5af44  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10.00000000000001 Ether0.123
0xd9695c3f75396d3bd1700136fcabdd19f8a535bc18caca2380c4d794c510ed6684 days 6 hrs ago0xf76b6526f3b71c8adf0e9cfa8e831c3e61f5af44  IN   0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether0.000337974
[ 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
0xd0c45b1ecfefe8b97996841bccdd32c662e2e062d48ffceacb7aa1ea3fae9365448941460 days 7 hrs ago0x228344536a03c0910fb8be9c2755c1a0ba6f89e10x1c588a66a591775c2ed2aae98d1999d3497d598a0.419206823437627118 Ether
0xd0c45b1ecfefe8b97996841bccdd32c662e2e062d48ffceacb7aa1ea3fae9365448941460 days 7 hrs ago0x1c588a66a591775c2ed2aae98d1999d3497d598a0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0xd0c45b1ecfefe8b97996841bccdd32c662e2e062d48ffceacb7aa1ea3fae9365448941460 days 7 hrs ago0x1c588a66a591775c2ed2aae98d1999d3497d598a0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0xd0c45b1ecfefe8b97996841bccdd32c662e2e062d48ffceacb7aa1ea3fae9365448941460 days 7 hrs ago0x1c588a66a591775c2ed2aae98d1999d3497d598a0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0xd0c45b1ecfefe8b97996841bccdd32c662e2e062d48ffceacb7aa1ea3fae9365448941460 days 7 hrs ago0x1c588a66a591775c2ed2aae98d1999d3497d598a0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0xd0c45b1ecfefe8b97996841bccdd32c662e2e062d48ffceacb7aa1ea3fae9365448941460 days 7 hrs ago0x228344536a03c0910fb8be9c2755c1a0ba6f89e10xdb0040451f373949a4be60dcd7b6b8d6e42658b60 Ether
0xd0c45b1ecfefe8b97996841bccdd32c662e2e062d48ffceacb7aa1ea3fae9365448941460 days 7 hrs ago0x1c588a66a591775c2ed2aae98d1999d3497d598a0x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0x1bc320dd265bd21bb91a6ee028a06e8a3a5515d7cc4a37afe6d63c200eb60b3e448197461 days 7 hrs ago0x228344536a03c0910fb8be9c2755c1a0ba6f89e10xdb0040451f373949a4be60dcd7b6b8d6e42658b60 Ether
0x1bc320dd265bd21bb91a6ee028a06e8a3a5515d7cc4a37afe6d63c200eb60b3e448197461 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0x1bc320dd265bd21bb91a6ee028a06e8a3a5515d7cc4a37afe6d63c200eb60b3e448197461 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0x1bc320dd265bd21bb91a6ee028a06e8a3a5515d7cc4a37afe6d63c200eb60b3e448197461 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0x1bc320dd265bd21bb91a6ee028a06e8a3a5515d7cc4a37afe6d63c200eb60b3e448197461 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10.399999999999999999 Ether
0x027a5cd341bd902e3c262f386b57e2c856b7d2f773c5ba3593d9b683591afab2448196761 days 7 hrs ago0x228344536a03c0910fb8be9c2755c1a0ba6f89e10x4a4e0af3643ae7f69f281beb1e909df6c06db7260.419206823437627118 Ether
0x027a5cd341bd902e3c262f386b57e2c856b7d2f773c5ba3593d9b683591afab2448196761 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0x027a5cd341bd902e3c262f386b57e2c856b7d2f773c5ba3593d9b683591afab2448196761 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0x027a5cd341bd902e3c262f386b57e2c856b7d2f773c5ba3593d9b683591afab2448196761 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0x027a5cd341bd902e3c262f386b57e2c856b7d2f773c5ba3593d9b683591afab2448196761 days 7 hrs ago0x228344536a03c0910fb8be9c2755c1a0ba6f89e10xdb0040451f373949a4be60dcd7b6b8d6e42658b60 Ether
0x027a5cd341bd902e3c262f386b57e2c856b7d2f773c5ba3593d9b683591afab2448196761 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0xec9044d0655ed28150ae7d558768a504f56dc325956e23972963062b361030b6448196761 days 7 hrs ago0x228344536a03c0910fb8be9c2755c1a0ba6f89e10x4a4e0af3643ae7f69f281beb1e909df6c06db7260.419206823437627118 Ether
0xec9044d0655ed28150ae7d558768a504f56dc325956e23972963062b361030b6448196761 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0xec9044d0655ed28150ae7d558768a504f56dc325956e23972963062b361030b6448196761 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0xec9044d0655ed28150ae7d558768a504f56dc325956e23972963062b361030b6448196761 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0xec9044d0655ed28150ae7d558768a504f56dc325956e23972963062b361030b6448196761 days 7 hrs ago0x228344536a03c0910fb8be9c2755c1a0ba6f89e10xdb0040451f373949a4be60dcd7b6b8d6e42658b60 Ether
0xec9044d0655ed28150ae7d558768a504f56dc325956e23972963062b361030b6448196761 days 7 hrs ago0x4a4e0af3643ae7f69f281beb1e909df6c06db7260x228344536a03c0910fb8be9c2755c1a0ba6f89e10 Ether
0x7f758e254d2a2d9afd30537b8c03952ed23437e6dfbb97a432e26c720c52c0ec448192061 days 7 hrs ago0x228344536a03c0910fb8be9c2755c1a0ba6f89e10x4a4e0af3643ae7f69f281beb1e909df6c06db7260.419206823437627118 Ether
[ Download CSV Export  ] 
Contract Name: EtherDelta
Compiler Text: v0.4.9+commit.364da425
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.9;

contract SafeMath {
  function safeMul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function safeSub(uint a, uint b) internal returns (uint) {
    assert(b <= a);
    return a - b;
  }

  function safeAdd(uint a, uint b) internal returns (uint) {
    uint c = a + b;
    assert(c>=a && c>=b);
    return c;
  }

  function assert(bool assertion) internal {
    if (!assertion) throw;
  }
}

contract Token {
  /// @return total amount of tokens
  function totalSupply() constant returns (uint256 supply) {}

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

  /// @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) returns (bool success) {}

  /// @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) returns (bool success) {}

  /// @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) returns (bool success) {}

  /// @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) constant returns (uint256 remaining) {}

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

  uint public decimals;
  string public name;
}

contract StandardToken is Token {

  function transfer(address _to, uint256 _value) returns (bool success) {
    //Default assumes totalSupply can't be over max (2^256 - 1).
    //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if it doesn't wrap.
    //Replace the if with this one instead.
    if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
    //if (balances[msg.sender] >= _value && _value > 0) {
      balances[msg.sender] -= _value;
      balances[_to] += _value;
      Transfer(msg.sender, _to, _value);
      return true;
    } else { return false; }
  }

  function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
    //same as above. Replace this line with the following if you want to protect against wrapping uints.
    if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
    //if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0) {
      balances[_to] += _value;
      balances[_from] -= _value;
      allowed[_from][msg.sender] -= _value;
      Transfer(_from, _to, _value);
      return true;
    } else { return false; }
  }

  function balanceOf(address _owner) constant returns (uint256 balance) {
    return balances[_owner];
  }

  function approve(address _spender, uint256 _value) returns (bool success) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

  function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

  mapping(address => uint256) balances;

  mapping (address => mapping (address => uint256)) allowed;

  uint256 public totalSupply;
}

contract ReserveToken is StandardToken, SafeMath {
  address public minter;
  function ReserveToken() {
    minter = msg.sender;
  }
  function create(address account, uint amount) {
    if (msg.sender != minter) throw;
    balances[account] = safeAdd(balances[account], amount);
    totalSupply = safeAdd(totalSupply, amount);
  }
  function destroy(address account, uint amount) {
    if (msg.sender != minter) throw;
    if (balances[account] < amount) throw;
    balances[account] = safeSub(balances[account], amount);
    totalSupply = safeSub(totalSupply, amount);
  }
}

contract AccountLevels {
  //given a user, returns an account level
  //0 = regular user (pays take fee and make fee)
  //1 = market maker silver (pays take fee, no make fee, gets rebate)
  //2 = market maker gold (pays take fee, no make fee, gets entire counterparty's take fee as rebate)
  function accountLevel(address user) constant returns(uint) {}
}

contract AccountLevelsTest is AccountLevels {
  mapping (address => uint) public accountLevels;

  function setAccountLevel(address user, uint level) {
    accountLevels[user] = level;
  }

  function accountLevel(address user) constant returns(uint) {
    return accountLevels[user];
  }
}

contract EtherDelta is SafeMath {
  address public admin; //the admin address
  address public feeAccount; //the account that will receive fees
  address public accountLevelsAddr; //the address of the AccountLevels contract
  uint public feeMake; //percentage times (1 ether)
  uint public feeTake; //percentage times (1 ether)
  uint public feeRebate; //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)

  event Order(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, address user);
  event Cancel(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, address user, uint8 v, bytes32 r, bytes32 s);
  event Trade(address tokenGet, uint amountGet, address tokenGive, uint amountGive, address get, address give);
  event Deposit(address token, address user, uint amount, uint balance);
  event Withdraw(address token, address user, uint amount, uint balance);

  function EtherDelta(address admin_, address feeAccount_, address accountLevelsAddr_, uint feeMake_, uint feeTake_, uint feeRebate_) {
    admin = admin_;
    feeAccount = feeAccount_;
    accountLevelsAddr = accountLevelsAddr_;
    feeMake = feeMake_;
    feeTake = feeTake_;
    feeRebate = feeRebate_;
  }

  function() {
    throw;
  }

  function changeAdmin(address admin_) {
    if (msg.sender != admin) throw;
    admin = admin_;
  }

  function changeAccountLevelsAddr(address accountLevelsAddr_) {
    if (msg.sender != admin) throw;
    accountLevelsAddr = accountLevelsAddr_;
  }

  function changeFeeAccount(address feeAccount_) {
    if (msg.sender != admin) throw;
    feeAccount = feeAccount_;
  }

  function changeFeeMake(uint feeMake_) {
    if (msg.sender != admin) throw;
    if (feeMake_ > feeMake) throw;
    feeMake = feeMake_;
  }

  function changeFeeTake(uint feeTake_) {
    if (msg.sender != admin) throw;
    if (feeTake_ > feeTake || feeTake_ < feeRebate) throw;
    feeTake = feeTake_;
  }

  function changeFeeRebate(uint feeRebate_) {
    if (msg.sender != admin) throw;
    if (feeRebate_ < feeRebate || feeRebate_ > feeTake) throw;
    feeRebate = feeRebate_;
  }

  function deposit() payable {
    tokens[0][msg.sender] = safeAdd(tokens[0][msg.sender], msg.value);
    Deposit(0, msg.sender, msg.value, tokens[0][msg.sender]);
  }

  function withdraw(uint amount) {
    if (tokens[0][msg.sender] < amount) throw;
    tokens[0][msg.sender] = safeSub(tokens[0][msg.sender], amount);
    if (!msg.sender.call.value(amount)()) throw;
    Withdraw(0, msg.sender, amount, tokens[0][msg.sender]);
  }

  function depositToken(address token, uint amount) {
    //remember to call Token(address).approve(this, amount) or this contract will not be able to do the transfer on your behalf.
    if (token==0) throw;
    if (!Token(token).transferFrom(msg.sender, this, amount)) throw;
    tokens[token][msg.sender] = safeAdd(tokens[token][msg.sender], amount);
    Deposit(token, msg.sender, amount, tokens[token][msg.sender]);
  }

  function withdrawToken(address token, uint amount) {
    if (token==0) throw;
    if (tokens[token][msg.sender] < amount) throw;
    tokens[token][msg.sender] = safeSub(tokens[token][msg.sender], amount);
    if (!Token(token).transfer(msg.sender, amount)) throw;
    Withdraw(token, msg.sender, amount, tokens[token][msg.sender]);
  }

  function balanceOf(address token, address user) constant returns (uint) {
    return tokens[token][user];
  }

  function order(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce) {
    bytes32 hash = sha256(this, tokenGet, amountGet, tokenGive, amountGive, expires, nonce);
    orders[msg.sender][hash] = true;
    Order(tokenGet, amountGet, tokenGive, amountGive, expires, nonce, msg.sender);
  }

  function trade(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, address user, uint8 v, bytes32 r, bytes32 s, uint amount) {
    //amount is in amountGet terms
    bytes32 hash = sha256(this, tokenGet, amountGet, tokenGive, amountGive, expires, nonce);
    if (!(
      (orders[user][hash] || ecrecover(sha3("\x19Ethereum Signed Message:\n32", hash),v,r,s) == user) &&
      block.number <= expires &&
      safeAdd(orderFills[user][hash], amount) <= amountGet
    )) throw;
    tradeBalances(tokenGet, amountGet, tokenGive, amountGive, user, amount);
    orderFills[user][hash] = safeAdd(orderFills[user][hash], amount);
    Trade(tokenGet, amount, tokenGive, amountGive * amount / amountGet, user, msg.sender);
  }

  function tradeBalances(address tokenGet, uint amountGet, address tokenGive, uint amountGive, address user, uint amount) private {
    uint feeMakeXfer = safeMul(amount, feeMake) / (1 ether);
    uint feeTakeXfer = safeMul(amount, feeTake) / (1 ether);
    uint feeRebateXfer = 0;
    if (accountLevelsAddr != 0x0) {
      uint accountLevel = AccountLevels(accountLevelsAddr).accountLevel(user);
      if (accountLevel==1) feeRebateXfer = safeMul(amount, feeRebate) / (1 ether);
      if (accountLevel==2) feeRebateXfer = feeTakeXfer;
    }
    tokens[tokenGet][msg.sender] = safeSub(tokens[tokenGet][msg.sender], safeAdd(amount, feeTakeXfer));
    tokens[tokenGet][user] = safeAdd(tokens[tokenGet][user], safeSub(safeAdd(amount, feeRebateXfer), feeMakeXfer));
    tokens[tokenGet][feeAccount] = safeAdd(tokens[tokenGet][feeAccount], safeSub(safeAdd(feeMakeXfer, feeTakeXfer), feeRebateXfer));
    tokens[tokenGive][user] = safeSub(tokens[tokenGive][user], safeMul(amountGive, amount) / amountGet);
    tokens[tokenGive][msg.sender] = safeAdd(tokens[tokenGive][msg.sender], safeMul(amountGive, amount) / amountGet);
  }

  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) {
    if (!(
      tokens[tokenGet][sender] >= amount &&
      availableVolume(tokenGet, amountGet, tokenGive, amountGive, expires, nonce, user, v, r, s) >= amount
    )) return false;
    return true;
  }

  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) {
    bytes32 hash = sha256(this, tokenGet, amountGet, tokenGive, amountGive, expires, nonce);
    if (!(
      (orders[user][hash] || ecrecover(sha3("\x19Ethereum Signed Message:\n32", hash),v,r,s) == user) &&
      block.number <= expires
    )) return 0;
    uint available1 = safeSub(amountGet, orderFills[user][hash]);
    uint available2 = safeMul(tokens[tokenGive][user], amountGet) / amountGive;
    if (available1<available2) return available1;
    return available2;
  }

  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) {
    bytes32 hash = sha256(this, tokenGet, amountGet, tokenGive, amountGive, expires, nonce);
    return orderFills[user][hash];
  }

  function cancelOrder(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, uint8 v, bytes32 r, bytes32 s) {
    bytes32 hash = sha256(this, tokenGet, amountGet, tokenGive, amountGive, expires, nonce);
    if (!(orders[msg.sender][hash] || ecrecover(sha3("\x19Ethereum Signed Message:\n32", hash),v,r,s) == msg.sender)) throw;
    orderFills[msg.sender][hash] = amountGet;
    Cancel(tokenGet, amountGet, tokenGive, amountGive, expires, nonce, msg.sender, v, r, s);
  }
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"tokenGet","type":"address"},{"name":"amountGet","type":"uint256"},{"name":"tokenGive","type":"address"},{"name":"amountGive","type":"uint256"},{"name":"expires","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"user","type":"address"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"},{"name":"amount","type":"uint256"}],"name":"trade","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"tokenGet","type":"address"},{"name":"amountGet","type":"uint256"},{"name":"tokenGive","type":"address"},{"name":"amountGive","type":"uint256"},{"name":"expires","type":"uint256"},{"name":"nonce","type":"uint256"}],"name":"order","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"orderFills","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"tokenGet","type":"address"},{"name":"amountGet","type":"uint256"},{"name":"tokenGive","type":"address"},{"name":"amountGive","type":"uint256"},{"name":"expires","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"cancelOrder","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"}],"name":"depositToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"tokenGet","type":"address"},{"name":"amountGet","type":"uint256"},{"name":"tokenGive","type":"address"},{"name":"amountGive","type":"uint256"},{"name":"expires","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"user","type":"address"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"amountFilled","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"tokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"feeMake_","type":"uint256"}],"name":"changeFeeMake","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"feeMake","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"feeRebate_","type":"uint256"}],"name":"changeFeeRebate","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"feeAccount","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"tokenGet","type":"address"},{"name":"amountGet","type":"uint256"},{"name":"tokenGive","type":"address"},{"name":"amountGive","type":"uint256"},{"name":"expires","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"user","type":"address"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"},{"name":"amount","type":"uint256"},{"name":"sender","type":"address"}],"name":"testTrade","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"feeAccount_","type":"address"}],"name":"changeFeeAccount","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"feeRebate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"feeTake_","type":"uint256"}],"name":"changeFeeTake","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"admin_","type":"address"}],"name":"changeAdmin","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"orders","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"feeTake","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"accountLevelsAddr_","type":"address"}],"name":"changeAccountLevelsAddr","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"accountLevelsAddr","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"token","type":"address"},{"name":"user","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"tokenGet","type":"address"},{"name":"amountGet","type":"uint256"},{"name":"tokenGive","type":"address"},{"name":"amountGive","type":"uint256"},{"name":"expires","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"user","type":"address"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"availableVolume","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"admin_","type":"address"},{"name":"feeAccount_","type":"address"},{"name":"accountLevelsAddr_","type":"address"},{"name":"feeMake_","type":"uint256"},{"name":"feeTake_","type":"uint256"},{"name":"feeRebate_","type":"uint256"}],"payable":false,"type":"constructor"},{"payable":false,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenGet","type":"address"},{"indexed":false,"name":"amountGet","type":"uint256"},{"indexed":false,"name":"tokenGive","type":"address"},{"indexed":false,"name":"amountGive","type":"uint256"},{"indexed":false,"name":"expires","type":"uint256"},{"indexed":false,"name":"nonce","type":"uint256"},{"indexed":false,"name":"user","type":"address"}],"name":"Order","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenGet","type":"address"},{"indexed":false,"name":"amountGet","type":"uint256"},{"indexed":false,"name":"tokenGive","type":"address"},{"indexed":false,"name":"amountGive","type":"uint256"},{"indexed":false,"name":"expires","type":"uint256"},{"indexed":false,"name":"nonce","type":"uint256"},{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"v","type":"uint8"},{"indexed":false,"name":"r","type":"bytes32"},{"indexed":false,"name":"s","type":"bytes32"}],"name":"Cancel","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenGet","type":"address"},{"indexed":false,"name":"amountGet","type":"uint256"},{"indexed":false,"name":"tokenGive","type":"address"},{"indexed":false,"name":"amountGive","type":"uint256"},{"indexed":false,"name":"get","type":"address"},{"indexed":false,"name":"give","type":"address"}],"name":"Trade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"balance","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"balance","type":"uint256"}],"name":"Withdraw","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052341561000c57fe5b60405160c080611a7983398101604090815281516020830151918301516060840151608085015160a090950151929491929091905b60008054600160a060020a03808916600160a060020a0319928316179092556001805488841690831617905560028054928716929091169190911790556003839055600482905560058190555b5050505050505b6119d5806100a46000396000f300606060405236156101385763ffffffff60e060020a6000350416630a19b14a811461014d5780630b9276661461019957806319774d43146101ca578063278b8c0e146101fb5780632e1a7d4d14610239578063338b5dea1461024e57806346be96c31461026f578063508493bc146102c757806354d03b5c146102fb57806357786394146103105780635e1d7ae41461033257806365e17c9d146103475780636c86888b1461037357806371ffcb16146103dc578063731c2f81146103fa5780638823a9c01461041c5780638f283970146104315780639e281a981461044f578063bb5f462914610470578063c281309e146104a3578063d0e30db0146104c5578063e8f6bc2e146104cf578063f3412942146104ed578063f7888aec14610519578063f851a4401461054d578063fb6e155f14610579575b341561014057fe5b61014b5b610000565b565b005b341561015557fe5b61014b600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351660ff60e435166101043561012435610144356105d1565b005b34156101a157fe5b61014b600160a060020a03600435811690602435906044351660643560843560a435610896565b005b34156101d257fe5b6101e9600160a060020a03600435166024356109a7565b60408051918252519081900360200190f35b341561020357fe5b61014b600160a060020a03600435811690602435906044351660643560843560a43560ff60c4351660e435610104356109c4565b005b341561024157fe5b61014b600435610bd4565b005b341561025657fe5b61014b600160a060020a0360043516602435610cf2565b005b341561027757fe5b6101e9600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351660ff60e435166101043561012435610e46565b60408051918252519081900360200190f35b34156102cf57fe5b6101e9600160a060020a0360043581169060243516610f33565b60408051918252519081900360200190f35b341561030357fe5b61014b600435610f50565b005b341561031857fe5b6101e9610f83565b60408051918252519081900360200190f35b341561033a57fe5b61014b600435610f89565b005b341561034f57fe5b610357610fc8565b60408051600160a060020a039092168252519081900360200190f35b341561037b57fe5b6103c8600160a060020a0360043581169060243590604435811690606435906084359060a4359060c43581169060ff60e43516906101043590610124359061014435906101643516610fd7565b604080519115158252519081900360200190f35b34156103e457fe5b61014b600160a060020a0360043516611042565b005b341561040257fe5b6101e961107c565b60408051918252519081900360200190f35b341561042457fe5b61014b600435611082565b005b341561043957fe5b61014b600160a060020a03600435166110c1565b005b341561045757fe5b61014b600160a060020a03600435166024356110fb565b005b341561047857fe5b6103c8600160a060020a0360043516602435611299565b604080519115158252519081900360200190f35b34156104ab57fe5b6101e96112b9565b60408051918252519081900360200190f35b61014b6112bf565b005b34156104d757fe5b61014b600160a060020a0360043516611361565b005b34156104f557fe5b61035761139b565b60408051600160a060020a039092168252519081900360200190f35b341561052157fe5b6101e9600160a060020a03600435811690602435166113aa565b60408051918252519081900360200190f35b341561055557fe5b6103576113d7565b60408051600160a060020a039092168252519081900360200190f35b341561058157fe5b6101e9600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351660ff60e4351661010435610124356113e6565b60408051918252519081900360200190f35b60006002308d8d8d8d8d8d6000604051602001526040518088600160a060020a0316600160a060020a0316606060020a02815260140187600160a060020a0316600160a060020a0316606060020a02815260140186815260200185600160a060020a0316600160a060020a0316606060020a0281526014018481526020018381526020018281526020019750505050505050506020604051808303816000866161da5a03f1151561067e57fe5b50506040805151600160a060020a0388166000908152600760209081528382208383529052919091205490915060ff16806107625750604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101839052815190819003603c018120600082815260208381018552928401819052835191825260ff891682840152818401889052606082018790529251600160a060020a038a16936001936080808501949193601f198101939281900390910191866161da5a03f1151561074e57fe5b505060206040510351600160a060020a0316145b801561076e5750874311155b80156107a85750600160a060020a03861660009081526008602090815260408083208484529091529020548b906107a5908461162d565b11155b15156107b357610000565b6107c18c8c8c8c8a87611655565b600160a060020a03861660009081526008602090815260408083208484529091529020546107ef908361162d565b600160a060020a03871660009081526008602090815260408083208584529091529020557f6effdda786735d5033bfad5f53e5131abcced9e52be6c507b62d639685fbed6d8c838c8e8d830281151561084457fe5b60408051600160a060020a039687168152602081019590955292851684840152046060830152828a166080830152339290921660a082015290519081900360c00190a15b505050505050505050505050565b60408051600060209182018190528251606060020a600160a060020a0330811682028352808c1682026014840152602883018b90528916026048820152605c8101879052607c8101869052609c81018590529251909260029260bc808301939192829003018186866161da5a03f1151561090c57fe5b5050604080518051600160a060020a03338116600081815260076020908152868220858352815290869020805460ff191660011790558c8316855284018b905290891683850152606083018890526080830187905260a0830186905260c083015291519192507f3f7f2eda73683c21a15f9435af1028c93185b5f1fa38270762dc32be606b3e85919081900360e00190a15b50505050505050565b600860209081526000928352604080842090915290825290205481565b60408051600060209182018190528251606060020a600160a060020a0330811682028352808f1682026014840152602883018e90528c16026048820152605c81018a9052607c8101899052609c81018890529251909260029260bc808301939192829003018186866161da5a03f11515610a3a57fe5b50506040805151600160a060020a0333166000908152600760209081528382208383529052919091205490915060ff1680610b1e5750604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101839052815190819003603c018120600082815260208381018552928401819052835191825260ff881682840152818401879052606082018690529251600160a060020a033316936001936080808501949193601f198101939281900390910191866161da5a03f11515610b0a57fe5b505060206040510351600160a060020a0316145b1515610b2957610000565b600160a060020a0333811660008181526008602090815260408083208684528252918290208d905581518e851681529081018d9052928b1683820152606083018a90526080830189905260a0830188905260c083019190915260ff861660e083015261010082018590526101208201849052517f1e0b760c386003e9cb9bcf4fcf3997886042859d9b6ed6320e804597fcdb28b0918190036101400190a15b50505050505050505050565b33600160a060020a0316600090815260008051602061198a833981519152602052604090205481901015610c0757610000565b33600160a060020a0316600090815260008051602061198a8339815191526020526040902054610c379082611931565b33600160a060020a0316600081815260008051602061198a8339815191526020526040808220939093559151909183919081818185876185025a03f1925050501515610c8257610000565b600160a060020a033316600081815260008051602061198a8339815191526020908152604080832054815193845291830193909352818301849052606082015290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15b50565b600160a060020a0382161515610d0757610000565b604080516000602091820181905282517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301523081166024830152604482018690529351938616936323b872dd9360648084019491938390030190829087803b1515610d7f57fe5b60325a03f11515610d8c57fe5b50506040515115159050610d9f57610000565b600160a060020a0380831660009081526006602090815260408083203390941683529290522054610dd0908261162d565b600160a060020a038381166000818152600660209081526040808320339095168084529482529182902085905581519283528201929092528082018490526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a15b5050565b600060006002308d8d8d8d8d8d6000604051602001526040518088600160a060020a0316600160a060020a0316606060020a02815260140187600160a060020a0316600160a060020a0316606060020a02815260140186815260200185600160a060020a0316600160a060020a0316606060020a0281526014018481526020018381526020018281526020019750505050505050506020604051808303816000866161da5a03f11515610ef557fe5b50506040805151600160a060020a03881660009081526008602090815283822083835290529190912054925090505b509a9950505050505050505050565b600660209081526000928352604080842090915290825290205481565b60005433600160a060020a03908116911614610f6b57610000565b600354811115610f7a57610000565b60038190555b50565b60035481565b60005433600160a060020a03908116911614610fa457610000565b600554811080610fb5575060045481115b15610fbf57610000565b60058190555b50565b600154600160a060020a031681565b600160a060020a03808d16600090815260066020908152604080832093851683529290529081205483901080159061102057508261101d8e8e8e8e8e8e8e8e8e8e6113e6565b10155b151561102e57506000611032565b5060015b9c9b505050505050505050505050565b60005433600160a060020a0390811691161461105d57610000565b60018054600160a060020a031916600160a060020a0383161790555b50565b60055481565b60005433600160a060020a0390811691161461109d57610000565b6004548111806110ae575060055481105b156110b857610000565b60048190555b50565b60005433600160a060020a039081169116146110dc57610000565b60008054600160a060020a031916600160a060020a0383161790555b50565b600160a060020a038216151561111057610000565b600160a060020a03808316600090815260066020908152604080832033909416835292905220548190101561114457610000565b600160a060020a03808316600090815260066020908152604080832033909416835292905220546111759082611931565b600160a060020a03808416600081815260066020908152604080832033909516808452948252808320959095558451810182905284517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018690529351919363a9059cbb936044808201949293918390030190829087803b151561120257fe5b60325a03f1151561120f57fe5b5050604051511515905061122257610000565b600160a060020a03808316600081815260066020908152604080832033959095168084529482529182902054825193845290830193909352818101849052606082019290925290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15b5050565b600760209081526000928352604080842090915290825290205460ff1681565b60045481565b33600160a060020a0316600090815260008051602061198a83398151915260205260409020546112ef903461162d565b33600160a060020a0316600081815260008051602061198a8339815191526020908152604080832085905580519283529082019290925234818301526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a15b565b60005433600160a060020a0390811691161461137c57610000565b60028054600160a060020a031916600160a060020a0383161790555b50565b600254600160a060020a031681565b600160a060020a038083166000908152600660209081526040808320938516835292905220545b92915050565b600054600160a060020a031681565b60006000600060006002308f8f8f8f8f8f6000604051602001526040518088600160a060020a0316600160a060020a0316606060020a02815260140187600160a060020a0316600160a060020a0316606060020a02815260140186815260200185600160a060020a0316600160a060020a0316606060020a0281526014018481526020018381526020018281526020019750505050505050506020604051808303816000866161da5a03f1151561149957fe5b50506040805151600160a060020a038a166000908152600760209081528382208383529052919091205490935060ff168061157d5750604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101859052815190819003603c018120600082815260208381018552928401819052835191825260ff8b16828401528184018a9052606082018990529251600160a060020a038c16936001936080808501949193601f198101939281900390910191866161da5a03f1151561156957fe5b505060206040510351600160a060020a0316145b80156115895750894311155b1515611598576000935061161c565b600160a060020a03881660009081526008602090815260408083208684529091529020546115c7908e90611931565b600160a060020a03808e166000908152600660209081526040808320938d16835292905220549092508b906115fc908f61194a565b81151561160557fe5b049050808210156116185781935061161c565b8093505b5050509a9950505050505050505050565b600082820161164a8482108015906116455750838210155b611979565b8091505b5092915050565b6000600060006000670de0b6b3a76400006116728660035461194a565b81151561167b57fe5b049350670de0b6b3a76400006116938660045461194a565b81151561169c57fe5b600254919004935060009250600160a060020a03161561177257600254604080516000602091820181905282517f1cbd0519000000000000000000000000000000000000000000000000000000008152600160a060020a038b8116600483015293519390941693631cbd0519936024808301949391928390030190829087803b151561172457fe5b60325a03f1151561173157fe5b505060405151915050600181141561176557670de0b6b3a76400006117588660055461194a565b81151561176157fe5b0491505b8060021415611772578291505b5b600160a060020a03808b16600090815260066020908152604080832033909416835292905220546117ad906117a8878661162d565b611931565b600160a060020a038b81166000908152600660209081526040808320338516845290915280822093909355908816815220546117fb906117f66117f0888661162d565b87611931565b61162d565b600160a060020a038b811660009081526006602090815260408083208b85168452909152808220939093556001549091168152205461184c906117f6611841878761162d565b85611931565b61162d565b600160a060020a03808c166000908152600660208181526040808420600154861685528252808420959095558c84168352908152838220928a1682529190915220546118ac908a61189d8a8961194a565b8115156118a657fe5b04611931565b600160a060020a0389811660009081526006602090815260408083208b851684529091528082209390935533909116815220546118fd908a6118ee8a8961194a565b8115156118f757fe5b0461162d565b600160a060020a03808a16600090815260066020908152604080832033909416835292905220555b50505050505050505050565b600061193f83831115611979565b508082035b92915050565b600082820261164a841580611645575083858381151561196657fe5b04145b611979565b8091505b5092915050565b801515610cef57610000565b5b50560054cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8a165627a7a72305820468be9e52c7f41ff50afc583b7c02aff6937a69ed155212dd15604aa874fef0a002900000000000000000000000018e79a47d8a58bef5aaecbba85ea1420649c64a800000000000000000000000018e79a47d8a58bef5aaecbba85ea1420649c64a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000000000000000000000000000000000000000000000

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

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 00000000000000000000000018e79a47d8a58bef5aaecbba85ea1420649c64a8
Arg [1] : 00000000000000000000000018e79a47d8a58bef5aaecbba85ea1420649c64a8
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [4] : 000000000000000000000000000000000000000000000000000aa87bee538000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://468be9e52c7f41ff50afc583b7c02aff6937a69ed155212dd15604aa874fef0a

 

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