@metamask/connect-multichain 0.4.0 → 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 (85) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/dist/browser/es/connect-multichain.d.mts +26 -9
  3. package/dist/browser/es/connect-multichain.mjs +341 -78
  4. package/dist/browser/es/connect-multichain.mjs.map +1 -1
  5. package/dist/browser/es/metafile-esm.json +1 -1
  6. package/dist/browser/iife/connect-multichain.d.ts +26 -9
  7. package/dist/browser/iife/connect-multichain.js +961 -151
  8. package/dist/browser/iife/connect-multichain.js.map +1 -1
  9. package/dist/browser/iife/metafile-iife.json +1 -1
  10. package/dist/browser/umd/connect-multichain.d.ts +26 -9
  11. package/dist/browser/umd/connect-multichain.js +341 -78
  12. package/dist/browser/umd/connect-multichain.js.map +1 -1
  13. package/dist/browser/umd/metafile-cjs.json +1 -1
  14. package/dist/node/cjs/connect-multichain.d.ts +26 -9
  15. package/dist/node/cjs/connect-multichain.js +342 -79
  16. package/dist/node/cjs/connect-multichain.js.map +1 -1
  17. package/dist/node/cjs/metafile-cjs.json +1 -1
  18. package/dist/node/es/connect-multichain.d.mts +26 -9
  19. package/dist/node/es/connect-multichain.mjs +341 -78
  20. package/dist/node/es/connect-multichain.mjs.map +1 -1
  21. package/dist/node/es/metafile-esm.json +1 -1
  22. package/dist/react-native/es/connect-multichain.d.mts +26 -9
  23. package/dist/react-native/es/connect-multichain.mjs +328 -69
  24. package/dist/react-native/es/connect-multichain.mjs.map +1 -1
  25. package/dist/react-native/es/metafile-esm.json +1 -1
  26. package/dist/src/domain/multichain/index.d.ts +4 -4
  27. package/dist/src/domain/multichain/index.d.ts.map +1 -1
  28. package/dist/src/domain/multichain/index.js.map +1 -1
  29. package/dist/src/domain/multichain/types.d.ts +4 -3
  30. package/dist/src/domain/multichain/types.d.ts.map +1 -1
  31. package/dist/src/domain/ui/types.d.ts +7 -0
  32. package/dist/src/domain/ui/types.d.ts.map +1 -1
  33. package/dist/src/domain/ui/types.js.map +1 -1
  34. package/dist/src/index.browser.d.ts +1 -1
  35. package/dist/src/index.browser.d.ts.map +1 -1
  36. package/dist/src/index.browser.js +1 -1
  37. package/dist/src/index.browser.js.map +1 -1
  38. package/dist/src/index.native.d.ts +1 -1
  39. package/dist/src/index.native.d.ts.map +1 -1
  40. package/dist/src/index.native.js +2 -2
  41. package/dist/src/index.native.js.map +1 -1
  42. package/dist/src/index.node.d.ts +1 -1
  43. package/dist/src/index.node.d.ts.map +1 -1
  44. package/dist/src/index.node.js +1 -1
  45. package/dist/src/index.node.js.map +1 -1
  46. package/dist/src/multichain/index.d.ts +6 -6
  47. package/dist/src/multichain/index.d.ts.map +1 -1
  48. package/dist/src/multichain/index.js +103 -43
  49. package/dist/src/multichain/index.js.map +1 -1
  50. package/dist/src/multichain/transports/default/index.d.ts +2 -1
  51. package/dist/src/multichain/transports/default/index.d.ts.map +1 -1
  52. package/dist/src/multichain/transports/default/index.js +1 -0
  53. package/dist/src/multichain/transports/default/index.js.map +1 -1
  54. package/dist/src/multichain/transports/multichainApiClientWrapper/index.d.ts +21 -0
  55. package/dist/src/multichain/transports/multichainApiClientWrapper/index.d.ts.map +1 -0
  56. package/dist/src/multichain/transports/multichainApiClientWrapper/index.js +159 -0
  57. package/dist/src/multichain/transports/multichainApiClientWrapper/index.js.map +1 -0
  58. package/dist/src/multichain/transports/mwp/index.d.ts +4 -1
  59. package/dist/src/multichain/transports/mwp/index.d.ts.map +1 -1
  60. package/dist/src/multichain/transports/mwp/index.js +54 -2
  61. package/dist/src/multichain/transports/mwp/index.js.map +1 -1
  62. package/dist/src/ui/ModalFactory.d.ts +54 -0
  63. package/dist/src/ui/ModalFactory.d.ts.map +1 -0
  64. package/dist/src/ui/ModalFactory.js +171 -0
  65. package/dist/src/ui/ModalFactory.js.map +1 -0
  66. package/dist/src/ui/index.d.ts +14 -38
  67. package/dist/src/ui/index.d.ts.map +1 -1
  68. package/dist/src/ui/index.js +24 -142
  69. package/dist/src/ui/index.js.map +1 -1
  70. package/dist/src/ui/index.native.d.ts +13 -0
  71. package/dist/src/ui/index.native.d.ts.map +1 -0
  72. package/dist/src/ui/{preload.native.js → index.native.js} +12 -6
  73. package/dist/src/ui/index.native.js.map +1 -0
  74. package/dist/src/ui/modals/base/AbstractInstallModal.d.ts.map +1 -1
  75. package/dist/src/ui/modals/base/AbstractInstallModal.js +0 -4
  76. package/dist/src/ui/modals/base/AbstractInstallModal.js.map +1 -1
  77. package/dist/types/connect-multichain.d.ts +26 -9
  78. package/package.json +4 -2
  79. package/dist/src/ui/preload.native.d.ts +0 -5
  80. package/dist/src/ui/preload.native.d.ts.map +0 -1
  81. package/dist/src/ui/preload.native.js.map +0 -1
  82. package/dist/src/ui/preload.web.d.ts +0 -5
  83. package/dist/src/ui/preload.web.d.ts.map +0 -1
  84. package/dist/src/ui/preload.web.js +0 -27
  85. package/dist/src/ui/preload.web.js.map +0 -1
