diff --git a/package.json b/package.json index 000469e..e9ca81a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.11.1", + "version": "0.11.2", "description": "Orion Protocol SDK", "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", diff --git a/src/OrionUnit/Exchange/swapMarket.ts b/src/OrionUnit/Exchange/swapMarket.ts index 26e0d0a..a87dbc2 100644 --- a/src/OrionUnit/Exchange/swapMarket.ts +++ b/src/OrionUnit/Exchange/swapMarket.ts @@ -126,7 +126,7 @@ export default async function swapMarket({ options?.poolOnly ? ['ORION_POOL'] : undefined, ); - if (options?.poolOnly === true && options.poolOnly !== swapInfo.isThroughPoolOptimal) { + if (swapInfo.orderInfo !== null && options?.poolOnly === true && options.poolOnly !== swapInfo.isThroughPoolOptimal) { throw new Error(`Unexpected Orion Aggregator response. Please, contact support. Report swap request id: ${swapInfo.id}`); } @@ -142,7 +142,11 @@ export default async function swapMarket({ const percent = new BigNumber(slippagePercent).div(100); - const isThroughPoolOptimal = options?.developer?.route === 'pool' ?? swapInfo.isThroughPoolOptimal; + let isThroughPoolOptimal: boolean; + if (options?.developer?.route !== undefined) { + isThroughPoolOptimal = options.developer.route === 'pool'; + } else if (options?.poolOnly) isThroughPoolOptimal = true; + else isThroughPoolOptimal = swapInfo.isThroughPoolOptimal; if (isThroughPoolOptimal) { options?.logger?.('Swap through pool');