ETH Price: $3,298.44 (-0.44%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

> 10 Internal Transactions and > 10 Token Transfers found.

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
66794102018-11-10 16:15:202252 days ago1541866520
0x51111D92...6e80aD6Ea
0.01566 ETH
66794102018-11-10 16:15:202252 days ago1541866520
0x51111D92...6e80aD6Ea
0.01566 ETH
66793752018-11-10 16:08:312252 days ago1541866111
0x51111D92...6e80aD6Ea
0.01566 ETH
66793752018-11-10 16:08:312252 days ago1541866111
0x51111D92...6e80aD6Ea
0.01566 ETH
66793702018-11-10 16:07:492252 days ago1541866069
0x51111D92...6e80aD6Ea
0.01566 ETH
66793702018-11-10 16:07:492252 days ago1541866069
0x51111D92...6e80aD6Ea
0.01566 ETH
66734432018-11-09 16:46:542252 days ago1541782014
0x51111D92...6e80aD6Ea
0.11851776 ETH
66734432018-11-09 16:46:542252 days ago1541782014
0x51111D92...6e80aD6Ea
0.11851776 ETH
66734432018-11-09 16:46:542252 days ago1541782014
0x51111D92...6e80aD6Ea
0.01973212 ETH
66734432018-11-09 16:46:542252 days ago1541782014
0x51111D92...6e80aD6Ea
0.01973212 ETH
66711532018-11-09 7:53:212253 days ago1541750001
0x51111D92...6e80aD6Ea
0.04368977 ETH
66711532018-11-09 7:53:212253 days ago1541750001
0x51111D92...6e80aD6Ea
0.04368977 ETH
66711532018-11-09 7:53:212253 days ago1541750001
0x51111D92...6e80aD6Ea
0.00014006 ETH
66711532018-11-09 7:53:212253 days ago1541750001
0x51111D92...6e80aD6Ea
0.00014006 ETH
66711532018-11-09 7:53:212253 days ago1541750001
0x51111D92...6e80aD6Ea
0.40898777 ETH
66711532018-11-09 7:53:212253 days ago1541750001
0x51111D92...6e80aD6Ea
0.40898777 ETH
66674342018-11-08 17:02:302253 days ago1541696550
0x51111D92...6e80aD6Ea
0.11851776 ETH
66674342018-11-08 17:02:302253 days ago1541696550
0x51111D92...6e80aD6Ea
0.11851776 ETH
66674342018-11-08 17:02:302253 days ago1541696550
0x51111D92...6e80aD6Ea
0.01973212 ETH
66674342018-11-08 17:02:302253 days ago1541696550
0x51111D92...6e80aD6Ea
0.01973212 ETH
66674162018-11-08 16:59:002253 days ago1541696340
0x51111D92...6e80aD6Ea
0.00261922 ETH
66674162018-11-08 16:59:002253 days ago1541696340
0x51111D92...6e80aD6Ea
0.00261922 ETH
66674162018-11-08 16:59:002253 days ago1541696340
0x51111D92...6e80aD6Ea
0.0484 ETH
66674162018-11-08 16:59:002253 days ago1541696340
0x51111D92...6e80aD6Ea
0.0484 ETH
66674162018-11-08 16:59:002253 days ago1541696340
0x51111D92...6e80aD6Ea
0.252 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtherDeltaHandler

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-06-03
*/

pragma solidity 0.4.21;

// File: contracts/ExchangeHandler.sol

/// @title Interface for all exchange handler contracts
interface ExchangeHandler {

    /// @dev Get the available amount left to fill for an order
    /// @param orderAddresses Array of address values needed for this DEX order
    /// @param orderValues Array of uint values needed for this DEX order
    /// @param exchangeFee Value indicating the fee for this DEX order
    /// @param v ECDSA signature parameter v
    /// @param r ECDSA signature parameter r
    /// @param s ECDSA signature parameter s
    /// @return Available amount left to fill for this order
    function getAvailableAmount(
        address[8] orderAddresses,
        uint256[6] orderValues,
        uint256 exchangeFee,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256);

    /// @dev Perform a buy order at the exchange
    /// @param orderAddresses Array of address values needed for each DEX order
    /// @param orderValues Array of uint values needed for each DEX order
    /// @param exchangeFee Value indicating the fee for this DEX order
    /// @param amountToFill Amount to fill in this order
    /// @param v ECDSA signature parameter v
    /// @param r ECDSA signature parameter r
    /// @param s ECDSA signature parameter s
    /// @return Amount filled in this order
    function performBuy(
        address[8] orderAddresses,
        uint256[6] orderValues,
        uint256 exchangeFee,
        uint256 amountToFill,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external payable returns (uint256);

    /// @dev Perform a sell order at the exchange
    /// @param orderAddresses Array of address values needed for each DEX order
    /// @param orderValues Array of uint values needed for each DEX order
    /// @param exchangeFee Value indicating the fee for this DEX order
    /// @param amountToFill Amount to fill in this order
    /// @param v ECDSA signature parameter v
    /// @param r ECDSA signature parameter r
    /// @param s ECDSA signature parameter s
    /// @return Amount filled in this order
    function performSell(
        address[8] orderAddresses,
        uint256[6] orderValues,
        uint256 exchangeFee,
        uint256 amountToFill,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256);
}

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    if (a == 0) {
      return 0;
    }
    c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    // uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return a / b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}

// File: openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

// File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract Token is ERC20Basic {
  function allowance(address owner, address spender) public view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: contracts/EtherDelta.sol

interface EtherDelta {

    function deposit() public payable;

    function withdraw(uint amount) public;

    function depositToken(address token, uint amount) public;

    function withdrawToken(address token, uint amount) public;

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

    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);
}

contract EtherDeltaHandler is ExchangeHandler {
    // State variables
    EtherDelta public exchange;

    // Constructor
    function EtherDeltaHandler(address _exchange) public {
        exchange = EtherDelta(_exchange);
    }

    // Public functions
    function getAvailableAmount(
        address[8] orderAddresses,
        uint256[6] orderValues,
        uint256 exchangeFee,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256) {

        if(block.number > orderValues[2]) {
            // Order has expired
            return 0;
        }

        uint256 availableVolume = exchange.availableVolume(
            orderAddresses[2],
            orderValues[1],
            orderAddresses[1],
            orderValues[0],
            orderValues[2],
            orderValues[3],
            orderAddresses[0],
            v,
            r,
            s
        );

        // Adds the exchange fee onto the available amount
        return getPartialAmount(availableVolume, SafeMath.sub(1 ether, exchangeFee), 1 ether);
    }

    function performBuy(
        address[8] orderAddresses,
        uint256[6] orderValues,
        uint256 exchangeFee,
        uint256 amountToFill,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external payable returns (uint256) {
        require(msg.value == amountToFill);

        deposit(amountToFill);

        uint256 amountToTrade;
        uint256 fee;

        (amountToTrade, fee) = substractFee(exchangeFee, amountToFill);

        trade(
            orderAddresses,
            orderValues,
            amountToTrade,
            v,
            r,
            s
        );

        uint256 tokenAmountObtained = getPartialAmount(orderValues[0], orderValues[1], amountToTrade);

        withdrawToken(orderAddresses[1], tokenAmountObtained);
        transferTokenToSender(orderAddresses[1], tokenAmountObtained);

        return tokenAmountObtained;
    }

    function performSell(
        address[8] orderAddresses,
        uint256[6] orderValues,
        uint256 exchangeFee,
        uint256 amountToFill,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256) {
        depositToken(orderAddresses[2], amountToFill);

        uint256 amountToTrade;
        uint256 fee;

        (amountToTrade, fee) = substractFee(exchangeFee, amountToFill);

        trade(
            orderAddresses,
            orderValues,
            amountToTrade,
            v,
            r,
            s
        );

        uint256 etherAmountObtained = getPartialAmount(orderValues[0], orderValues[1], amountToTrade);

        withdraw(etherAmountObtained);
        transferEtherToSender(etherAmountObtained);

        return etherAmountObtained;
    }

    // Internal functions
    function trade(
        address[8] orderAddresses,
        uint256[6] orderValues,
        uint256 amountToTrade,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) internal {
        exchange.trade(
            orderAddresses[2],
            orderValues[1],
            orderAddresses[1],
            orderValues[0],
            orderValues[2],
            orderValues[3],
            orderAddresses[0],
            v,
            r,
            s,
            amountToTrade
        );
    }

    function substractFee(uint256 feePercentage, uint256 amount) internal pure returns (uint256, uint256) {
        uint256 fee = getPartialAmount(amount, 1 ether, feePercentage);
        return (SafeMath.sub(amount, fee), fee);
    }

    function deposit(uint256 amount) internal {
        exchange.deposit.value(amount)();
    }

    function depositToken(address token, uint256 amount) internal {
        require(Token(token).approve(address(exchange), amount));
        exchange.depositToken(token, amount);
    }

    function withdraw(uint256 amount) internal {
        exchange.withdraw(amount);
    }

    function withdrawToken(address token, uint256 amount) internal {
        exchange.withdrawToken(token, amount);
    }

    function transferTokenToSender(address token, uint256 amount) internal {
        require(Token(token).transfer(msg.sender, amount));
    }

    function transferEtherToSender(uint256 amount) internal {
        msg.sender.transfer(amount);
    }

    function getPartialAmount(uint256 numerator, uint256 denominator, uint256 target) internal pure returns (uint256) {
        return SafeMath.div(SafeMath.mul(numerator, target), denominator);
    }

    function() public payable {
        require(msg.sender == address(exchange));
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"orderAddresses","type":"address[8]"},{"name":"orderValues","type":"uint256[6]"},{"name":"exchangeFee","type":"uint256"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"getAvailableAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"orderAddresses","type":"address[8]"},{"name":"orderValues","type":"uint256[6]"},{"name":"exchangeFee","type":"uint256"},{"name":"amountToFill","type":"uint256"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"performSell","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"orderAddresses","type":"address[8]"},{"name":"orderValues","type":"uint256[6]"},{"name":"exchangeFee","type":"uint256"},{"name":"amountToFill","type":"uint256"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"performBuy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"exchange","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_exchange","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

6060604052341561000f57600080fd5b604051602080610fa383398101604052808051906020019091905050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610f288061007b6000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634102bf5c146100bf5780634981b3ca1461012b578063bdd5be2f146101a0578063d2f7265a1461020a575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156100bd57600080fd5b005b34156100ca57600080fd5b61011560048080610100019091908060c001909190803590602001909190803560ff16906020019091908035600019169060200190919080356000191690602001909190505061025f565b6040518082815260200191505060405180910390f35b341561013657600080fd5b61018a60048080610100019091908060c001909190803590602001909190803590602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610509565b6040518082815260200191505060405180910390f35b6101f460048080610100019091908060c001909190803590602001909190803590602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610602565b6040518082815260200191505060405180910390f35b341561021557600080fd5b61021d610733565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008086600260068110151561027157fe5b602002013543111561028657600091506104fe565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fb6e155f8960026008811015156102d257fe5b602002013573ffffffffffffffffffffffffffffffffffffffff168960016006811015156102fc57fe5b60200201358b600160088110151561031057fe5b602002013573ffffffffffffffffffffffffffffffffffffffff168b600060068110151561033a57fe5b60200201358c600260068110151561034e57fe5b60200201358d600360068110151561036257fe5b60200201358f600060088110151561037657fe5b602002013573ffffffffffffffffffffffffffffffffffffffff168d8d8d6040518b63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a81526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018881526020018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018460ff1660ff168152602001836000191660001916815260200182600019166000191681526020019a5050505050505050505050602060405180830381600087803b15156104be57600080fd5b5af115156104cb57600080fd5b5050506040518051905090506104fb816104ed670de0b6b3a764000089610758565b670de0b6b3a7640000610771565b91505b509695505050505050565b6000806000806105428b600260088110151561052157fe5b602002013573ffffffffffffffffffffffffffffffffffffffff168961078f565b61054c898961094b565b80935081945050506105ac8b600880602002604051908101604052809291908260086020028082843782019150505050508b60068060200260405190810160405280929190826006602002808284378201915050505050858a8a8a61097c565b6105dd8a60006006811015156105be57fe5b60200201358b60016006811015156105d257fe5b602002013585610771565b90506105e881610b92565b6105f181610c34565b809350505050979650505050505050565b600080600080873414151561061657600080fd5b61061f88610c77565b610629898961094b565b80935081945050506106898b600880602002604051908101604052809291908260086020028082843782019150505050508b60068060200260405190810160405280929190826006602002808284378201915050505050858a8a8a61097c565b6106ba8a600060068110151561069b57fe5b60200201358b60016006811015156106af57fe5b602002013585610771565b90506106ef8b60016008811015156106ce57fe5b602002013573ffffffffffffffffffffffffffffffffffffffff1682610d0f565b6107228b600160088110151561070157fe5b602002013573ffffffffffffffffffffffffffffffffffffffff1682610de6565b809350505050979650505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600082821115151561076657fe5b818303905092915050565b60006107866107808584610eae565b84610ee6565b90509392505050565b8173ffffffffffffffffffffffffffffffffffffffff1663095ea7b36000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561085257600080fd5b5af1151561085f57600080fd5b50505060405180519050151561087457600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663338b5dea83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561093757600080fd5b5af1151561094457600080fd5b5050505050565b600080600061096384670de0b6b3a764000087610771565b905061096f8482610758565b8192509250509250929050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a19b14a8760026008811015156109c857fe5b60200201518760016006811015156109dc57fe5b60200201518960016008811015156109f057fe5b6020020151896000600681101515610a0457fe5b60200201518a6002600681101515610a1857fe5b60200201518b6003600681101515610a2c57fe5b60200201518d6000600881101515610a4057fe5b60200201518b8b8b8f6040518c63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018b81526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018560ff1660ff168152602001846000191660001916815260200183600019166000191681526020018281526020019b505050505050505050505050600060405180830381600087803b1515610b7a57600080fd5b5af11515610b8757600080fd5b505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1515610c2157600080fd5b5af11515610c2e57600080fd5b50505050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610c7457600080fd5b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b1515610cfb57600080fd5b5af11515610d0857600080fd5b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e281a9883836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610dd257600080fd5b5af11515610ddf57600080fd5b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610e8857600080fd5b5af11515610e9557600080fd5b505050604051805190501515610eaa57600080fd5b5050565b600080831415610ec15760009050610ee0565b8183029050818382811515610ed257fe5b04141515610edc57fe5b8090505b92915050565b60008183811515610ef357fe5b049050929150505600a165627a7a72305820c67afc0b1717d086f4146375e2941cc51a7762da84b864200aac05552323907d00290000000000000000000000008d12a197cb00d4747a1fe03395095ce2a5cc6819

Deployed Bytecode

0x606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634102bf5c146100bf5780634981b3ca1461012b578063bdd5be2f146101a0578063d2f7265a1461020a575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156100bd57600080fd5b005b34156100ca57600080fd5b61011560048080610100019091908060c001909190803590602001909190803560ff16906020019091908035600019169060200190919080356000191690602001909190505061025f565b6040518082815260200191505060405180910390f35b341561013657600080fd5b61018a60048080610100019091908060c001909190803590602001909190803590602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610509565b6040518082815260200191505060405180910390f35b6101f460048080610100019091908060c001909190803590602001909190803590602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610602565b6040518082815260200191505060405180910390f35b341561021557600080fd5b61021d610733565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008086600260068110151561027157fe5b602002013543111561028657600091506104fe565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fb6e155f8960026008811015156102d257fe5b602002013573ffffffffffffffffffffffffffffffffffffffff168960016006811015156102fc57fe5b60200201358b600160088110151561031057fe5b602002013573ffffffffffffffffffffffffffffffffffffffff168b600060068110151561033a57fe5b60200201358c600260068110151561034e57fe5b60200201358d600360068110151561036257fe5b60200201358f600060088110151561037657fe5b602002013573ffffffffffffffffffffffffffffffffffffffff168d8d8d6040518b63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a81526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018881526020018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018460ff1660ff168152602001836000191660001916815260200182600019166000191681526020019a5050505050505050505050602060405180830381600087803b15156104be57600080fd5b5af115156104cb57600080fd5b5050506040518051905090506104fb816104ed670de0b6b3a764000089610758565b670de0b6b3a7640000610771565b91505b509695505050505050565b6000806000806105428b600260088110151561052157fe5b602002013573ffffffffffffffffffffffffffffffffffffffff168961078f565b61054c898961094b565b80935081945050506105ac8b600880602002604051908101604052809291908260086020028082843782019150505050508b60068060200260405190810160405280929190826006602002808284378201915050505050858a8a8a61097c565b6105dd8a60006006811015156105be57fe5b60200201358b60016006811015156105d257fe5b602002013585610771565b90506105e881610b92565b6105f181610c34565b809350505050979650505050505050565b600080600080873414151561061657600080fd5b61061f88610c77565b610629898961094b565b80935081945050506106898b600880602002604051908101604052809291908260086020028082843782019150505050508b60068060200260405190810160405280929190826006602002808284378201915050505050858a8a8a61097c565b6106ba8a600060068110151561069b57fe5b60200201358b60016006811015156106af57fe5b602002013585610771565b90506106ef8b60016008811015156106ce57fe5b602002013573ffffffffffffffffffffffffffffffffffffffff1682610d0f565b6107228b600160088110151561070157fe5b602002013573ffffffffffffffffffffffffffffffffffffffff1682610de6565b809350505050979650505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600082821115151561076657fe5b818303905092915050565b60006107866107808584610eae565b84610ee6565b90509392505050565b8173ffffffffffffffffffffffffffffffffffffffff1663095ea7b36000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561085257600080fd5b5af1151561085f57600080fd5b50505060405180519050151561087457600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663338b5dea83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561093757600080fd5b5af1151561094457600080fd5b5050505050565b600080600061096384670de0b6b3a764000087610771565b905061096f8482610758565b8192509250509250929050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a19b14a8760026008811015156109c857fe5b60200201518760016006811015156109dc57fe5b60200201518960016008811015156109f057fe5b6020020151896000600681101515610a0457fe5b60200201518a6002600681101515610a1857fe5b60200201518b6003600681101515610a2c57fe5b60200201518d6000600881101515610a4057fe5b60200201518b8b8b8f6040518c63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018b81526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018560ff1660ff168152602001846000191660001916815260200183600019166000191681526020018281526020019b505050505050505050505050600060405180830381600087803b1515610b7a57600080fd5b5af11515610b8757600080fd5b505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1515610c2157600080fd5b5af11515610c2e57600080fd5b50505050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610c7457600080fd5b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b1515610cfb57600080fd5b5af11515610d0857600080fd5b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e281a9883836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610dd257600080fd5b5af11515610ddf57600080fd5b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610e8857600080fd5b5af11515610e9557600080fd5b505050604051805190501515610eaa57600080fd5b5050565b600080831415610ec15760009050610ee0565b8183029050818382811515610ed257fe5b04141515610edc57fe5b8090505b92915050565b60008183811515610ef357fe5b049050929150505600a165627a7a72305820c67afc0b1717d086f4146375e2941cc51a7762da84b864200aac05552323907d0029

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

0000000000000000000000008d12a197cb00d4747a1fe03395095ce2a5cc6819

-----Decoded View---------------
Arg [0] : _exchange (address): 0x8d12A197cB00D4747a1fe03395095ce2A5CC6819

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008d12a197cb00d4747a1fe03395095ce2a5cc6819


Swarm Source

bzzr://c67afc0b1717d086f4146375e2941cc51a7762da84b864200aac05552323907d

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  ]

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.