Reto Trinkler edited this page Apr 2, 2017 · 5 revisions


Currently used Exchange

Currently used exchange implementation is a derivative of Maker exchange.

Deployment Addresses

Intended Extension

Exchange Protocol implementation will follow one or several of the prevalent exchanges, especially likely is

  • OasisDex compatibility and/or
  • 0xProject

Technical Overview

Protocol implementation according to:

/// @title Exchange Protocol Contract
/// @author Melonport AG <>
/// @notice This is to be considered as a protocol on how to access the underlying Exchange Contract
contract ExchangeProtocol {


    function getLastOrderId() constant returns (uint) {}
    function isActive(uint id) constant returns (bool active) {}
    function getOwner(uint id) constant returns (address owner) {}
    function getOrder(uint id) constant returns (uint, ERC20, uint, ERC20) {}


    function make(
        uint sell_how_much, ERC20 sell_which_token,
        uint buy_how_much,  ERC20 buy_which_token
        returns (uint id)
    function take(uint id, uint quantity) returns (bool) {}
    function cancel(uint id) returns (bool) {}

    // EVENTS

    event OrderUpdate(uint id);
    event Trade(uint sell_how_much, address indexed sell_which_token,
        uint buy_how_much, address indexed buy_which_token);