UNPKG

@web3auth/no-modal

Version:
93 lines (90 loc) 3.39 kB
import _defineProperty from '@babel/runtime/helpers/defineProperty'; import { Web3AuthError } from '../base/errors/index.js'; class AccountLinkingError extends Web3AuthError { constructor(code, message, cause) { super(code, message, cause); Object.defineProperty(this, "name", { value: "AccountLinkingError", configurable: true }); } static fromCode(code, extraMessage = "", cause) { return new AccountLinkingError(code, `${AccountLinkingError.messages[code]}. ${extraMessage}`, cause); } static requestFailed(extraMessage = "", cause) { return AccountLinkingError.fromCode(5401, extraMessage, cause); } static serverNotConfigured(extraMessage = "", cause) { return AccountLinkingError.fromCode(5402, extraMessage, cause); } static primaryTokenNotAvailable(extraMessage = "", cause) { return AccountLinkingError.fromCode(5403, extraMessage, cause); } static walletProofFailed(extraMessage = "", cause) { return AccountLinkingError.fromCode(5404, extraMessage, cause); } static unsupportedConnector(extraMessage = "", cause) { return AccountLinkingError.fromCode(5405, extraMessage, cause); } static cannotUnlinkActiveAccount() { return AccountLinkingError.fromCode(5406); } static accountNotLinked(message = "", cause) { return AccountLinkingError.fromCode(5407, message, cause); } static cannotUnlinkPrimaryAccount() { return AccountLinkingError.fromCode(5408); } toString() { return `[${this.code}] ${this.message}`; } } _defineProperty(AccountLinkingError, "messages", { 5000: "Custom", 5401: "Account linking request failed", 5402: "Citadel server URL is not configured", 5403: "Primary identity token is not available", 5404: "Failed to obtain wallet proof token", 5405: "Connector is not supported for wallet linking", 5406: "Cannot unlink active account", 5407: "Account not linked", 5408: "Cannot unlink primary account" }); async function getAccountLinkingRequestError(error) { if (error instanceof AccountLinkingError) { return error; } if (error instanceof Response) { if (error.status === 409) { return AccountLinkingError.requestFailed("This wallet address is already registered on this dApp"); } if (error.json && typeof error.json === "function") { try { var _json$message; const json = await error.json(); return AccountLinkingError.requestFailed((_json$message = json.message) !== null && _json$message !== void 0 ? _json$message : "Failed to link account"); } catch { // continue } } } return AccountLinkingError.requestFailed(error instanceof Error ? error.message : JSON.stringify(error), error); } function formatAccountLinkingErrorMessage(error, fallbackMessage = "Unknown error during the operation.") { if (error instanceof AccountLinkingError) { return error.toString(); } if (error instanceof Web3AuthError) { return `[${error.code}] Account linking error: ${error.message || fallbackMessage}`; } if (error instanceof Error) { return `Account linking error: ${error.message || fallbackMessage}`; } try { const stringifiedError = JSON.stringify(error); return stringifiedError; } catch { return fallbackMessage; } } export { AccountLinkingError, formatAccountLinkingErrorMessage, getAccountLinkingRequestError };