@web3auth/modal
Version:
Multi chain wallet aggregator for web3Auth
37 lines (33 loc) • 1 kB
JavaScript
;
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;