UNPKG

@web3auth/no-modal

Version:
263 lines (259 loc) 9.73 kB
'use strict'; var _defineProperty = require('@babel/runtime/helpers/defineProperty'); var _objectHasOwn = function (object, property) { if (typeof object === 'undefined' || object === null) { throw new TypeError('Cannot convert undefined or null to object'); } return Object.prototype.hasOwnProperty.call(Object(object), property); }; class Web3AuthError extends Error { constructor(code, message, cause) { if (cause !== undefined) { super(message, { cause }); // Browser backwards-compatibility fallback _defineProperty(this, "code", void 0); _defineProperty(this, "message", void 0); _defineProperty(this, "cause", void 0); if (!_objectHasOwn(this, "cause")) { Object.assign(this, { cause }); } } else { super(message); _defineProperty(this, "code", void 0); _defineProperty(this, "message", void 0); _defineProperty(this, "cause", void 0); } this.code = code; this.message = message || ""; this.cause = cause; // Set name explicitly as minification can mangle class names Object.defineProperty(this, "name", { value: "Web3AuthError", configurable: true }); } toJSON() { return { name: this.name, code: this.code, message: this.message, cause: this.cause }; } toString() { return JSON.stringify(this.toJSON()); } } class WalletInitializationError extends Web3AuthError { constructor(code, message, cause) { // takes care of stack and proto super(code, message, cause); // Set name explicitly as minification can mangle class names Object.defineProperty(this, "name", { value: "WalletInitializationError", configurable: true }); } static fromCode(code, extraMessage = "", cause) { return new WalletInitializationError(code, `${WalletInitializationError.messages[code]}, ${extraMessage}`, cause); } // Custom methods static notFound(extraMessage = "", cause) { return WalletInitializationError.fromCode(5001, extraMessage, cause); } static notInstalled(extraMessage = "", cause) { return WalletInitializationError.fromCode(5002, extraMessage, cause); } static notReady(extraMessage = "", cause) { return WalletInitializationError.fromCode(5003, extraMessage, cause); } static windowBlocked(extraMessage = "", cause) { return WalletInitializationError.fromCode(5004, extraMessage, cause); } static windowClosed(extraMessage = "", cause) { return WalletInitializationError.fromCode(5005, extraMessage, cause); } static incompatibleChainNameSpace(extraMessage = "", cause) { return WalletInitializationError.fromCode(5006, extraMessage, cause); } static duplicateConnectorError(extraMessage = "", cause) { return WalletInitializationError.fromCode(5007, extraMessage, cause); } static invalidProviderConfigError(extraMessage = "", cause) { return WalletInitializationError.fromCode(5008, extraMessage, cause); } static providerNotReadyError(extraMessage = "", cause) { return WalletInitializationError.fromCode(5009, extraMessage, cause); } static rpcConnectionError(extraMessage = "", cause) { return WalletInitializationError.fromCode(5010, extraMessage, cause); } static invalidParams(extraMessage = "", cause) { return WalletInitializationError.fromCode(5011, extraMessage, cause); } static invalidNetwork(extraMessage = "", cause) { return WalletInitializationError.fromCode(5013, extraMessage, cause); } } /** * wallet login errors */ _defineProperty(WalletInitializationError, "messages", { 5000: "Custom", 5001: "Wallet is not found", 5002: "Wallet is not installed", 5003: "Wallet is not ready yet", 5004: "Wallet window is blocked", 5005: "Wallet window has been closed by the user", 5006: "Incompatible chain namespace provided", 5007: "Connector has already been included", 5008: "Invalid provider Config", 5009: "Provider is not ready yet", 5010: "Failed to connect with rpc url", 5011: "Invalid params passed in", 5013: "Invalid network provided" }); class WalletLoginError extends Web3AuthError { constructor(code, message, cause) { // takes care of stack and proto super(code, message, cause); // Set name explicitly as minification can mangle class names Object.defineProperty(this, "name", { value: "WalletLoginError", configurable: true }); } static fromCode(code, extraMessage = "", cause) { return new WalletLoginError(code, `${WalletLoginError.messages[code]}. ${extraMessage}`, cause); } static connectionError(extraMessage = "", cause) { return WalletLoginError.fromCode(5111, extraMessage, cause); } static disconnectionError(extraMessage = "", cause) { return WalletLoginError.fromCode(5112, extraMessage, cause); } static notConnectedError(extraMessage = "", cause) { return WalletLoginError.fromCode(5113, extraMessage, cause); } static popupClosed(extraMessage = "", cause) { return WalletLoginError.fromCode(5114, extraMessage, cause); } static mfaEnabled(extraMessage = "", cause) { return WalletLoginError.fromCode(5115, extraMessage, cause); } static chainConfigNotAdded(extraMessage = "", cause) { return WalletLoginError.fromCode(5116, extraMessage, cause); } static unsupportedOperation(extraMessage = "", cause) { return WalletLoginError.fromCode(5117, extraMessage, cause); } static sfaKeyNotFound(extraMessage = "", cause) { return WalletLoginError.fromCode(5118, extraMessage, cause); } static userNotLoggedIn(extraMessage = "", cause) { return WalletLoginError.fromCode(5119, extraMessage, cause); } static userBlocked(extraMessage = "", cause) { return WalletLoginError.fromCode(5120, extraMessage, cause); } } _defineProperty(WalletLoginError, "messages", { 5000: "Custom", 5111: "Failed to connect with wallet", 5112: "Failed to disconnect from wallet", 5113: "Wallet is not connected", 5114: "Wallet popup has been closed by the user", 5115: "User has already enabled mfa, please use the @web3auth/web3auth-web sdk for login with mfa", 5116: "Chain config has not been added. Please add the chain config before calling switchChain", 5117: "Unsupported operation", 5118: "useSFAKey flag is enabled but SFA key is not available", 5119: "User not logged in.", 5120: "User is blocked by the application" }); class WalletOperationsError extends Web3AuthError { constructor(code, message, cause) { // takes care of stack and proto super(code, message, cause); // Set name explicitly as minification can mangle class names Object.defineProperty(this, "name", { value: "WalletOperationsError", configurable: true }); } static fromCode(code, extraMessage = "", cause) { let message = WalletOperationsError.messages[code]; if (extraMessage) { message = `${message}, ${extraMessage}`; } return new WalletOperationsError(code, message, cause); } // Custom methods static chainIDNotAllowed(extraMessage = "", cause) { return WalletOperationsError.fromCode(5201, extraMessage, cause); } static operationNotAllowed(extraMessage = "", cause) { return WalletOperationsError.fromCode(5202, extraMessage, cause); } static chainNamespaceNotAllowed(extraMessage = "", cause) { return WalletOperationsError.fromCode(5203, extraMessage, cause); } static userRejected(extraMessage = "", cause) { return WalletOperationsError.fromCode(5204, extraMessage, cause); } } _defineProperty(WalletOperationsError, "messages", { 5000: "Custom", 5201: "Provided chainId is not allowed", 5202: "This operation is not allowed", 5203: "Chain namespace is not allowed", 5204: "User rejected the request" }); class WalletProviderError extends Web3AuthError { constructor(code, message, cause) { // takes care of stack and proto super(code, message, cause); // Set name explicitly as minification can mangle class names Object.defineProperty(this, "name", { value: "WalletProviderError", configurable: true }); } static fromCode(code, extraMessage = "", cause) { return new WalletOperationsError(code, `${WalletProviderError.messages[code]}, ${extraMessage}`, cause); } // Custom methods static invalidRequestArgs(extraMessage = "", cause) { return WalletOperationsError.fromCode(5301, extraMessage, cause); } static invalidRequestMethod(extraMessage = "", cause) { return WalletOperationsError.fromCode(5302, extraMessage, cause); } static invalidRequestParams(extraMessage = "", cause) { return WalletOperationsError.fromCode(5303, extraMessage, cause); } } _defineProperty(WalletProviderError, "messages", { 5000: "Custom", 5301: "Expected a single, non-array, object argument.", 5302: "'args.method' must be a non-empty string.", 5303: "'args.params' must be an object or array if provided." }); function isUserRejectedError(error) { if (error instanceof Web3AuthError && error.code === 5203) return true; if (error instanceof Error) { var _error$message; const normalizedMessage = ((_error$message = error.message) === null || _error$message === void 0 ? void 0 : _error$message.toLowerCase()) || ""; return normalizedMessage.includes("user rejected the request"); } return false; } exports.WalletInitializationError = WalletInitializationError; exports.WalletLoginError = WalletLoginError; exports.WalletOperationsError = WalletOperationsError; exports.WalletProviderError = WalletProviderError; exports.Web3AuthError = Web3AuthError; exports.isUserRejectedError = isUserRejectedError;