@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
112 lines (108 loc) • 4.07 kB
JavaScript
;
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
require('@babel/runtime/helpers/objectSpread2');
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');
class AccountLinkingError extends index.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 index.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;
}
}
exports.AccountLinkingError = AccountLinkingError;
exports.formatAccountLinkingErrorMessage = formatAccountLinkingErrorMessage;
exports.getAccountLinkingRequestError = getAccountLinkingRequestError;