Merge remote-tracking branch origin/main into OP-5070-visible-assets

This commit is contained in:
Kirill Litvinov
2024-06-10 10:36:17 +03:00
11 changed files with 38 additions and 50 deletions

View File

@@ -263,21 +263,22 @@ class Aggregator {
);
getSwapInfo = (
type: 'exactSpend' | 'exactReceive',
assetIn: string,
assetOut: string,
amount: string,
instantSettlement?: boolean,
exchanges?: string[] | 'cex' | 'pools',
isTradeBuy?: boolean,
) => {
const url = new URL(`${this.apiUrl}/api/v1/swap`);
url.searchParams.append('assetIn', assetIn);
url.searchParams.append('assetOut', assetOut);
if (type === 'exactSpend') {
if (isTradeBuy !== true) {
url.searchParams.append('amountIn', amount);
} else {
url.searchParams.append('amountOut', amount);
}
if (exchanges !== undefined) {
if (Array.isArray(exchanges)) {
exchanges.forEach((exchange) => {

View File

@@ -61,7 +61,7 @@ const swapInfoByAmountIn = swapInfoBase.extend({
marketAmountIn: z.null(),
}).transform((val) => ({
...val,
type: 'exactSpend' as const,
isTradeBuy: false as const,
}));
const swapInfoByAmountOut = swapInfoBase.extend({
@@ -71,7 +71,7 @@ const swapInfoByAmountOut = swapInfoBase.extend({
marketAmountIn: z.number().nullable(),
}).transform((val) => ({
...val,
type: 'exactReceive' as const,
isTradeBuy: true as const,
}));
const swapInfoSchema = swapInfoByAmountIn.or(swapInfoByAmountOut);

View File

@@ -572,19 +572,19 @@ class AggregatorWS {
autoSlippage: json.sl,
};
switch (json.k) { // kind
case 'exactSpend':
switch (json.tb) { // isTradeBuy
case false:
this.subscriptions[SubscriptionType.SWAP_SUBSCRIBE]?.[json.S]?.callback({
kind: json.k,
isTradeBuy: false,
marketAmountOut: json.mo,
availableAmountIn: json.aa,
...baseSwapInfo,
});
break;
case 'exactReceive':
case true:
this.subscriptions[SubscriptionType.SWAP_SUBSCRIBE]?.[json.S]?.callback({
kind: json.k,
isTradeBuy: true,
...baseSwapInfo,
marketAmountIn: json.mi,
availableAmountOut: json.aao,

View File

@@ -59,7 +59,7 @@ const swapInfoSchemaByAmountIn = swapInfoSchemaBase.extend({
aa: z.number(), // available amount in
}).transform((content) => ({
...content,
k: 'exactSpend' as const,
tb: false as const, // isTradeBuy
}));
const swapInfoSchemaByAmountOut = swapInfoSchemaBase.extend({
@@ -67,7 +67,7 @@ const swapInfoSchemaByAmountOut = swapInfoSchemaBase.extend({
aao: z.number(), // available amount out
}).transform((content) => ({
...content,
k: 'exactReceive' as const,
tb: true as const, // isTradeBuy
}));
const swapInfoSchema = z.union([