diff --git a/package-lock.json b/package-lock.json index bfcfeb6..26e7112 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.23", + "version": "0.20.24", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@orionprotocol/sdk", - "version": "0.20.23", + "version": "0.20.24", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index ed34454..2faf2a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.23", + "version": "0.20.24-rc4", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Aggregator/schemas/swapInfoSchema.ts b/src/services/Aggregator/schemas/swapInfoSchema.ts index 76e963d..049c8bc 100644 --- a/src/services/Aggregator/schemas/swapInfoSchema.ts +++ b/src/services/Aggregator/schemas/swapInfoSchema.ts @@ -40,6 +40,13 @@ const swapInfoBase = z.object({ isThroughPoolOrCurve: z.boolean(), }).array(), assetNameMapping: z.record(z.string()).optional(), // address to ERC20 names + usd: z.object({ // USD info of this swap, nullable + aa: z.number().optional(), // available amount in, USD + aao: z.number().optional(), // available amount out, USD + mo: z.number().optional(), // market amount out, USD + mi: z.number().optional(), // market amount in, USD + d: z.string().optional(), // difference in available amount in/out (USD) and market amount out/in (USD) in percentage + }).optional(), }); const swapInfoByAmountIn = swapInfoBase.extend({ diff --git a/src/services/Aggregator/ws/index.ts b/src/services/Aggregator/ws/index.ts index a50d62b..d1ce566 100644 --- a/src/services/Aggregator/ws/index.ts +++ b/src/services/Aggregator/ws/index.ts @@ -526,6 +526,13 @@ class AggregatorWS { availableAmountOut: item.aao, })), assetsNameMapping: json.anm, + usdInfo: json.usd && { + availableAmountIn: json.usd.aa, + availableAmountOut: json.usd.aao, + marketAmountOut: json.usd.mo, + marketAmountIn: json.usd.mi, + difference: json.usd.d, + }, }; switch (json.k) { // kind diff --git a/src/services/Aggregator/ws/schemas/swapInfoSchema.ts b/src/services/Aggregator/ws/schemas/swapInfoSchema.ts index aa79db8..3c8a5d4 100644 --- a/src/services/Aggregator/ws/schemas/swapInfoSchema.ts +++ b/src/services/Aggregator/ws/schemas/swapInfoSchema.ts @@ -40,7 +40,14 @@ const swapInfoSchemaBase = baseMessageSchema.extend({ ai: z.string().toUpperCase(), // asset in ao: z.string().toUpperCase(), // asset out f: factorySchema, // factory - })) + })), + usd: z.object({ // USD info of this swap, nullable + aa: z.number().optional(), // available amount in, USD + aao: z.number().optional(), // available amount out, USD + mo: z.number().optional(), // market amount out, USD + mi: z.number().optional(), // market amount in, USD + d: z.string().optional(), // difference in available amount in/out (USD) and market amount out/in (USD) in percentage + }).optional(), }); const swapInfoSchemaByAmountIn = swapInfoSchemaBase.extend({ diff --git a/src/types.ts b/src/types.ts index ecc3568..7511476 100644 --- a/src/types.ts +++ b/src/types.ts @@ -197,6 +197,13 @@ export type SwapInfoBase = { } | undefined alternatives: SwapInfoAlternative[] assetsNameMapping?: Partial> | undefined + usdInfo: { + availableAmountIn: number | undefined + availableAmountOut: number | undefined + marketAmountOut: number | undefined + marketAmountIn: number | undefined + difference: string | undefined + } | undefined } export type SwapInfoByAmountIn = SwapInfoBase & {