import React, { PropsWithChildren, useMemo, useState } from 'react' import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react' import { ChainType, ProviderConfigs, getSolanaWalletAdapters } from '../../core' import { SolanaConnectionPromise, SolanaConnectorContext } from '../../store/solana-connector/context' import { useChains } from '../../store/wallet' interface SolanaConnectorProviderProps { providerConfigs: ProviderConfigs } export const SolanaConnectorProvider: React.FC> = ({ providerConfigs, children }) => { const { chains, chainId } = useChains() const chain = useMemo(() => chains.find((item) => item.chainId === chainId), [chainId, chains]) const [connectionPromise, setConnectionPromise] = useState( undefined ) const [visible, setVisible] = useState(false) const wallets = useMemo(() => getSolanaWalletAdapters(providerConfigs), [providerConfigs]) return ( {children} ) }