UNPKG

@web3modal/base

Version:

#### 🔗 [Website](https://web3modal.com)

33 lines • 1.49 kB
import { getWallets } from '@wallet-standard/app'; import { WalletStandardProvider } from '../providers/WalletStandardProvider.js'; import { isWalletAdapterCompatibleStandardWallet } from '@solana/wallet-adapter-base'; import { SolStoreUtil } from '@web3modal/scaffold-utils/solana'; const { get, on } = getWallets(); let standardAdapters = wrapWalletsWithAdapters(get()); export function watchStandard(callback) { const listeners = [ on('register', (...wallets) => { if (!standardAdapters || standardAdapters.length === 0) { standardAdapters = [...wrapWalletsWithAdapters(wallets)]; } else { standardAdapters = [...standardAdapters, ...wrapWalletsWithAdapters(wallets)]; } callback(standardAdapters); }), on('unregister', (...wallets) => { standardAdapters = standardAdapters.filter(standardAdapter => wallets.some(wallet => wallet.name === standardAdapter.wallet.name)); callback(standardAdapters); }) ]; standardAdapters = wrapWalletsWithAdapters(get()); callback(standardAdapters); return () => listeners.forEach(off => off()); } function wrapWalletsWithAdapters(wallets) { return wallets.filter(isWalletAdapterCompatibleStandardWallet).map(wallet => new WalletStandardProvider({ wallet, getActiveChain: () => SolStoreUtil.state.currentChain })); } //# sourceMappingURL=watchStandard.js.map