UNPKG

@web3auth/no-modal

Version:
38 lines (35 loc) 1.05 kB
import { ref } from 'vue'; import { useSolanaWallet } from './useSolanaWallet.js'; import { WalletInitializationError } from '../../../base/errors/index.js'; import { log } from '../../../base/loglevel.js'; import { walletSignTransaction } from '../../../base/wallet/solana.js'; const useSignTransaction = () => { const { solanaWallet } = useSolanaWallet(); const loading = ref(false); const error = ref(null); const data = ref(null); const signTransaction = async transaction => { loading.value = true; error.value = null; try { if (!solanaWallet.value) throw WalletInitializationError.notReady(); const signedTransaction = await walletSignTransaction(solanaWallet.value, transaction); data.value = signedTransaction; return signedTransaction; } catch (err) { log.error("Error signing transaction", err); error.value = err; } finally { loading.value = false; } }; return { loading, error, data, signTransaction }; }; export { useSignTransaction };