UNPKG

@lifi/wallet-management

Version:

LI.FI Wallet Management solution.

43 lines (42 loc) 1.62 kB
import type { Config, CreateConnectorFn } from 'wagmi'; import type { CoinbaseWalletParameters, MetaMaskParameters, WalletConnectParameters } from 'wagmi/connectors'; export interface DefaultWagmiConfigProps { walletConnect?: WalletConnectParameters; coinbase?: CoinbaseWalletParameters; metaMask?: MetaMaskParameters; wagmiConfig?: { ssr?: boolean; multiInjectedProviderDiscovery?: boolean; }; connectors?: CreateConnectorFn[]; /** * Load Wallet SDKs only if the wallet is the most recently connected wallet */ lazy?: boolean; } export interface DefaultWagmiConfigResult { config: Config; connectors: CreateConnectorFn[]; } /** * Creates default Wagmi config that can be later synced (via useSyncWagmiConfig) with chains fetched from LI.FI API. * @param props Properties to setup connectors. {@link DefaultWagmiConfigProps} * @returns Wagmi config and connectors. {@link DefaultWagmiConfigResult} * @example * const { config, connectors } = createDefaultWagmiConfig({ * walletConnect: { * projectId: import.meta.env.VITE_WALLET_CONNECT, * }, * coinbase: { appName: 'LI.FI Demo' }, * }); * export const WalletProvider: FC<PropsWithChildren> = ({ children }) => { * const { chains } = useAvailableChains(); * useSyncWagmiConfig(config, connectors, chains); * return ( * <WagmiProvider config={wagmi.config} reconnectOnMount={false}> * {children} * </WagmiProvider> * ); * }; */ export declare function createDefaultWagmiConfig(props?: DefaultWagmiConfigProps): DefaultWagmiConfigResult;