import React, { createContext, useContext, useEffect, useState } from 'react'; import { SessionTypes } from '@walletconnect/types'; import { WalletConnectContextProps } from '../types'; import useInitialization, { web3wallet, } from '../utils/wallet-connect/WalletConnectUtils'; const WalletConnectContext = createContext({ requestSession: {}, setRequestSession: () => {}, activeSessions: {}, setActiveSessions: () => {}, }); const useWalletConnect = () => { const walletConnectContext = useContext(WalletConnectContext); return walletConnectContext; }; const WalletConnectProvider = ({ children }: { children: React.ReactNode }) => { useInitialization(); useEffect(() => { const sessions = web3wallet?.getActiveSessions() ?? {}; setActiveSessions(sessions); }, []); const [requestSession, setRequestSession] = useState({}); const [activeSessions, setActiveSessions] = useState< Record >({}); return ( {children} ); }; export { useWalletConnect, WalletConnectProvider };