@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.
- package/CHANGELOG.md +55 -15
- package/README.md +1 -1
- package/dist/browser/es/connect-multichain.d.mts +26 -12
- package/dist/browser/es/connect-multichain.mjs +846 -598
- package/dist/browser/es/connect-multichain.mjs.map +1 -1
- package/dist/browser/es/metafile-esm.json +1 -1
- package/dist/browser/iife/connect-multichain.d.ts +26 -12
- package/dist/browser/iife/connect-multichain.js +4793 -2291
- package/dist/browser/iife/connect-multichain.js.map +1 -1
- package/dist/browser/iife/metafile-iife.json +1 -1
- package/dist/browser/umd/connect-multichain.d.ts +26 -12
- package/dist/browser/umd/connect-multichain.js +846 -598
- package/dist/browser/umd/connect-multichain.js.map +1 -1
- package/dist/browser/umd/metafile-cjs.json +1 -1
- package/dist/node/cjs/connect-multichain.d.ts +26 -12
- package/dist/node/cjs/connect-multichain.js +846 -609
- package/dist/node/cjs/connect-multichain.js.map +1 -1
- package/dist/node/cjs/metafile-cjs.json +1 -1
- package/dist/node/es/connect-multichain.d.mts +26 -12
- package/dist/node/es/connect-multichain.mjs +844 -607
- package/dist/node/es/connect-multichain.mjs.map +1 -1
- package/dist/node/es/metafile-esm.json +1 -1
- package/dist/react-native/es/connect-multichain.d.mts +26 -12
- package/dist/react-native/es/connect-multichain.mjs +827 -592
- package/dist/react-native/es/connect-multichain.mjs.map +1 -1
- package/dist/react-native/es/metafile-esm.json +1 -1
- package/dist/src/domain/multichain/index.d.ts +4 -4
- package/dist/src/domain/multichain/index.d.ts.map +1 -1
- package/dist/src/domain/multichain/index.js.map +1 -1
- package/dist/src/domain/multichain/types.d.ts +4 -6
- package/dist/src/domain/multichain/types.d.ts.map +1 -1
- package/dist/src/domain/ui/types.d.ts +7 -0
- package/dist/src/domain/ui/types.d.ts.map +1 -1
- package/dist/src/domain/ui/types.js.map +1 -1
- package/dist/src/index.browser.d.ts +1 -1
- package/dist/src/index.browser.d.ts.map +1 -1
- package/dist/src/index.browser.js +1 -1
- package/dist/src/index.browser.js.map +1 -1
- package/dist/src/index.native.d.ts +1 -1
- package/dist/src/index.native.d.ts.map +1 -1
- package/dist/src/index.native.js +2 -2
- package/dist/src/index.native.js.map +1 -1
- package/dist/src/index.node.d.ts +1 -1
- package/dist/src/index.node.d.ts.map +1 -1
- package/dist/src/index.node.js +1 -1
- package/dist/src/index.node.js.map +1 -1
- package/dist/src/multichain/index.d.ts +8 -27
- package/dist/src/multichain/index.d.ts.map +1 -1
- package/dist/src/multichain/index.js +480 -427
- package/dist/src/multichain/index.js.map +1 -1
- package/dist/src/multichain/rpc/requestRouter.d.ts.map +1 -1
- package/dist/src/multichain/rpc/requestRouter.js +8 -15
- package/dist/src/multichain/rpc/requestRouter.js.map +1 -1
- package/dist/src/multichain/transports/default/index.d.ts +2 -1
- package/dist/src/multichain/transports/default/index.d.ts.map +1 -1
- package/dist/src/multichain/transports/default/index.js +1 -0
- package/dist/src/multichain/transports/default/index.js.map +1 -1
- package/dist/src/multichain/transports/multichainApiClientWrapper/index.d.ts +21 -0
- package/dist/src/multichain/transports/multichainApiClientWrapper/index.d.ts.map +1 -0
- package/dist/src/multichain/transports/multichainApiClientWrapper/index.js +159 -0
- package/dist/src/multichain/transports/multichainApiClientWrapper/index.js.map +1 -0
- package/dist/src/multichain/transports/mwp/index.d.ts +4 -1
- package/dist/src/multichain/transports/mwp/index.d.ts.map +1 -1
- package/dist/src/multichain/transports/mwp/index.js +76 -6
- package/dist/src/multichain/transports/mwp/index.js.map +1 -1
- package/dist/src/ui/ModalFactory.d.ts +54 -0
- package/dist/src/ui/ModalFactory.d.ts.map +1 -0
- package/dist/src/ui/ModalFactory.js +171 -0
- package/dist/src/ui/ModalFactory.js.map +1 -0
- package/dist/src/ui/index.d.ts +11 -39
- package/dist/src/ui/index.d.ts.map +1 -1
- package/dist/src/ui/index.js +20 -179
- package/dist/src/ui/index.js.map +1 -1
- package/dist/src/ui/index.native.d.ts +13 -0
- package/dist/src/ui/index.native.d.ts.map +1 -0
- package/dist/src/ui/index.native.js +24 -0
- package/dist/src/ui/index.native.js.map +1 -0
- package/dist/src/ui/modals/base/AbstractInstallModal.d.ts.map +1 -1
- package/dist/src/ui/modals/base/AbstractInstallModal.js +0 -4
- package/dist/src/ui/modals/base/AbstractInstallModal.js.map +1 -1
- package/dist/src/ui/modals/node/install.js +2 -2
- package/dist/src/ui/modals/node/install.js.map +1 -1
- package/dist/types/connect-multichain.d.ts +26 -12
- package/package.json +10 -8
- package/dist/src/ui/qr.d.ts +0 -3
- package/dist/src/ui/qr.d.ts.map +0 -1
- package/dist/src/ui/qr.js +0 -32
- 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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
|
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":";;;;;;;;;AAkBA,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAErE,OAAO,EAKL,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,YAAY,GAMb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1C,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1C,MAAM,0BAA0B,GAC9B,uBAAuB,GAAG,uBAAuB,CAAC;AACpD,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AACpD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAChD,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAE5C,MAAM,kBAAkB,GAAG;IACzB,mBAAmB;IACnB,sBAAsB;IACtB,uBAAuB;CACxB,CAAC;AACF,MAAM,wBAAwB,GAAG;IAC/B,sBAAsB;IACtB,0BAA0B;CAC3B,CAAC;AAUF,MAAM,MAAM,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;AAEtD;;;GAGG;AACH,MAAM,OAAO,YAAY;IAWvB,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,IAAI,eAAe,CAAC,eAA6C;QAC/D,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,YACU,UAAsB,EACtB,OAAqB,EACrB,UAAwF;QAC9F,cAAc,EAAE,uBAAuB;QACvC,iBAAiB,EAAE,0BAA0B;QAC7C,aAAa,EAAE,sBAAsB;KACtC;QANO,eAAU,GAAV,UAAU,CAAY;QACtB,YAAO,GAAP,OAAO,CAAc;QACrB,YAAO,GAAP,OAAO,CAId;QA7BK,YAAO,GAAG,CAAC,CAAC;QAEZ,sBAAiB,GAAG,IAAI,GAAG,EAA2B,CAAC;QAEvD,0BAAqB,GAAG,IAAI,GAAG,EAA2B,CAAC;QA2BjE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,IACE,OAAO,MAAM,KAAK,WAAW;YAC7B,OAAO,MAAM,CAAC,gBAAgB,KAAK,WAAW,EAC9C,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,IAAa;QACnC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,aAAa,CACnB,EAAU,EACV,KAAK,GAAG,IAAI,KAAK,CAAC,kBAAkB,CAAC;QAErC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,OAAgB;QACpC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;gBACtB,MAAM,cAAc,GAAG,OAAO,CAAC,IAA+B,CAAC;gBAC/D,IAAI,IAAI,IAAI,cAAc,IAAI,OAAO,cAAc,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACpE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBAC5D,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,eAAe,GAAG,gCACnB,cAAc,KACjB,MAAM,EACJ,OAAO,CAAC,MAAM,KAAK,mBAAmB;gCACtC,OAAO,CAAC,MAAM,KAAK,sBAAsB;gCACvC,CAAC,CAAC,uBAAuB;gCACzB,CAAC,CAAC,OAAO,CAAC,MAAM,GAID,CAAC;wBAEtB,MAAM,YAAY,mCACb,cAAc,KACjB,MAAM,EACJ,OAAO,CAAC,MAAM,KAAK,mBAAmB;gCACtC,OAAO,CAAC,MAAM,KAAK,sBAAsB;gCACvC,CAAC,CAAC,uBAAuB;gCACzB,CAAC,CAAC,OAAO,CAAC,MAAM,EACpB,MAAM,EAAE,eAAe,CAAC,MAAM,GAC/B,CAAC;wBAEF,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC9B,qCAAqC;wBACrC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;wBACnC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBACjC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IACG,OAAO,CAAC,IAA2B,CAAC,MAAM;wBAC3C,uBAAuB,EACvB,CAAC;wBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,eAAe,EACf,IAAI,CAAC,SAAS,CACX,OAAO,CAAC,IAAwC,CAAC,MAAM;6BACrD,OAAO,CACX,CACF,CAAC;oBACJ,CAAC;oBAED,IACG,OAAO,CAAC,IAA2B,CAAC,MAAM;wBAC3C,0BAA0B,EAC1B,CAAC;wBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,kBAAkB,EAClB,IAAI,CAAC,SAAS,CACX,OAAO,CAAC,IAA2C,CAAC,MAAM,CAC5D,CACF,CAAC;oBACJ,CAAC;oBAED,2DAA2D;oBAC3D,IACG,OAAO,CAAC,IAA2B,CAAC,MAAM;wBAC3C,uBAAuB,EACvB,CAAC;wBACD,MAAM,YAAY,GAAG,OAAO,CAAC,IAG5B,CAAC;wBAEF,MAAM,QAAQ,GAAG;4BACf,MAAM,EAAE,YAAY,CAAC,MAAM;yBAC5B,CAAC;wBAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChE,CAAC;oBAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEa,eAAe,CAC3B,aAAyB,EACzB,YAAkC,EAClC,OAA8D;;;YAE9D,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAC;gBAC7C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;oBACxC,MAAM,EAAE,mBAAmB;iBAC5B,CAAC,CAAC;gBACH,uDAAuD;gBACvD,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;oBACzB,OAAO,YAAY,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,aAAa,GAAG,cAAc,CAAC,MAAqB,CAAC;gBACzD,IAAI,aAAa,IAAI,OAAO,EAAE,CAAC;oBAC7B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAC/B,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,mCAAI,EAAE,CACxB,CAAC;oBACb,MAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,EAAE,CAAC;oBAC7C,MAAM,sBAAsB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,EAAE,CAAC;oBAC7D,MAAM,wBAAwB,GAAG,uBAAuB,CACtD,aAAa,EACb,cAAc,EACd,aAAa,EACb,sBAAsB,CACvB,CAAC;oBACF,IAAI,CAAC,wBAAwB,EAAE,CAAC;wBAC9B,MAAM,cAAc,GAAG,gBAAgB,CACrC,iBAAiB,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,EAAE,CAAC,EACxC,gBAAgB,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,EAAE,CAAC,CAChD,CAAC;wBACF,MAAM,cAAc,GAAgC;4BAClD,cAAc;yBACf,CAAC;wBACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;4BAClC,MAAM,EAAE,sBAAsB;4BAC9B,MAAM,EAAE,cAAc;yBACvB,CAAC,CAAC;wBACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;4BACnB,OAAO,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBACzD,CAAC;wBACD,sGAAsG;wBACtG,8HAA8H;wBAC9H,iFAAiF;wBACjF,aAAa,GAAG,QAAQ,CAAC,MAAqB,CAAC;oBACjD,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC5B,uDAAuD;oBACrD,MAAM,cAAc,GAAG,gBAAgB,CACrC,iBAAiB,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,EAAE,CAAC,EACxC,gBAAgB,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,EAAE,CAAC,CAChD,CAAC;oBACF,MAAM,cAAc,GAAgC,EAAE,cAAc,EAAE,CAAC;oBACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;wBAClC,MAAM,EAAE,sBAAsB;wBAC9B,MAAM,EAAE,cAAc;qBACvB,CAAC,CAAC;oBACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACnB,OAAO,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzD,CAAC;oBACD,aAAa,GAAG,QAAQ,CAAC,MAAqB,CAAC;gBACjD,CAAC;gBACD,IAAI,CAAC,eAAe,CAAC;oBACnB,MAAM,EAAE,uBAAuB;oBAC/B,MAAM,EAAE,aAAa;iBACtB,CAAC,CAAC;gBACH,OAAO,aAAa,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;KAAA;IAED,oBAAoB;IACd,kBAAkB,CAGtB,OAAiB,EAAE,OAA8B;;YACjD,MAAM,OAAO,mBACX,OAAO,EAAE,KAAK,EACd,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,IACpB,OAAO,CACX,CAAC;YAEF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;gBAC1C,OAAO,mBAAgC,CAAC;YAC1C,CAAC;YAED,OAAO,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;gBAChD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,qBAAqB,EAAE,CAAC,CAAC;gBAC9D,CAAC,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAEpD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;oBACnC,OAAO;oBACP,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,CAAO,QAA2B,EAAE,EAAE;wBAC7C,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBACjD,OAAO,OAAO,CAAC,QAAqB,CAAC,CAAC;oBACxC,CAAC,CAAA;oBACD,MAAM;oBACN,OAAO;iBACR,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU;qBACZ,WAAW,CAAC;oBACX,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,OAAO;iBACd,CAAC;qBACD,KAAK,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,OAAO,CAAC,OAIb;;YACC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;YAE5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9C,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,OAAuB,CAAC;YAC5B,IAAI,+BAES,CAAC;YACd,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAO,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpE,IAAI,UAAyB,CAAC;gBAC9B,IAAI,OAAO,EAAE,CAAC;oBACZ,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE;;wBAC7D,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;4BAC1C,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;wBAC7D,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,GAAS,EAAE;gCAC3C,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;4BAC7D,CAAC,CAAA,CAAC,CAAC;4BACH,UAAU,CAAC,MAAM,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,mCAAI,EAAE,CAAC,CAAC;wBACvC,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,IAAI,OAAO,CACtB,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,EAAE;;wBACtC,MAAM,cAAc,GAAG,gBAAgB,CACrC,iBAAiB,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,EAAE,CAAC,EACxC,gBAAgB,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,EAAE,CAAC,CAChD,CAAC;wBACF,MAAM,cAAc,GAAgC;4BAClD,cAAc;4BACd,iBAAiB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;yBAC9C,CAAC;wBACF,MAAM,OAAO,GAAG;4BACd,OAAO,EAAE,KAAK;4BACd,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE;4BACvB,MAAM,EAAE,sBAAsB;4BAC9B,MAAM,EAAE,cAAc;yBACvB,CAAC;wBAEF,mCAAmC;wBACnC,+BAA+B,GAAG,CAChC,OAAgB,EACD,EAAE;4BACjB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gCACpD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;oCACtB,MAAM,cAAc,GAAG,OAAO,CAAC,IAG9B,CAAC;oCACF,IACE,cAAc,CAAC,MAAM,KAAK,sBAAsB;wCAChD,cAAc,CAAC,MAAM,KAAK,uBAAuB,EACjD,CAAC;wCACD,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;4CACzB,IAAI,+BAA+B,EAAE,CAAC;gDACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,SAAS,EACT,+BAA+B,CAChC,CAAC;4CACJ,CAAC;4CACD,OAAO,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;wCAChD,CAAC;wCACD,MAAM,IAAI,CAAC,kBAAkB,CAC3B,OAAO,EACP,cAAmC,CACpC,CAAC;wCACF,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;wCACrC,OAAO,iBAAiB,EAAE,CAAC;oCAC7B,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC,CAAA,CAAC;wBAEF,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;wBAE/D,UAAU;6BACP,OAAO,CAAC;4BACP,IAAI,EAAE,SAAS;4BACf,cAAc,EAAE;gCACd,IAAI,EAAE,+BAA+B;gCACrC,IAAI,EAAE,OAAO;6BACd;yBACF,CAAC;6BACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;4BACf,IAAI,+BAA+B,EAAE,CAAC;gCACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,SAAS,EACT,+BAA+B,CAChC,CAAC;4BACJ,CAAC;4BACD,gBAAgB,CAAC,KAAK,CAAC,CAAC;wBAC1B,CAAC,CAAC,CAAC;oBACP,CAAC,CACF,CAAC;gBACJ,CAAC;gBAED,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBACxB,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;gBACtC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAEnC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC,CAAA,CAAC,CAAC;YAEH,OAAO,iBAAiB;iBACrB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,MAAM,KAAK,CAAC;YACd,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,OAAO,EAAE,CAAC;oBACZ,YAAY,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;gBACD,IAAI,+BAA+B,EAAE,CAAC;oBACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;oBAChE,+BAA+B,GAAG,SAAS,CAAC;gBAC9C,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAED;;;;OAIG;IACG,UAAU;;YACd,uCAAuC;YACvC,IACE,OAAO,MAAM,KAAK,WAAW;gBAC7B,OAAO,MAAM,CAAC,mBAAmB,KAAK,WAAW;gBACjD,IAAI,CAAC,kBAAkB,EACvB,CAAC;gBACD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC7D,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACtC,CAAC;KAAA;IAED;;;;OAIG;IACH,WAAW;QACT,kGAAkG;QAClG,OAAQ,IAAI,CAAC,UAAkB,CAAC,KAAK,KAAK,WAAW,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,uHAAuH;IACvH,kEAAkE;IACpD,oBAAoB;;YAChC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBAClC,wCAAwC;gBACxC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACtC,CAAC,EAAE,IAAK,CAAC,CAAC;oBAEV,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;wBACvB,YAAY,CAAC,OAAO,CAAC,CAAC;wBACtB,OAAO,EAAE,CAAC;oBACZ,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;4BACrC,YAAY,CAAC,OAAO,CAAC,CAAC;4BACtB,OAAO,EAAE,CAAC;wBACZ,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CACxD,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IAEa,iBAAiB,CAC7B,OAA2D;;;YAE3D,IAAI,OAAO,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;gBAC3C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACnE,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBACnD,OAAO;wBACL,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,MAAA,aAAa,CAAC,MAAM,mCAAI,aAAa,CAAC,MAAM,EAAE,yCAAyC;wBAC/F,MAAM,EAAE,OAAO,CAAC,MAAM;qBACS,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC7C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC/D,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO;wBACL,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;wBAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;qBACS,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC5C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC3D,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO;wBACL,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;wBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;qBACS,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAEa,kBAAkB,CAC9B,OAAyB,EACzB,QAA2B;;YAE3B,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAChC,CAAC;YACJ,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;KAAA;IAEK,OAAO,CAGX,OAAiB,EAAE,OAA8B;;YACjD,MAAM,OAAO,mBACX,OAAO,EAAE,KAAK,EACd,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,IACpB,OAAO,CACX,CAAC;YAEF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;gBAC1C,OAAO,mBAAgC,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpC,CAAC;YAED,OAAO,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;gBAChD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,qBAAqB,EAAE,CAAC,CAAC;gBAC9D,CAAC,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAEpD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;oBACnC,OAAO;oBACP,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,CAAO,QAA2B,EAAE,EAAE;wBAC7C,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBACjD,OAAO,OAAO,CAAC,QAAqB,CAAC,CAAC;oBACxC,CAAC,CAAA;oBACD,MAAM;oBACN,OAAO;iBACR,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU;qBACZ,WAAW,CAAC;oBACX,IAAI,EAAE,+BAA+B;oBACrC,IAAI,EAAE,OAAO;iBACd,CAAC;qBACD,KAAK,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,cAAc,CAAC,QAAiC;QAC9C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC;IAEK,gBAAgB;;YACpB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;YAE/C,IAAI,CAAC;gBACH,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;gBAClD,OAAO,aAAa,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,8CAA8C;gBAC9C,MAAM,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBAC9C,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;KAAA;IAED,qFAAqF;IACrF,2FAA2F;IAC3F,oGAAoG;IACpG,uGAAuG;IACvG,iHAAiH;IACjH,mHAAmH;IACnH,gHAAgH;IAChH,4GAA4G;IAC9F,+BAA+B;;YAC3C,MAAM,8BAA8B,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACjF,IAAI,8BAA8B,EAAE,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,IAAI,WAAuB,CAAC;YAC5B,MAAM,eAAe,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACpD,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;wBACpD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;4BACtB,MAAM,cAAc,GAAG,OAAO,CAAC,IAA+B,CAAC;4BAC/D,IAAI,cAAc,CAAC,MAAM,KAAK,mBAAmB,IAAI,cAAc,CAAC,MAAM,KAAK,uBAAuB,EAAE,CAAC;gCACvG,WAAW,EAAE,CAAC;gCACd,OAAO,EAAE,CAAC;4BACZ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;gBAC5D,UAAU,CAAC,GAAG,EAAE;oBACd,WAAW,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;gBACtC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;QACzD,CAAC;KAAA;CACF"}
|
|
@@ -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":"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"}
|
package/dist/src/ui/index.d.ts
CHANGED
|
@@ -1,45 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
*
|
|
7
|
+
* Web-specific preload that loads Stencil custom elements
|
|
6
8
|
*/
|
|
7
9
|
export declare function preload(): Promise<void>;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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":"
|
|
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"}
|