Contract Overview
Balance: 9.468910013500680434 Ether
Ether Value: $1,139.77 (@ $120.37/ETH)
Transactions: 809 txns
 Latest 25 transactions from a total of 809 transactions

TxHash Age From To Value [TxFee]
0x4cd106ee0cb16e15730c989119313c10bebe832345f623c2211ae062e0c6caf88 days 20 hrs ago0x1009516ef6aadf4f7fa595cb8c6ec5c67e75925b  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.00045672
0x7b91376fe40e4127bae25330092bfea677832ce5cf9d6794de87e309f77b6c8c16 days 18 hrs ago0xceaae777f1a6f9d4bdb73947ca34831dccf31002  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.00062966
0x37c98c98b3d3e5a279a9fb318288a1c025b3f1b8369dbb35d90b516ef118493c25 days 8 hrs ago0xceaae777f1a6f9d4bdb73947ca34831dccf31002  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.0009545234
0xe574910dcea2e2d713b58c102fb4712b52ee1d545a5f82cec8faa2be3a647a0c25 days 8 hrs ago0xceaae777f1a6f9d4bdb73947ca34831dccf31002  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.0012530234
0xa0617dc8932568e1346a787414991208443584c113bd5ae5aa84477b3bf80dc030 days 7 hrs ago0x130771a646b647888939b2561cb3f05431279e0c  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0.004 Ether0.000400437
0x97313d7dd3f99dd68fc95c4a704d44258e9ed5cadc16a2d7f7e349c5e8282a4430 days 7 hrs ago0x130771a646b647888939b2561cb3f05431279e0c  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.00037968
0x90a210c484e38d5283f7d2ee8b7faca657ff9ade1de79805979dc7f03ef6064e37 days 4 hrs ago0xaf8c770d1d20fbc8212d09f4109e2d4b0d9e1dd9  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.0007274568
0xac629792f38855d6c15c17a8c428e6dbd6926bddf5c945db257ce160b1c72d4140 days 14 hrs ago0xa942e6909afca03398f9a91c8cd5e42bda9903df  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.00045672
0x720413e339bc7ed99c28c2d22ca4f8eb49ba72dc9c30a391f4596c6c9f1dc1e848 days 9 hrs ago0x975624de549ceb32f5e429e28bae7a1d12f68bbd  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.0002949838
0x147785147213de55fef73336f1b56aa29ec04d709b1ba4ad21090b384cc854e753 days 20 hrs ago0xd58a7b8641e8fe9203d54fd77669eddec001693b  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.006
0xd2cff26e69070c1f397e207ec4e3111f614a2f81138a7f187544f850a78b82c953 days 20 hrs ago0xd58a7b8641e8fe9203d54fd77669eddec001693b  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.006
0x35b414be761d26f483e8f360867b9e6c4e78fff889695c9325aa963cdf0fee8d54 days 4 hrs ago0x7070a70e3660a7f95c45a26f0ebb120634ac3b33  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.006
0x93d7098e80933f7251da4d9454cd6093dbef3841c52320d540cafed7091ce56e54 days 4 hrs ago0x7070a70e3660a7f95c45a26f0ebb120634ac3b33  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.000164982
0x7ee49aab2e22b4e8a1360ad28e267a306f8e340f7997a281223537d00aecc65359 days 21 hrs ago0xaf8c770d1d20fbc8212d09f4109e2d4b0d9e1dd9  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.00052976
0x940e5032258dfc319e3627f41438e3a7453d03de734a769ae974bf0c688fa60259 days 22 hrs ago0xfecce42c23908c1cc916fd4108a386bd686e62e0  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.000535962
0xae496c3eda09ced637c1266df2fbf98f5bc40dc641ed3da8fc0052713af7cd3659 days 22 hrs ago0xfecce42c23908c1cc916fd4108a386bd686e62e0  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.0005657886
0xbf2c5b8d95c1bd43ad433e88b1e5fd8813d62e985988ed5428263bc749bd6bfa62 days 14 hrs ago0x16778dde2dfad696f02be63683c268aa39c4673d  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.00048358
0x0070f0b85e1a54f6b57a3a816c58492eabaf37d9555075ea699d4e8f752e079262 days 14 hrs ago0x16778dde2dfad696f02be63683c268aa39c4673d  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.000765778
0xbd121c22135d0409a6d772221aefec2f157632af37f9aeadd807bb928daa5b8763 days 12 hrs ago0xb9046feddeb3d22dc8eb891ac9e33ed81c86f5f9  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.000313224
0x15b679dcf7719ba8de17dafb8a8ae1c920b8a9a84ca2ed4ccd8e09b269cc089763 days 12 hrs ago0xb9046feddeb3d22dc8eb891ac9e33ed81c86f5f9  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.0015
0x5d5c56a40eb3439528993395adf11d01b8c987900a38d3ef87f9a8239007b13e63 days 12 hrs ago0xb9046feddeb3d22dc8eb891ac9e33ed81c86f5f9  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.000559452
0x8633bef65b593493301d2a456270955fc6f5f0509edaeb1e14fdbe5ba9f3f82469 days 3 hrs ago0x694f01944514e9d598ba5b8e636f8e02dd4b88c8  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.00029677
0xc8d84d286b04da082a7cf4110c511d30d7d975cbd4830274f4279d55df26375369 days 3 hrs ago0x694f01944514e9d598ba5b8e636f8e02dd4b88c8  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.00029677
0x5f6dcc357b5ffd19bed7634cdc8a37d66f5db8b3fa15317eb80f04a687cffd3b69 days 3 hrs ago0x694f01944514e9d598ba5b8e636f8e02dd4b88c8  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.000189355
0x62bf213ef7b129a23feb9917a54cfa832d00586d6723e32a96bdd64a400d62fa70 days 21 hrs ago0x989033ce47f57015dac38a7b759c9b70a661ef07  IN   0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0 Ether0.000787316
[ 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
0x4cd106ee0cb16e15730c989119313c10bebe832345f623c2211ae062e0c6caf870324758 days 20 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x1009516ef6aadf4f7fa595cb8c6ec5c67e75925b0.0004 Ether
0xac629792f38855d6c15c17a8c428e6dbd6926bddf5c945db257ce160b1c72d41684527740 days 14 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0xa942e6909afca03398f9a91c8cd5e42bda9903df0.024 Ether
0x4fa1f40900837d4e8374606543e0313d93400da811b2a2575998b83e316ae247660545680 days 54 mins ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x4f27bc3be1be4703c848ba33c4fce746ef91bcfb0.27 Ether
0x4fe3a8336983b6bf6c3c37460251d3039fb81b279425dace6773c458040f56c4659103982 days 9 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x48850f503412d8a6e3d63541f0e225f04b13a5440.002 Ether
0x488d92a980a52134bff93ffaf48a6f2715a9ad14b2d01c0822449b16b66cf82b657351185 days 6 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x9ff7356be910f15d37d1e2b4b8357665fac3ccac0.3 Ether
0x7e0ad3061d6842db78f33ca982e33f9b9112f2626b95895827ab959eca67e9ad657275885 days 9 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x08d1a7b85ef5c8b01b59661f983845dc02f634f10.12 Ether
0x46017f448b8d631d0e829d8e4ab238ca711ab18eaa57689cda540876ed24dece657268585 days 9 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0xbfde0299a76e9437df7242d090c73ba709834ba50.2 Ether
0x2effa899fca4369f294dea7254bf0512d014ffbe835a4afcb60562e07dadf3cd656312986 days 22 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x3ba17bb92522b0f2d1ea7dbf413745efafe9632e0.285656520580477845 Ether
0x9116845577f91d7529cbaf22c699370db601892eb366e1b8b2d8b3e3a26a1b6e654958489 days 4 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0xcbb851adb85eab38720f2d04b68da7277056cdfc0.000735 Ether
0x218670f639919a27ec8d3527b3c086847132e6b553cd7d7677c1b0377ba71bff654957989 days 4 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0xcbb851adb85eab38720f2d04b68da7277056cdfc0.024 Ether
0x983d56e6f5bbf6daa89cadf27444b53671b3e6c7100ad4fd33edd0a5235222cb654857889 days 8 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x3ba17bb92522b0f2d1ea7dbf413745efafe9632e0.2 Ether
0x253a4524fd3b522c730518649577325ac82f08416957d15c41f098222f7bbb9c653899890 days 21 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x8472a74e5eb2816fa409967500735aba61a4060f0.012279932596467834 Ether
0x7f55ffbbbb73cc9fec163a259a900aad32df09ba78e7b1fcad2cc86a7e585494652275893 days 13 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x9dd55bb2b6869f14e6c8fd40463ff0b8f8fa5a190.081754734980322574 Ether
0xd62758955413fc3d0d6a25ed7618710cc20aa95591dd8ed124d01f20bb8de336652089093 days 20 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0xceaae777f1a6f9d4bdb73947ca34831dccf310020.001 Ether
0x3c83cd934953c23f613f34b0d4cd734a045c028476e07a731672d95507d8bdb2652086793 days 20 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0xceaae777f1a6f9d4bdb73947ca34831dccf310020.5 Ether
0x902772319559eea52a5836798342f64d801d0e97fe5b61b4a3f400b0143a3ceb651610994 days 15 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x00a7a67e76b84465811002df84f0520d76d4cc5f12.811593605670011097 Ether
0x1c7fc305a1f56b621436f63418d095a3e40c9ad29777a9dcbdb1591653e46736651610694 days 15 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x00a7a67e76b84465811002df84f0520d76d4cc5f30 Ether
0x3ca72b82f8c1eec6420a8ed8ec27ffae3f2dfd0f29e8296ebbfe780eaa52e351651348795 days 1 hr ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0xbdac150625849dd9309ce5878869c9de154d43ed0.119689744714324483 Ether
0xad1ba080c63a9057a2315892d6afc03b3540d32dfc6c59b98c5d83164473f240651233595 days 6 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x73d923358c8def832e4f7d5bc9fddb1ed5920b6a0.224 Ether
0xc64cf7528fad6630028f3ce9306dc12869738b3a9779d1a88fbbc560ef798ed8650600896 days 6 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x8e7fbd53b087a9b9e416ed1e402865247d4099a21.363753763333665636 Ether
0x114e49985f88034b0f1e8724bc2048b16f38e69addd2439c228020933525c824650598896 days 6 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x8e7fbd53b087a9b9e416ed1e402865247d4099a20.006 Ether
0x0876e94f75a74216662fe4daa3191a55afc3524f8c7a641afb0fcd3ab7726e08650046697 days 4 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x9dd55bb2b6869f14e6c8fd40463ff0b8f8fa5a190.000000040055092655 Ether
0x9fff49ce6aab528395e26b621884c4f3e23aad25ee8493635eb73aa0666c7674650046197 days 4 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x9dd55bb2b6869f14e6c8fd40463ff0b8f8fa5a190.08 Ether
0x35f9aa16df7aa5e97d6709279be73997a49bb77bf0e4c61c3a96968b9f691b5d649612097 days 21 hrs ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x4f27bc3be1be4703c848ba33c4fce746ef91bcfb1.2 Ether
0xc31fc0f762f10a8bcfcfdef728f02f0c51176ded77fa5f65c24f60e89618f5e9649508198 days 1 hr ago0xba74368aa52ad58d08309f1f549aa63bab0c7e2a0x4f5e40ca79aad046c0377dee7b0f7a807752f4780.263 Ether
[ Download CSV Export  ] 
Contract Name: AZExchange
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 AZExchange 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 AZExchange(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;
    feeMake = feeMake_;
  }

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

  function changeFeeRebate(uint feeRebate_) {
    if (msg.sender != admin) throw;
    if (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
6060604052341561000c57fe5b60405160c080611a5283398101604090815281516020830151918301516060840151608085015160a090950151929491929091905b60008054600160a060020a03808916600160a060020a0319928316179092556001805488841690831617905560028054928716929091169190911790556003839055600482905560058190555b5050505050505b6119ae806100a46000396000f300606060405236156101385763ffffffff60e060020a6000350416630a19b14a811461014d5780630b9276661461019957806319774d43146101ca578063278b8c0e146101fb5780632e1a7d4d14610239578063338b5dea1461024e57806346be96c31461026f578063508493bc146102c757806354d03b5c146102fb57806357786394146103105780635e1d7ae41461033257806365e17c9d146103475780636c86888b1461037357806371ffcb16146103dc578063731c2f81146103fa5780638823a9c01461041c5780638f283970146104315780639e281a981461044f578063bb5f462914610470578063c281309e146104a3578063d0e30db0146104c5578063e8f6bc2e146104cf578063f3412942146104ed578063f7888aec14610519578063f851a4401461054d578063fb6e155f14610579575b341561014057fe5b61014b5b610000565b565b005b341561015557fe5b61014b600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351660ff60e435166101043561012435610144356105d1565b005b34156101a157fe5b61014b600160a060020a03600435811690602435906044351660643560843560a435610896565b005b34156101d257fe5b6101e9600160a060020a03600435166024356109a7565b60408051918252519081900360200190f35b341561020357fe5b61014b600160a060020a03600435811690602435906044351660643560843560a43560ff60c4351660e435610104356109c4565b005b341561024157fe5b61014b600435610bd4565b005b341561025657fe5b61014b600160a060020a0360043516602435610cf2565b005b341561027757fe5b6101e9600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351660ff60e435166101043561012435610e46565b60408051918252519081900360200190f35b34156102cf57fe5b6101e9600160a060020a0360043581169060243516610f33565b60408051918252519081900360200190f35b341561030357fe5b61014b600435610f50565b005b341561031857fe5b6101e9610f74565b60408051918252519081900360200190f35b341561033a57fe5b61014b600435610f7a565b005b341561034f57fe5b610357610fad565b60408051600160a060020a039092168252519081900360200190f35b341561037b57fe5b6103c8600160a060020a0360043581169060243590604435811690606435906084359060a4359060c43581169060ff60e43516906101043590610124359061014435906101643516610fbc565b604080519115158252519081900360200190f35b34156103e457fe5b61014b600160a060020a0360043516611027565b005b341561040257fe5b6101e9611061565b60408051918252519081900360200190f35b341561042457fe5b61014b600435611067565b005b341561043957fe5b61014b600160a060020a036004351661109a565b005b341561045757fe5b61014b600160a060020a03600435166024356110d4565b005b341561047857fe5b6103c8600160a060020a0360043516602435611272565b604080519115158252519081900360200190f35b34156104ab57fe5b6101e9611292565b60408051918252519081900360200190f35b61014b611298565b005b34156104d757fe5b61014b600160a060020a036004351661133a565b005b34156104f557fe5b610357611374565b60408051600160a060020a039092168252519081900360200190f35b341561052157fe5b6101e9600160a060020a0360043581169060243516611383565b60408051918252519081900360200190f35b341561055557fe5b6103576113b0565b60408051600160a060020a039092168252519081900360200190f35b341561058157fe5b6101e9600160a060020a0360043581169060243590604435811690606435906084359060a4359060c4351660ff60e4351661010435610124356113bf565b60408051918252519081900360200190f35b60006002308d8d8d8d8d8d6000604051602001526040518088600160a060020a0316600160a060020a0316606060020a02815260140187600160a060020a0316600160a060020a0316606060020a02815260140186815260200185600160a060020a0316600160a060020a0316606060020a0281526014018481526020018381526020018281526020019750505050505050506020604051808303816000866161da5a03f1151561067e57fe5b50506040805151600160a060020a0388166000908152600760209081528382208383529052919091205490915060ff16806107625750604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101839052815190819003603c018120600082815260208381018552928401819052835191825260ff891682840152818401889052606082018790529251600160a060020a038a16936001936080808501949193601f198101939281900390910191866161da5a03f1151561074e57fe5b505060206040510351600160a060020a0316145b801561076e5750874311155b80156107a85750600160a060020a03861660009081526008602090815260408083208484529091529020548b906107a59084611606565b11155b15156107b357610000565b6107c18c8c8c8c8a8761162e565b600160a060020a03861660009081526008602090815260408083208484529091529020546107ef9083611606565b600160a060020a03871660009081526008602090815260408083208584529091529020557f6effdda786735d5033bfad5f53e5131abcced9e52be6c507b62d639685fbed6d8c838c8e8d830281151561084457fe5b60408051600160a060020a039687168152602081019590955292851684840152046060830152828a166080830152339290921660a082015290519081900360c00190a15b505050505050505050505050565b60408051600060209182018190528251606060020a600160a060020a0330811682028352808c1682026014840152602883018b90528916026048820152605c8101879052607c8101869052609c81018590529251909260029260bc808301939192829003018186866161da5a03f1151561090c57fe5b5050604080518051600160a060020a03338116600081815260076020908152868220858352815290869020805460ff191660011790558c8316855284018b905290891683850152606083018890526080830187905260a0830186905260c083015291519192507f3f7f2eda73683c21a15f9435af1028c93185b5f1fa38270762dc32be606b3e85919081900360e00190a15b50505050505050565b600860209081526000928352604080842090915290825290205481565b60408051600060209182018190528251606060020a600160a060020a0330811682028352808f1682026014840152602883018e90528c16026048820152605c81018a9052607c8101899052609c81018890529251909260029260bc808301939192829003018186866161da5a03f11515610a3a57fe5b50506040805151600160a060020a0333166000908152600760209081528382208383529052919091205490915060ff1680610b1e5750604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101839052815190819003603c018120600082815260208381018552928401819052835191825260ff881682840152818401879052606082018690529251600160a060020a033316936001936080808501949193601f198101939281900390910191866161da5a03f11515610b0a57fe5b505060206040510351600160a060020a0316145b1515610b2957610000565b600160a060020a0333811660008181526008602090815260408083208684528252918290208d905581518e851681529081018d9052928b1683820152606083018a90526080830189905260a0830188905260c083019190915260ff861660e083015261010082018590526101208201849052517f1e0b760c386003e9cb9bcf4fcf3997886042859d9b6ed6320e804597fcdb28b0918190036101400190a15b50505050505050505050565b33600160a060020a03166000908152600080516020611963833981519152602052604090205481901015610c0757610000565b33600160a060020a031660009081526000805160206119638339815191526020526040902054610c37908261190a565b33600160a060020a031660008181526000805160206119638339815191526020526040808220939093559151909183919081818185876185025a03f1925050501515610c8257610000565b600160a060020a03331660008181526000805160206119638339815191526020908152604080832054815193845291830193909352818301849052606082015290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15b50565b600160a060020a0382161515610d0757610000565b604080516000602091820181905282517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301523081166024830152604482018690529351938616936323b872dd9360648084019491938390030190829087803b1515610d7f57fe5b60325a03f11515610d8c57fe5b50506040515115159050610d9f57610000565b600160a060020a0380831660009081526006602090815260408083203390941683529290522054610dd09082611606565b600160a060020a038381166000818152600660209081526040808320339095168084529482529182902085905581519283528201929092528082018490526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a15b5050565b600060006002308d8d8d8d8d8d6000604051602001526040518088600160a060020a0316600160a060020a0316606060020a02815260140187600160a060020a0316600160a060020a0316606060020a02815260140186815260200185600160a060020a0316600160a060020a0316606060020a0281526014018481526020018381526020018281526020019750505050505050506020604051808303816000866161da5a03f11515610ef557fe5b50506040805151600160a060020a03881660009081526008602090815283822083835290529190912054925090505b509a9950505050505050505050565b600660209081526000928352604080842090915290825290205481565b60005433600160a060020a03908116911614610f6b57610000565b60038190555b50565b60035481565b60005433600160a060020a03908116911614610f9557610000565b600454811115610fa457610000565b60058190555b50565b600154600160a060020a031681565b600160a060020a03808d1660009081526006602090815260408083209385168352929052908120548390108015906110055750826110028e8e8e8e8e8e8e8e8e8e6113bf565b10155b151561101357506000611017565b5060015b9c9b505050505050505050505050565b60005433600160a060020a0390811691161461104257610000565b60018054600160a060020a031916600160a060020a0383161790555b50565b60055481565b60005433600160a060020a0390811691161461108257610000565b60055481101561109157610000565b60048190555b50565b60005433600160a060020a039081169116146110b557610000565b60008054600160a060020a031916600160a060020a0383161790555b50565b600160a060020a03821615156110e957610000565b600160a060020a03808316600090815260066020908152604080832033909416835292905220548190101561111d57610000565b600160a060020a038083166000908152600660209081526040808320339094168352929052205461114e908261190a565b600160a060020a03808416600081815260066020908152604080832033909516808452948252808320959095558451810182905284517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018690529351919363a9059cbb936044808201949293918390030190829087803b15156111db57fe5b60325a03f115156111e857fe5b505060405151151590506111fb57610000565b600160a060020a03808316600081815260066020908152604080832033959095168084529482529182902054825193845290830193909352818101849052606082019290925290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15b5050565b600760209081526000928352604080842090915290825290205460ff1681565b60045481565b33600160a060020a0316600090815260008051602061196383398151915260205260409020546112c89034611606565b33600160a060020a031660008181526000805160206119638339815191526020908152604080832085905580519283529082019290925234818301526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a15b565b60005433600160a060020a0390811691161461135557610000565b60028054600160a060020a031916600160a060020a0383161790555b50565b600254600160a060020a031681565b600160a060020a038083166000908152600660209081526040808320938516835292905220545b92915050565b600054600160a060020a031681565b60006000600060006002308f8f8f8f8f8f6000604051602001526040518088600160a060020a0316600160a060020a0316606060020a02815260140187600160a060020a0316600160a060020a0316606060020a02815260140186815260200185600160a060020a0316600160a060020a0316606060020a0281526014018481526020018381526020018281526020019750505050505050506020604051808303816000866161da5a03f1151561147257fe5b50506040805151600160a060020a038a166000908152600760209081528382208383529052919091205490935060ff16806115565750604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101859052815190819003603c018120600082815260208381018552928401819052835191825260ff8b16828401528184018a9052606082018990529251600160a060020a038c16936001936080808501949193601f198101939281900390910191866161da5a03f1151561154257fe5b505060206040510351600160a060020a0316145b80156115625750894311155b151561157157600093506115f5565b600160a060020a03881660009081526008602090815260408083208684529091529020546115a0908e9061190a565b600160a060020a03808e166000908152600660209081526040808320938d16835292905220549092508b906115d5908f611923565b8115156115de57fe5b049050808210156115f1578193506115f5565b8093505b5050509a9950505050505050505050565b600082820161162384821080159061161e5750838210155b611952565b8091505b5092915050565b6000600060006000670de0b6b3a764000061164b86600354611923565b81151561165457fe5b049350670de0b6b3a764000061166c86600454611923565b81151561167557fe5b600254919004935060009250600160a060020a03161561174b57600254604080516000602091820181905282517f1cbd0519000000000000000000000000000000000000000000000000000000008152600160a060020a038b8116600483015293519390941693631cbd0519936024808301949391928390030190829087803b15156116fd57fe5b60325a03f1151561170a57fe5b505060405151915050600181141561173e57670de0b6b3a764000061173186600554611923565b81151561173a57fe5b0491505b806002141561174b578291505b5b600160a060020a03808b1660009081526006602090815260408083203390941683529290522054611786906117818786611606565b61190a565b600160a060020a038b81166000908152600660209081526040808320338516845290915280822093909355908816815220546117d4906117cf6117c98886611606565b8761190a565b611606565b600160a060020a038b811660009081526006602090815260408083208b851684529091528082209390935560015490911681522054611825906117cf61181a8787611606565b8561190a565b611606565b600160a060020a03808c166000908152600660208181526040808420600154861685528252808420959095558c84168352908152838220928a168252919091522054611885908a6118768a89611923565b81151561187f57fe5b0461190a565b600160a060020a0389811660009081526006602090815260408083208b851684529091528082209390935533909116815220546118d6908a6118c78a89611923565b8115156118d057fe5b04611606565b600160a060020a03808a16600090815260066020908152604080832033909416835292905220555b50505050505050505050565b600061191883831115611952565b508082035b92915050565b600082820261162384158061161e575083858381151561193f57fe5b04145b611952565b8091505b5092915050565b801515610cef57610000565b5b50560054cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8a165627a7a72305820f2828a39c69387cf5601d402996336632c9d93a3aae31eadb6aee56c4912d2f90029000000000000000000000000a8c0041ef98333fc425af691aa2d01897d481c37000000000000000000000000a8c0041ef98333fc425af691aa2d01897d481c3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000000000000000000000000000000000000000000000

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

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


   Swarm Source:
bzzr://f2828a39c69387cf5601d402996336632c9d93a3aae31eadb6aee56c4912d2f9

 

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.