UNPKG

@web3auth/modal

Version:

Multi chain wallet aggregator for web3Auth

35 lines (32 loc) 949 B
import { WalletInitializationError } from '@web3auth/no-modal'; import { useState, useCallback } from 'react'; import { useSolanaWallet } from './useSolanaWallet.js'; const useSignAndSendTransaction = () => { const { solanaWallet } = useSolanaWallet(); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const [data, setData] = useState(null); const signAndSendTransaction = useCallback(async transaction => { setLoading(true); setError(null); try { if (!solanaWallet) throw WalletInitializationError.notReady(); const signature = await solanaWallet.signAndSendTransaction(transaction); setData(signature); return signature; } catch (error) { setError(error); } finally { setLoading(false); } }, [solanaWallet]); return { loading, error, data, signAndSendTransaction }; }; export { useSignAndSendTransaction };