@web3auth/no-modal 11.0.0-beta.1 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib.cjs/account-linking/errors.js +111 -0
- package/dist/lib.cjs/account-linking/index.js +4 -0
- package/dist/lib.cjs/account-linking/rest.js +6 -6
- package/dist/lib.cjs/account-linking/vue.js +0 -1
- package/dist/lib.cjs/base/connector/constants.js +2 -0
- package/dist/lib.cjs/base/errors/index.js +21 -50
- package/dist/lib.cjs/base/utils.js +1 -1
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +125 -58
- package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +40 -31
- package/dist/lib.cjs/index.js +24 -19
- package/dist/lib.cjs/noModal.js +60 -26
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +8 -4
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +0 -17
- package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +15 -0
- package/dist/lib.cjs/react/context/useWeb3AuthInnerContextValue.js +18 -2
- package/dist/lib.cjs/react/solana/provider.js +6 -2
- package/dist/lib.cjs/react/wagmi/index.js +6 -0
- package/dist/lib.cjs/react/wagmi/provider.js +74 -23
- package/dist/lib.cjs/types/account-linking/errors.d.ts +17 -0
- package/dist/lib.cjs/types/account-linking/index.d.ts +1 -0
- package/dist/lib.cjs/types/base/connector/constants.d.ts +1 -0
- package/dist/lib.cjs/types/base/connector/interfaces.d.ts +1 -1
- package/dist/lib.cjs/types/base/errors/index.d.ts +2 -13
- package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +8 -2
- package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +1 -1
- package/dist/lib.cjs/types/noModal.d.ts +1 -1
- package/dist/lib.cjs/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +1 -0
- package/dist/lib.cjs/types/react/wagmi/constants.d.ts +2 -0
- package/dist/lib.cjs/types/react/wagmi/provider.d.ts +7 -0
- package/dist/lib.cjs/types/vue/wagmi/constants.d.ts +2 -0
- package/dist/lib.cjs/types/vue/wagmi/provider.d.ts +7 -1
- package/dist/lib.cjs/vue/solana/provider.js +50 -26
- package/dist/lib.cjs/vue/useWeb3AuthInnerContextValue.js +13 -6
- package/dist/lib.cjs/vue/wagmi/index.js +6 -0
- package/dist/lib.cjs/vue/wagmi/provider.js +78 -35
- package/dist/lib.esm/account-linking/errors.js +92 -0
- package/dist/lib.esm/account-linking/index.js +1 -0
- package/dist/lib.esm/account-linking/rest.js +3 -3
- package/dist/lib.esm/account-linking/vue.js +0 -1
- package/dist/lib.esm/base/connector/constants.js +2 -1
- package/dist/lib.esm/base/errors/index.js +21 -50
- package/dist/lib.esm/base/utils.js +1 -1
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +109 -41
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +1 -1
- package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +42 -33
- package/dist/lib.esm/index.js +3 -2
- package/dist/lib.esm/noModal.js +56 -20
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +10 -5
- package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +0 -3
- package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +17 -3
- package/dist/lib.esm/react/context/useWeb3AuthInnerContextValue.js +18 -2
- package/dist/lib.esm/react/solana/provider.js +6 -2
- package/dist/lib.esm/react/wagmi/index.js +1 -1
- package/dist/lib.esm/react/wagmi/provider.js +74 -25
- package/dist/lib.esm/vue/solana/provider.js +51 -28
- package/dist/lib.esm/vue/useWeb3AuthInnerContextValue.js +11 -4
- package/dist/lib.esm/vue/wagmi/index.js +1 -1
- package/dist/lib.esm/vue/wagmi/provider.js +73 -34
- package/package.json +20 -20
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
require('@babel/runtime/helpers/objectSpread2');
|
|
5
|
+
require('@segment/analytics-next');
|
|
6
|
+
require('../base/loglevel.js');
|
|
7
|
+
require('@toruslabs/base-controllers');
|
|
8
|
+
require('@toruslabs/session-manager');
|
|
9
|
+
require('@web3auth/auth');
|
|
10
|
+
var index = require('../base/errors/index.js');
|
|
11
|
+
require('@toruslabs/constants');
|
|
12
|
+
require('@toruslabs/http-helpers');
|
|
13
|
+
require('../base/constants.js');
|
|
14
|
+
require('../base/wallet/index.js');
|
|
15
|
+
require('../base/connector/connectorStatus.js');
|
|
16
|
+
require('../base/connector/constants.js');
|
|
17
|
+
require('jwt-decode');
|
|
18
|
+
require('../base/plugin/errors.js');
|
|
19
|
+
require('../base/plugin/IPlugin.js');
|
|
20
|
+
|
|
21
|
+
class AccountLinkingError extends index.Web3AuthError {
|
|
22
|
+
constructor(code, message, cause) {
|
|
23
|
+
super(code, message, cause);
|
|
24
|
+
Object.defineProperty(this, "name", {
|
|
25
|
+
value: "AccountLinkingError",
|
|
26
|
+
configurable: true
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
static fromCode(code, extraMessage = "", cause) {
|
|
30
|
+
return new AccountLinkingError(code, `${AccountLinkingError.messages[code]}. ${extraMessage}`, cause);
|
|
31
|
+
}
|
|
32
|
+
static requestFailed(extraMessage = "", cause) {
|
|
33
|
+
return AccountLinkingError.fromCode(5401, extraMessage, cause);
|
|
34
|
+
}
|
|
35
|
+
static serverNotConfigured(extraMessage = "", cause) {
|
|
36
|
+
return AccountLinkingError.fromCode(5402, extraMessage, cause);
|
|
37
|
+
}
|
|
38
|
+
static primaryTokenNotAvailable(extraMessage = "", cause) {
|
|
39
|
+
return AccountLinkingError.fromCode(5403, extraMessage, cause);
|
|
40
|
+
}
|
|
41
|
+
static walletProofFailed(extraMessage = "", cause) {
|
|
42
|
+
return AccountLinkingError.fromCode(5404, extraMessage, cause);
|
|
43
|
+
}
|
|
44
|
+
static unsupportedConnector(extraMessage = "", cause) {
|
|
45
|
+
return AccountLinkingError.fromCode(5405, extraMessage, cause);
|
|
46
|
+
}
|
|
47
|
+
static cannotUnlinkActiveAccount() {
|
|
48
|
+
return AccountLinkingError.fromCode(5406);
|
|
49
|
+
}
|
|
50
|
+
static accountNotLinked(message = "", cause) {
|
|
51
|
+
return AccountLinkingError.fromCode(5407, message, cause);
|
|
52
|
+
}
|
|
53
|
+
static cannotUnlinkPrimaryAccount() {
|
|
54
|
+
return AccountLinkingError.fromCode(5408);
|
|
55
|
+
}
|
|
56
|
+
toString() {
|
|
57
|
+
return `[${this.code}] ${this.message}`;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
_defineProperty(AccountLinkingError, "messages", {
|
|
61
|
+
5000: "Custom",
|
|
62
|
+
5401: "Account linking request failed",
|
|
63
|
+
5402: "Citadel server URL is not configured",
|
|
64
|
+
5403: "Primary identity token is not available",
|
|
65
|
+
5404: "Failed to obtain wallet proof token",
|
|
66
|
+
5405: "Connector is not supported for wallet linking",
|
|
67
|
+
5406: "Cannot unlink active account",
|
|
68
|
+
5407: "Account not linked",
|
|
69
|
+
5408: "Cannot unlink primary account"
|
|
70
|
+
});
|
|
71
|
+
async function getAccountLinkingRequestError(error) {
|
|
72
|
+
if (error instanceof AccountLinkingError) {
|
|
73
|
+
return error;
|
|
74
|
+
}
|
|
75
|
+
if (error instanceof Response) {
|
|
76
|
+
if (error.status === 409) {
|
|
77
|
+
return AccountLinkingError.requestFailed("This wallet address is already registered on this dApp");
|
|
78
|
+
}
|
|
79
|
+
if (error.json && typeof error.json === "function") {
|
|
80
|
+
try {
|
|
81
|
+
var _json$message;
|
|
82
|
+
const json = await error.json();
|
|
83
|
+
return AccountLinkingError.requestFailed((_json$message = json.message) !== null && _json$message !== void 0 ? _json$message : "Failed to link account");
|
|
84
|
+
} catch {
|
|
85
|
+
// continue
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return AccountLinkingError.requestFailed(error instanceof Error ? error.message : JSON.stringify(error), error);
|
|
90
|
+
}
|
|
91
|
+
function formatAccountLinkingErrorMessage(error, fallbackMessage = "Unknown error during the operation.") {
|
|
92
|
+
if (error instanceof AccountLinkingError) {
|
|
93
|
+
return error.toString();
|
|
94
|
+
}
|
|
95
|
+
if (error instanceof index.Web3AuthError) {
|
|
96
|
+
return `[${error.code}] Account linking error: ${error.message || fallbackMessage}`;
|
|
97
|
+
}
|
|
98
|
+
if (error instanceof Error) {
|
|
99
|
+
return `Account linking error: ${error.message || fallbackMessage}`;
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
const stringifiedError = JSON.stringify(error);
|
|
103
|
+
return stringifiedError;
|
|
104
|
+
} catch {
|
|
105
|
+
return fallbackMessage;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
exports.AccountLinkingError = AccountLinkingError;
|
|
110
|
+
exports.formatAccountLinkingErrorMessage = formatAccountLinkingErrorMessage;
|
|
111
|
+
exports.getAccountLinkingRequestError = getAccountLinkingRequestError;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var errors = require('./errors.js');
|
|
3
4
|
var rest = require('./rest.js');
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
|
|
8
|
+
exports.AccountLinkingError = errors.AccountLinkingError;
|
|
9
|
+
exports.formatAccountLinkingErrorMessage = errors.formatAccountLinkingErrorMessage;
|
|
10
|
+
exports.getAccountLinkingRequestError = errors.getAccountLinkingRequestError;
|
|
7
11
|
exports.makeAccountLinkingRequest = rest.makeAccountLinkingRequest;
|
|
8
12
|
exports.makeAccountUnlinkingRequest = rest.makeAccountUnlinkingRequest;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var httpHelpers = require('@toruslabs/http-helpers');
|
|
4
|
-
var
|
|
4
|
+
var errors = require('./errors.js');
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Send both identity proofs to the Citadel account-linking endpoint and
|
|
@@ -19,13 +19,13 @@ async function makeAccountLinkingRequest(authServerUrl, accessToken, payload) {
|
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
} catch (cause) {
|
|
22
|
-
const
|
|
23
|
-
throw
|
|
22
|
+
const accountLinkingError = await errors.getAccountLinkingRequestError(cause);
|
|
23
|
+
throw accountLinkingError;
|
|
24
24
|
}
|
|
25
25
|
if (!result.success) {
|
|
26
26
|
var _result$message;
|
|
27
27
|
const errMessage = (_result$message = result.message) !== null && _result$message !== void 0 ? _result$message : "Failed to link account";
|
|
28
|
-
throw
|
|
28
|
+
throw errors.AccountLinkingError.requestFailed(errMessage);
|
|
29
29
|
}
|
|
30
30
|
return result;
|
|
31
31
|
}
|
|
@@ -40,12 +40,12 @@ async function makeAccountUnlinkingRequest(authServerUrl, accessToken, payload)
|
|
|
40
40
|
});
|
|
41
41
|
} catch (cause) {
|
|
42
42
|
const message = cause instanceof Error ? cause.message : String(cause);
|
|
43
|
-
throw
|
|
43
|
+
throw errors.AccountLinkingError.requestFailed(message, cause);
|
|
44
44
|
}
|
|
45
45
|
if (!result.success) {
|
|
46
46
|
var _result$message2;
|
|
47
47
|
const errMessage = (_result$message2 = result.message) !== null && _result$message2 !== void 0 ? _result$message2 : "Failed to unlink account";
|
|
48
|
-
throw
|
|
48
|
+
throw errors.AccountLinkingError.requestFailed(errMessage);
|
|
49
49
|
}
|
|
50
50
|
return result;
|
|
51
51
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
4
|
|
|
5
|
+
const WEB3AUTH_CONNECTOR_ID = "web3auth";
|
|
5
6
|
const CONNECTOR_STATUS = {
|
|
6
7
|
NOT_READY: "not_ready",
|
|
7
8
|
READY: "ready",
|
|
@@ -37,3 +38,4 @@ exports.CONNECTOR_CATEGORY = CONNECTOR_CATEGORY;
|
|
|
37
38
|
exports.CONNECTOR_EVENTS = CONNECTOR_EVENTS;
|
|
38
39
|
exports.CONNECTOR_INITIAL_AUTHENTICATION_MODE = CONNECTOR_INITIAL_AUTHENTICATION_MODE;
|
|
39
40
|
exports.CONNECTOR_STATUS = CONNECTOR_STATUS;
|
|
41
|
+
exports.WEB3AUTH_CONNECTOR_ID = WEB3AUTH_CONNECTOR_ID;
|
|
@@ -183,7 +183,11 @@ class WalletOperationsError extends Web3AuthError {
|
|
|
183
183
|
});
|
|
184
184
|
}
|
|
185
185
|
static fromCode(code, extraMessage = "", cause) {
|
|
186
|
-
|
|
186
|
+
let message = WalletOperationsError.messages[code];
|
|
187
|
+
if (extraMessage) {
|
|
188
|
+
message = `${message}, ${extraMessage}`;
|
|
189
|
+
}
|
|
190
|
+
return new WalletOperationsError(code, message, cause);
|
|
187
191
|
}
|
|
188
192
|
// Custom methods
|
|
189
193
|
static chainIDNotAllowed(extraMessage = "", cause) {
|
|
@@ -195,58 +199,16 @@ class WalletOperationsError extends Web3AuthError {
|
|
|
195
199
|
static chainNamespaceNotAllowed(extraMessage = "", cause) {
|
|
196
200
|
return WalletOperationsError.fromCode(5203, extraMessage, cause);
|
|
197
201
|
}
|
|
202
|
+
static userRejected(extraMessage = "", cause) {
|
|
203
|
+
return WalletOperationsError.fromCode(5204, extraMessage, cause);
|
|
204
|
+
}
|
|
198
205
|
}
|
|
199
206
|
_defineProperty(WalletOperationsError, "messages", {
|
|
200
207
|
5000: "Custom",
|
|
201
208
|
5201: "Provided chainId is not allowed",
|
|
202
|
-
5202: "This operation is not allowed"
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
constructor(code, message, cause) {
|
|
206
|
-
super(code, message, cause);
|
|
207
|
-
Object.defineProperty(this, "name", {
|
|
208
|
-
value: "AccountLinkingError",
|
|
209
|
-
configurable: true
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
static fromCode(code, extraMessage = "", cause) {
|
|
213
|
-
return new AccountLinkingError(code, `${AccountLinkingError.messages[code]}. ${extraMessage}`, cause);
|
|
214
|
-
}
|
|
215
|
-
static requestFailed(extraMessage = "", cause) {
|
|
216
|
-
return AccountLinkingError.fromCode(5401, extraMessage, cause);
|
|
217
|
-
}
|
|
218
|
-
static serverNotConfigured(extraMessage = "", cause) {
|
|
219
|
-
return AccountLinkingError.fromCode(5402, extraMessage, cause);
|
|
220
|
-
}
|
|
221
|
-
static primaryTokenNotAvailable(extraMessage = "", cause) {
|
|
222
|
-
return AccountLinkingError.fromCode(5403, extraMessage, cause);
|
|
223
|
-
}
|
|
224
|
-
static walletProofFailed(extraMessage = "", cause) {
|
|
225
|
-
return AccountLinkingError.fromCode(5404, extraMessage, cause);
|
|
226
|
-
}
|
|
227
|
-
static unsupportedConnector(extraMessage = "", cause) {
|
|
228
|
-
return AccountLinkingError.fromCode(5405, extraMessage, cause);
|
|
229
|
-
}
|
|
230
|
-
static cannotUnlinkActiveAccount() {
|
|
231
|
-
return AccountLinkingError.fromCode(5406);
|
|
232
|
-
}
|
|
233
|
-
static accountNotLinked(message = "", cause) {
|
|
234
|
-
return AccountLinkingError.fromCode(5407, message, cause);
|
|
235
|
-
}
|
|
236
|
-
static cannotUnlinkPrimaryAccount() {
|
|
237
|
-
return AccountLinkingError.fromCode(5408);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
_defineProperty(AccountLinkingError, "messages", {
|
|
241
|
-
5000: "Custom",
|
|
242
|
-
5401: "Account linking request failed",
|
|
243
|
-
5402: "Citadel server URL is not configured",
|
|
244
|
-
5403: "Primary identity token is not available",
|
|
245
|
-
5404: "Failed to obtain wallet proof token",
|
|
246
|
-
5405: "Connector is not supported for wallet linking",
|
|
247
|
-
5406: "Cannot unlink active account",
|
|
248
|
-
5407: "Account not linked",
|
|
249
|
-
5408: "Cannot unlink primary account"
|
|
209
|
+
5202: "This operation is not allowed",
|
|
210
|
+
5203: "Chain namespace is not allowed",
|
|
211
|
+
5204: "User rejected the request"
|
|
250
212
|
});
|
|
251
213
|
class WalletProviderError extends Web3AuthError {
|
|
252
214
|
constructor(code, message, cause) {
|
|
@@ -278,10 +240,19 @@ _defineProperty(WalletProviderError, "messages", {
|
|
|
278
240
|
5302: "'args.method' must be a non-empty string.",
|
|
279
241
|
5303: "'args.params' must be an object or array if provided."
|
|
280
242
|
});
|
|
243
|
+
function isUserRejectedError(error) {
|
|
244
|
+
if (error instanceof Web3AuthError && error.code === 5203) return true;
|
|
245
|
+
if (error instanceof Error) {
|
|
246
|
+
var _error$message;
|
|
247
|
+
const normalizedMessage = ((_error$message = error.message) === null || _error$message === void 0 ? void 0 : _error$message.toLowerCase()) || "";
|
|
248
|
+
return normalizedMessage.includes("user rejected the request");
|
|
249
|
+
}
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
281
252
|
|
|
282
|
-
exports.AccountLinkingError = AccountLinkingError;
|
|
283
253
|
exports.WalletInitializationError = WalletInitializationError;
|
|
284
254
|
exports.WalletLoginError = WalletLoginError;
|
|
285
255
|
exports.WalletOperationsError = WalletOperationsError;
|
|
286
256
|
exports.WalletProviderError = WalletProviderError;
|
|
287
257
|
exports.Web3AuthError = Web3AuthError;
|
|
258
|
+
exports.isUserRejectedError = isUserRejectedError;
|
|
@@ -145,7 +145,7 @@ const getWalletServicesAnalyticsProperties = walletServicesConfig => {
|
|
|
145
145
|
ws_default_portfolio: walletServicesConfig === null || walletServicesConfig === void 0 || (_walletServicesConfig10 = walletServicesConfig.whiteLabel) === null || _walletServicesConfig10 === void 0 ? void 0 : _walletServicesConfig10.defaultPortfolio
|
|
146
146
|
};
|
|
147
147
|
};
|
|
148
|
-
const sdkVersion = "11.0.0
|
|
148
|
+
const sdkVersion = "11.0.0";
|
|
149
149
|
const getErrorAnalyticsProperties = error => {
|
|
150
150
|
try {
|
|
151
151
|
const code = error instanceof index.Web3AuthError ? error.code : error === null || error === void 0 ? void 0 : error.code;
|