@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
55 lines (51 loc) • 1.78 kB
JavaScript
;
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 useSignMessage = () => {
const {
solanaWallet,
accounts
} = useSolanaWallet.useSolanaWallet();
const [loading, setLoading] = react.useState(false);
const [error, setError] = react.useState(null);
const [data, setData] = react.useState(null);
const signMessage = react.useCallback(async (message, from) => {
setLoading(true);
setError(null);
try {
if (!solanaWallet) throw index.WalletInitializationError.notReady();
const signature = await solana.walletSignMessage(solanaWallet, 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
};
};
exports.useSignMessage = useSignMessage;