@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
266 lines (254 loc) • 9.56 kB
JavaScript
import _defineProperty from '@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);
};
// @flow
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;
}
export { WalletInitializationError, WalletLoginError, WalletOperationsError, WalletProviderError, Web3AuthError, isUserRejectedError };