UNPKG

@web3auth/no-modal

Version:
37 lines (34 loc) 999 B
import { ref } from 'vue'; import { WalletInitializationError } from '../../../base/errors/index.js'; import { useSolanaWallet } from './useSolanaWallet.js'; import { log } from '../../../base/loglevel.js'; const useSignAndSendTransaction = () => { const { solanaWallet } = useSolanaWallet(); const loading = ref(false); const error = ref(null); const data = ref(null); const signAndSendTransaction = async transaction => { loading.value = true; error.value = null; try { if (!solanaWallet.value) throw WalletInitializationError.notReady(); const signature = await solanaWallet.value.signAndSendTransaction(transaction); data.value = signature; return signature; } catch (err) { log.error("Error signing and sending transaction", err); error.value = err; } finally { loading.value = false; } }; return { loading, error, data, signAndSendTransaction }; }; export { useSignAndSendTransaction };