ETH Price: $2,839.29 (+3.42%)
 

Overview

ETH Balance

7.774829304404811435 ETH

Eth Value

$22,075.02 (@ $2,839.29/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve All Orde...108040172020-09-05 21:58:211614 days ago1599343101IN
0xdB9da8e3...0D9011741
0 ETH0.0149791100
Place Order107953152020-09-04 14:07:141615 days ago1599228434IN
0xdB9da8e3...0D9011741
0 ETH0.02782866203
Place Order107952272020-09-04 13:48:321615 days ago1599227312IN
0xdB9da8e3...0D9011741
0 ETH0.02765833201.7575
Place Order107665282020-08-31 4:26:181620 days ago1598847978IN
0xdB9da8e3...0D9011741
0 ETH0.02261935165
Place Order107664272020-08-31 4:05:461620 days ago1598846746IN
0xdB9da8e3...0D9011741
0 ETH0.02165974158
Place Order107053512020-08-21 19:01:411629 days ago1598036501IN
0xdB9da8e3...0D9011741
0 ETH0.01825044120
Approve Order105117542020-07-22 21:58:331659 days ago1595455113IN
0xdB9da8e3...0D9011741
0 ETH0.0021409741
Place Order103512752020-06-28 1:23:411684 days ago1593307421IN
0xdB9da8e3...0D9011741
0 ETH0.0031938221
Approve All Orde...101817122020-06-01 18:57:011710 days ago1591037821IN
0xdB9da8e3...0D9011741
0 ETH0.0028609923
Place Order101814472020-06-01 17:58:331710 days ago1591034313IN
0xdB9da8e3...0D9011741
0 ETH0.0032298923.56711221
Place Order101489372020-05-27 16:32:211715 days ago1590597141IN
0xdB9da8e3...0D9011741
0 ETH0.0041115330
Place Order101450632020-05-27 2:12:011716 days ago1590545521IN
0xdB9da8e3...0D9011741
0 ETH0.0043856332
Place Order101187032020-05-22 23:56:151720 days ago1590191775IN
0xdB9da8e3...0D9011741
0 ETH0.0018246112.00000123
Approve All Orde...101178262020-05-22 20:38:541720 days ago1590179934IN
0xdB9da8e3...0D9011741
0 ETH0.0030957630
Place Order101126982020-05-22 1:10:501721 days ago1590109850IN
0xdB9da8e3...0D9011741
0 ETH0.0032895124
Place Order101110992020-05-21 19:18:191721 days ago1590088699IN
0xdB9da8e3...0D9011741
0 ETH0.0035633226
Place Order101058582020-05-20 23:48:021722 days ago1590018482IN
0xdB9da8e3...0D9011741
0 ETH0.0019771313
Approve All Orde...101054862020-05-20 22:23:451722 days ago1590013425IN
0xdB9da8e3...0D9011741
0 ETH0.0018460617
Place Order101038162020-05-20 16:19:101722 days ago1589991550IN
0xdB9da8e3...0D9011741
0 ETH0.0063043446
Place Order101028452020-05-20 12:34:561722 days ago1589978096IN
0xdB9da8e3...0D9011741
0 ETH0.0041122530
Place Order100967152020-05-19 13:42:371723 days ago1589895757IN
0xdB9da8e3...0D9011741
0 ETH0.0042118127.7
Approve All Orde...100910992020-05-18 16:36:301724 days ago1589819790IN
0xdB9da8e3...0D9011741
0 ETH0.0055689635.40551789
Place Order100903072020-05-18 13:37:121724 days ago1589809032IN
0xdB9da8e3...0D9011741
0 ETH0.0040703529.69952857
Place Order100712502020-05-15 14:20:421727 days ago1589552442IN
0xdB9da8e3...0D9011741
0 ETH0.0030151222.00000014
Place Order100616472020-05-14 2:36:031729 days ago1589423763IN
0xdB9da8e3...0D9011741
0 ETH0.0022613416.50000014
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
108040172020-09-05 21:58:211614 days ago1599343101
0xdB9da8e3...0D9011741
0.0002 ETH
108040172020-09-05 21:58:211614 days ago1599343101
0xdB9da8e3...0D9011741
0.0002 ETH
108040172020-09-05 21:58:211614 days ago1599343101
0xdB9da8e3...0D9011741
0.0002 ETH
108040172020-09-05 21:58:211614 days ago1599343101
0xdB9da8e3...0D9011741
0.0002 ETH
108040172020-09-05 21:58:211614 days ago1599343101
0xdB9da8e3...0D9011741
0.0002 ETH
105117542020-07-22 21:58:331659 days ago1595455113
0xdB9da8e3...0D9011741
0.0002 ETH
101817122020-06-01 18:57:011710 days ago1591037821
0xdB9da8e3...0D9011741
0.0002 ETH
101817122020-06-01 18:57:011710 days ago1591037821
0xdB9da8e3...0D9011741
0.0002 ETH
101817122020-06-01 18:57:011710 days ago1591037821
0xdB9da8e3...0D9011741
0.0002 ETH
101817122020-06-01 18:57:011710 days ago1591037821
0xdB9da8e3...0D9011741
0.0002 ETH
101178262020-05-22 20:38:541720 days ago1590179934
0xdB9da8e3...0D9011741
0.0002 ETH
101178262020-05-22 20:38:541720 days ago1590179934
0xdB9da8e3...0D9011741
0.0002 ETH
101178262020-05-22 20:38:541720 days ago1590179934
0xdB9da8e3...0D9011741
0.0002 ETH
101054862020-05-20 22:23:451722 days ago1590013425
0xdB9da8e3...0D9011741
0.0002 ETH
101054862020-05-20 22:23:451722 days ago1590013425
0xdB9da8e3...0D9011741
0.0002 ETH
101054862020-05-20 22:23:451722 days ago1590013425
0xdB9da8e3...0D9011741
0.0002 ETH
100910992020-05-18 16:36:301724 days ago1589819790
0xdB9da8e3...0D9011741
0.0002 ETH
100910992020-05-18 16:36:301724 days ago1589819790
0xdB9da8e3...0D9011741
0.0002 ETH
100910992020-05-18 16:36:301724 days ago1589819790
0xdB9da8e3...0D9011741
0.0002 ETH
100910992020-05-18 16:36:301724 days ago1589819790
0xdB9da8e3...0D9011741
0.0002 ETH
100910992020-05-18 16:36:301724 days ago1589819790
0xdB9da8e3...0D9011741
0.0002 ETH
100138302020-05-06 16:38:591736 days ago1588783139
0xdB9da8e3...0D9011741
0.0002 ETH
100138302020-05-06 16:38:591736 days ago1588783139
0xdB9da8e3...0D9011741
0.0002 ETH
100077462020-05-05 18:12:231737 days ago1588702343
0xdB9da8e3...0D9011741
0.0002 ETH
100077462020-05-05 18:12:231737 days ago1588702343
0xdB9da8e3...0D9011741
0.0002 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TridentDistribution

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-02-28
*/

pragma solidity ^0.4.24;



/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 * @dev Based on: OpenZeppelin
 */
contract Ownable {
  address public owner;


  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnership(address _newOwner) public onlyOwner {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }

}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 {
  function totalSupply() public view returns (uint256);

  function balanceOf(address _who) public view returns (uint256);

  function allowance(address _owner, address _spender)
    public view returns (uint256);

  function transfer(address _to, uint256 _value) public returns (bool);

  function approve(address _spender, uint256 _value)
    public returns (bool);

  function transferFrom(address _from, address _to, uint256 _value)
    public returns (bool);

  event Transfer(
    address indexed from,
    address indexed to,
    uint256 value
  );

  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}






/**
 * @title TridentDistribution
 * @dev Implementation of the TridentDistribution smart contract.
 */
contract TridentDistribution is Ownable {

  // Stores the Trident smart contract
  ERC20 public trident;

  // Struct that represents a transfer order
  struct Order {
    uint256 amount;         // amount of tokens to transfer
    address account;        // account to transfer amount to
    string metadata;        // arbitrary metadata
  }

  // Array of all current transfer orders
  Order[] orders;

  // Accounts allowed to place orders
  address[] orderDelegates;

  // Accounts allowed to approve orders
  address[] approvalDelegates;

  // Amount of ETH sent with each order executed
  uint public complementaryEthPerOrder;


  // Event emitted when an account has been approved as an order delegate
  event ApproveOrderDelegate(
      address indexed orderDelegate
    );
  // Event emitted when an account has been revoked from being an order delegate
  event RevokeOrderDelegate(
      address indexed orderDelegate
    );

  // Event emitted when an account has been approved as an approval delegate
  event ApproveApprovalDelegate(
      address indexed approvalDelegate
    );
  // Event emitted when an account has been revoked from being an approval delegate
  event RevokeApprovalDelegate(
      address indexed approvalDelegate
    );

  // Event emitted when an order has been placed
  event OrderPlaced(
    uint indexed orderIndex
    );

  // Event emitted when an order has been approved and executed
  event OrderApproved(
    uint indexed orderIndex
    );

  // Event emitted when an order has been revoked
  event OrderRevoked(
    uint indexed orderIndex
    );

  // Event emitted when the entire orders batch is approved and executed
  event AllOrdersApproved();

  // Event emitted when complementaryEthPerOrder has been set
  event ComplementaryEthPerOrderSet();



  constructor(ERC20 _tridentSmartContract) public {
      trident = _tridentSmartContract;
  }

  /**
   * @dev Fallback function to allow contract to receive ETH via 'send'.
   */
  function () public payable {
  }


  /**
   * @dev Throws if called by any account other than an owner or an order delegate.
   */
  modifier onlyOwnerOrOrderDelegate() {
    bool allowedToPlaceOrders = false;

    if(msg.sender==owner) {
      allowedToPlaceOrders = true;
    }
    else {
      for(uint i=0; i<orderDelegates.length; i++) {
        if(orderDelegates[i]==msg.sender) {
          allowedToPlaceOrders = true;
          break;
        }
      }
    }

    require(allowedToPlaceOrders==true);
    _;
  }

  /**
   * @dev Throws if called by any account other than an owner or an approval delegate.
   */
  modifier onlyOwnerOrApprovalDelegate() {
    bool allowedToApproveOrders = false;

    if(msg.sender==owner) {
      allowedToApproveOrders = true;
    }
    else {
      for(uint i=0; i<approvalDelegates.length; i++) {
        if(approvalDelegates[i]==msg.sender) {
          allowedToApproveOrders = true;
          break;
        }
      }
    }

    require(allowedToApproveOrders==true);
    _;
  }


  /**
   * @dev Return the array of order delegates.
   */
  function getOrderDelegates() external view returns (address[]) {
    return orderDelegates;
  }

  /**
   * @dev Return the array of burn delegates.
   */
  function getApprovalDelegates() external view returns (address[]) {
    return approvalDelegates;
  }

  /**
   * @dev Give an account permission to place orders.
   * @param _orderDelegate The account to be approved.
   */
  function approveOrderDelegate(address _orderDelegate) onlyOwner external returns (bool) {
    bool delegateFound = false;
    for(uint i=0; i<orderDelegates.length; i++) {
      if(orderDelegates[i]==_orderDelegate) {
        delegateFound = true;
        break;
      }
    }

    if(!delegateFound) {
      orderDelegates.push(_orderDelegate);
    }

    emit ApproveOrderDelegate(_orderDelegate);
    return true;
  }

  /**
   * @dev Revoke permission to place orders from an order delegate.
   * @param _orderDelegate The account to be revoked.
   */
  function revokeOrderDelegate(address _orderDelegate) onlyOwner external returns (bool) {
    uint length = orderDelegates.length;
    require(length > 0);

    address lastDelegate = orderDelegates[length-1];
    if(_orderDelegate == lastDelegate) {
      delete orderDelegates[length-1];
      orderDelegates.length--;
    }
    else {
      // Game plan: find the delegate, replace it with the very last item in the array, then delete the last item
      for(uint i=0; i<length; i++) {
        if(orderDelegates[i]==_orderDelegate) {
          orderDelegates[i] = lastDelegate;
          delete orderDelegates[length-1];
          orderDelegates.length--;
          break;
        }
      }
    }

    emit RevokeOrderDelegate(_orderDelegate);
    return true;
  }

  /**
   * @dev Give an account permission to approve orders.
   * @param _approvalDelegate The account to be approved.
   */
  function approveApprovalDelegate(address _approvalDelegate) onlyOwner external returns (bool) {
    bool delegateFound = false;
    for(uint i=0; i<approvalDelegates.length; i++) {
      if(approvalDelegates[i]==_approvalDelegate) {
        delegateFound = true;
        break;
      }
    }

    if(!delegateFound) {
      approvalDelegates.push(_approvalDelegate);
    }

    emit ApproveApprovalDelegate(_approvalDelegate);
    return true;
  }

  /**
   * @dev Revoke permission to approve orders from an approval delegate.
   * @param _approvalDelegate The account to be revoked.
   */
  function revokeApprovalDelegate(address _approvalDelegate) onlyOwner external returns (bool) {
    uint length = approvalDelegates.length;
    require(length > 0);

    address lastDelegate = approvalDelegates[length-1];
    if(_approvalDelegate == lastDelegate) {
      delete approvalDelegates[length-1];
      approvalDelegates.length--;
    }
    else {
      // Game plan: find the delegate, replace it with the very last item in the array, then delete the last item
      for(uint i=0; i<length; i++) {
        if(approvalDelegates[i]==_approvalDelegate) {
          approvalDelegates[i] = lastDelegate;
          delete approvalDelegates[length-1];
          approvalDelegates.length--;
          break;
        }
      }
    }

    emit RevokeApprovalDelegate(_approvalDelegate);
    return true;
  }


  /**
   * @dev Internal function to delete an order at the given index from the orders array.
   * @param _orderIndex The index of the order to be removed.
   */
  function _deleteOrder(uint _orderIndex) internal {
    require(orders.length > _orderIndex);

    uint lastIndex = orders.length-1;
    if(_orderIndex != lastIndex) {
      // Replace the order to be deleted with the very last item in the array
      orders[_orderIndex] = orders[lastIndex];
    }
    delete orders[lastIndex];
    orders.length--;
  }

  /**
   * @dev Internal function to execute an order at the given index.
   * @param _orderIndex The index of the order to be executed.
   */
  function _executeOrder(uint _orderIndex) internal {
    require(orders.length > _orderIndex);
    require(complementaryEthPerOrder <= address(this).balance);

    Order memory order = orders[_orderIndex];
    _deleteOrder(_orderIndex);

    trident.transfer(order.account, order.amount);

    // Transfer the complementary ETH
    address(order.account).transfer(complementaryEthPerOrder);
  }

  /**
   * @dev Function to place an order.
   * @param _amount The amount of tokens to transfer.
   * @param _account The account to transfer the tokens to.
   * @param _metadata Arbitrary metadata.
   * @return A boolean that indicates if the operation was successful.
   */
  function placeOrder(uint256 _amount, address _account, string _metadata) onlyOwnerOrOrderDelegate external returns (bool) {
    orders.push(Order({amount: _amount, account: _account, metadata: _metadata}));

    emit OrderPlaced(orders.length-1);

    return true;
  }

  /**
   * @dev Return the number of orders.
   */
  function getOrdersCount() external view returns (uint) {
    return orders.length;
  }

  /**
   * @dev Return the number of orders.
   */
  function getOrdersTotalAmount() external view returns (uint) {
    uint total = 0;
    for(uint i=0; i<orders.length; i++) {
        Order memory order = orders[i];
        total += order.amount;
    }

    return total;
  }

  /**
   * @dev Return the order at the given index.
   */
  function getOrderAtIndex(uint _orderIndex) external view returns (uint256 amount, address account, string metadata) {
    Order memory order = orders[_orderIndex];
    return (order.amount, order.account, order.metadata);
  }

  /**
   * @dev Function to revoke an order at the given index.
   * @param _orderIndex The index of the order to be revoked.
   * @return A boolean that indicates if the operation was successful.
   */
  function revokeOrder(uint _orderIndex) onlyOwnerOrApprovalDelegate external returns (bool) {
    _deleteOrder(_orderIndex);

    emit OrderRevoked(_orderIndex);

    return true;
  }

  /**
   * @dev Function to approve an order at the given index.
   * @param _orderIndex The index of the order to be approved.
   * @return A boolean that indicates if the operation was successful.
   */
  function approveOrder(uint _orderIndex) onlyOwnerOrApprovalDelegate external returns (bool) {
    _executeOrder(_orderIndex);

    emit OrderApproved(_orderIndex);

    return true;
  }

  /**
   * @dev Function to approve all orders in the orders array.
   * @return A boolean that indicates if the operation was successful.
   */
  function approveAllOrders() onlyOwnerOrApprovalDelegate external returns (bool) {
    uint orderCount = orders.length;
    uint totalComplementaryEth = complementaryEthPerOrder * orderCount;
    require(totalComplementaryEth <= address(this).balance);

    for(uint i=0; i<orderCount; i++) {
        Order memory order = orders[i];
        trident.transfer(order.account, order.amount);

        // Transfer the complementary ETH
        address(order.account).transfer(complementaryEthPerOrder);
    }

    // Dispose of all approved orders
    delete orders;


    emit AllOrdersApproved();

    return true;
  }



  /**
   * @dev Function to set the complementary eth sent with each order executed.
   * @param _complementaryEthPerOrder The index of the order to be approved.
   * @return A boolean that indicates if the operation was successful.
   */
  function setComplementaryEthPerOrder(uint _complementaryEthPerOrder) onlyOwner external returns (bool) {
    complementaryEthPerOrder = _complementaryEthPerOrder;

    emit ComplementaryEthPerOrderSet();

    return true;
  }


  /**
   * @dev Function withdraws all ETH from the smart contract.
   * @return A boolean that indicates if the operation was successful.
   */
  function withdrawAllEth() onlyOwner external returns (bool) {
    uint ethBalance = address(this).balance;
    require(ethBalance > 0);

    owner.transfer(ethBalance);

    return true;
  }


  /**
   * @dev Function withdraws all Trident from the smart contract.
   * @return A boolean that indicates if the operation was successful.
   */
  function withdrawAllTrident() onlyOwner external returns (bool) {
    uint tridentBalance = trident.balanceOf(address(this));
    require(tridentBalance > 0);

    return trident.transfer(owner, tridentBalance);
  }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_orderDelegate","type":"address"}],"name":"revokeOrderDelegate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_account","type":"address"},{"name":"_metadata","type":"string"}],"name":"placeOrder","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_orderIndex","type":"uint256"}],"name":"revokeOrder","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getOrderDelegates","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"complementaryEthPerOrder","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getApprovalDelegates","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_orderDelegate","type":"address"}],"name":"approveOrderDelegate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawAllTrident","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawAllEth","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_orderIndex","type":"uint256"}],"name":"getOrderAtIndex","outputs":[{"name":"amount","type":"uint256"},{"name":"account","type":"address"},{"name":"metadata","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOrdersTotalAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_complementaryEthPerOrder","type":"uint256"}],"name":"setComplementaryEthPerOrder","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getOrdersCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_approvalDelegate","type":"address"}],"name":"approveApprovalDelegate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_orderIndex","type":"uint256"}],"name":"approveOrder","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_approvalDelegate","type":"address"}],"name":"revokeApprovalDelegate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"trident","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"approveAllOrders","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_tridentSmartContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"orderDelegate","type":"address"}],"name":"ApproveOrderDelegate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"orderDelegate","type":"address"}],"name":"RevokeOrderDelegate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"approvalDelegate","type":"address"}],"name":"ApproveApprovalDelegate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"approvalDelegate","type":"address"}],"name":"RevokeApprovalDelegate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"orderIndex","type":"uint256"}],"name":"OrderPlaced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"orderIndex","type":"uint256"}],"name":"OrderApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"orderIndex","type":"uint256"}],"name":"OrderRevoked","type":"event"},{"anonymous":false,"inputs":[],"name":"AllOrdersApproved","type":"event"},{"anonymous":false,"inputs":[],"name":"ComplementaryEthPerOrderSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

