UNPKG

@web3auth/modal

Version:

Multi chain wallet aggregator for web3Auth

37 lines (33 loc) 1 kB
'use strict'; var noModal = require('@web3auth/no-modal'); var react = require('react'); var useSolanaWallet = require('./useSolanaWallet.js'); const useSignAndSendTransaction = () => { const { solanaWallet } = useSolanaWallet.useSolanaWallet(); const [loading, setLoading] = react.useState(false); const [error, setError] = react.useState(null); const [data, setData] = react.useState(null); const signAndSendTransaction = react.useCallback(async transaction => { setLoading(true); setError(null); try { if (!solanaWallet) throw noModal.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 }; }; exports.useSignAndSendTransaction = useSignAndSendTransaction;