UNPKG

@reown/appkit-utils

Version:

The full stack toolkit to build onchain app UX.

34 lines 1.41 kB
import { ChainController, OptionsController } from '@reown/appkit-controllers'; import { EthersProvider } from './EthersProvider.js'; export class CoinbaseWalletProvider extends EthersProvider { async initialize() { const caipNetworks = ChainController.getCaipNetworks(); const { metadata, coinbasePreference } = OptionsController.state; try { const { CoinbaseWalletSDK } = await import('@coinbase/wallet-sdk'); if (typeof window === 'undefined') { return Promise.resolve(); } const chainIds = caipNetworks?.map(caipNetwork => caipNetwork.id) || [1]; const coinbaseWalletSDK = new CoinbaseWalletSDK({ appName: metadata?.name || 'AppKit', appLogoUrl: metadata?.icons[0], appChainIds: chainIds }); this.provider = coinbaseWalletSDK.makeWeb3Provider({ options: coinbasePreference ?? 'all' }); this.initialized = true; return Promise.resolve(); } catch (error) { // eslint-disable-next-line no-console console.error('Failed to import Coinbase Wallet SDK:', error); return Promise.resolve(); } } async getProvider() { return Promise.resolve(this.provider); } } //# sourceMappingURL=CoinbaseProvider.js.map