UNPKG

@web3auth/modal

Version:

Multi chain wallet aggregator for web3Auth

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