From 8228842859dcc915a745a093104be7acbaadb698 Mon Sep 17 00:00:00 2001 From: MarkNerdi <105642810+MarkNerdi@users.noreply.github.com> Date: Thu, 22 Dec 2022 20:47:37 +0100 Subject: [PATCH] refactor: activity generation (#5464) * refactor: add wrapped inputs to processedTransaction * refactor: initial separation of activity generation functions Co-authored-by: MarkNerdi * refactor: exclude remainder * refactor: extract tile title calculation * refactor: update all inclusionsstates if transaction is confirmed * chore: improve empty inputs check * fix: fix type narrowing * chore: move functions to own files * fix: fix generation with inputs * enhancement: create multiple * refactor: create multiple activities from the same type in one transaction Co-authored-by: Jason Kraft * chore: remove unused functions * chore: rename generator functions * chore: extract functions into own files * Update packages/shared/lib/core/wallet/utils/getActivityTileTitle.ts Co-authored-by: Jason Kraft * Update packages/shared/locales/en.json Co-authored-by: Jason Kraft * fix: fix empty activity list Co-authored-by: Nicole O'Brien Co-authored-by: MarkNerdi Co-authored-by: Jason Kraft Co-authored-by: Jason Kraft --- .../AliasActivityTileContent.svelte | 8 +- .../FoundryActivityTileContent.svelte | 5 +- .../NftActivityTileContent.svelte | 22 +---- .../TransactionActivityTileContent.svelte | 22 +---- .../popups/AliasConfirmationPopup.svelte | 8 +- .../governance/actions/setVotingPower.ts | 10 +-- .../events-handlers/handleNewOutputEvent.ts | 16 ++-- ...rateActivitiesFromProcessedTransactions.ts | 6 +- .../lib/core/wallet/actions/burnAsset.ts | 8 +- .../shared/lib/core/wallet/actions/burnNft.ts | 8 +- .../core/wallet/actions/consolidateOutputs.ts | 8 +- .../core/wallet/actions/mintNativeToken.ts | 22 +++-- .../shared/lib/core/wallet/actions/mintNft.ts | 32 ++++--- .../lib/core/wallet/actions/sendOutput.ts | 12 ++- .../core/wallet/enums/activity-action.enum.ts | 1 + ...ctivity-generation-parameters.interface.ts | 9 ++ .../lib/core/wallet/interfaces/index.ts | 1 + .../stores/all-account-activities.store.ts | 19 +++- .../selected-account-activities.store.ts | 7 +- .../generateActivity/generateActivities.ts | 90 +++++++++++++++++++ .../generateActivity/generateActivity.ts | 22 ----- .../generateAliasActivitiesFromTransaction.ts | 26 ++++++ .../generateBasicActivitiesFromTransaction.ts | 27 ++++++ ...enerateFoundryActivitiesFromTransaction.ts | 24 +++++ .../generateNftActivitiesFromTransaction.ts | 26 ++++++ ...vity.ts => generateSingleAliasActivity.ts} | 24 +++-- ...vity.ts => generateSingleBasicActivity.ts} | 19 ++-- ...ty.ts => generateSingleFoundryActivity.ts} | 31 +++---- ...tivity.ts => generateSingleNftActivity.ts} | 21 +++-- .../helper/getActivityTypeFromOutput.ts | 16 ++++ .../helper/getAsyncDataFromOutput.ts | 2 +- .../helper/getSendingInformation.ts | 2 +- .../utils/generateActivity/helper/index.ts | 1 + .../wallet/utils/generateActivity/index.ts | 2 +- .../core/wallet/utils/getActivityTileTitle.ts | 28 ++++++ .../lib/core/wallet/utils/getActivityType.ts | 17 ---- .../shared/lib/core/wallet/utils/index.ts | 2 +- .../utils/outputs/preprocessGroupedOutputs.ts | 1 + .../utils/outputs/preprocessTransaction.ts | 6 +- .../activityOutputContainsValue.ts | 22 +++++ .../getFoundryOutputFromTransaction.ts | 7 -- .../getNftOutputFromTransaction.ts | 7 -- ...onRemainderBasicOutputsFromTransaction.ts} | 6 +- .../core/wallet/utils/transactions/index.ts | 6 +- .../utils/transactions/outputContainsValue.ts | 28 ------ 45 files changed, 423 insertions(+), 264 deletions(-) create mode 100644 packages/shared/lib/core/wallet/interfaces/activity-generation-parameters.interface.ts create mode 100644 packages/shared/lib/core/wallet/utils/generateActivity/generateActivities.ts delete mode 100644 packages/shared/lib/core/wallet/utils/generateActivity/generateActivity.ts create mode 100644 packages/shared/lib/core/wallet/utils/generateActivity/generateAliasActivitiesFromTransaction.ts create mode 100644 packages/shared/lib/core/wallet/utils/generateActivity/generateBasicActivitiesFromTransaction.ts create mode 100644 packages/shared/lib/core/wallet/utils/generateActivity/generateFoundryActivitiesFromTransaction.ts create mode 100644 packages/shared/lib/core/wallet/utils/generateActivity/generateNftActivitiesFromTransaction.ts rename packages/shared/lib/core/wallet/utils/generateActivity/{generateAliasActivity.ts => generateSingleAliasActivity.ts} (71%) rename packages/shared/lib/core/wallet/utils/generateActivity/{generateTransactionActivity.ts => generateSingleBasicActivity.ts} (80%) rename packages/shared/lib/core/wallet/utils/generateActivity/{generateFoundryActivity.ts => generateSingleFoundryActivity.ts} (78%) rename packages/shared/lib/core/wallet/utils/generateActivity/{generateNftActivity.ts => generateSingleNftActivity.ts} (60%) create mode 100644 packages/shared/lib/core/wallet/utils/generateActivity/helper/getActivityTypeFromOutput.ts create mode 100644 packages/shared/lib/core/wallet/utils/getActivityTileTitle.ts delete mode 100644 packages/shared/lib/core/wallet/utils/getActivityType.ts create mode 100644 packages/shared/lib/core/wallet/utils/transactions/activityOutputContainsValue.ts delete mode 100644 packages/shared/lib/core/wallet/utils/transactions/getFoundryOutputFromTransaction.ts delete mode 100644 packages/shared/lib/core/wallet/utils/transactions/getNftOutputFromTransaction.ts rename packages/shared/lib/core/wallet/utils/transactions/{getMainOutputFromTransaction.ts => getNonRemainderBasicOutputsFromTransaction.ts} (81%) delete mode 100644 packages/shared/lib/core/wallet/utils/transactions/outputContainsValue.ts diff --git a/packages/shared/components/atoms/tiles/tileContents/AliasActivityTileContent.svelte b/packages/shared/components/atoms/tiles/tileContents/AliasActivityTileContent.svelte index 06799b2d6ae..6f0707f07de 100644 --- a/packages/shared/components/atoms/tiles/tileContents/AliasActivityTileContent.svelte +++ b/packages/shared/components/atoms/tiles/tileContents/AliasActivityTileContent.svelte @@ -1,11 +1,13 @@
@@ -25,9 +27,7 @@ lineHeight="140" classes="overflow-hidden overflow-ellipsis multiwrap-line2" > - {localize( - activity.inclusionState === InclusionState.Confirmed ? 'general.aliasCreated' : 'general.creatingAlias' - )} + {localize(title)}
diff --git a/packages/shared/components/atoms/tiles/tileContents/FoundryActivityTileContent.svelte b/packages/shared/components/atoms/tiles/tileContents/FoundryActivityTileContent.svelte index 88512fbb2db..bc31a48b0f7 100644 --- a/packages/shared/components/atoms/tiles/tileContents/FoundryActivityTileContent.svelte +++ b/packages/shared/components/atoms/tiles/tileContents/FoundryActivityTileContent.svelte @@ -2,9 +2,9 @@ import { localize } from '@core/i18n' import { FoundryActivity, + getActivityTileTitle, getAssetFromPersistedAssets, getFormattedAmountFromActivity, - InclusionState, IPersistedAsset, selectedAccountAssets, } from '@core/wallet' @@ -15,6 +15,7 @@ let asset: IPersistedAsset $: $selectedAccountAssets, (asset = getAssetFromPersistedAssets(activity.assetId)) + $: title = getActivityTileTitle(activity) $: amount = getFormattedAmountFromActivity(activity) @@ -26,7 +27,7 @@ lineHeight="140" classes="overflow-hidden overflow-ellipsis multiwrap-line2" > - {localize(activity.inclusionState === InclusionState.Confirmed ? 'general.minted' : 'general.minting')} + {localize(title)} {amount} diff --git a/packages/shared/components/atoms/tiles/tileContents/NftActivityTileContent.svelte b/packages/shared/components/atoms/tiles/tileContents/NftActivityTileContent.svelte index a3fd4f08180..1efa0b20194 100644 --- a/packages/shared/components/atoms/tiles/tileContents/NftActivityTileContent.svelte +++ b/packages/shared/components/atoms/tiles/tileContents/NftActivityTileContent.svelte @@ -1,6 +1,6 @@