UNPKG

@web3modal/base

Version:

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

68 lines • 2 kB
import '@web3modal/polyfills'; import { CoinbaseWalletSDK } from '@coinbase/wallet-sdk'; export function defaultConfig(options) { const defaultAuth = { email: true, showWallets: true, walletFeatures: true, socials: [ 'google', 'x', 'discord', 'farcaster', 'github', 'apple', 'facebook' ] }; const { enableEIP6963 = true, enableCoinbase = true, enableInjected = true, auth, metadata } = options; let injectedProvider = undefined; let coinbaseProvider = undefined; const providers = { metadata }; function getInjectedProvider() { if (injectedProvider) { return injectedProvider; } if (typeof window === 'undefined') { return undefined; } if (!window.ethereum) { return undefined; } injectedProvider = window.ethereum; return injectedProvider; } function getCoinbaseProvider() { if (coinbaseProvider) { return coinbaseProvider; } if (typeof window === 'undefined') { return undefined; } const coinbaseWallet = new CoinbaseWalletSDK({ appName: metadata.name, appLogoUrl: metadata.icons[0], appChainIds: options.chains?.map(chain => chain.chainId) || [1, 84532] }); coinbaseProvider = coinbaseWallet.makeWeb3Provider({ options: options.coinbasePreference || 'all' }); return coinbaseProvider; } if (enableCoinbase) { providers.coinbase = getCoinbaseProvider(); } if (enableInjected) { providers.injected = getInjectedProvider(); } if (enableEIP6963) { providers.EIP6963 = true; } const mergedAuth = { ...defaultAuth, ...auth }; providers.auth = mergedAuth; return providers; } //# sourceMappingURL=defaultConfig.js.map