Token Conversion

Questions about certain aspects of the token conversion process @canesin @ethan

Say I have only 1 token such as Augur (REP) in my wallet and the service I am using requires payment in Travala (AVA).

I don’t imagine that a REP/AVA trading pair will exist, so will NEX enable a seamless token conversion (as far as the end user is concerned) by placing successive market orders on REP/ETH and ETH/AVA markets?

So if I want to exchange ‘A’ for ‘B’ but there is no A/B pairing on NEX, using a pair ‘C’ common to both A and B and 2 separate trades placed in the correct order using the proceeds from trade 1 to fund trade 2.

RE: Slippage

A large market order token conversion could result in some serious slippage particularly in an illiquid trading pair. Will there be a slider to limit the maximum slippage on a trade or at least a warning when converting tokens?
(I appreciate that most basic users wont understand what slippage is so this may need to be simplified)

Our tech allows zero slippage from seem price. The order should be a composite order defined by the API client. In pseudo code for example the execution chain:

var price_promise = nex_api.quote(rep_ava, 0.1_ava);

  .market_convert(rep_ava, 0.1, price_promise);

is equivalent to:

  .market_buy(rep_eth, nex_api.market_price(eth_ava, 0.1))
  .market_buy(eth_ava, 0.1);

Both should be compiled in 2 market orders that are executed conditionally by the matching engine (ME), is not the client making 2 requests. Is the ME receiving a market buy conditional using the proceeds of the other and holding that position. When accepting the chain of orders the ME can get a price promise and refuse the order chain if they can’t be met due to some order already being matched. But when the price is still valid both the orders should be atomically executed.

This is on going idea work still and will not be in the first MVP, we will work with our conversion partners to refine the system.