@metamask/connect-multichain 0.3.2 → 0.5.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.
Files changed (88) hide show
  1. package/CHANGELOG.md +55 -15
  2. package/README.md +1 -1
  3. package/dist/browser/es/connect-multichain.d.mts +26 -12
  4. package/dist/browser/es/connect-multichain.mjs +846 -598
  5. package/dist/browser/es/connect-multichain.mjs.map +1 -1
  6. package/dist/browser/es/metafile-esm.json +1 -1
  7. package/dist/browser/iife/connect-multichain.d.ts +26 -12
  8. package/dist/browser/iife/connect-multichain.js +4793 -2291
  9. package/dist/browser/iife/connect-multichain.js.map +1 -1
  10. package/dist/browser/iife/metafile-iife.json +1 -1
  11. package/dist/browser/umd/connect-multichain.d.ts +26 -12
  12. package/dist/browser/umd/connect-multichain.js +846 -598
  13. package/dist/browser/umd/connect-multichain.js.map +1 -1
  14. package/dist/browser/umd/metafile-cjs.json +1 -1
  15. package/dist/node/cjs/connect-multichain.d.ts +26 -12
  16. package/dist/node/cjs/connect-multichain.js +846 -609
  17. package/dist/node/cjs/connect-multichain.js.map +1 -1
  18. package/dist/node/cjs/metafile-cjs.json +1 -1
  19. package/dist/node/es/connect-multichain.d.mts +26 -12
  20. package/dist/node/es/connect-multichain.mjs +844 -607
  21. package/dist/node/es/connect-multichain.mjs.map +1 -1
  22. package/dist/node/es/metafile-esm.json +1 -1
  23. package/dist/react-native/es/connect-multichain.d.mts +26 -12
  24. package/dist/react-native/es/connect-multichain.mjs +827 -592
  25. package/dist/react-native/es/connect-multichain.mjs.map +1 -1
  26. package/dist/react-native/es/metafile-esm.json +1 -1
  27. package/dist/src/domain/multichain/index.d.ts +4 -4
  28. package/dist/src/domain/multichain/index.d.ts.map +1 -1
  29. package/dist/src/domain/multichain/index.js.map +1 -1
  30. package/dist/src/domain/multichain/types.d.ts +4 -6
  31. package/dist/src/domain/multichain/types.d.ts.map +1 -1
  32. package/dist/src/domain/ui/types.d.ts +7 -0
  33. package/dist/src/domain/ui/types.d.ts.map +1 -1
  34. package/dist/src/domain/ui/types.js.map +1 -1
  35. package/dist/src/index.browser.d.ts +1 -1
  36. package/dist/src/index.browser.d.ts.map +1 -1
  37. package/dist/src/index.browser.js +1 -1
  38. package/dist/src/index.browser.js.map +1 -1
  39. package/dist/src/index.native.d.ts +1 -1
  40. package/dist/src/index.native.d.ts.map +1 -1
  41. package/dist/src/index.native.js +2 -2
  42. package/dist/src/index.native.js.map +1 -1
  43. package/dist/src/index.node.d.ts +1 -1
  44. package/dist/src/index.node.d.ts.map +1 -1
  45. package/dist/src/index.node.js +1 -1
  46. package/dist/src/index.node.js.map +1 -1
  47. package/dist/src/multichain/index.d.ts +8 -27
  48. package/dist/src/multichain/index.d.ts.map +1 -1
  49. package/dist/src/multichain/index.js +480 -427
  50. package/dist/src/multichain/index.js.map +1 -1
  51. package/dist/src/multichain/rpc/requestRouter.d.ts.map +1 -1
  52. package/dist/src/multichain/rpc/requestRouter.js +8 -15
  53. package/dist/src/multichain/rpc/requestRouter.js.map +1 -1
  54. package/dist/src/multichain/transports/default/index.d.ts +2 -1
  55. package/dist/src/multichain/transports/default/index.d.ts.map +1 -1
  56. package/dist/src/multichain/transports/default/index.js +1 -0
  57. package/dist/src/multichain/transports/default/index.js.map +1 -1
  58. package/dist/src/multichain/transports/multichainApiClientWrapper/index.d.ts +21 -0
  59. package/dist/src/multichain/transports/multichainApiClientWrapper/index.d.ts.map +1 -0
  60. package/dist/src/multichain/transports/multichainApiClientWrapper/index.js +159 -0
  61. package/dist/src/multichain/transports/multichainApiClientWrapper/index.js.map +1 -0
  62. package/dist/src/multichain/transports/mwp/index.d.ts +4 -1
  63. package/dist/src/multichain/transports/mwp/index.d.ts.map +1 -1
  64. package/dist/src/multichain/transports/mwp/index.js +76 -6
  65. package/dist/src/multichain/transports/mwp/index.js.map +1 -1
  66. package/dist/src/ui/ModalFactory.d.ts +54 -0
  67. package/dist/src/ui/ModalFactory.d.ts.map +1 -0
  68. package/dist/src/ui/ModalFactory.js +171 -0
  69. package/dist/src/ui/ModalFactory.js.map +1 -0
  70. package/dist/src/ui/index.d.ts +11 -39
  71. package/dist/src/ui/index.d.ts.map +1 -1
  72. package/dist/src/ui/index.js +20 -179
  73. package/dist/src/ui/index.js.map +1 -1
  74. package/dist/src/ui/index.native.d.ts +13 -0
  75. package/dist/src/ui/index.native.d.ts.map +1 -0
  76. package/dist/src/ui/index.native.js +24 -0
  77. package/dist/src/ui/index.native.js.map +1 -0
  78. package/dist/src/ui/modals/base/AbstractInstallModal.d.ts.map +1 -1
  79. package/dist/src/ui/modals/base/AbstractInstallModal.js +0 -4
  80. package/dist/src/ui/modals/base/AbstractInstallModal.js.map +1 -1
  81. package/dist/src/ui/modals/node/install.js +2 -2
  82. package/dist/src/ui/modals/node/install.js.map +1 -1
  83. package/dist/types/connect-multichain.d.ts +26 -12
  84. package/package.json +10 -8
  85. package/dist/src/ui/qr.d.ts +0 -3
  86. package/dist/src/ui/qr.d.ts.map +0 -1
  87. package/dist/src/ui/qr.js +0 -32
  88. package/dist/src/ui/qr.js.map +0 -1
