@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
66 lines (62 loc) • 2.01 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 useWeb3AuthInner = require('./useWeb3AuthInner.js');
const useWeb3AuthConnect = () => {
const {
web3Auth,
isConnected
} = useWeb3AuthInner.useWeb3AuthInner();
const loading = vue.ref(false);
const error = vue.ref(null);
const connectorName = vue.ref(null);
vue.watch(isConnected, newVal => {
if (!newVal && connectorName.value) {
connectorName.value = null;
}
if (newVal && !connectorName.value) {
var _web3Auth$value;
connectorName.value = (_web3Auth$value = web3Auth.value) === null || _web3Auth$value === void 0 ? void 0 : _web3Auth$value.connectedConnectorName;
}
}, {
immediate: true
});
const connect = async (connectorType, loginParams) => {
try {
if (!web3Auth.value) throw index.WalletInitializationError.notReady();
error.value = null;
loading.value = true;
const localProvider = await web3Auth.value.connectTo(connectorType, loginParams);
connectorName.value = web3Auth.value.connectedConnectorName;
return localProvider;
} catch (err) {
loglevel.log.error("Error connecting", err);
error.value = err;
return null;
} finally {
loading.value = false;
}
};
return {
isConnected,
loading,
error,
connectorName,
connect
};
};
exports.useWeb3AuthConnect = useWeb3AuthConnect;