@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
39 lines (36 loc) • 1.12 kB
JavaScript
import { ref } from 'vue';
import { useSolanaWallet } from './useSolanaWallet.js';
import { WalletInitializationError } from '../../../base/errors/index.js';
import { log } from '../../../base/loglevel.js';
const useSignMessage = () => {
const {
solanaWallet,
accounts
} = useSolanaWallet();
const loading = ref(false);
const error = ref(null);
const data = ref(null);
const signMessage = async (message, from) => {
loading.value = true;
error.value = null;
try {
var _accounts$value;
if (!solanaWallet.value) throw WalletInitializationError.notReady();
const signature = await solanaWallet.value.signMessage(message, from !== null && from !== void 0 ? from : (_accounts$value = accounts.value) === null || _accounts$value === void 0 ? void 0 : _accounts$value[0]);
data.value = signature;
return signature;
} catch (err) {
log.error("Error signing message", err);
error.value = err;
} finally {
loading.value = false;
}
};
return {
loading,
error,
data,
signMessage
};
};
export { useSignMessage };