From cdb6012769a549c427a5d529e16fb16c62dd6acc Mon Sep 17 00:00:00 2001 From: Shola Ayeni Date: Mon, 2 Nov 2026 19:42:25 +0100 Subject: [PATCH] fix(core): avoid wallet barrel import during initialization --- packages/core/__tests__/wallet-imports.test.ts | 13 +++++++++++++ packages/core/src/utils/get-wallet-of-type.ts | 10 +++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 packages/core/__tests__/wallet-imports.test.ts diff --git a/packages/core/__tests__/wallet-imports.test.ts b/packages/core/__tests__/wallet-imports.test.ts new file mode 100644 index 000000000..a49d2ddd1 --- /dev/null +++ b/packages/core/__tests__/wallet-imports.test.ts @@ -0,0 +1,13 @@ +describe('wallet module initialization', () => { + it.each([ + ['../src/wallets/cosmos-wallet', 'CosmosWallet'], + ['../src/wallets/ethereum-wallet', 'EthereumWallet'], + ['../src/wallets/solana-wallet', 'SolanaWallet'], + ['../src/wallets/extension-wallet', 'ExtensionWallet'], + ])('can import %s before the wallet barrel', (path, exportName) => { + jest.isolateModules(() => { + const walletModule = require(path); + expect(typeof walletModule[exportName]).toBe('function'); + }); + }); +}); diff --git a/packages/core/src/utils/get-wallet-of-type.ts b/packages/core/src/utils/get-wallet-of-type.ts index 06e6d8b8e..b783e91a9 100644 --- a/packages/core/src/utils/get-wallet-of-type.ts +++ b/packages/core/src/utils/get-wallet-of-type.ts @@ -1,7 +1,11 @@ -import { BaseWallet, MultiChainWallet } from '../wallets'; +import { BaseWallet } from '../wallets/base-wallet'; +import { MultiChainWallet } from '../wallets/multichain-wallet'; import { isInstanceOf } from './helpers'; -export const getWalletByType = (wallet: BaseWallet, WalletClass: new (...args: any[]) => T) => { +export const getWalletByType = ( + wallet: BaseWallet, + WalletClass: new (...args: any[]) => T +) => { if (isInstanceOf(wallet, WalletClass)) { return wallet as T; } @@ -14,4 +18,4 @@ export const getWalletByType = (wallet: BaseWallet, WalletClass: new (...args } } return undefined; -}; \ No newline at end of file +};