From 94d50af86b9502eaf7f8b5254f41e7ecf6dc7552 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bego=C3=B1a=20Alvarez?= Date: Wed, 15 Nov 2023 13:50:52 +0100 Subject: [PATCH] fix: calculate amount by deducting gasFee and not allocated gasBudget --- .../lib/core/layer-2/types/layer2-metadata.interface.ts | 2 +- .../utils/generateActivity/generateSingleBasicActivity.ts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/shared/lib/core/layer-2/types/layer2-metadata.interface.ts b/packages/shared/lib/core/layer-2/types/layer2-metadata.interface.ts index 283a74a6145..b3dfb05fffa 100644 --- a/packages/shared/lib/core/layer-2/types/layer2-metadata.interface.ts +++ b/packages/shared/lib/core/layer-2/types/layer2-metadata.interface.ts @@ -1,3 +1,3 @@ import { ILayer2TransferAllowanceMetadata } from '../interfaces' -export type Layer2Metadata = Omit +export type Layer2Metadata = Omit diff --git a/packages/shared/lib/core/wallet/utils/generateActivity/generateSingleBasicActivity.ts b/packages/shared/lib/core/wallet/utils/generateActivity/generateSingleBasicActivity.ts index 2e5c63b8d99..c52f1cef93f 100644 --- a/packages/shared/lib/core/wallet/utils/generateActivity/generateSingleBasicActivity.ts +++ b/packages/shared/lib/core/wallet/utils/generateActivity/generateSingleBasicActivity.ts @@ -33,6 +33,7 @@ export async function generateSingleBasicActivity( const id = outputId || transactionId const output = wrappedOutput.output as BasicOutput + const amount = getAmountFromOutput(output) const isShimmerClaiming = isShimmerClaimingTransaction(transactionId, get(activeProfileId)) @@ -44,13 +45,15 @@ export async function generateSingleBasicActivity( const asyncData = await getAsyncDataFromOutput(output, outputId, claimingData, account) const { parsedLayer2Metadata, destinationNetwork } = getLayer2ActivityInformation(metadata, sendingInfo) + const layer2Allowance = Number(parsedLayer2Metadata?.baseTokens ?? '0') const gasBudget = Number(parsedLayer2Metadata?.gasBudget ?? '0') + const gasFee = layer2Allowance > 0 ? amount - layer2Allowance : 0 let { storageDeposit, giftedStorageDeposit } = await getStorageDepositFromOutput(account, output) giftedStorageDeposit = action === ActivityAction.Burn ? 0 : giftedStorageDeposit giftedStorageDeposit = gasBudget === 0 ? giftedStorageDeposit : 0 - const baseTokenAmount = getAmountFromOutput(output) - storageDeposit - gasBudget + const baseTokenAmount = amount - storageDeposit - gasFee const nativeToken = await getNativeTokenFromOutput(output) const assetId = fallbackAssetId ?? nativeToken?.id ?? getCoinType()