UNPKG

@web3auth/no-modal

Version:
98 lines (94 loc) 2.85 kB
'use strict'; 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('@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 useWeb3AuthInner = require('../vue/composables/useWeb3AuthInner.js'); var rest = require('./rest.js'); const useLinkAccount = () => { const { web3Auth } = useWeb3AuthInner.useWeb3AuthInner(); const loading = vue.ref(false); const error = vue.ref(null); const linkedAccounts = vue.ref([]); const linkAccount = async params => { if (!web3Auth.value) throw index.WalletInitializationError.notReady(); try { error.value = null; loading.value = true; const result = await web3Auth.value.linkAccount(params); linkedAccounts.value = result.linkedAccounts; return result; } catch (err) { error.value = err; } finally { loading.value = false; } }; const unlinkAccount = async address => { if (!web3Auth.value) throw index.WalletInitializationError.notReady(); try { error.value = null; loading.value = true; const result = await web3Auth.value.unlinkAccount(address); linkedAccounts.value = result.linkedAccounts; return result; } catch (err) { loglevel.log.error("Error unlinking account", err); error.value = err; } finally { loading.value = false; } }; return { loading, error, linkAccount, unlinkAccount, linkedAccounts }; }; const useSwitchAccount = () => { const { web3Auth } = useWeb3AuthInner.useWeb3AuthInner(); const loading = vue.ref(false); const error = vue.ref(null); const switchAccount = async account => { if (!web3Auth.value) throw index.WalletInitializationError.notReady(); error.value = null; loading.value = true; try { await web3Auth.value.switchAccount(account); } catch (err) { loglevel.log.error("Error switching account", err); error.value = err; } finally { loading.value = false; } }; return { loading, error, switchAccount }; }; exports.makeAccountLinkingRequest = rest.makeAccountLinkingRequest; exports.makeAccountUnlinkingRequest = rest.makeAccountUnlinkingRequest; exports.useLinkAccount = useLinkAccount; exports.useSwitchAccount = useSwitchAccount;