@@ -15,6 +15,7 @@ import { MULTICHAIN_PROVIDER_STREAM_NAME } from '../constants';
15
15
  const DEFAULT_REQUEST_TIMEOUT = 60 * 1000;
16
16
  const CONNECTION_GRACE_PERIOD = 60 * 1000;
17
17
  const DEFAULT_CONNECTION_TIMEOUT = DEFAULT_REQUEST_TIMEOUT + CONNECTION_GRACE_PERIOD;
18
+ const DEFAULT_RESUME_TIMEOUT = 10 * 1000;
18
19
  const SESSION_STORE_KEY = 'cache_wallet_getSession';
19
20
  const ACCOUNTS_STORE_KEY = 'cache_eth_accounts';
20
21
  const CHAIN_STORE_KEY = 'cache_eth_chainId';
@@ -45,6 +46,7 @@ export class MWPTransport {
45
46
  constructor(dappClient, kvstore, options = {
46
47
  requestTimeout: DEFAULT_REQUEST_TIMEOUT,
47
48
  connectionTimeout: DEFAULT_CONNECTION_TIMEOUT,
49
+ resumeTimeout: DEFAULT_RESUME_TIMEOUT,
48
50
  }) {
49
51
  this.dappClient = dappClient;
50
52
  this.kvstore = kvstore;
@@ -107,6 +109,15 @@ export class MWPTransport {
107
109
  'metamask_accountsChanged') {
108
110
  this.kvstore.set(ACCOUNTS_STORE_KEY, JSON.stringify(message.data.params));
109
111
  }
112
+ // Ensure session changes are always persisted to the store
113
+ if (message.data.method ===
114
+ 'wallet_sessionChanged') {
115
+ const notification = message.data;
116
+ const response = {
117
+ result: notification.params,
118
+ };
119
+ this.kvstore.set(SESSION_STORE_KEY, JSON.stringify(response));
120
+ }
110
121
  this.notifyCallbacks(message.data);
111
122
  }
112
123
  }
