UNPKG

@web3auth/no-modal

Version:
96 lines (92 loc) 2.82 kB
'use strict'; 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 useWeb3AuthInner = require('../react/hooks/useWeb3AuthInner.js'); var rest = require('./rest.js'); const useLinkAccount = () => { const { web3Auth } = useWeb3AuthInner.useWeb3AuthInner(); const [loading, setLoading] = react.useState(false); const [error, setError] = react.useState(null); const [linkedAccounts, setLinkedAccounts] = react.useState([]); const linkAccount = react.useCallback(async params => { if (!web3Auth) throw index.WalletInitializationError.notReady(); setLoading(true); setError(null); try { const result = await web3Auth.linkAccount(params); setLinkedAccounts(result.linkedAccounts); return result; } catch (err) { setError(err); } finally { setLoading(false); } }, [web3Auth]); const unlinkAccount = react.useCallback(async address => { if (!web3Auth) throw index.WalletInitializationError.notReady(); setLoading(true); setError(null); try { const result = await web3Auth.unlinkAccount(address); setLinkedAccounts(result.linkedAccounts); return result; } catch (err) { setError(err); } finally { setLoading(false); } }, [web3Auth]); return { loading, error, linkAccount, unlinkAccount, linkedAccounts }; }; const useSwitchAccount = () => { const { web3Auth } = useWeb3AuthInner.useWeb3AuthInner(); const [loading, setLoading] = react.useState(false); const [error, setError] = react.useState(null); const switchAccount = react.useCallback(async account => { if (!web3Auth) throw index.WalletInitializationError.notReady(); setLoading(true); setError(null); try { await web3Auth.switchAccount(account); } catch (err) { setError(err); } finally { setLoading(false); } }, [web3Auth]); return { loading, error, switchAccount }; }; exports.makeAccountLinkingRequest = rest.makeAccountLinkingRequest; exports.makeAccountUnlinkingRequest = rest.makeAccountUnlinkingRequest; exports.useLinkAccount = useLinkAccount; exports.useSwitchAccount = useSwitchAccount;