Instant settlement (#22)

* instantSettlement impl

* Fixed poolOnly
This commit is contained in:
Aleksandr Kraiz
2022-08-19 11:52:49 +04:00
committed by GitHub
parent 7497f683df
commit 533e18901e
6 changed files with 29 additions and 11 deletions

View File

@@ -151,7 +151,8 @@ class OrionAggregator {
assetIn: string,
assetOut: string,
amount: string,
exchanges?: Exchange[],
instantSettlement?: boolean,
exchanges?: Exchange[] | 'cex' | 'pools',
) => {
const url = new URL(`${this.apiUrl}/api/v1/swap`);
url.searchParams.append('assetIn', assetIn);
@@ -162,9 +163,16 @@ class OrionAggregator {
url.searchParams.append('amountOut', amount);
}
if (exchanges) {
exchanges.forEach((exchange) => {
url.searchParams.append('exchanges', exchange);
});
if (Array.isArray(exchanges)) {
exchanges.forEach((exchange) => {
url.searchParams.append('exchanges', exchange);
});
} else {
url.searchParams.append('exchanges', exchanges);
}
}
if (instantSettlement) {
url.searchParams.append('instantSettlement', 'true');
}
return fetchWithValidation(

View File

@@ -70,8 +70,9 @@ type SwapSubscriptionRequest = {
i: string, // asset in
o: string, // asset out
a: number // amount IN/OUT
es?: Exchange[], // exchange list
es?: Exchange[] | 'cex' | 'pools', // exchange list of all cex or all pools (ORION_POOL, UNISWAP, PANCAKESWAP etc)
e?: boolean; // is amount IN? Value `false` means a = amount OUT, `true` if omitted
is?: boolean; // instant settlement
}
type BrokerTradableAtomicSwapBalanceSubscription = {