@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
52 lines (48 loc) • 1.59 kB
JavaScript
;
var vue = require('vue');
require('@babel/runtime/helpers/objectSpread2');
require('@babel/runtime/helpers/defineProperty');
require('@segment/analytics-next');
var loglevel = require('../../../base/loglevel.js');
require('@toruslabs/base-controllers');
require('@web3auth/auth');
var index = require('../../../base/errors/index.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');
require('@toruslabs/constants');
require('@toruslabs/http-helpers');
var useSolanaWallet = require('./useSolanaWallet.js');
const useSignAndSendTransaction = () => {
const {
solanaWallet
} = useSolanaWallet.useSolanaWallet();
const loading = vue.ref(false);
const error = vue.ref(null);
const data = vue.ref(null);
const signAndSendTransaction = async transaction => {
loading.value = true;
error.value = null;
try {
if (!solanaWallet.value) throw index.WalletInitializationError.notReady();
const signature = await solanaWallet.value.signAndSendTransaction(transaction);
data.value = signature;
return signature;
} catch (err) {
loglevel.log.error("Error signing and sending transaction", err);
error.value = err;
} finally {
loading.value = false;
}
};
return {
loading,
error,
data,
signAndSendTransaction
};
};
exports.useSignAndSendTransaction = useSignAndSendTransaction;