diff --git a/src/provider/masa-context-provider.tsx b/src/provider/masa-context-provider.tsx index 24cca9b5..a047c708 100644 --- a/src/provider/masa-context-provider.tsx +++ b/src/provider/masa-context-provider.tsx @@ -120,7 +120,7 @@ export const MasaContextProvider = ({ // rainbowkit const { openChainModal, openConnectModal, openAccountModal } = - useRainbowKit(); + useRainbowKit(setProvider); // modal const { isModalOpen, diff --git a/src/provider/use-rainbowkit.tsx b/src/provider/use-rainbowkit.tsx index a8df45b2..14ffce0d 100644 --- a/src/provider/use-rainbowkit.tsx +++ b/src/provider/use-rainbowkit.tsx @@ -3,13 +3,35 @@ import { useAccountModal, useChainModal, } from '@rainbow-me/rainbowkit'; -import { useCallback } from 'react'; - -export const useRainbowKit = () => { +import { useCallback, useEffect } from 'react'; +import { useConnect, useAccount, useSigner } from 'wagmi'; +export const useRainbowKit = (setProvider) => { const { openConnectModal } = useConnectModal(); const { openAccountModal } = useAccountModal(); const { openChainModal } = useChainModal(); + const { connectors, error, isLoading, pendingConnector } = useConnect(); + const { address, connector, isConnected } = useAccount(); + const { data: signer } = useSigner(); + + console.log({ + connectors, + error, + isLoading, + pendingConnector, + address, + connector, + isConnected, + }); + + console.log({ provider: signer }); + + useEffect(() => { + if (signer) { + setProvider(signer); + } + }, [signer, setProvider]); + const connectRainbowKit = useCallback(() => { if (!openConnectModal) return undefined; return () => openConnectModal();