@@ -0,0 +1,159 @@
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
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
12
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
13
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
14
+ };
15
+ var _MultichainApiClientWrapperTransport_instances, _MultichainApiClientWrapperTransport_walletCreateSession, _MultichainApiClientWrapperTransport_walletGetSession, _MultichainApiClientWrapperTransport_walletRevokeSession, _MultichainApiClientWrapperTransport_walletInvokeMethod;
16
+ import { providerErrors } from '@metamask/rpc-errors';
17
+ // uint32 (two's complement) max
18
+ // more conservative than Number.MAX_SAFE_INTEGER
19
+ const MAX = 4294967295;
20
+ let idCounter = Math.floor(Math.random() * MAX);
21
+ const getUniqueId = () => {
22
+ idCounter = (idCounter + 1) % MAX;
23
+ return idCounter;
24
+ };
25
+ export class MultichainApiClientWrapperTransport {
26
+ constructor(multichainSDK) {
27
+ _MultichainApiClientWrapperTransport_instances.add(this);
28
+ this.multichainSDK = multichainSDK;
29
+ this.requestId = getUniqueId();
30
+ this.notificationCallbacks = new Set();
31
+ }
32
+ isTransportDefined() {
33
+ try {
34
+ return Boolean(this.multichainSDK.transport);
35
+ }
36
+ catch (error) {
37
+ return false;
38
+ }
39
+ }
40
+ clearNotificationCallbacks() {
41
+ this.notificationCallbacks.clear();
42
+ }
43
+ notifyCallbacks(data) {
44
+ this.notificationCallbacks.forEach((callback) => {
45
+ callback(data);
46
+ });
47
+ }
48
+ setupNotifcationListener() {
49
+ this.multichainSDK.transport.onNotification(this.notifyCallbacks.bind(this));
50
+ }
51
+ connect() {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ console.log('📚 connect');
54
+ // noop
55
+ return Promise.resolve();
56
+ });
57
+ }
58
+ disconnect() {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ return Promise.resolve();
61
+ });
62
+ }
63
+ isConnected() {
64
+ return true;
65
+ }
66
+ request(params_1) {
67
+ return __awaiter(this, arguments, void 0, function* (params, _options = {}) {
68
+ const id = this.requestId++;
69
+ const requestPayload = Object.assign({ id, jsonrpc: '2.0' }, params);
70
+ switch (requestPayload.method) {
71
+ case 'wallet_createSession':
72
+ return __classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_instances, "m", _MultichainApiClientWrapperTransport_walletCreateSession).call(this, requestPayload);
73
+ case 'wallet_getSession':
74
+ return __classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_instances, "m", _MultichainApiClientWrapperTransport_walletGetSession).call(this, requestPayload);
75
+ case 'wallet_revokeSession':
76
+ return __classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_instances, "m", _MultichainApiClientWrapperTransport_walletRevokeSession).call(this, requestPayload);
77
+ case 'wallet_invokeMethod':
78
+ return __classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_instances, "m", _MultichainApiClientWrapperTransport_walletInvokeMethod).call(this, requestPayload);
79
+ default:
80
+ throw new Error(`Unsupported method: ${requestPayload.method}`);
81
+ }
82
+ throw new Error(`Unknown method: ${requestPayload.method}`);
83
+ });
84
+ }
85
+ onNotification(callback) {
86
+ if (!this.isTransportDefined()) {
87
+ this.notificationCallbacks.add(callback);
88
+ return () => {
89
+ this.notificationCallbacks.delete(callback);
90
+ };
91
+ }
92
+ return this.multichainSDK.transport.onNotification(callback);
93
+ }
94
+ }
95
+ _MultichainApiClientWrapperTransport_instances = new WeakSet(), _MultichainApiClientWrapperTransport_walletCreateSession = function _MultichainApiClientWrapperTransport_walletCreateSession(request) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ console.log('📚 #walletCreateSession', request);
98
+ const createSessionParams = request.params;
99
+ const scopes = Object.keys(Object.assign(Object.assign({}, createSessionParams.optionalScopes), createSessionParams.requiredScopes));
100
+ const scopeAccounts = [];
101
+ scopes.forEach((scope) => {
102
+ var _a, _b, _c, _d;
103
+ const requiredScope = (_a = createSessionParams.requiredScopes) === null || _a === void 0 ? void 0 : _a[scope];
104
+ const optionalScope = (_b = createSessionParams.optionalScopes) === null || _b === void 0 ? void 0 : _b[scope];
105
+ if (requiredScope) {
106
+ scopeAccounts.push(...((_c = requiredScope.accounts) !== null && _c !== void 0 ? _c : []));
107
+ }
108
+ if (optionalScope) {
109
+ scopeAccounts.push(...((_d = optionalScope.accounts) !== null && _d !== void 0 ? _d : []));
110
+ }
111
+ });
112
+ const accounts = [...new Set(scopeAccounts)];
113
+ console.log('📚 SDK connect');
114
+ yield this.multichainSDK.connect(scopes, accounts, createSessionParams.sessionProperties);
115
+ console.log('📚 SDK connected');
116
+ return this.multichainSDK.transport.request({
117
+ method: 'wallet_getSession',
118
+ });
119
+ });
120
+ }, _MultichainApiClientWrapperTransport_walletGetSession = function _MultichainApiClientWrapperTransport_walletGetSession(request) {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ if (!this.isTransportDefined()) {
123
+ return {
124
+ jsonrpc: '2.0',
125
+ id: request.id,
126
+ result: {
127
+ sessionScopes: {},
128
+ },
129
+ };
130
+ }
131
+ return this.multichainSDK.transport.request({
132
+ method: 'wallet_getSession',
133
+ });
134
+ });
135
+ }, _MultichainApiClientWrapperTransport_walletRevokeSession = function _MultichainApiClientWrapperTransport_walletRevokeSession(request) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ if (!this.isTransportDefined()) {
138
+ return { jsonrpc: '2.0', id: request.id, result: true };
139
+ }
140
+ try {
141
+ this.multichainSDK.disconnect();
142
+ return { jsonrpc: '2.0', id: request.id, result: true };
143
+ }
144
+ catch (error) {
145
+ return { jsonrpc: '2.0', id: request.id, result: false };
146
+ }
147
+ });
148
+ }, _MultichainApiClientWrapperTransport_walletInvokeMethod = function _MultichainApiClientWrapperTransport_walletInvokeMethod(request) {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ if (!this.isTransportDefined()) {
151
+ return { error: providerErrors.unauthorized() };
152
+ }
153
+ const result = this.multichainSDK.invokeMethod(request.params);
154
+ return {
155
+ result,
156
+ };
157
+ });
158
+ };
159
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/multichainApiClientWrapper/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Session, SessionRequest } from '@metamask/mobile-wallet-protocol-core';
2
2
  import type { DappClient } from '@metamask/mobile-wallet-protocol-dapp-client';
