@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
33 lines (30 loc) • 805 B
JavaScript
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 {
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 };