mirror of
https://github.com/orionprotocol/sdk.git
synced 2026-03-24 14:47:47 +03:00
Merge remote-tracking branch origin/main into OP-5070-visible-assets
This commit is contained in:
@@ -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) => {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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([
|
||||
|
||||
Reference in New Issue
Block a user