@@ -116,9 +127,11 @@ export class MWPTransport {
116
127
  return __awaiter(this, void 0, void 0, function* () {
117
128
  var _a, _b, _c, _d, _e, _f, _g;
118
129
  try {
130
+ yield this.waitForWalletSessionIfNotCached();
119
131
  const sessionRequest = yield this.request({
120
132
  method: 'wallet_getSession',
121
133
  });
134
+ // TODO: verify if this branching logic can ever be hit
122
135
  if (sessionRequest.error) {
123
136
  return resumeReject(new Error(sessionRequest.error.message));
124
137
  }
@@ -147,6 +160,7 @@ export class MWPTransport {
147
160
  }
148
161
  }
149
162
  else if (!walletSession) {
163
+ // TODO: verify if this branching logic can ever be hit
150
164
  const optionalScopes = addValidAccounts(getOptionalScopes((_f = options === null || options === void 0 ? void 0 : options.scopes) !== null && _f !== void 0 ? _f : []), getValidAccounts((_g = options === null || options === void 0 ? void 0 : options.caipAccountIds) !== null && _g !== void 0 ? _g : []));
151
165
  const sessionRequest = { optionalScopes };
152
166
  const response = yield this.request({
@@ -210,7 +224,8 @@ export class MWPTransport {
210
224
  logger('active session found', session);
211
225
  }
212
226
  let timeout;
213
- const connectionPromise = new Promise((resolve, reject) => {
227
+ let initialConnectionMessageHandler;
228
+ const connectionPromise = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
214
229
  let connection;
215
230
  if (session) {
216
231
  connection = new Promise((resumeResolve, resumeReject) => {
@@ -232,6 +247,7 @@ export class MWPTransport {
232
247
  const optionalScopes = addValidAccounts(getOptionalScopes((_a = options === null || options === void 0 ? void 0 : options.scopes) !== null && _a !== void 0 ? _a : []), getValidAccounts((_b = options === null || options === void 0 ? void 0 : options.caipAccountIds) !== null && _b !== void 0 ? _b : []));
233
248
  const sessionRequest = {
234
249
  optionalScopes,
250
+ sessionProperties: options === null || options === void 0 ? void 0 : options.sessionProperties,
235
251
  };
236
252
  const request = {
237
253
  jsonrpc: '2.0',
@@ -240,13 +256,16 @@ export class MWPTransport {
240
256
  params: sessionRequest,
241
257
  };
242
258
  // just used for initial connection
243
- this.dappClient.on('message', (message) => __awaiter(this, void 0, void 0, function* () {
259
+ initialConnectionMessageHandler = (message) => __awaiter(this, void 0, void 0, function* () {
244
260
  if (typeof message === 'object' && message !== null) {
245
261
  if ('data' in message) {
246
262
  const messagePayload = message.data;
247
263
  if (messagePayload.method === 'wallet_createSession' ||
248
264
  messagePayload.method === 'wallet_sessionChanged') {
249
265
  if (messagePayload.error) {
266
+ if (initialConnectionMessageHandler) {
267
+ this.dappClient.off('message', initialConnectionMessageHandler);
268
+ }
250
269
  return rejectConnection(messagePayload.error);
251
270
  }
252
271
  yield this.storeWalletSession(request, messagePayload);
@@ -255,7 +274,8 @@ export class MWPTransport {
255
274
  }
256
275
  }
257
276
  }
258
- }));
277
+ });
278
+ this.dappClient.on('message', initialConnectionMessageHandler);
259
279
  dappClient
260
280
  .connect({
261
281
  mode: 'trusted',
@@ -264,18 +284,31 @@ export class MWPTransport {
264
284
  data: request,
265
285
  },
266
286
  })
267
- .catch(rejectConnection);
287
+ .catch((error) => {
288
+ if (initialConnectionMessageHandler) {
289
+ this.dappClient.off('message', initialConnectionMessageHandler);
290
+ }
291
+ rejectConnection(error);
292
+ });
268
293
  });
269
294
  }
270
295
  timeout = setTimeout(() => {
271
296
  reject(new TransportTimeoutError());
272
297
  }, this.options.connectionTimeout);
273
298
  connection.then(resolve).catch(reject);
274
- });
275
- return connectionPromise.finally(() => {
299
+ }));
300
+ return connectionPromise
301
+ .catch((error) => {
302
+ throw error;
303
+ })
304
+ .finally(() => {
276
305
  if (timeout) {
277
306
  clearTimeout(timeout);
278
307
  }
308
+ if (initialConnectionMessageHandler) {
309
+ this.dappClient.off('message', initialConnectionMessageHandler);
310
+ initialConnectionMessageHandler = undefined;
311
+ }
279
312
  });
280
313
  });
281
314
  }
@@ -457,5 +490,42 @@ export class MWPTransport {
457
490
  }
458
491
  });
459
492
  }
493
+ // This method checks if an existing CAIP session response is cached or waits for one
494
+ // to be received from the wallet if not cached. This is necessary because there is an edge
495
+ // case during the initial connection flow where after the user has accepted the permission approval
496
+ // and returned back to the dapp from the wallet, the dapp page may have gotten unloaded and refreshed.
497
+ // When it is unloaded and refreshed, it will try to resume the session by making a request for wallet_getSession
498
+ // which should resolve from cache, but because a race condition makes it possible for the response from the wallet
499
+ // for the initial wallet_createSession connection request to not have been handled and cached yet. This results
500
+ // in the wallet_getSession request never resolving unless we wait for it explicitly as done in this method.
501
+ waitForWalletSessionIfNotCached() {
502
+ return __awaiter(this, void 0, void 0, function* () {
503
+ const cachedWalletGetSessionResponse = yield this.kvstore.get(SESSION_STORE_KEY);
504
+ if (cachedWalletGetSessionResponse) {
505
+ return;
506
+ }
507
+ let unsubscribe;
508
+ const responsePromise = new Promise((resolve) => {
509
+ unsubscribe = this.onNotification((message) => {
510
+ if (typeof message === 'object' && message !== null) {
511
+ if ('data' in message) {
512
+ const messagePayload = message.data;
513
+ if (messagePayload.method === 'wallet_getSession' || messagePayload.method === 'wallet_sessionChanged') {
514
+ unsubscribe();
515
+ resolve();
516
+ }
517
+ }
518
+ }
519
+ });
520
+ });
521
+ const timeoutPromise = new Promise((_resolve, reject) => {
522
+ setTimeout(() => {
523
+ unsubscribe();
524
+ reject(new TransportTimeoutError());
525
+ }, this.options.resumeTimeout);
526
+ });
527
+ return Promise.race([responsePromise, timeoutPromise]);
528
+ });
529
+ }
460
530
  }
461
531
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { type ConnectionRequest, type Modal, type OTPCode } from '../domain';
2
+ import type { AbstractOTPCodeModal } from './modals/base/AbstractOTPModal';
3
+ import type { FactoryModals } from './modals/types';
4
+ /**
5
+ * Preload function type for loading UI dependencies
6
+ */
7
+ export type PreloadFn = () => Promise<void>;
8
+ /**
9
+ * Base ModalFactory class that accepts a preload function.
10
+ * Platform-specific implementations should extend this class.
11
+ */
12
+ export declare abstract class BaseModalFactory<T extends FactoryModals = FactoryModals> {
13
+ protected readonly options: T;
14
+ modal: Modal<any>;
15
+ private readonly platform;
16
+ private successCallback;
17
+ private displayUriCallback?;
18
+ /**
19
+ * Creates a new modal factory instance.
20
+ *
21
+ * @param options - The modals configuration object
22
+ */
23
+ constructor(options: T);
24
+ /**
25
+ * Platform-specific preload function to be implemented by subclasses.
26
+ */
27
+ protected abstract preload(): Promise<void>;
28
+ private validateModals;
29
+ unload(error?: Error): Promise<void>;
30
+ /**
31
+ * Determines if the current platform is a mobile native environment.
32
+ * Currently only includes React Native.
33
+ */
34
+ get isMobile(): boolean;
35
+ /**
36
+ * Determines if the current platform is a Node.js environment.
37
+ * Used for server-side or non-browser environments.
38
+ */
39
+ get isNode(): boolean;
40
+ /**
41
+ * Determines if the current platform is a web environment.
42
+ * Includes desktop web, MetaMask mobile webview, and mobile web.
43
+ */
44
+ get isWeb(): boolean;
45
+ private getContainer;
46
+ private getMountedContainer;
47
+ createConnectionDeeplink(connectionRequest?: ConnectionRequest): string;
48
+ createConnectionUniversalLink(connectionRequest?: ConnectionRequest): string;
49
+ private onCloseModal;
50
+ private onStartDesktopOnboarding;
51
+ renderInstallModal(showInstallModal: boolean, createConnectionRequest: () => Promise<ConnectionRequest>, successCallback: (error?: Error) => Promise<void>, onDisplayUri?: (uri: string) => void): Promise<void>;
52
+ renderOTPCodeModal(createOTPCode: () => Promise<OTPCode>, successCallback: (error?: Error) => Promise<void>, updateOTPCode: (otpCode: OTPCode, modal: AbstractOTPCodeModal) => void): Promise<void>;
53
+ }
54
+ //# sourceMappingURL=ModalFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalFactory.d.ts","sourceRoot":"","sources":["../../../src/ui/ModalFactory.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,iBAAiB,EAGtB,KAAK,KAAK,EACV,KAAK,OAAO,EAEb,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,gBAAgB,CAAC;AAGhE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5C;;;GAGG;AACH,8BAAsB,gBAAgB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IAchE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAblC,KAAK,EAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAE5D,OAAO,CAAC,eAAe,CAAoC;IAE3D,OAAO,CAAC,kBAAkB,CAAC,CAAwB;IAEnD;;;;OAIG;gBAC4B,OAAO,EAAE,CAAC;IAIzC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE3C,OAAO,CAAC,cAAc;IAUhB,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK;IAK1B;;;OAGG;IACH,IAAI,QAAQ,YAEX;IAED;;;OAGG;IACH,IAAI,MAAM,YAET;IAED;;;OAGG;IACH,IAAI,KAAK,YAMR;IAED,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,mBAAmB;IAW3B,wBAAwB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IAU9D,6BAA6B,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;YAUrD,YAAY;IAM1B,OAAO,CAAC,wBAAwB;IAInB,kBAAkB,CAC7B,gBAAgB,EAAE,OAAO,EACzB,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,EACzD,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,EACjD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;IAoCzB,kBAAkB,CAC7B,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EACrC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,EACjD,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,KAAK,IAAI;CAqBzE"}
@@ -0,0 +1,171 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ /* eslint-disable @typescript-eslint/no-shadow */
11
+ /* eslint-disable @typescript-eslint/no-misused-promises */
12
+ /* eslint-disable no-restricted-globals */
13
+ /* eslint-disable jsdoc/require-returns */
14
+ /* eslint-disable @typescript-eslint/parameter-properties */
15
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
16
+ /* eslint-disable no-restricted-syntax */
17
+ /* eslint-disable promise/no-return-wrap */
18
+ /* eslint-disable require-atomic-updates */
19
+ /* eslint-disable @typescript-eslint/naming-convention */
20
+ import MetaMaskOnboarding from '@metamask/onboarding';
21
+ import { METAMASK_CONNECT_BASE_URL, METAMASK_DEEPLINK_BASE } from '../config';
22
+ import { getPlatformType, getVersion, PlatformType, } from '../domain';
23
+ import { compressString } from '../multichain/utils';
24
+ /**
25
+ * Base ModalFactory class that accepts a preload function.
26
+ * Platform-specific implementations should extend this class.
27
+ */
28
+ export class BaseModalFactory {
29
+ /**
30
+ * Creates a new modal factory instance.
31
+ *
32
+ * @param options - The modals configuration object
33
+ */
34
+ constructor(options) {
35
+ this.options = options;
36
+ this.platform = getPlatformType();
37
+ this.validateModals();
38
+ }
39
+ validateModals() {
40
+ const requiredModals = ['InstallModal', 'OTPCodeModal'];
41
+ const missingModals = requiredModals.filter((modal) => !this.options[modal]);
42
+ if (missingModals.length > 0) {
43
+ throw new Error(`Missing required modals: ${missingModals.join(', ')}`);
44
+ }
45
+ }
46
+ unload(error) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ var _a, _b;
49
+ (_a = this.modal) === null || _a === void 0 ? void 0 : _a.unmount();
50
+ yield ((_b = this.successCallback) === null || _b === void 0 ? void 0 : _b.call(this, error));
51
+ });
52
+ }
53
+ /**
54
+ * Determines if the current platform is a mobile native environment.
55
+ * Currently only includes React Native.
56
+ */
57
+ get isMobile() {
58
+ return this.platform === PlatformType.ReactNative;
59
+ }
60
+ /**
61
+ * Determines if the current platform is a Node.js environment.
62
+ * Used for server-side or non-browser environments.
63
+ */
64
+ get isNode() {
65
+ return this.platform === PlatformType.NonBrowser;
66
+ }
67
+ /**
68
+ * Determines if the current platform is a web environment.
69
+ * Includes desktop web, MetaMask mobile webview, and mobile web.
70
+ */
71
+ get isWeb() {
72
+ return (this.platform === PlatformType.DesktopWeb ||
73
+ this.platform === PlatformType.MetaMaskMobileWebview ||
74
+ this.platform === PlatformType.MobileWeb);
75
+ }
76
+ getContainer() {
77
+ return typeof document === 'undefined'
78
+ ? undefined
79
+ : document.createElement('div');
80
+ }
81
+ getMountedContainer() {
82
+ if (typeof document === 'undefined') {
83
+ return undefined;
84
+ }
85
+ const container = this.getContainer();
86
+ if (container) {
87
+ document.body.appendChild(container);
88
+ }
89
+ return container;
90
+ }
91
+ createConnectionDeeplink(connectionRequest) {
92
+ if (!connectionRequest) {
93
+ throw new Error('createConnectionDeeplink can only be called with a connection request');
94
+ }
95
+ const json = JSON.stringify(connectionRequest);
96
+ const compressed = compressString(json);
97
+ const urlEncoded = encodeURIComponent(compressed);
98
+ return `${METAMASK_DEEPLINK_BASE}/mwp?p=${urlEncoded}&c=1`;
99
+ }
100
+ createConnectionUniversalLink(connectionRequest) {
101
+ if (!connectionRequest) {
102
+ return `${METAMASK_CONNECT_BASE_URL}`;
103
+ }
104
+ const json = JSON.stringify(connectionRequest);
105
+ const compressed = compressString(json);
106
+ const urlEncoded = encodeURIComponent(compressed);
107
+ return `${METAMASK_CONNECT_BASE_URL}/mwp?p=${urlEncoded}&c=1`;
108
+ }
109
+ onCloseModal() {
110
+ return __awaiter(this, arguments, void 0, function* (shouldTerminate = true) {
111
+ return this.unload(shouldTerminate ? new Error('User closed modal') : undefined);
112
+ });
113
+ }
114
+ onStartDesktopOnboarding() {
115
+ new MetaMaskOnboarding().startOnboarding();
116
+ }
117
+ renderInstallModal(showInstallModal, createConnectionRequest, successCallback, onDisplayUri) {
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ var _a, _b;
120
+ (_a = this.modal) === null || _a === void 0 ? void 0 : _a.unmount();
121
+ yield this.preload();
122
+ this.successCallback = successCallback;
123
+ this.displayUriCallback = onDisplayUri;
124
+ const parentElement = this.getMountedContainer();
125
+ const connectionRequest = yield createConnectionRequest();
126
+ const qrCodeLink = this.createConnectionDeeplink(connectionRequest);
127
+ (_b = this.displayUriCallback) === null || _b === void 0 ? void 0 : _b.call(this, qrCodeLink);
128
+ const modal = new this.options.InstallModal({
129
+ expiresIn: (connectionRequest.sessionRequest.expiresAt - Date.now()) / 1000,
130
+ connectionRequest,
131
+ parentElement,
132
+ showInstallModal,
133
+ link: qrCodeLink,
134
+ sdkVersion: getVersion(),
135
+ generateQRCode: (request) => __awaiter(this, void 0, void 0, function* () {
136
+ var _a;
137
+ const newLink = this.createConnectionDeeplink(request);
138
+ (_a = this.displayUriCallback) === null || _a === void 0 ? void 0 : _a.call(this, newLink);
139
+ return newLink;
140
+ }),
141
+ onClose: this.onCloseModal.bind(this),
142
+ startDesktopOnboarding: this.onStartDesktopOnboarding.bind(this),
143
+ createConnectionRequest,
144
+ onDisplayUri: this.displayUriCallback,
145
+ });
146
+ this.modal = modal;
147
+ modal.mount();
148
+ });
149
+ }
150
+ renderOTPCodeModal(createOTPCode, successCallback, updateOTPCode) {
151
+ return __awaiter(this, void 0, void 0, function* () {
152
+ var _a;
153
+ (_a = this.modal) === null || _a === void 0 ? void 0 : _a.unmount();
154
+ yield this.preload();
155
+ this.successCallback = successCallback;
156
+ const container = this.getMountedContainer();
157
+ const otpCode = yield createOTPCode();
158
+ const modal = new this.options.OTPCodeModal({
159
+ parentElement: container,
160
+ sdkVersion: getVersion(),
161
+ otpCode,
162
+ onClose: this.onCloseModal.bind(this),
163
+ createOTPCode,
164
+ updateOTPCode: (otpCode) => updateOTPCode(otpCode, modal),
165
+ });
166
+ this.modal = modal;
167
+ modal.mount();
168
+ });
169
+ }
170
+ }
171
+ //# sourceMappingURL=ModalFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalFactory.js","sourceRoot":"","sources":["../../../src/ui/ModalFactory.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAAiD;AACjD,2DAA2D;AAC3D,0CAA0C;AAC1C,0CAA0C;AAC1C,4DAA4D;AAC5D,qEAAqE;AACrE,yCAAyC;AACzC,2CAA2C;AAC3C,2CAA2C;AAC3C,yDAAyD;AACzD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAEL,eAAe,EACf,UAAU,EAGV,YAAY,GACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAOrD;;;GAGG;AACH,MAAM,OAAgB,gBAAgB;IASpC;;;;OAIG;IACH,YAA+B,OAAU;QAAV,YAAO,GAAP,OAAO,CAAG;QAXxB,aAAQ,GAAiB,eAAe,EAAE,CAAC;QAY1D,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAOO,cAAc;QACpB,MAAM,cAAc,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CACzC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAmB,CAAC,CAC9C,CAAC;QACF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,4BAA4B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAEK,MAAM,CAAC,KAAa;;;YACxB,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,CAAC;YACtB,MAAM,CAAA,MAAA,IAAI,CAAC,eAAe,qDAAG,KAAK,CAAC,CAAA,CAAC;QACtC,CAAC;KAAA;IAED;;;OAGG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,WAAW,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,UAAU,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACP,OAAO,CACL,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,UAAU;YACzC,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,qBAAqB;YACpD,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,SAAS,CACzC,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,OAAO,OAAO,QAAQ,KAAK,WAAW;YACpC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAEO,mBAAmB;QACzB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wBAAwB,CAAC,iBAAqC;QAC5D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAClD,OAAO,GAAG,sBAAsB,UAAU,UAAU,MAAM,CAAC;IAC7D,CAAC;IAED,6BAA6B,CAAC,iBAAqC;QACjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,GAAG,yBAAyB,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAClD,OAAO,GAAG,yBAAyB,UAAU,UAAU,MAAM,CAAC;IAChE,CAAC;IAEa,YAAY;6DAAC,eAAe,GAAG,IAAI;YAC/C,OAAO,IAAI,CAAC,MAAM,CAChB,eAAe,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC7D,CAAC;QACJ,CAAC;KAAA;IAEO,wBAAwB;QAC9B,IAAI,kBAAkB,EAAE,CAAC,eAAe,EAAE,CAAC;IAC7C,CAAC;IAEY,kBAAkB,CAC7B,gBAAyB,EACzB,uBAAyD,EACzD,eAAiD,EACjD,YAAoC;;;YAEpC,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YACvC,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;YAEvC,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjD,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,EAAE,CAAC;YAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;YAEpE,MAAA,IAAI,CAAC,kBAAkB,qDAAG,UAAU,CAAC,CAAC;YAEtC,MAAM,KAAK,GAAe,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBACtD,SAAS,EACP,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI;gBAClE,iBAAiB;gBACjB,aAAa;gBACb,gBAAgB;gBAChB,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,UAAU,EAAE;gBACxB,cAAc,EAAE,CAAO,OAA0B,EAAE,EAAE;;oBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;oBACvD,MAAA,IAAI,CAAC,kBAAkB,qDAAG,OAAO,CAAC,CAAC;oBACnC,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAA;gBACD,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrC,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChE,uBAAuB;gBACvB,YAAY,EAAE,IAAI,CAAC,kBAAkB;aACtC,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;KAAA;IAEY,kBAAkB,CAC7B,aAAqC,EACrC,eAAiD,EACjD,aAAsE;;;YAEtE,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;YAEtC,MAAM,KAAK,GAAyB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBAChE,aAAa,EAAE,SAAS;gBACxB,UAAU,EAAE,UAAU,EAAE;gBACxB,OAAO;gBACP,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrC,aAAa;gBACb,aAAa,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;aACnE,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;KAAA;CACF"}
@@ -1,45 +1,17 @@
1
- import { type ConnectionRequest, type Modal, type OTPCode } from '../domain';
2
- import type { AbstractOTPCodeModal } from './modals/base/AbstractOTPModal';
1
+ /**
2
+ * Browser/Web UI module entry point
3
+ */
4
+ import { BaseModalFactory } from './ModalFactory';
3
5
  import type { FactoryModals } from './modals/types';
