UNPKG

@web3auth/no-modal

Version:
54 lines (50 loc) 1.72 kB
'use strict'; var react = require('react'); require('@babel/runtime/helpers/objectSpread2'); require('@babel/runtime/helpers/defineProperty'); require('@segment/analytics-next'); require('../../../base/loglevel.js'); require('@toruslabs/base-controllers'); require('@toruslabs/session-manager'); require('@web3auth/auth'); var index = require('../../../base/errors/index.js'); require('@toruslabs/constants'); require('@toruslabs/http-helpers'); require('../../../base/constants.js'); require('../../../base/wallet/index.js'); require('../../../base/connector/connectorStatus.js'); require('../../../base/connector/constants.js'); require('jwt-decode'); require('../../../base/plugin/errors.js'); require('../../../base/plugin/IPlugin.js'); var useSolanaWallet = require('./useSolanaWallet.js'); var solana = require('../../../base/wallet/solana.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 index.WalletInitializationError.notReady(); const signature = await solana.walletSignAndSendTransaction(solanaWallet, transaction); setData(signature); return signature; } catch (err) { setError(err); } finally { setLoading(false); } }, [solanaWallet]); return { loading, error, data, signAndSendTransaction }; }; exports.useSignAndSendTransaction = useSignAndSendTransaction;