diff --git a/src/Unit/Exchange/callGenerators/utils.ts b/src/Unit/Exchange/callGenerators/utils.ts index ad10f6b..b61dc4b 100644 --- a/src/Unit/Exchange/callGenerators/utils.ts +++ b/src/Unit/Exchange/callGenerators/utils.ts @@ -99,5 +99,5 @@ export async function toNativeDecimals(token: AddressLike, amount: BigNumberish, const contract = ERC20__factory.connect(token, provider) decimals = BigInt(await contract.decimals()) } - return BigInt(amount) * (BigInt(10) ** decimals) / (BigInt(10) ** 8n) + return BigInt(amount) * (BigInt(10) ** decimals) } \ No newline at end of file diff --git a/src/Unit/Exchange/generateSwapCalldata.ts b/src/Unit/Exchange/generateSwapCalldata.ts index 948d094..506c79b 100644 --- a/src/Unit/Exchange/generateSwapCalldata.ts +++ b/src/Unit/Exchange/generateSwapCalldata.ts @@ -77,7 +77,7 @@ export async function generateSwapCalldataWithUnit({ amount, minReturnAmount, receiverAddress, - useContractBalance: walletBalance < BigInt(amount), + useContractBalance: walletBalance < await exchangeToNativeDecimals(path.first().assetIn, amount, unit.provider), path, wethAddress, curveRegistryAddress,