4
6
  /**
5
- * Preload install modal custom elements only once
7
+ * Web-specific preload that loads Stencil custom elements
6
8
  */
7
9
  export declare function preload(): Promise<void>;
8
- export declare class ModalFactory<T extends FactoryModals = FactoryModals> {
9
- protected readonly options: T;
10
- modal: Modal<any>;
11
- private readonly platform;
12
- private successCallback;
13
- /**
14
- * Creates a new modal factory instance.
15
- *
16
- * @param options - The modals configuration object
17
- */
18
- constructor(options: T);
19
- private validateModals;
20
- unload(error?: Error): Promise<void>;
21
- /**
22
- * Determines if the current platform is a mobile native environment.
23
- * Currently only includes React Native.
24
- */
25
- get isMobile(): boolean;
26
- /**
27
- * Determines if the current platform is a Node.js environment.
28
- * Used for server-side or non-browser environments.
29
- */
30
- get isNode(): boolean;
31
- /**
32
- * Determines if the current platform is a web environment.
33
- * Includes desktop web, MetaMask mobile webview, and mobile web.
34
- */
35
- get isWeb(): boolean;
36
- private getContainer;
37
- private getMountedContainer;
38
- createConnectionDeeplink(connectionRequest?: ConnectionRequest): string;
39
- createConnectionUniversalLink(connectionRequest?: ConnectionRequest): string;
40
- private onCloseModal;
41
- private onStartDesktopOnboarding;
42
- renderInstallModal(showInstallModal: boolean, createConnectionRequest: () => Promise<ConnectionRequest>, successCallback: (error?: Error) => Promise<void>): Promise<void>;
43
- renderOTPCodeModal(createOTPCode: () => Promise<OTPCode>, successCallback: (error?: Error) => Promise<void>, updateOTPCode: (otpCode: OTPCode, modal: AbstractOTPCodeModal) => void): Promise<void>;
10
+ /**
11
+ * ModalFactory for browser/web environments.
12
+ * Loads Stencil web components via dynamic import.
13
+ */
14
+ export declare class ModalFactory<T extends FactoryModals = FactoryModals> extends BaseModalFactory<T> {
15
+ protected preload(): Promise<void>;
44
16
  }
45
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,iBAAiB,EAGtB,KAAK,KAAK,EACV,KAAK,OAAO,EAEb,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,gBAAgB,CAAC;AAShE;;GAEG;AACH,wBAAsB,OAAO,kBAmC5B;AAED,qBAAa,YAAY,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IAYnD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAXlC,KAAK,EAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAE5D,OAAO,CAAC,eAAe,CAAoC;IAE3D;;;;OAIG;gBAC4B,OAAO,EAAE,CAAC;IAIzC,OAAO,CAAC,cAAc;IAUhB,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK;IAK1B;;;OAGG;IACH,IAAI,QAAQ,YAEX;IAED;;;OAGG;IACH,IAAI,MAAM,YAET;IAED;;;OAGG;IACH,IAAI,KAAK,YAMR;IAED,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,mBAAmB;IAW3B,wBAAwB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IAU9D,6BAA6B,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;YAUrD,YAAY;IAM1B,OAAO,CAAC,wBAAwB;IAInB,kBAAkB,CAC7B,gBAAgB,EAAE,OAAO,EACzB,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,EACzD,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC;IA6BtC,kBAAkB,CAC7B,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EACrC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,EACjD,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,KAAK,IAAI;CAqBzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAY7C;AAED;;;GAGG;AACH,qBAAa,YAAY,CACvB,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,gBAAgB,CAAC,CAAC,CAAC;cACX,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzC"}