-
Notifications
You must be signed in to change notification settings - Fork 128
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
This file makes sure that Github Pages doesn't process mdBook's output. |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# DEX | ||
|
||
With cross-chain bridging and darkpool DEX then DarkFi would be a very | ||
attractive trading tool. | ||
|
||
We currently have OTC swaps which are an efficient way to settle trades | ||
on-chain. But there needs to be an orderbook for matching counterparties. | ||
|
||
We propose that this job can be performed by an order-matching bot which | ||
maintains an orderbook. Later this role can be split with MPC. | ||
|
||
The order-matching party needs to be able to construct the swap trade, | ||
even when the LP is offline. | ||
|
||
We propose to do this using the spend hook and a special `auth_otc` function. | ||
The `auth_otc` basically says: | ||
|
||
* The sender of the funds has the right at any time to withdraw liquidity and | ||
cancel the LP. | ||
* The funds are delegated to the order-matching party but with restrictions: | ||
* Can only make an OTC swap tx using the funds. | ||
* The trade parameters are completely specified such as the price and | ||
currencies. | ||
|
||
The funds are therefore delegated to the order-matching party, who finds | ||
counterparty offers and executes the trades settling them on-chain. Both parties | ||
receive their funds in a trustless anonymous manner. At any time the LP can be | ||
canceled and funds withdrawn. | ||
|
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.