UNPKG

@lifi/wallet-management

Version:

LI.FI Wallet Management solution.

47 lines 1.71 kB
import { createConfig, ctrl, leather, okx, onekey, phantom, unisat, xverse, } from '@bigmi/client'; import { bitcoin } from '@bigmi/core'; import { ChainId } from '@lifi/sdk'; import { http, createClient } from 'viem'; /** * Creates default Bigmi config that can be later synced (via useSyncBigmiConfig) with chains fetched from LI.FI API. * @param props Properties to setup connectors. {@link DefaultBigmiConfigProps} * @returns Bigmi config and connectors. {@link DefaultBigmiConfigResult} * @example * const { config, connectors } = createDefaultBigmiConfig(); * export const WalletProvider: FC<PropsWithChildren> = ({ children }) => { * const { chains } = useAvailableChains(); * useSyncBigmiConfig(config, connectors, chains); * return ( * <BigmiProvider config={wagmi.config} reconnectOnMount={false}> * {children} * </BigmiProvider> * ); * }; */ export function createDefaultBigmiConfig(props = { bigmiConfig: { multiInjectedProviderDiscovery: false }, }) { const connectors = [ phantom({ chainId: ChainId.BTC }), xverse({ chainId: ChainId.BTC }), unisat({ chainId: ChainId.BTC }), ctrl({ chainId: ChainId.BTC }), okx({ chainId: ChainId.BTC }), leather({ chainId: ChainId.BTC }), onekey({ chainId: ChainId.BTC }), ...(props?.connectors ?? []), ]; const config = createConfig({ chains: [bitcoin], connectors, client({ chain }) { return createClient({ chain, transport: http() }); }, ...props?.bigmiConfig, }); return { config, connectors, }; } //# sourceMappingURL=createDefaultBigmiConfig.js.map