608060405234801561001057600080fd5b50604051602080611a1c833981016040525160008054600160a060020a0319908116331790915560018054600160a060020a03909316929091169190911790556119bd8061005f6000396000f3006080604052600436106101115763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663031c06e4811461011357806307519f62146101485780630f9a71d7146101795780633176cad21461019157806333a29049146101f6578063346d73ec1461021d5780633cec48271461023257806349e3a6c714610253578063519af30e146102685780638da5cb5b1461027d5780639c0fca7d146102ae578063ac34a3291461035e578063b248a4f414610373578063b5b3b0511461038b578063b9070921146103a0578063bd4b8a04146103c1578063d6e91be0146103d9578063d829ed97146103fa578063f2fde38b1461040f578063fbd440ed14610430575b005b34801561011f57600080fd5b50610134600160a060020a0360043516610445565b604080519115158252519081900360200190f35b34801561015457600080fd5b50610134600480359060248035600160a060020a0316916044359182019101356105bf565b34801561018557600080fd5b50610134600435610736565b34801561019d57600080fd5b506101a66107ef565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101e25781810151838201526020016101ca565b505050509050019250505060405180910390f35b34801561020257600080fd5b5061020b610852565b60408051918252519081900360200190f35b34801561022957600080fd5b506101a6610858565b34801561023e57600080fd5b50610134600160a060020a03600435166108b8565b34801561025f57600080fd5b506101346109bb565b34801561027457600080fd5b50610134610b1f565b34801561028957600080fd5b50610292610b8b565b60408051600160a060020a039092168252519081900360200190f35b3480156102ba57600080fd5b506102c6600435610b9a565b6040518084815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610321578181015183820152602001610309565b50505050905090810190601f16801561034e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561036a57600080fd5b5061020b610c9c565b34801561037f57600080fd5b50610134600435610db2565b34801561039757600080fd5b5061020b610e00565b3480156103ac57600080fd5b50610134600160a060020a0360043516610e06565b3480156103cd57600080fd5b50610134600435610f09565b3480156103e557600080fd5b50610134600160a060020a0360043516610fc2565b34801561040657600080fd5b5061029261113c565b34801561041b57600080fd5b50610111600160a060020a036004351661114b565b34801561043c57600080fd5b506101346111d2565b60008054819081908190600160a060020a0316331461046357600080fd5b60035492506000831161047557600080fd5b60038054600019850190811061048757fe5b600091825260209091200154600160a060020a03908116925085168214156104ed576003805460001985019081106104bb57fe5b60009182526020909120018054600160a060020a031916905560038054906104e7906000198301611776565b50610580565b5060005b828110156105805784600160a060020a031660038281548110151561051257fe5b600091825260209091200154600160a060020a03161415610578578160038281548110151561053d57fe5b60009182526020909120018054600160a060020a031916600160a060020a03929092169190911790556003805460001985019081106104bb57fe5b6001016104f1565b604051600160a060020a038616907f44209f22fc492cc560aab4f355b23f8420e77a6366f29c056a39bbc57bcd657e90600090a2506001949350505050565b6000805481908190600160a060020a03163314156105e0576001915061062b565b5060005b60035481101561062b5760038054339190839081106105ff57fe5b600091825260209091200154600160a060020a03161415610623576001915061062b565b6001016105e4565b60018215151461063a57600080fd5b600260606040519081016040528089815260200188600160a060020a0316815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375050509290935250508254600180820180865560009586526020958690208551600390940201928355848601519183018054600160a060020a031916600160a060020a03909316929092179091556040840151805191959293506106f292600285019291019061179a565b505060025460405160001990910192507fffa896d8919f0556f53ace1395617969a3b53ab5271a085e28ac0c4a3724e63d9150600090a25060019695505050505050565b6000805481908190600160a060020a031633141561075757600191506107a2565b5060005b6004548110156107a257600480543391908390811061077657fe5b600091825260209091200154600160a060020a0316141561079a57600191506107a2565b60010161075b565b6001821515146107b157600080fd5b6107ba84611486565b60405184907f0a3e2c24d0a4833d50fad3a6a5fbf37b8d4cb08115c0112c12ea236ce1c8267490600090a25060019392505050565b6060600380548060200260200160405190810160405280929190818152602001828054801561084757602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610829575b505050505090505b90565b60055481565b6060600480548060200260200160405190810160405280929190818152602001828054801561084757602002820191906000526020600020908154600160a060020a03168152600190910190602001808311610829575050505050905090565b6000805481908190600160a060020a031633146108d457600080fd5b5060009050805b60035481101561092a5783600160a060020a03166003828154811015156108fe57fe5b600091825260209091200154600160a060020a03161415610922576001915061092a565b6001016108db565b81151561097d57600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b018054600160a060020a031916600160a060020a0386161790555b604051600160a060020a038516907fdd5161f29ee6fafd0af661666a5b40ecaed21f1d4035fab7e130ead035caed9e90600090a25060019392505050565b600080548190600160a060020a031633146109d557600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b158015610a3b57600080fd5b505af1158015610a4f573d6000803e3d6000fd5b505050506040513d6020811015610a6557600080fd5b5051905060008111610a7657600080fd5b60015460008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015610aec57600080fd5b505af1158015610b00573d6000803e3d6000fd5b505050506040513d6020811015610b1657600080fd5b505191505b5090565b600080548190600160a060020a03163314610b3957600080fd5b50303160008111610b4957600080fd5b60008054604051600160a060020a039091169183156108fc02918491818181858888f19350505050158015610b82573d6000803e3d6000fd5b50600191505090565b600054600160a060020a031681565b6000806060610ba7611814565b6002805486908110610bb557fe5b60009182526020918290206040805160608101825260039390930290910180548352600180820154600160a060020a0316848601526002808301805485516101009482161594909402600019011691909104601f8101879004870283018701855280835294959294938601939192909190830182828015610c775780601f10610c4c57610100808354040283529160200191610c77565b820191906000526020600020905b815481529060010190602001808311610c5a57829003601f168201915b5050509190925250508151602083015160409093015190989297509550909350505050565b6000806000610ca9611814565b60009250600091505b600254821015610daa576002805483908110610cca57fe5b60009182526020918290206040805160608101825260039390930290910180548352600180820154600160a060020a0316848601526002808301805485516101009482161594909402600019011691909104601f8101879004870283018701855280835294959294938601939192909190830182828015610d8c5780601f10610d6157610100808354040283529160200191610d8c565b820191906000526020600020905b815481529060010190602001808311610d6f57829003601f168201915b50505091909252505081519490940193506001909201919050610cb2565b509092915050565b60008054600160a060020a03163314610dca57600080fd5b60058290556040517f0583c9501f33fc2da19890d4641c75cf23b12d33df8c8f88eda33ea36f71d1c490600090a1506001919050565b60025490565b6000805481908190600160a060020a03163314610e2257600080fd5b5060009050805b600454811015610e785783600160a060020a0316600482815481101515610e4c57fe5b600091825260209091200154600160a060020a03161415610e705760019150610e78565b600101610e29565b811515610ecb57600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916600160a060020a0386161790555b604051600160a060020a038516907f094c4c0922a1dd80586086edf57e30cfa642830af4920fd04e1a6edda4a2592a90600090a25060019392505050565b6000805481908190600160a060020a0316331415610f2a5760019150610f75565b5060005b600454811015610f75576004805433919083908110610f4957fe5b600091825260209091200154600160a060020a03161415610f6d5760019150610f75565b600101610f2e565b600182151514610f8457600080fd5b610f8d8461158e565b60405184907fe09badae90eb15bb2cfd6c00928d34ec8edc7f88721fd2608574e8aeb2ab170d90600090a25060019392505050565b60008054819081908190600160a060020a03163314610fe057600080fd5b600454925060008311610ff257600080fd5b60048054600019850190811061100457fe5b600091825260209091200154600160a060020a039081169250851682141561106a5760048054600019850190811061103857fe5b60009182526020909120018054600160a060020a03191690556004805490611064906000198301611776565b506110fd565b5060005b828110156110fd5784600160a060020a031660048281548110151561108f57fe5b600091825260209091200154600160a060020a031614156110f557816004828154811015156110ba57fe5b60009182526020909120018054600160a060020a031916600160a060020a039290921691909117905560048054600019850190811061103857fe5b60010161106e565b604051600160a060020a038616907f61f7892a8d668e3a27e3cafff3d3e91534fed50a46972a3b4f2787991a5eaf2d90600090a2506001949350505050565b600154600160a060020a031681565b600054600160a060020a0316331461116257600080fd5b600160a060020a038116151561117757600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a0392909216919091179055565b6000806000806111e0611814565b600080548190600160a060020a03163314156111ff576001915061124a565b5060005b60045481101561124a57600480543391908390811061121e57fe5b600091825260209091200154600160a060020a03161415611242576001915061124a565b600101611203565b60018215151461125957600080fd5b60025460055490965086029450303185111561127457600080fd5b600093505b8584101561144457600280548590811061128f57fe5b60009182526020918290206040805160608101825260039390930290910180548352600180820154600160a060020a0316848601526002808301805485516101009482161594909402600019011691909104601f81018790048702830187018552808352949592949386019391929091908301828280156113515780601f1061132657610100808354040283529160200191611351565b820191906000526020600020905b81548152906001019060200180831161133457829003601f168201915b5050509190925250506001546020808401518451604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03938416600482015260248101929092525195985092169363a9059cbb93506044808401938290030181600087803b1580156113ce57600080fd5b505af11580156113e2573d6000803e3d6000fd5b505050506040513d60208110156113f857600080fd5b50506020830151600554604051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015611438573d6000803e3d6000fd5b50600190930192611279565b61145060026000611833565b6040517f06e2e3c710bf15f4a66062cdd9cbd67ad4f4db120753f9a39ecdd2e0a024df2e90600090a16001965050505050505090565b600254600090821061149757600080fd5b50600254600019018181146115345760028054829081106114b457fe5b90600052602060002090600302016002838154811015156114d157fe5b6000918252602090912082546003909202019081556001808301548183018054600160a060020a031916600160a060020a0390921691909117905560028084018054611530938386019390821615610100026000190190911604611857565b5050505b600280548290811061154257fe5b600091825260208220600390910201818155600181018054600160a060020a03191690559061157460028301826118cc565b50506002805490611589906000198301611910565b505050565b611596611814565b60025482106115a457600080fd5b600554303110156115b457600080fd5b60028054839081106115c257fe5b60009182526020918290206040805160608101825260039390930290910180548352600180820154600160a060020a0316848601526002808301805485516101009482161594909402600019011691909104601f81018790048702830187018552808352949592949386019391929091908301828280156116845780601f1061165957610100808354040283529160200191611684565b820191906000526020600020905b81548152906001019060200180831161166757829003601f168201915b505050505081525050905061169882611486565b6001546020808301518351604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039384166004820152602481019290925251919093169263a9059cbb9260448083019391928290030181600087803b15801561170c57600080fd5b505af1158015611720573d6000803e3d6000fd5b505050506040513d602081101561173657600080fd5b50506020810151600554604051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015611589573d6000803e3d6000fd5b8154818355818111156115895760008381526020902061158991810190830161193c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106117db57805160ff1916838001178555611808565b82800160010185558215611808579182015b828111156118085782518255916020019190600101906117ed565b50610b1b92915061193c565b6040805160608181018352600080835260208301529181019190915290565b50805460008255600302906000526020600020908101906118549190611956565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106118905780548555611808565b8280016001018555821561180857600052602060002091601f016020900482015b828111156118085782548255916001019190600101906118b1565b50805460018160011615610100020316600290046000825580601f106118f25750611854565b601f016020900490600052602060002090810190611854919061193c565b815481835581811115611589576003028160030283600052602060002091820191016115899190611956565b61084f91905b80821115610b1b5760008155600101611942565b61084f91905b80821115610b1b576000808255600182018054600160a060020a031916905561198860028301826118cc565b5060030161195c5600a165627a7a72305820571a7cac291674b4bc36ba89b59c5a3032549f86b302d72e7b897079cd30090f00290000000000000000000000004eea6844a4dc5bf3127decf034b3f4a7211ef2e7

