UNPKG

@web3auth/modal

Version:

Multi chain wallet aggregator for web3Auth

43 lines (40 loc) 1.1 kB
import { WalletInitializationError } from '@web3auth/no-modal'; import { ref, watch } from 'vue'; import { useWeb3AuthInner } from './useWeb3AuthInner.js'; const useIdentityToken = () => { const { web3Auth, isConnected } = useWeb3AuthInner(); const loading = ref(false); const error = ref(null); const token = ref(null); const getIdentityToken = async () => { try { if (!web3Auth.value) throw WalletInitializationError.notReady(); error.value = null; loading.value = true; const result = await web3Auth.value.getIdentityToken(); if (result !== null && result !== void 0 && result.idToken) { token.value = result.idToken; } return result === null || result === void 0 ? void 0 : result.idToken; } catch (err) { error.value = err; } finally { loading.value = false; } }; watch(isConnected, newIsConnected => { if (!newIsConnected && token.value) { token.value = null; } }); return { loading, error, token, getIdentityToken }; }; export { useIdentityToken };