UNPKG

@web3auth/modal

Version:

Multi chain wallet aggregator for web3Auth

36 lines (33 loc) 1.02 kB
import { WalletInitializationError } from '@web3auth/no-modal'; import { useState, useCallback } from 'react'; import { useSolanaWallet } from './useSolanaWallet.js'; const useSignMessage = () => { const { solanaWallet, accounts } = useSolanaWallet(); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const [data, setData] = useState(null); const signMessage = useCallback(async (message, from) => { setLoading(true); setError(null); try { if (!solanaWallet) throw WalletInitializationError.notReady(); const signature = await solanaWallet.signMessage(message, from !== null && from !== void 0 ? from : accounts === null || accounts === void 0 ? void 0 : accounts[0]); setData(signature); return signature; } catch (error) { setError(error); } finally { setLoading(false); } }, [solanaWallet, accounts]); return { loading, error, data, signMessage }; }; export { useSignMessage };