Deployed Bytecode

0x6080604052600436106101115763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663031c06e4811461011357806307519f62146101485780630f9a71d7146101795780633176cad21461019157806333a29049146101f6578063346d73ec1461021d5780633cec48271461023257806349e3a6c714610253578063519af30e146102685780638da5cb5b1461027d5780639c0fca7d146102ae578063ac34a3291461035e578063b248a4f414610373578063b5b3b0511461038b578063b9070921146103a0578063bd4b8a04146103c1578063d6e91be0146103d9578063d829ed97146103fa578063f2fde38b1461040f578063fbd440ed14610430575b005b34801561011f57600080fd5b50610134600160a060020a0360043516610445565b604080519115158252519081900360200190f35b34801561015457600080fd5b50610134600480359060248035600160a060020a0316916044359182019101356105bf565b34801561018557600080fd5b50610134600435610736565b34801561019d57600080fd5b506101a66107ef565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101e25781810151838201526020016101ca565b505050509050019250505060405180910390f35b34801561020257600080fd5b5061020b610852565b60408051918252519081900360200190f35b34801561022957600080fd5b506101a6610858565b34801561023e57600080fd5b50610134600160a060020a03600435166108b8565b34801561025f57600080fd5b506101346109bb565b34801561027457600080fd5b50610134610b1f565b34801561028957600080fd5b50610292610b8b565b60408051600160a060020a039092168252519081900360200190f35b3480156102ba57600080fd5b506102c6600435610b9a565b6040518084815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610321578181015183820152602001610309565b50505050905090810190601f16801561034e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561036a57600080fd5b5061020b610c9c565b34801561037f57600080fd5b50610134600435610db2565b34801561039757600080fd5b5061020b610e00565b3480156103ac57600080fd5b50610134600160a060020a0360043516610e06565b3480156103cd57600080fd5b50610134600435610f09565b3480156103e557600080fd5b50610134600160a060020a0360043516610fc2565b34801561040657600080fd5b5061029261113c565b34801561041b57600080fd5b50610111600160a060020a036004351661114b565b34801561043c57600080fd5b506101346111d2565b60008054819081908190600160a060020a0316331461046357600080fd5b60035492506000831161047557600080fd5b60038054600019850190811061048757fe5b600091825260209091200154600160a060020a03908116925085168214156104ed576003805460001985019081106104bb57fe5b60009182526020909120018054600160a060020a031916905560038054906104e7906000198301611776565b50610580565b5060005b828110156105805784600160a060020a031660038281548110151561051257fe5b600091825260209091200154600160a060020a03161415610578578160038281548110151561053d57fe5b60009182526020909120018054600160a060020a031916600160a060020a03929092169190911790556003805460001985019081106104bb57fe5b6001016104f1565b604051600160a060020a038616907f44209f22fc492cc560aab4f355b23f8420e77a6366f29c056a39bbc57bcd657e90600090a2506001949350505050565b6000805481908190600160a060020a03163314156105e0576001915061062b565b5060005b60035481101561062b5760038054339190839081106105ff57fe5b600091825260209091200154600160a060020a03161415610623576001915061062b565b6001016105e4565b60018215151461063a57600080fd5b600260606040519081016040528089815260200188600160a060020a0316815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375050509290935250508254600180820180865560009586526020958690208551600390940201928355848601519183018054600160a060020a031916600160a060020a03909316929092179091556040840151805191959293506106f292600285019291019061179a565b505060025460405160001990910192507fffa896d8919f0556f53ace1395617969a3b53ab5271a085e28ac0c4a3724e63d9150600090a25060019695505050505050565b6000805481908190600160a060020a031633141561075757600191506107a2565b5060005b6004548110156107a257600480543391908390811061077657fe5b600091825260209091200154600160a060020a0316141561079a57600191506107a2565b60010161075b565b6001821515146107b157600080fd5b6107ba84611486565b60405184907f0a3e2c24d0a4833d50fad3a6a5fbf37b8d4cb08115c0112c12ea236ce1c8267490600090a25060019392505050565b6060600380548060200260200160405190810160405280929190818152602001828054801561084757602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610829575b505050505090505b90565b60055481565b6060600480548060200260200160405190810160405280929190818152602001828054801561084757602002820191906000526020600020908154600160a060020a03168152600190910190602001808311610829575050505050905090565b6000805481908190600160a060020a031633146108d457600080fd5b5060009050805b60035481101561092a5783600160a060020a03166003828154811015156108fe57fe5b600091825260209091200154600160a060020a03161415610922576001915061092a565b6001016108db565b81151561097d57600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b018054600160a060020a031916600160a060020a0386161790555b604051600160a060020a038516907fdd5161f29ee6fafd0af661666a5b40ecaed21f1d4035fab7e130ead035caed9e90600090a25060019392505050565b600080548190600160a060020a031633146109d557600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b158015610a3b57600080fd5b505af1158015610a4f573d6000803e3d6000fd5b505050506040513d6020811015610a6557600080fd5b5051905060008111610a7657600080fd5b60015460008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015610aec57600080fd5b505af1158015610b00573d6000803e3d6000fd5b505050506040513d6020811015610b1657600080fd5b505191505b5090565b600080548190600160a060020a03163314610b3957600080fd5b50303160008111610b4957600080fd5b60008054604051600160a060020a039091169183156108fc02918491818181858888f19350505050158015610b82573d6000803e3d6000fd5b50600191505090565b600054600160a060020a031681565b6000806060610ba7611814565b6002805486908110610bb557fe5b60009182526020918290206040805160608101825260039390930290910180548352600180820154600160a060020a0316848601526002808301805485516101009482161594909402600019011691909104601f8101879004870283018701855280835294959294938601939192909190830182828015610c775780601f10610c4c57610100808354040283529160200191610c77565b820191906000526020600020905b815481529060010190602001808311610c5a57829003601f168201915b5050509190925250508151602083015160409093015190989297509550909350505050565b6000806000610ca9611814565b60009250600091505b600254821015610daa576002805483908110610cca57fe5b60009182526020918290206040805160608101825260039390930290910180548352600180820154600160a060020a0316848601526002808301805485516101009482161594909402600019011691909104601f8101879004870283018701855280835294959294938601939192909190830182828015610d8c5780601f10610d6157610100808354040283529160200191610d8c565b820191906000526020600020905b815481529060010190602001808311610d6f57829003601f168201915b50505091909252505081519490940193506001909201919050610cb2565b509092915050565b60008054600160a060020a03163314610dca57600080fd5b60058290556040517f0583c9501f33fc2da19890d4641c75cf23b12d33df8c8f88eda33ea36f71d1c490600090a1506001919050565b60025490565b6000805481908190600160a060020a03163314610e2257600080fd5b5060009050805b600454811015610e785783600160a060020a0316600482815481101515610e4c57fe5b600091825260209091200154600160a060020a03161415610e705760019150610e78565b600101610e29565b811515610ecb57600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916600160a060020a0386161790555b604051600160a060020a038516907f094c4c0922a1dd80586086edf57e30cfa642830af4920fd04e1a6edda4a2592a90600090a25060019392505050565b6000805481908190600160a060020a0316331415610f2a5760019150610f75565b5060005b600454811015610f75576004805433919083908110610f4957fe5b600091825260209091200154600160a060020a03161415610f6d5760019150610f75565b600101610f2e565b600182151514610f8457600080fd5b610f8d8461158e565b60405184907fe09badae90eb15bb2cfd6c00928d34ec8edc7f88721fd2608574e8aeb2ab170d90600090a25060019392505050565b60008054819081908190600160a060020a03163314610fe057600080fd5b600454925060008311610ff257600080fd5b60048054600019850190811061100457fe5b600091825260209091200154600160a060020a039081169250851682141561106a5760048054600019850190811061103857fe5b60009182526020909120018054600160a060020a03191690556004805490611064906000198301611776565b506110fd565b5060005b828110156110fd5784600160a060020a031660048281548110151561108f57fe5b600091825260209091200154600160a060020a031614156110f557816004828154811015156110ba57fe5b60009182526020909120018054600160a060020a031916600160a060020a039290921691909117905560048054600019850190811061103857fe5b60010161106e565b604051600160a060020a038616907f61f7892a8d668e3a27e3cafff3d3e91534fed50a46972a3b4f2787991a5eaf2d90600090a2506001949350505050565b600154600160a060020a031681565b600054600160a060020a0316331461116257600080fd5b600160a060020a038116151561117757600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a0392909216919091179055565b6000806000806111e0611814565b600080548190600160a060020a03163314156111ff576001915061124a565b5060005b60045481101561124a57600480543391908390811061121e57fe5b600091825260209091200154600160a060020a03161415611242576001915061124a565b600101611203565b60018215151461125957600080fd5b60025460055490965086029450303185111561127457600080fd5b600093505b8584101561144457600280548590811061128f57fe5b60009182526020918290206040805160608101825260039390930290910180548352600180820154600160a060020a0316848601526002808301805485516101009482161594909402600019011691909104601f81018790048702830187018552808352949592949386019391929091908301828280156113515780601f1061132657610100808354040283529160200191611351565b820191906000526020600020905b81548152906001019060200180831161133457829003601f168201915b5050509190925250506001546020808401518451604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03938416600482015260248101929092525195985092169363a9059cbb93506044808401938290030181600087803b1580156113ce57600080fd5b505af11580156113e2573d6000803e3d6000fd5b505050506040513d60208110156113f857600080fd5b50506020830151600554604051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015611438573d6000803e3d6000fd5b50600190930192611279565b61145060026000611833565b6040517f06e2e3c710bf15f4a66062cdd9cbd67ad4f4db120753f9a39ecdd2e0a024df2e90600090a16001965050505050505090565b600254600090821061149757600080fd5b50600254600019018181146115345760028054829081106114b457fe5b90600052602060002090600302016002838154811015156114d157fe5b6000918252602090912082546003909202019081556001808301548183018054600160a060020a031916600160a060020a0390921691909117905560028084018054611530938386019390821615610100026000190190911604611857565b5050505b600280548290811061154257fe5b600091825260208220600390910201818155600181018054600160a060020a03191690559061157460028301826118cc565b50506002805490611589906000198301611910565b505050565b611596611814565b60025482106115a457600080fd5b600554303110156115b457600080fd5b60028054839081106115c257fe5b60009182526020918290206040805160608101825260039390930290910180548352600180820154600160a060020a0316848601526002808301805485516101009482161594909402600019011691909104601f81018790048702830187018552808352949592949386019391929091908301828280156116845780601f1061165957610100808354040283529160200191611684565b820191906000526020600020905b81548152906001019060200180831161166757829003601f168201915b505050505081525050905061169882611486565b6001546020808301518351604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039384166004820152602481019290925251919093169263a9059cbb9260448083019391928290030181600087803b15801561170c57600080fd5b505af1158015611720573d6000803e3d6000fd5b505050506040513d602081101561173657600080fd5b50506020810151600554604051600160a060020a039092169181156108fc0291906000818181858888f19350505050158015611589573d6000803e3d6000fd5b8154818355818111156115895760008381526020902061158991810190830161193c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106117db57805160ff1916838001178555611808565b82800160010185558215611808579182015b828111156118085782518255916020019190600101906117ed565b50610b1b92915061193c565b6040805160608181018352600080835260208301529181019190915290565b50805460008255600302906000526020600020908101906118549190611956565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106118905780548555611808565b8280016001018555821561180857600052602060002091601f016020900482015b828111156118085782548255916001019190600101906118b1565b50805460018160011615610100020316600290046000825580601f106118f25750611854565b601f016020900490600052602060002090810190611854919061193c565b815481835581811115611589576003028160030283600052602060002091820191016115899190611956565b61084f91905b80821115610b1b5760008155600101611942565b61084f91905b80821115610b1b576000808255600182018054600160a060020a031916905561198860028301826118cc565b5060030161195c5600a165627a7a72305820571a7cac291674b4bc36ba89b59c5a3032549f86b302d72e7b897079cd30090f0029

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

0000000000000000000000004eea6844a4dc5bf3127decf034b3f4a7211ef2e7

-----Decoded View---------------
Arg [0] : _tridentSmartContract (address): 0x4EeA6844a4dC5bF3127DecF034B3f4A7211EF2e7

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004eea6844a4dc5bf3127decf034b3f4a7211ef2e7


Swarm Source

bzzr://571a7cac291674b4bc36ba89b59c5a3032549f86b302d72e7b897079cd30090f

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.