From 7cd71b2c60e15124eb16aa35d2d81a90ca886bcd Mon Sep 17 00:00:00 2001 From: Steam Deck User <0xlomonoshka@gmail.com> Date: Mon, 18 Dec 2023 11:10:35 +0400 Subject: [PATCH] fee parameter should be in exchange decimals --- package.json | 2 +- src/Unit/Exchange/generateSwapCalldata.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f3526bf..d308744 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.34-rc-1", + "version": "0.20.34-rc-2", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/Unit/Exchange/generateSwapCalldata.ts b/src/Unit/Exchange/generateSwapCalldata.ts index 343723a..fa807b6 100644 --- a/src/Unit/Exchange/generateSwapCalldata.ts +++ b/src/Unit/Exchange/generateSwapCalldata.ts @@ -138,6 +138,7 @@ export async function generateSwapCalldata({ flags: 0, }; const amountNativeDecimals = await exchangeToNativeDecimals(srcToken, amount, provider); + const feeNativeDecimals = await exchangeToNativeDecimals(feeToken, fee, provider) path = SafeArray.from(arrayLikePath).map((singleSwap) => { if (singleSwap.assetIn == ethers.ZeroAddress) singleSwap.assetIn = wethAddress; @@ -152,7 +153,7 @@ export async function generateSwapCalldata({ amountNativeDecimals, matcher, feeToken, - fee, + feeNativeDecimals, wethAddress, swapExecutorContractAddress, curveRegistryAddress, @@ -210,7 +211,7 @@ async function processSwaps( )); } - ({swapDescription, calls} = payFeeToMatcher(matcher, feeToken, fee, calls, swapDescription)); + ({swapDescription, calls} = await payFeeToMatcher(matcher, feeToken, fee, calls, swapDescription)); ({ swapDescription, calls } = wrapOrUnwrapIfNeeded( amount, @@ -331,14 +332,13 @@ async function processMultiFactorySwaps( return { swapDescription, calls }; } -function payFeeToMatcher( +async function payFeeToMatcher( matcher: AddressLike, feeToken: AddressLike, feeAmount: BigNumberish, calls: BytesLike[], swapDescription: LibValidator.SwapDescriptionStruct, ) { - feeAmount = BigInt(feeAmount) if (feeAmount !== 0n && feeToken === swapDescription.dstToken) { const feePaymentCall = generateFeePaymentCall(matcher, feeToken, feeAmount) calls.push(feePaymentCall)