3
- import { type TransportRequest, type TransportResponse } from '@metamask/multichain-api-client';
3
+ import { SessionProperties, type TransportRequest, type TransportResponse } from '@metamask/multichain-api-client';
4
4
  import type { CaipAccountId } from '@metamask/utils';
5
5
  import { type ExtendedTransport, type Scope, type StoreAdapter } from '../../../domain';
6
6
  type PendingRequests = {
@@ -32,6 +32,7 @@ export declare class MWPTransport implements ExtendedTransport {
32
32
  constructor(dappClient: DappClient, kvstore: StoreAdapter, options?: {
33
33
  requestTimeout: number;
34
34
  connectionTimeout: number;
35
+ resumeTimeout: number;
35
36
  });
36
37
  private onWindowFocus;
37
38
  private notifyCallbacks;
@@ -44,6 +45,7 @@ export declare class MWPTransport implements ExtendedTransport {
44
45
  connect(options?: {
45
46
  scopes: Scope[];
46
47
  caipAccountIds: CaipAccountId[];
48
+ sessionProperties?: SessionProperties;
47
49
  }): Promise<void>;
48
50
  /**
49
51
  * Disconnects from the Mobile Wallet Protocol
@@ -70,6 +72,7 @@ export declare class MWPTransport implements ExtendedTransport {
70
72
  }): Promise<TResponse>;
71
73
  onNotification(callback: (data: unknown) => void): () => void;
72
74
  getActiveSession(): Promise<Session | undefined>;
75
+ private waitForWalletSessionIfNotCached;
73
76
  }
74
77
  export {};
75
78
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAEL,KAAK,iBAAiB,EAEtB,KAAK,KAAK,EAEV,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AA2BzB,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,CAAC;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;CACzB,CAAC;AAIF;;;GAGG;AACH,qBAAa,YAAa,YAAW,iBAAiB;IAwBlD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAzBjB,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,iBAAiB,CAAsC;IAE/D,OAAO,CAAC,qBAAqB,CAAsC;IAEnE,OAAO,CAAC,qBAAqB,CAA6B;IAE1D,OAAO,CAAC,kBAAkB,CAA2B;IAErD,IAAI,eAAe,IAIkB,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAFhE;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EAEhE;IAED,IAAI,cAAc,+BAEjB;gBAGS,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAGnE;IAYH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;YAkEP,eAAe;IAuEvB,kBAAkB,CACtB,QAAQ,SAAS,gBAAgB,EACjC,SAAS,SAAS,iBAAiB,EACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAsClE,OAAO,CAAC,OAAO,CAAC,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,cAAc,EAAE,aAAa,EAAE,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyHjB;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAKtB;;;;OAIG;YAGW,oBAAoB;YA0BpB,iBAAiB;YAqCjB,kBAAkB;IAuB1B,OAAO,CACX,QAAQ,SAAS,gBAAgB,EACjC,SAAS,SAAS,iBAAiB,EACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IA0CxE,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAOvD,gBAAgB,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;CAavD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAEL,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAEL,KAAK,iBAAiB,EAEtB,KAAK,KAAK,EAEV,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AA4BzB,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,CAAC;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;CACzB,CAAC;AAIF;;;GAGG;AACH,qBAAa,YAAa,YAAW,iBAAiB;IAwBlD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAzBjB,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,iBAAiB,CAAsC;IAE/D,OAAO,CAAC,qBAAqB,CAAsC;IAEnE,OAAO,CAAC,qBAAqB,CAA6B;IAE1D,OAAO,CAAC,kBAAkB,CAA2B;IAErD,IAAI,eAAe,IAIkB,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAFhE;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EAEhE;IAED,IAAI,cAAc,+BAEjB;gBAGS,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAI1F;IAYH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;YAoFP,eAAe;IA0EvB,kBAAkB,CACtB,QAAQ,SAAS,gBAAgB,EACjC,SAAS,SAAS,iBAAiB,EACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAsClE,OAAO,CAAC,OAAO,CAAC,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,cAAc,EAAE,aAAa,EAAE,CAAC;QAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC;IA0HjB;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAKtB;;;;OAIG;YAGW,oBAAoB;YA0BpB,iBAAiB;YAqCjB,kBAAkB;IAuB1B,OAAO,CACX,QAAQ,SAAS,gBAAgB,EACjC,SAAS,SAAS,iBAAiB,EACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IA0CxE,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAOvD,gBAAgB,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;YAsBxC,+BAA+B;CA6B9C"}
@@ -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({
@@ -211,7 +225,7 @@ export class MWPTransport {
211
225
  }
212
226
  let timeout;
213
227
  let initialConnectionMessageHandler;
214
- const connectionPromise = new Promise((resolve, reject) => {
228
+ const connectionPromise = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
215
229
  let connection;
216
230
  if (session) {
217
231
  connection = new Promise((resumeResolve, resumeReject) => {
@@ -233,6 +247,7 @@ export class MWPTransport {
233
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 : []));
234
248
  const sessionRequest = {
235
249
  optionalScopes,
250
+ sessionProperties: options === null || options === void 0 ? void 0 : options.sessionProperties,
236
251
  };
237
252
  const request = {
238
253
  jsonrpc: '2.0',
@@ -281,7 +296,7 @@ export class MWPTransport {
281
296
  reject(new TransportTimeoutError());
282
297
  }, this.options.connectionTimeout);
283
298
  connection.then(resolve).catch(reject);
284
- });
299
+ }));
285
300
  return connectionPromise
286
301
  .catch((error) => {
287
302
  throw error;
@@ -475,5 +490,42 @@ export class MWPTransport {
475
490
  }
476
491
  });
477
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
+ }
478
530
  }
479
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"}