@lifi/wallet-management
Version:
LI.FI Wallet Management solution.
43 lines (42 loc) • 1.62 kB
TypeScript
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;