From 2f55f072f5cb5a20d6f0929613ff0b8018fa03ac Mon Sep 17 00:00:00 2001 From: Martin Varmuza Date: Wed, 18 Feb 2026 08:50:53 +0100 Subject: [PATCH] fix(suite): remove circular dependency in AssetsView - Extracted AssetData type to separate types.ts file - AssetTable now imports type directly instead of from AssetsView - This breaks the circular import between AssetTable and AssetsView - Resolves: packages/suite/src/views/dashboard/AssetsView/AssetTable/AssetTable.tsx > packages/suite/src/views/dashboard/AssetsView/AssetsView.tsx --- .../dashboard/AssetsView/AssetTable/AssetTable.tsx | 2 +- .../src/views/dashboard/AssetsView/AssetsView.tsx | 13 +------------ .../suite/src/views/dashboard/AssetsView/types.ts | 14 ++++++++++++++ scripts/circular-dependencies/madge-snapshot.txt | 1 - 4 files changed, 16 insertions(+), 14 deletions(-) create mode 100644 packages/suite/src/views/dashboard/AssetsView/types.ts diff --git a/packages/suite/src/views/dashboard/AssetsView/AssetTable/AssetTable.tsx b/packages/suite/src/views/dashboard/AssetsView/AssetTable/AssetTable.tsx index aa76d85df6..a7afcedf5d 100644 --- a/packages/suite/src/views/dashboard/AssetsView/AssetTable/AssetTable.tsx +++ b/packages/suite/src/views/dashboard/AssetsView/AssetTable/AssetTable.tsx @@ -5,7 +5,7 @@ import type { BaseCurrencyCode } from '@trezor/blockchain-link-types'; import { Table } from '@trezor/components'; import { spacings } from '@trezor/theme'; -import { AssetData } from '../AssetsView'; +import type { AssetData } from '../types'; import { AssetRow } from './AssetRow'; import { AssetRowSkeleton } from './AssetRowSkeleton'; diff --git a/packages/suite/src/views/dashboard/AssetsView/AssetsView.tsx b/packages/suite/src/views/dashboard/AssetsView/AssetsView.tsx index d25557ad4e..11e915ab31 100644 --- a/packages/suite/src/views/dashboard/AssetsView/AssetsView.tsx +++ b/packages/suite/src/views/dashboard/AssetsView/AssetsView.tsx @@ -3,7 +3,6 @@ import styled, { useTheme } from 'styled-components'; import { Translation } from '@suite/intl'; import { AssetFiatBalance } from '@suite-common/assets'; import { - type Network, type NetworkSymbol, getNetwork, getNetworkFeatures, @@ -18,7 +17,6 @@ import { import { RatesByKey } from '@suite-common/wallet-types'; import { AMOUNT_UNIT_ZERO, - AmountUnit, BASE_CURRENCY_ZERO, asAmountUnit, getFiatRateKey, @@ -44,6 +42,7 @@ import { selectDiscoveryOverallStatus } from 'src/utils/wallet/selectDiscoveryOv import { AssetCard, AssetCardSkeleton } from './AssetCard/AssetCard'; import { AssetTable } from './AssetTable/AssetTable'; +import type { AssetData } from './types'; const InfoMessage = styled.div` padding: ${spacingsPx.md} ${spacingsPx.xl}; @@ -59,16 +58,6 @@ const GridWrapper = styled.div` grid-template-columns: repeat(auto-fill, minmax(285px, 1fr)); `; -export type AssetData = { - network: Network; - failed: boolean; - assetNativeCryptoBalance: AmountUnit; - stakingAccounts: Account[]; - assetTokens: TokenInfo[]; - isStakeNetwork?: boolean; - accounts: Account[]; -}; - const useAssetsFiatBalances = ( assetsData: AssetData[], accounts: { [key: string]: Account[] }, diff --git a/packages/suite/src/views/dashboard/AssetsView/types.ts b/packages/suite/src/views/dashboard/AssetsView/types.ts new file mode 100644 index 0000000000..683a2f616c --- /dev/null +++ b/packages/suite/src/views/dashboard/AssetsView/types.ts @@ -0,0 +1,14 @@ +import type { Network } from '@suite-common/wallet-config'; +import type { Account } from '@suite-common/wallet-types'; +import type { AmountUnit } from '@suite-common/wallet-utils'; +import type { TokenInfo } from '@trezor/blockchain-link-types'; + +export type AssetData = { + network: Network; + failed: boolean; + assetNativeCryptoBalance: AmountUnit; + stakingAccounts: Account[]; + assetTokens: TokenInfo[]; + isStakeNetwork?: boolean; + accounts: Account[]; +}; diff --git a/scripts/circular-dependencies/madge-snapshot.txt b/scripts/circular-dependencies/madge-snapshot.txt index 3c4684b486..c7e314b506 100644 --- a/scripts/circular-dependencies/madge-snapshot.txt +++ b/scripts/circular-dependencies/madge-snapshot.txt @@ -53,7 +53,6 @@ packages/suite/src/components/suite/troubleshooting/TroubleshootingTips.tsx > pa packages/suite/src/components/wallet/Fees/CollapsibleFees/CustomFee/CustomFee.tsx > packages/suite/src/components/wallet/Fees/CollapsibleFees/CustomFee/CustomFeeMisc.tsx packages/suite/src/utils/wallet/graph/utils.ts > packages/suite/src/utils/wallet/graph/utilsShared.ts > packages/suite/src/utils/wallet/graph/utilsWorker.ts packages/suite/src/utils/wallet/graph/utilsShared.ts > packages/suite/src/utils/wallet/graph/utilsWorker.ts -packages/suite/src/views/dashboard/AssetsView/AssetTable/AssetTable.tsx > packages/suite/src/views/dashboard/AssetsView/AssetsView.tsx suite-common/graph/src/graphDataFetching.ts > suite-common/graph/src/graphUtils.ts suite-common/wallet-core/src/stake/stakeThunks.ts > suite-common/wallet-core/src/stake/stakeSelectors.ts > suite-common/wallet-core/src/stake/stakeReducer.ts suite-common/wallet-core/src/transactions/transactionsSelectors.ts > suite-common/wallet-core/src/transactions/transactionsReducer.ts > suite-common/wallet-core/src/transactions/transactionsThunks.ts