UNPKG

@web3auth/no-modal

Version:
34 lines (31 loc) 885 B
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 new Error("Solana wallet not found"); 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 };