@meshconnect/uwc-core 1.10.4 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/events.d.ts +46 -2
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +2 -0
- package/dist/events.js.map +1 -1
- package/dist/observability/instrument-handoff.d.ts +8 -1
- package/dist/observability/instrument-handoff.d.ts.map +1 -1
- package/dist/observability/instrument-handoff.js +9 -2
- package/dist/observability/instrument-handoff.js.map +1 -1
- package/dist/observability/lifecycle-bridge.d.ts +31 -13
- package/dist/observability/lifecycle-bridge.d.ts.map +1 -1
- package/dist/observability/lifecycle-bridge.js +194 -92
- package/dist/observability/lifecycle-bridge.js.map +1 -1
- package/dist/observability/telemetry.d.ts +15 -1
- package/dist/observability/telemetry.d.ts.map +1 -1
- package/dist/observability/telemetry.js +15 -0
- package/dist/observability/telemetry.js.map +1 -1
- package/dist/services/connection-service.d.ts +109 -0
- package/dist/services/connection-service.d.ts.map +1 -1
- package/dist/services/connection-service.js +407 -22
- package/dist/services/connection-service.js.map +1 -1
- package/dist/services/network-switch-service.d.ts.map +1 -1
- package/dist/services/network-switch-service.js +4 -1
- package/dist/services/network-switch-service.js.map +1 -1
- package/dist/services/signature-service.d.ts +4 -3
- package/dist/services/signature-service.d.ts.map +1 -1
- package/dist/services/signature-service.js +2 -1
- package/dist/services/signature-service.js.map +1 -1
- package/dist/universal-wallet-connector.d.ts +15 -3
- package/dist/universal-wallet-connector.d.ts.map +1 -1
- package/dist/universal-wallet-connector.js +31 -2
- package/dist/universal-wallet-connector.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +5 -5
- package/src/events.ts +51 -3
- package/src/observability/instrument-handoff.ts +8 -2
- package/src/observability/lifecycle-bridge.test.ts +316 -0
- package/src/observability/lifecycle-bridge.ts +240 -99
- package/src/observability/telemetry.ts +32 -1
- package/src/services/connection-service.reentrancy.test.ts +87 -0
- package/src/services/connection-service.test.ts +798 -1
- package/src/services/connection-service.ts +492 -39
- package/src/services/network-switch-service.test.ts +33 -0
- package/src/services/network-switch-service.ts +4 -1
- package/src/services/signature-service.test.ts +9 -2
- package/src/services/signature-service.ts +4 -3
- package/src/universal-wallet-connector.observability.test.ts +126 -3
- package/src/universal-wallet-connector.ts +43 -4
- package/src/version.ts +1 -1
|
@@ -2,6 +2,12 @@ import { NoCommonNetworkError } from '@meshconnect/uwc-types';
|
|
|
2
2
|
import { raceAbort } from '../utils/abort';
|
|
3
3
|
import { instrumentHandoff } from '../observability/instrument-handoff';
|
|
4
4
|
import { attachLifecycle } from '../observability/lifecycle-bridge';
|
|
5
|
+
/** Sibling-namespace live-account re-read poll: absorbs the lag while a wallet
|
|
6
|
+
* re-derives a sibling namespace's address (e.g. MetaMask's Solana Snap) after
|
|
7
|
+
* an account switch on another namespace. Bounded so a genuinely-unchanged
|
|
8
|
+
* sibling gives up quickly. */
|
|
9
|
+
export const SIBLING_REFRESH_MAX_ATTEMPTS = 5;
|
|
10
|
+
export const SIBLING_REFRESH_DELAY_MS = 200;
|
|
5
11
|
export class ConnectionService {
|
|
6
12
|
networks;
|
|
7
13
|
wallets;
|
|
@@ -13,6 +19,12 @@ export class ConnectionService {
|
|
|
13
19
|
activeConnector = null;
|
|
14
20
|
/** Tears down the post-connect lifecycle subscription; set while connected. */
|
|
15
21
|
lifecycleTeardown;
|
|
22
|
+
/**
|
|
23
|
+
* Teardowns for the accounts-sync attachments of the session's SECONDARY
|
|
24
|
+
* namespaces (see `attachSecondaryAccountSync`); set while connected,
|
|
25
|
+
* cleared together with `lifecycleTeardown`.
|
|
26
|
+
*/
|
|
27
|
+
secondaryAccountSyncTeardowns = [];
|
|
16
28
|
/**
|
|
17
29
|
* Abort handle for the CURRENT in-flight connect attempt. A re-entrant
|
|
18
30
|
* connect() aborts this before starting, so a superseded attempt's URI poll
|
|
@@ -21,6 +33,26 @@ export class ConnectionService {
|
|
|
21
33
|
* each reading the shared activeConnector, and flood telemetry).
|
|
22
34
|
*/
|
|
23
35
|
inFlightAbort = null;
|
|
36
|
+
/**
|
|
37
|
+
* Monotonic token for the in-flight cross-namespace sibling refresh (see
|
|
38
|
+
* `refreshSiblingNamespaces`). A newer account switch, a teardown, or a
|
|
39
|
+
* disconnect bumps it so a still-polling older refresh aborts before it
|
|
40
|
+
* writes a now-stale sibling address into the session.
|
|
41
|
+
*/
|
|
42
|
+
siblingRefreshGeneration = 0;
|
|
43
|
+
/**
|
|
44
|
+
* Routing for the connect currently inside `instrumentHandoff`, read by the
|
|
45
|
+
* connector's step sink so each `walletStep` joins its own attempt's terminal
|
|
46
|
+
* (ONC-183). Carries `walletId` too: during a connect the session still holds
|
|
47
|
+
* the PREVIOUS wallet (it is only updated once the handoff resolves), so
|
|
48
|
+
* reading the wallet off the session would label every step with the wrong
|
|
49
|
+
* one. A single slot is sufficient because connects are serialized by the
|
|
50
|
+
* supersession above — a re-entrant connect aborts the previous attempt
|
|
51
|
+
* before starting — and it is cleared the moment the handoff settles, so a
|
|
52
|
+
* step arriving outside one is reported unattributed rather than being folded
|
|
53
|
+
* into a finished attempt.
|
|
54
|
+
*/
|
|
55
|
+
currentHandoff;
|
|
24
56
|
constructor(networks, wallets, sessionManager, connectors, usingIntegratedBrowser, eventManager,
|
|
25
57
|
// Observational wallet-response deadline for the handoff timeout marker.
|
|
26
58
|
walletResponseTimeoutMs) {
|
|
@@ -85,20 +117,23 @@ export class ConnectionService {
|
|
|
85
117
|
walletId,
|
|
86
118
|
namespace: network.namespace,
|
|
87
119
|
chainId: network.id
|
|
88
|
-
}, async () => {
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (connectionMode === 'injected') {
|
|
94
|
-
return await raceAbort(connector.connect(network, provider), signal);
|
|
120
|
+
}, async (handoffId) => {
|
|
121
|
+
// Publish this attempt's routing for the connector's step sink.
|
|
122
|
+
this.currentHandoff = { handoffId, walletId };
|
|
123
|
+
try {
|
|
124
|
+
return await this.runConnect(connectionMode, connector, network, provider, signal);
|
|
95
125
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
126
|
+
finally {
|
|
127
|
+
// Retract ONLY if we are still the published attempt. An
|
|
128
|
+
// unconditional clear was wrong: a superseded attempt A rejects via
|
|
129
|
+
// its abort listener, and that rejection's continuation runs in a
|
|
130
|
+
// microtask — i.e. AFTER the re-entrant attempt B has already
|
|
131
|
+
// synchronously published its own handoff. A's `finally` then wiped
|
|
132
|
+
// B's live value, leaving a still-pending B whose steps reported no
|
|
133
|
+
// handoffId at all (ONC-183 review, reproduced).
|
|
134
|
+
if (this.currentHandoff?.handoffId === handoffId) {
|
|
135
|
+
this.currentHandoff = undefined;
|
|
136
|
+
}
|
|
102
137
|
}
|
|
103
138
|
});
|
|
104
139
|
// Belt-and-suspenders: if the signal fired between raceAbort resolving
|
|
@@ -146,6 +181,31 @@ export class ConnectionService {
|
|
|
146
181
|
// disconnect, expiry) from the live provider — telemetry only, never changes
|
|
147
182
|
// connection behaviour. Torn down on disconnect.
|
|
148
183
|
this.attachLifecycle(connectionMode, wallet.id, network.namespace);
|
|
184
|
+
this.attachSecondaryAccountSync(connectionMode, wallet.id, network.namespace);
|
|
185
|
+
}
|
|
186
|
+
/** Routing for the connect currently in flight, if any (see the field). */
|
|
187
|
+
getCurrentHandoff() {
|
|
188
|
+
return this.currentHandoff;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Dispatch the mode-specific connector call. Extracted from `connect` so the
|
|
192
|
+
* handoff wrapper's body stays the handoffId bookkeeping alone.
|
|
193
|
+
*/
|
|
194
|
+
async runConnect(connectionMode, connector, network, provider, signal) {
|
|
195
|
+
// Race the connector call against the AbortSignal so a mid-flight abort
|
|
196
|
+
// (e.g. user cancels the WalletConnect QR while the prompt is open)
|
|
197
|
+
// rejects the caller's await promptly. The underlying wallet prompt
|
|
198
|
+
// itself can't be cancelled, but the dapp UI is no longer blocked on it.
|
|
199
|
+
if (connectionMode === 'injected') {
|
|
200
|
+
return await raceAbort(connector.connect(network, provider), signal);
|
|
201
|
+
}
|
|
202
|
+
else if (connectionMode === 'tonConnect' ||
|
|
203
|
+
connectionMode === 'walletConnect') {
|
|
204
|
+
return await raceAbort(this.connectWithURIPoll(connector, network, provider, connectionMode, signal), signal);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
throw new Error(`Unsupported connection mode: ${connectionMode}`);
|
|
208
|
+
}
|
|
149
209
|
}
|
|
150
210
|
/** Wire the active connector's lifecycle stream onto the bus (or signal absence). */
|
|
151
211
|
attachLifecycle(connectionMode, walletId, namespace, initialSwitch) {
|
|
@@ -166,6 +226,14 @@ export class ConnectionService {
|
|
|
166
226
|
walletId
|
|
167
227
|
})
|
|
168
228
|
: undefined,
|
|
229
|
+
subscribeAccounts: connector?.onAccountsChanged
|
|
230
|
+
? listener => connector.onAccountsChanged(listener, {
|
|
231
|
+
connectionMode,
|
|
232
|
+
namespace,
|
|
233
|
+
walletId
|
|
234
|
+
})
|
|
235
|
+
: undefined,
|
|
236
|
+
onAccountsChanged: accounts => this.handleAccountsChanged(accounts, namespace),
|
|
169
237
|
getRouting: () => {
|
|
170
238
|
const s = this.sessionManager.getSession();
|
|
171
239
|
return {
|
|
@@ -186,6 +254,66 @@ export class ConnectionService {
|
|
|
186
254
|
: 'direct'
|
|
187
255
|
});
|
|
188
256
|
}
|
|
257
|
+
/**
|
|
258
|
+
* Apply a REAL account-list change (from `Connector.onAccountsChanged`, via
|
|
259
|
+
* the lifecycle bridge's second stream) to the session. `namespace` is the
|
|
260
|
+
* namespace of the provider that reported the change — `activeAddress`
|
|
261
|
+
* only moves when that matches the session's currently active network; an
|
|
262
|
+
* empty list is a full, wallet-initiated disconnect.
|
|
263
|
+
*/
|
|
264
|
+
handleAccountsChanged(accounts, namespace) {
|
|
265
|
+
if (accounts.length === 0) {
|
|
266
|
+
// Idempotency guard: this runs synchronously FROM INSIDE the
|
|
267
|
+
// connector's own accountsChanged dispatch — finishDisconnect() below
|
|
268
|
+
// tears down (among other things) the very subscription that is
|
|
269
|
+
// currently delivering this callback. If a wallet double-fires the
|
|
270
|
+
// empty-array disconnect signal (or one slips through before teardown
|
|
271
|
+
// takes effect), `activeConnector` is already null from the first call
|
|
272
|
+
// — skip re-clearing an already-cleared session and re-emitting
|
|
273
|
+
// disconnected/sessionChanged a second time. Scoped to THIS wallet-
|
|
274
|
+
// initiated path only; the public disconnect() below still always
|
|
275
|
+
// runs finishDisconnect() defensively, even with no active connector.
|
|
276
|
+
if (this.activeConnector === null)
|
|
277
|
+
return;
|
|
278
|
+
// The wallet ended the session on its own side, but the connector's
|
|
279
|
+
// OWN local state (e.g. EthereumWalletService's cached account/
|
|
280
|
+
// provider/uuid) is never cleared by finishDisconnect() below — it
|
|
281
|
+
// only clears core's sessionManager. Left uncleared, a later connect
|
|
282
|
+
// to a DIFFERENT wallet reads that stale cached account via
|
|
283
|
+
// checkExistingConnections() and never rebinds to the new wallet's
|
|
284
|
+
// provider/uuid, silently keeping the old wallet's address live under
|
|
285
|
+
// the new wallet's session. disconnect() is fire-and-forget and
|
|
286
|
+
// error-swallowed here: for injected connectors it's local-only
|
|
287
|
+
// cleanup (safe to call any number of times), and for protocol-based
|
|
288
|
+
// connectors that might reject on an already-closed session, there is
|
|
289
|
+
// no caller to propagate that error to anyway.
|
|
290
|
+
this.activeConnector?.disconnect?.().catch(() => { });
|
|
291
|
+
this.finishDisconnect();
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
const newAddress = accounts[0];
|
|
295
|
+
const session = this.sessionManager.getSession();
|
|
296
|
+
const availableAddresses = session.availableAddresses.map(addr => {
|
|
297
|
+
const network = this.networks.find(n => n.id === addr.networkId);
|
|
298
|
+
return network?.namespace === namespace
|
|
299
|
+
? { ...addr, address: newAddress }
|
|
300
|
+
: addr;
|
|
301
|
+
});
|
|
302
|
+
const activeAddress = session.activeNetwork?.namespace === namespace
|
|
303
|
+
? newAddress
|
|
304
|
+
: session.activeAddress;
|
|
305
|
+
this.sessionManager.updateSession({ activeAddress, availableAddresses });
|
|
306
|
+
this.eventManager.emit('sessionChanged', {
|
|
307
|
+
session: this.sessionManager.getSession()
|
|
308
|
+
});
|
|
309
|
+
// A single wallet account drives ALL its namespaces (e.g. MetaMask's Solana
|
|
310
|
+
// Snap derives its key from the selected EVM account). The wallet only fired
|
|
311
|
+
// an accountsChanged for THIS namespace; refresh the live account of every
|
|
312
|
+
// other connected namespace so the session doesn't serve a stale sibling
|
|
313
|
+
// address. Fire-and-forget: we're inside the wallet's synchronous event
|
|
314
|
+
// dispatch and must not await.
|
|
315
|
+
void this.refreshSiblingNamespaces(namespace);
|
|
316
|
+
}
|
|
189
317
|
/**
|
|
190
318
|
* Remove the active provider-lifecycle subscription (EIP-1193 `.on` / wallet-
|
|
191
319
|
* adapter / SignClient listeners) WITHOUT disconnecting the wallet. Idempotent.
|
|
@@ -196,6 +324,14 @@ export class ConnectionService {
|
|
|
196
324
|
teardownLifecycle() {
|
|
197
325
|
this.lifecycleTeardown?.();
|
|
198
326
|
this.lifecycleTeardown = undefined;
|
|
327
|
+
for (const teardown of this.secondaryAccountSyncTeardowns)
|
|
328
|
+
teardown();
|
|
329
|
+
this.secondaryAccountSyncTeardowns = [];
|
|
330
|
+
// Supersede any in-flight sibling-namespace refresh (see
|
|
331
|
+
// `refreshSiblingNamespaces`) — a still-polling refresh must not write a
|
|
332
|
+
// now-stale address after teardown/disconnect. `finishDisconnect()` calls
|
|
333
|
+
// this too, so one bump here covers both paths.
|
|
334
|
+
this.siblingRefreshGeneration++;
|
|
199
335
|
}
|
|
200
336
|
/**
|
|
201
337
|
* Re-evaluate the lifecycle source for the CURRENT session. Used after a
|
|
@@ -214,10 +350,242 @@ export class ConnectionService {
|
|
|
214
350
|
return;
|
|
215
351
|
}
|
|
216
352
|
this.attachLifecycle(session.connectionMode, session.activeWallet.id, session.activeNetwork.namespace,
|
|
217
|
-
// The reattach follows a JUST-completed switch to the now-active chain
|
|
218
|
-
// arm echo suppression for
|
|
219
|
-
// for a wallet-initiated change (one-shot, same as
|
|
220
|
-
|
|
353
|
+
// The reattach follows a JUST-completed switch to the now-active chain
|
|
354
|
+
// (and address) — arm echo suppression for both so the new provider's
|
|
355
|
+
// echo isn't mistaken for a wallet-initiated change (one-shot, same as
|
|
356
|
+
// bus-armed switches).
|
|
357
|
+
{
|
|
358
|
+
chainId: session.activeNetwork.id,
|
|
359
|
+
...(session.activeAddress && { address: session.activeAddress }),
|
|
360
|
+
at: Date.now()
|
|
361
|
+
});
|
|
362
|
+
// Re-derive the secondary set against the NOW-active namespace — a
|
|
363
|
+
// cross-namespace switch swaps which namespace is "secondary" (the
|
|
364
|
+
// attachLifecycle above already tore the previous set down via
|
|
365
|
+
// teardownLifecycle).
|
|
366
|
+
this.attachSecondaryAccountSync(session.connectionMode, session.activeWallet.id, session.activeNetwork.namespace);
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Attach account-sync for every OTHER namespace the session's
|
|
370
|
+
* `availableAddresses` span. `attachLifecycle` observes only the ACTIVE
|
|
371
|
+
* network's namespace, but the cross-namespace gather seeds addresses from
|
|
372
|
+
* other namespaces' live surfaces at connect time — without their own
|
|
373
|
+
* subscription, a wallet-side account switch on such a namespace is never
|
|
374
|
+
* observed and the session serves the connect-time addresses forever (e.g.
|
|
375
|
+
* a Solana-active MetaMask session whose eip155 addresses never follow the
|
|
376
|
+
* extension's account switch).
|
|
377
|
+
*
|
|
378
|
+
* Accounts-sync ONLY, no lifecycle-telemetry stream: the active namespace
|
|
379
|
+
* stays the single source of wallet* telemetry and of the wallet-initiated
|
|
380
|
+
* disconnect signal.
|
|
381
|
+
*/
|
|
382
|
+
attachSecondaryAccountSync(connectionMode, walletId, activeNamespace) {
|
|
383
|
+
const connector = this.activeConnector;
|
|
384
|
+
if (!connector?.onAccountsChanged)
|
|
385
|
+
return;
|
|
386
|
+
const session = this.sessionManager.getSession();
|
|
387
|
+
const secondaryNamespaces = new Set();
|
|
388
|
+
for (const addr of session.availableAddresses) {
|
|
389
|
+
const namespace = this.networks.find(n => n.id === addr.networkId)?.namespace;
|
|
390
|
+
if (namespace && namespace !== activeNamespace) {
|
|
391
|
+
secondaryNamespaces.add(namespace);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
const runtime = globalThis
|
|
395
|
+
.UWCBridgeChildInitialized === true
|
|
396
|
+
? 'iframe'
|
|
397
|
+
: 'direct';
|
|
398
|
+
for (const namespace of secondaryNamespaces) {
|
|
399
|
+
this.secondaryAccountSyncTeardowns.push(attachLifecycle({
|
|
400
|
+
eventManager: this.eventManager,
|
|
401
|
+
subscribe: undefined,
|
|
402
|
+
subscribeAccounts: listener => connector.onAccountsChanged(listener, {
|
|
403
|
+
connectionMode,
|
|
404
|
+
namespace,
|
|
405
|
+
walletId
|
|
406
|
+
}),
|
|
407
|
+
onAccountsChanged: accounts => {
|
|
408
|
+
// An empty list from a SECONDARY namespace is USUALLY just that
|
|
409
|
+
// namespace's own de-auth, not the whole session — so we don't
|
|
410
|
+
// clobber the session on a partial change. BUT some wallets emit a
|
|
411
|
+
// disconnect ONLY on a secondary namespace: e.g. MetaMask (EVM +
|
|
412
|
+
// Solana Snap) fires `accountsChanged([])` on its eip155 leg but its
|
|
413
|
+
// Snap-derived active (solana) namespace emits nothing on a full
|
|
414
|
+
// wallet disconnect. Relying on the active namespace's stream alone
|
|
415
|
+
// then never sees the disconnect. So on a secondary empty, verify
|
|
416
|
+
// whether the wallet is FULLY gone (active namespace has no live
|
|
417
|
+
// account either) and, if so, clear the session.
|
|
418
|
+
if (accounts.length === 0) {
|
|
419
|
+
void this.clearSessionIfWalletFullyDisconnected(activeNamespace, connectionMode, walletId);
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
// Surface the secondary-namespace switch for observability. The
|
|
423
|
+
// ACTIVE namespace's switch already emits `walletAccountChanged` via
|
|
424
|
+
// the lifecycle bridge; secondary namespaces have accounts-sync only
|
|
425
|
+
// (no lifecycle stream), so emit it here for parity → `uwcObserver`
|
|
426
|
+
// forwards it to RUM as `uwc.walletAccountChanged`. Secondary-only,
|
|
427
|
+
// so it never double-counts the active namespace's emit.
|
|
428
|
+
this.eventManager.emit('walletAccountChanged', {
|
|
429
|
+
connectionMode,
|
|
430
|
+
walletId,
|
|
431
|
+
namespace
|
|
432
|
+
});
|
|
433
|
+
this.handleAccountsChanged(accounts, namespace);
|
|
434
|
+
},
|
|
435
|
+
getRouting: () => ({ connectionMode, walletId, namespace }),
|
|
436
|
+
connectionMode,
|
|
437
|
+
walletId,
|
|
438
|
+
namespace,
|
|
439
|
+
runtime
|
|
440
|
+
}));
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* A SECONDARY namespace just reported an empty account list. Determine whether
|
|
445
|
+
* this is a full wallet-initiated disconnect (vs. only that namespace losing
|
|
446
|
+
* authorization) by reading the ACTIVE namespace's LIVE account: if it's also
|
|
447
|
+
* gone, the whole wallet disconnected — clear the session via the active
|
|
448
|
+
* namespace's empty-list path. If the active namespace still has an account
|
|
449
|
+
* (a genuine partial change) or we can't tell, keep the conservative no-op.
|
|
450
|
+
*
|
|
451
|
+
* Motivating case: MetaMask's Solana-Snap active namespace emits no disconnect
|
|
452
|
+
* signal, while its eip155 (secondary) leg does — so the secondary empty is the
|
|
453
|
+
* only signal the wallet is gone.
|
|
454
|
+
*/
|
|
455
|
+
async clearSessionIfWalletFullyDisconnected(activeNamespace, connectionMode, walletId) {
|
|
456
|
+
const connector = this.activeConnector;
|
|
457
|
+
// Already torn down, or the connector can't report a live account — keep the
|
|
458
|
+
// conservative no-op (never risk a spurious disconnect).
|
|
459
|
+
if (!connector?.getLiveAccount)
|
|
460
|
+
return;
|
|
461
|
+
// The active namespace must still be the one we captured; a switch/teardown
|
|
462
|
+
// in flight supersedes this check.
|
|
463
|
+
if (this.sessionManager.getSession().activeNetwork?.namespace !==
|
|
464
|
+
activeNamespace) {
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
467
|
+
let liveActiveAccount;
|
|
468
|
+
try {
|
|
469
|
+
liveActiveAccount = await connector.getLiveAccount(activeNamespace);
|
|
470
|
+
}
|
|
471
|
+
catch {
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
474
|
+
// Active namespace still connected → genuine partial change → leave session.
|
|
475
|
+
if (liveActiveAccount)
|
|
476
|
+
return;
|
|
477
|
+
// Re-check the connector is still live after the await (guards a race with a
|
|
478
|
+
// concurrent teardown/disconnect that already cleared it).
|
|
479
|
+
if (this.activeConnector === null)
|
|
480
|
+
return;
|
|
481
|
+
// Surface the wallet-initiated disconnect for observability BEFORE clearing:
|
|
482
|
+
// the active namespace here emits no disconnect of its own (that's the whole
|
|
483
|
+
// reason we detect it from a secondary namespace), so without this the
|
|
484
|
+
// `walletDisconnected` telemetry the observer forwards to RUM would never
|
|
485
|
+
// fire for these wallets. Mirrors the lifecycle-bridge's emit for wallets
|
|
486
|
+
// whose active namespace DOES signal a disconnect.
|
|
487
|
+
this.eventManager.emit('walletDisconnected', {
|
|
488
|
+
connectionMode,
|
|
489
|
+
walletId,
|
|
490
|
+
namespace: activeNamespace
|
|
491
|
+
});
|
|
492
|
+
// Whole wallet is gone → run the wallet-initiated disconnect path.
|
|
493
|
+
this.handleAccountsChanged([], activeNamespace);
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* After a real account switch on `changedNamespace`, re-read the LIVE account
|
|
497
|
+
* of every OTHER connected namespace and fold any that changed into the
|
|
498
|
+
* session in ONE update. Sibling namespaces (e.g. a MetaMask Solana Snap
|
|
499
|
+
* address derived from the EVM account) change with the underlying account but
|
|
500
|
+
* emit no `accountsChanged`, and their live read can LAG the firing namespace's
|
|
501
|
+
* event while the wallet re-derives — so poll each sibling up to
|
|
502
|
+
* `SIBLING_REFRESH_MAX_ATTEMPTS` times, `SIBLING_REFRESH_DELAY_MS` apart,
|
|
503
|
+
* stopping a sibling the moment its live address differs from the stored one.
|
|
504
|
+
*
|
|
505
|
+
* Loop-safe: writes addresses DIRECTLY via the session manager (never
|
|
506
|
+
* re-dispatches a per-namespace accountsChanged), and only emits when at least
|
|
507
|
+
* one sibling actually changed — so refreshing B here cannot re-enter this for
|
|
508
|
+
* A and recurse. Generation-guarded so a newer switch / teardown / disconnect
|
|
509
|
+
* supersedes an older still-polling refresh before it writes.
|
|
510
|
+
*/
|
|
511
|
+
async refreshSiblingNamespaces(changedNamespace) {
|
|
512
|
+
const connector = this.activeConnector;
|
|
513
|
+
if (!connector?.getLiveAccount)
|
|
514
|
+
return;
|
|
515
|
+
const gen = ++this.siblingRefreshGeneration;
|
|
516
|
+
const namespaceForNetworkId = (networkId) => this.networks.find(n => n.id === networkId)?.namespace;
|
|
517
|
+
// Sibling = every connected namespace except the one that just fired.
|
|
518
|
+
const initial = this.sessionManager.getSession();
|
|
519
|
+
const siblings = new Set();
|
|
520
|
+
for (const addr of initial.availableAddresses) {
|
|
521
|
+
const ns = namespaceForNetworkId(addr.networkId);
|
|
522
|
+
if (ns && ns !== changedNamespace)
|
|
523
|
+
siblings.add(ns);
|
|
524
|
+
}
|
|
525
|
+
if (siblings.size === 0)
|
|
526
|
+
return;
|
|
527
|
+
const equal = (ns, a, b) => ns === 'eip155' ? a.toLowerCase() === b.toLowerCase() : a === b;
|
|
528
|
+
const storedFor = (ns) => {
|
|
529
|
+
const s = this.sessionManager.getSession();
|
|
530
|
+
for (const addr of s.availableAddresses) {
|
|
531
|
+
if (namespaceForNetworkId(addr.networkId) === ns)
|
|
532
|
+
return addr.address;
|
|
533
|
+
}
|
|
534
|
+
return undefined;
|
|
535
|
+
};
|
|
536
|
+
const resolved = new Map();
|
|
537
|
+
const pending = new Set(siblings);
|
|
538
|
+
for (let attempt = 0; attempt < SIBLING_REFRESH_MAX_ATTEMPTS && pending.size > 0; attempt++) {
|
|
539
|
+
// Superseded (newer switch), disconnected, or connector swapped → abandon.
|
|
540
|
+
if (gen !== this.siblingRefreshGeneration ||
|
|
541
|
+
this.activeConnector !== connector)
|
|
542
|
+
return;
|
|
543
|
+
for (const ns of [...pending]) {
|
|
544
|
+
let live = null;
|
|
545
|
+
try {
|
|
546
|
+
live = await connector.getLiveAccount(ns);
|
|
547
|
+
}
|
|
548
|
+
catch {
|
|
549
|
+
live = null;
|
|
550
|
+
}
|
|
551
|
+
if (gen !== this.siblingRefreshGeneration ||
|
|
552
|
+
this.activeConnector !== connector)
|
|
553
|
+
return;
|
|
554
|
+
if (!live)
|
|
555
|
+
continue;
|
|
556
|
+
const stored = storedFor(ns);
|
|
557
|
+
if (stored != null && !equal(ns, stored, live)) {
|
|
558
|
+
resolved.set(ns, live);
|
|
559
|
+
pending.delete(ns);
|
|
560
|
+
}
|
|
561
|
+
// stored == live (not yet re-derived) → keep polling until the cap.
|
|
562
|
+
}
|
|
563
|
+
if (pending.size === 0)
|
|
564
|
+
break;
|
|
565
|
+
await new Promise(r => setTimeout(r, SIBLING_REFRESH_DELAY_MS));
|
|
566
|
+
}
|
|
567
|
+
if (resolved.size === 0)
|
|
568
|
+
return;
|
|
569
|
+
if (gen !== this.siblingRefreshGeneration ||
|
|
570
|
+
this.activeConnector !== connector)
|
|
571
|
+
return;
|
|
572
|
+
const session = this.sessionManager.getSession();
|
|
573
|
+
const availableAddresses = session.availableAddresses.map(addr => {
|
|
574
|
+
const ns = namespaceForNetworkId(addr.networkId);
|
|
575
|
+
const next = ns ? resolved.get(ns) : undefined;
|
|
576
|
+
return next ? { ...addr, address: next } : addr;
|
|
577
|
+
});
|
|
578
|
+
// If the ACTIVE network's namespace was among the refreshed siblings, move
|
|
579
|
+
// activeAddress too (e.g. a Solana-active session whose Solana address just
|
|
580
|
+
// followed an EVM switch).
|
|
581
|
+
const activeNs = session.activeNetwork?.namespace;
|
|
582
|
+
const activeAddress = activeNs && resolved.has(activeNs)
|
|
583
|
+
? resolved.get(activeNs)
|
|
584
|
+
: session.activeAddress;
|
|
585
|
+
this.sessionManager.updateSession({ activeAddress, availableAddresses });
|
|
586
|
+
this.eventManager.emit('sessionChanged', {
|
|
587
|
+
session: this.sessionManager.getSession()
|
|
588
|
+
});
|
|
221
589
|
}
|
|
222
590
|
async connectWithURIPoll(connector, network, provider, connectionMode, signal) {
|
|
223
591
|
const connectPromise = connector.connect(network, provider);
|
|
@@ -364,13 +732,30 @@ export class ConnectionService {
|
|
|
364
732
|
}
|
|
365
733
|
}
|
|
366
734
|
finally {
|
|
367
|
-
this.
|
|
368
|
-
this.sessionManager.clearSession();
|
|
369
|
-
const session = this.sessionManager.getSession();
|
|
370
|
-
this.eventManager.emit('disconnected', undefined);
|
|
371
|
-
this.eventManager.emit('sessionChanged', { session });
|
|
735
|
+
this.finishDisconnect();
|
|
372
736
|
}
|
|
373
737
|
}
|
|
738
|
+
/**
|
|
739
|
+
* Clears core's own local state (session, active connector reference,
|
|
740
|
+
* lifecycle subscription) and emits the disconnect events. Does NOT itself
|
|
741
|
+
* call the connector's `disconnect()` — that happens in each CALLER,
|
|
742
|
+
* because the two callers need different semantics: the public
|
|
743
|
+
* `disconnect()` above awaits it (the caller may care whether the wallet
|
|
744
|
+
* side actually tore down); the wallet-initiated path in
|
|
745
|
+
* `handleAccountsChanged` fires it and swallows the result (the wallet
|
|
746
|
+
* already ended the session on its own side, but the connector's own
|
|
747
|
+
* LOCAL state — e.g. a cached account/uuid — still needs clearing, or a
|
|
748
|
+
* later connect to a different wallet reads it as stale and never
|
|
749
|
+
* rebinds).
|
|
750
|
+
*/
|
|
751
|
+
finishDisconnect() {
|
|
752
|
+
this.teardownLifecycle();
|
|
753
|
+
this.activeConnector = null;
|
|
754
|
+
this.sessionManager.clearSession();
|
|
755
|
+
const session = this.sessionManager.getSession();
|
|
756
|
+
this.eventManager.emit('disconnected', undefined);
|
|
757
|
+
this.eventManager.emit('sessionChanged', { session });
|
|
758
|
+
}
|
|
374
759
|
getConnectionURI() {
|
|
375
760
|
if (this.activeConnector &&
|
|
376
761
|
typeof this.activeConnector.getConnectionURI === 'function') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-service.js","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection-service.js","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAMnE;;;gCAGgC;AAChC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAA;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAA;AAE3C,MAAM,OAAO,iBAAiB;IAwClB;IACA;IACA;IACA;IACA;IACA;IAEA;IA9CF,eAAe,GAAqB,IAAI,CAAA;IAChD,+EAA+E;IACvE,iBAAiB,CAA0B;IACnD;;;;OAIG;IACK,6BAA6B,GAAsB,EAAE,CAAA;IAC7D;;;;;;OAMG;IACK,aAAa,GAA2B,IAAI,CAAA;IACpD;;;;;OAKG;IACK,wBAAwB,GAAG,CAAC,CAAA;IACpC;;;;;;;;;;;OAWG;IACK,cAAc,CAAqD;IAE3E,YACU,QAAmB,EACnB,OAAyB,EACzB,cAA8B,EAC9B,UAA0C,EAC1C,sBAA+B,EAC/B,YAA0B;IAClC,yEAAyE;IACjE,uBAA+B;QAP/B,aAAQ,GAAR,QAAQ,CAAW;QACnB,YAAO,GAAP,OAAO,CAAkB;QACzB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgC;QAC1C,2BAAsB,GAAtB,sBAAsB,CAAS;QAC/B,iBAAY,GAAZ,YAAY,CAAc;QAE1B,4BAAuB,GAAvB,uBAAuB,CAAQ;IACtC,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,cAA8B,EAC9B,QAAgB,EAChB,SAAqB,EACrB,OAAwB;QAExB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QAEjC,4EAA4E;QAC5E,2EAA2E;QAC3E,6EAA6E;QAC7E,8CAA8C;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;QAEnD,sEAAsE;QACtE,4EAA4E;QAC5E,sEAAsE;QACtE,2EAA2E;QAC3E,sDAAsD;QACtD,IAAI,CAAC,aAAa,EAAE,KAAK,CACvB,IAAI,YAAY,CAAC,0CAA0C,EAAE,YAAY,CAAC,CAC3E,CAAA;QACD,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAA;QAC1C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAA;QACjC,MAAM,YAAY,GAAG,OAAO,EAAE,MAAM,CAAA;QACpC,IAAI,yBAAmD,CAAA;QACvD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YACzC,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBACnE,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBACrE,yBAAyB,GAAG,GAAG,EAAE,CAC/B,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAA;QAElC,0EAA0E;QAC1E,2EAA2E;QAC3E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAA;QAElE,wDAAwD;QACxD,uEAAuE;QACvE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAEhC,IAAI,MAAM,CAAA;QACV,IAAI,CAAC;YACH,4EAA4E;YAC5E,0EAA0E;YAC1E,0EAA0E;YAC1E,8DAA8D;YAC9D,MAAM,GAAG,MAAM,iBAAiB,CAC9B;gBACE,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,uBAAuB;gBACvC,MAAM;aACP,EACD;gBACE,SAAS,EAAE,SAAS;gBACpB,cAAc;gBACd,QAAQ;gBACR,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,EAAE;aACpB,EACD,KAAK,EAAC,SAAS,EAAC,EAAE;gBAChB,gEAAgE;gBAChE,IAAI,CAAC,cAAc,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;gBAC7C,IAAI,CAAC;oBACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAC1B,cAAc,EACd,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,CACP,CAAA;gBACH,CAAC;wBAAS,CAAC;oBACT,yDAAyD;oBACzD,oEAAoE;oBACpE,kEAAkE;oBAClE,8DAA8D;oBAC9D,oEAAoE;oBACpE,oEAAoE;oBACpE,iDAAiD;oBACjD,IAAI,IAAI,CAAC,cAAc,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;wBACjD,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC,CACF,CAAA;YACD,uEAAuE;YACvE,wEAAwE;YACxE,qEAAqE;YACrE,sEAAsE;YACtE,MAAM,CAAC,cAAc,EAAE,CAAA;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yEAAyE;YACzE,wDAAwD;YACxD,2EAA2E;YAC3E,0EAA0E;YAC1E,2EAA2E;YAC3E,uEAAuE;YACvE,4EAA4E;YAC5E,IAAI,IAAI,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;gBACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;gBAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;YAC3B,CAAC;YACD,yBAAyB,EAAE,EAAE,CAAA;YAC7B,MAAM,KAAK,CAAA;QACb,CAAC;QAED,wEAAwE;QACxE,0EAA0E;QAC1E,8EAA8E;QAC9E,IAAI,IAAI,CAAC,aAAa,KAAK,YAAY;YAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QAClE,yBAAyB,EAAE,EAAE,CAAA;QAE7B,2EAA2E;QAC3E,MAAM,0BAA0B,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,CACjD,CAAA;QAED,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAChC,cAAc;YACd,YAAY,EAAE,MAAM;YACpB,aAAa,EAAE,OAAO;YACtB,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;YACnC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC1C,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5C;YACD,kBAAkB,EAAE,0BAA0B;SAC/C,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAErD,6EAA6E;QAC7E,6EAA6E;QAC7E,iDAAiD;QACjD,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAClE,IAAI,CAAC,0BAA0B,CAC7B,cAAc,EACd,MAAM,CAAC,EAAE,EACT,OAAO,CAAC,SAAS,CAClB,CAAA;IACH,CAAC;IAED,2EAA2E;IAC3E,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,UAAU,CACtB,cAA8B,EAC9B,SAAoB,EACpB,OAAgB,EAChB,QAA2B,EAC3B,MAAmB;QAEnB,wEAAwE;QACxE,oEAAoE;QACpE,oEAAoE;QACpE,yEAAyE;QACzE,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YAClC,OAAO,MAAM,SAAS,CACpB,SAAS,CAAC,OAAO,CACf,OAAO,EACP,QAEqC,CACtC,EACD,MAAM,CACP,CAAA;QACH,CAAC;aAAM,IACL,cAAc,KAAK,YAAY;YAC/B,cAAc,KAAK,eAAe,EAClC,CAAC;YACD,OAAO,MAAM,SAAS,CACpB,IAAI,CAAC,kBAAkB,CACrB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,cAAc,EACd,MAAM,CACP,EACD,MAAM,CACP,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,cAAc,EAAE,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IAED,qFAAqF;IAC7E,eAAe,CACrB,cAA8B,EAC9B,QAAgB,EAChB,SAAoB,EACpB,aAAoE;QAEpE,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAA;QACtC,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,uEAAuE;YACvE,4DAA4D;YAC5D,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;YACvC,0EAA0E;YAC1E,qEAAqE;YACrE,0DAA0D;YAC1D,SAAS,EAAE,SAAS,EAAE,gBAAgB;gBACpC,CAAC,CAAC,QAAQ,CAAC,EAAE,CACT,SAAS,CAAC,gBAAiB,CAAC,QAAQ,EAAE;oBACpC,cAAc;oBACd,SAAS;oBACT,QAAQ;iBACT,CAAC;gBACN,CAAC,CAAC,SAAS;YACb,iBAAiB,EAAE,SAAS,EAAE,iBAAiB;gBAC7C,CAAC,CAAC,QAAQ,CAAC,EAAE,CACT,SAAS,CAAC,iBAAkB,CAAC,QAAQ,EAAE;oBACrC,cAAc;oBACd,SAAS;oBACT,QAAQ;iBACT,CAAC;gBACN,CAAC,CAAC,SAAS;YACb,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAC5B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC;YACjD,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;gBAC1C,OAAO;oBACL,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,cAAc;oBAClD,QAAQ,EAAE,CAAC,CAAC,YAAY,EAAE,EAAE,IAAI,QAAQ;oBACxC,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,SAAS,IAAI,SAAS;iBACnD,CAAA;YACH,CAAC;YACD,cAAc;YACd,QAAQ;YACR,SAAS;YACT,4EAA4E;YAC5E,6EAA6E;YAC7E,wEAAwE;YACxE,OAAO,EACJ,UAAsD;iBACpD,yBAAyB,KAAK,IAAI;gBACnC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,QAAQ;SACf,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CAC3B,QAAkB,EAClB,SAAoB;QAEpB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,6DAA6D;YAC7D,sEAAsE;YACtE,gEAAgE;YAChE,mEAAmE;YACnE,sEAAsE;YACtE,uEAAuE;YACvE,gEAAgE;YAChE,oEAAoE;YACpE,kEAAkE;YAClE,sEAAsE;YACtE,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI;gBAAE,OAAM;YACzC,oEAAoE;YACpE,gEAAgE;YAChE,mEAAmE;YACnE,qEAAqE;YACrE,4DAA4D;YAC5D,mEAAmE;YACnE,sEAAsE;YACtE,gEAAgE;YAChE,gEAAgE;YAChE,qEAAqE;YACrE,sEAAsE;YACtE,+CAA+C;YAC/C,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YACpD,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACvB,OAAM;QACR,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAChD,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,CAAA;YAChE,OAAO,OAAO,EAAE,SAAS,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE;gBAClC,CAAC,CAAC,IAAI,CAAA;QACV,CAAC,CAAC,CAAA;QACF,MAAM,aAAa,GACjB,OAAO,CAAC,aAAa,EAAE,SAAS,KAAK,SAAS;YAC5C,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAA;QAC3B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC,CAAA;QACxE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;SAC1C,CAAC,CAAA;QAEF,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,+BAA+B;QAC/B,KAAK,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB;QACf,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAA;QAC1B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAA;QAClC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,6BAA6B;YAAE,QAAQ,EAAE,CAAA;QACrE,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAA;QACvC,yDAAyD;QACzD,yEAAyE;QACzE,0EAA0E;QAC1E,gDAAgD;QAChD,IAAI,CAAC,wBAAwB,EAAE,CAAA;IACjC,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAChD,IACE,CAAC,IAAI,CAAC,eAAe;YACrB,CAAC,OAAO,CAAC,cAAc;YACvB,CAAC,OAAO,CAAC,YAAY;YACrB,CAAC,OAAO,CAAC,aAAa,EACtB,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,eAAe,CAClB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,YAAY,CAAC,EAAE,EACvB,OAAO,CAAC,aAAa,CAAC,SAAS;QAC/B,uEAAuE;QACvE,sEAAsE;QACtE,uEAAuE;QACvE,uBAAuB;QACvB;YACE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE;YACjC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YAChE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACf,CACF,CAAA;QACD,mEAAmE;QACnE,mEAAmE;QACnE,+DAA+D;QAC/D,sBAAsB;QACtB,IAAI,CAAC,0BAA0B,CAC7B,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,YAAY,CAAC,EAAE,EACvB,OAAO,CAAC,aAAa,CAAC,SAAS,CAChC,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,0BAA0B,CAChC,cAA8B,EAC9B,QAAgB,EAChB,eAA0B;QAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAA;QACtC,IAAI,CAAC,SAAS,EAAE,iBAAiB;YAAE,OAAM;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAChD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAa,CAAA;QAChD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAC7B,EAAE,SAAS,CAAA;YACZ,IAAI,SAAS,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;gBAC/C,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GACV,UAAsD;aACpD,yBAAyB,KAAK,IAAI;YACnC,CAAC,CAAE,QAAkB;YACrB,CAAC,CAAE,QAAkB,CAAA;QAEzB,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;YAC5C,IAAI,CAAC,6BAA6B,CAAC,IAAI,CACrC,eAAe,CAAC;gBACd,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,SAAS;gBACpB,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAC5B,SAAS,CAAC,iBAAkB,CAAC,QAAQ,EAAE;oBACrC,cAAc;oBACd,SAAS;oBACT,QAAQ;iBACT,CAAC;gBACJ,iBAAiB,EAAE,QAAQ,CAAC,EAAE;oBAC5B,gEAAgE;oBAChE,+DAA+D;oBAC/D,mEAAmE;oBACnE,iEAAiE;oBACjE,qEAAqE;oBACrE,iEAAiE;oBACjE,oEAAoE;oBACpE,kEAAkE;oBAClE,iEAAiE;oBACjE,iDAAiD;oBACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1B,KAAK,IAAI,CAAC,qCAAqC,CAC7C,eAAe,EACf,cAAc,EACd,QAAQ,CACT,CAAA;wBACD,OAAM;oBACR,CAAC;oBACD,gEAAgE;oBAChE,qEAAqE;oBACrE,qEAAqE;oBACrE,oEAAoE;oBACpE,oEAAoE;oBACpE,yDAAyD;oBACzD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE;wBAC7C,cAAc;wBACd,QAAQ;wBACR,SAAS;qBACV,CAAC,CAAA;oBACF,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;gBACjD,CAAC;gBACD,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;gBAC3D,cAAc;gBACd,QAAQ;gBACR,SAAS;gBACT,OAAO;aACR,CAAC,CACH,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,qCAAqC,CACjD,eAA0B,EAC1B,cAA8B,EAC9B,QAAgB;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAA;QACtC,6EAA6E;QAC7E,yDAAyD;QACzD,IAAI,CAAC,SAAS,EAAE,cAAc;YAAE,OAAM;QACtC,4EAA4E;QAC5E,mCAAmC;QACnC,IACE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS;YACzD,eAAe,EACf,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,iBAAgC,CAAA;QACpC,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,OAAM;QACR,CAAC;QACD,6EAA6E;QAC7E,IAAI,iBAAiB;YAAE,OAAM;QAC7B,6EAA6E;QAC7E,2DAA2D;QAC3D,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI;YAAE,OAAM;QACzC,6EAA6E;QAC7E,6EAA6E;QAC7E,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,mDAAmD;QACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC3C,cAAc;YACd,QAAQ;YACR,SAAS,EAAE,eAAe;SAC3B,CAAC,CAAA;QACF,mEAAmE;QACnE,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAA;IACjD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,wBAAwB,CACpC,gBAA2B;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAA;QACtC,IAAI,CAAC,SAAS,EAAE,cAAc;YAAE,OAAM;QACtC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,wBAAwB,CAAA;QAE3C,MAAM,qBAAqB,GAAG,CAC5B,SAAoB,EACG,EAAE,CACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,SAAS,CAAA;QAExD,sEAAsE;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAa,CAAA;QACrC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC9C,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAChD,IAAI,EAAE,IAAI,EAAE,KAAK,gBAAgB;gBAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACrD,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAM;QAE/B,MAAM,KAAK,GAAG,CAAC,EAAa,EAAE,CAAS,EAAE,CAAS,EAAW,EAAE,CAC7D,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAEjE,MAAM,SAAS,GAAG,CAAC,EAAa,EAAsB,EAAE;YACtD,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;YAC1C,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBACxC,IAAI,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;oBAAE,OAAO,IAAI,CAAC,OAAO,CAAA;YACvE,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAA;QAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEjC,KACE,IAAI,OAAO,GAAG,CAAC,EACf,OAAO,GAAG,4BAA4B,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAC1D,OAAO,EAAE,EACT,CAAC;YACD,2EAA2E;YAC3E,IACE,GAAG,KAAK,IAAI,CAAC,wBAAwB;gBACrC,IAAI,CAAC,eAAe,KAAK,SAAS;gBAElC,OAAM;YACR,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;gBAC9B,IAAI,IAAI,GAAkB,IAAI,CAAA;gBAC9B,IAAI,CAAC;oBACH,IAAI,GAAG,MAAM,SAAS,CAAC,cAAe,CAAC,EAAE,CAAC,CAAA;gBAC5C,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,IAAI,CAAA;gBACb,CAAC;gBACD,IACE,GAAG,KAAK,IAAI,CAAC,wBAAwB;oBACrC,IAAI,CAAC,eAAe,KAAK,SAAS;oBAElC,OAAM;gBACR,IAAI,CAAC,IAAI;oBAAE,SAAQ;gBACnB,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;gBAC5B,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;oBAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;oBACtB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACpB,CAAC;gBACD,oEAAoE;YACtE,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,MAAK;YAC7B,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAA;QACvE,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAM;QAC/B,IACE,GAAG,KAAK,IAAI,CAAC,wBAAwB;YACrC,IAAI,CAAC,eAAe,KAAK,SAAS;YAElC,OAAM;QAER,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAChD,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC/D,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAChD,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC9C,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QACjD,CAAC,CAAC,CAAA;QACF,2EAA2E;QAC3E,4EAA4E;QAC5E,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,SAAS,CAAA;QACjD,MAAM,aAAa,GACjB,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAE;YACzB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAA;QAE3B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC,CAAA;QACxE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;SAC1C,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,SAAoB,EACpB,OAAgB,EAChB,QAA2B,EAC3B,cAA8B,EAC9B,MAAoB;QAEpB,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAE3D,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,IAAI,UAA8B,CAAA;QAElC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,mEAAmE;YACnE,uEAAuE;YACvE,qEAAqE;YACrE,mEAAmE;YACnE,wEAAwE;YACxE,cAAc;YACd,IAAI,GAAuB,CAAA;YAC3B,IAAI,CAAC;gBACH,GAAG,GAAG,SAAS,CAAC,gBAAgB,EAAE,EAAE,CAAA;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,GAAG,SAAS,CAAA;YACjB,CAAC;YACD,IAAI,GAAG,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC9B,UAAU,GAAG,GAAG,CAAA;gBAChB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAA;YAClE,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAA;QAEP,mFAAmF;QACnF,MAAM,iBAAiB,GAAG,UAAU,CAClC,GAAG,EAAE;YACH,WAAW,EAAE,CAAA;QACf,CAAC,EACD,CAAC,GAAG,EAAE,GAAG,IAAI,CACd,CAAA;QAED,SAAS,WAAW;YAClB,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAM;YACR,CAAC;YAED,cAAc,GAAG,IAAI,CAAA;YACrB,aAAa,CAAC,UAAU,CAAC,CAAA;YACzB,YAAY,CAAC,iBAAiB,CAAC,CAAA;YAC/B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACnD,CAAC;QAED,4EAA4E;QAC5E,0EAA0E;QAC1E,uEAAuE;QACvE,2EAA2E;QAC3E,kBAAkB;QAClB,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAE9D,IAAI,CAAC;YACH,OAAO,MAAM,cAAc,CAAA;QAC7B,CAAC;gBAAS,CAAC;YACT,WAAW,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,cAA8B;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,2CAA2C,cAAc,EAAE,CAC5D,CAAA;QACH,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,UAAU,CAAC,QAAgB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,aAAa,CAAC,CAAA;QAC3D,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,kBAAkB,CACxB,MAAsB,EACtB,cAA8B;QAE9B,IAAI,QAAuC,CAAA;QAE3C,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YAClC,QAAQ,GAAG,IAAI,CAAC,sBAAsB;gBACpC,CAAC,CAAC,MAAM,CAAC,iCAAiC;gBAC1C,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAA;YAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,IAAI,CAAC,sBAAsB;oBACzB,CAAC,CAAC,WAAW,MAAM,CAAC,EAAE,yDAAyD;oBAC/E,CAAC,CAAC,WAAW,MAAM,CAAC,EAAE,gDAAgD,CACzE,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;YAC3C,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAA;YAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,EAAE,wCAAwC,CAC7D,CAAA;YACH,CAAC;YAED,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC5D,CAAC;aAAM,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;YAC9C,QAAQ,GAAG,MAAM,CAAC,qBAAqB,CAAA;YAEvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,EAAE,0CAA0C,CAC/D,CAAA;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,cAAc,EAAE,CAAC,CAAA;QACnE,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,2BAA2B,CACjC,SAAgC,EAChC,QAA2B;QAE3B,IAAI,eAA0B,CAAA;QAE9B,IAAI,SAAS,EAAE,CAAC;YACd,mDAAmD;YACnD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;YACjE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,oCAAoC,CACzD,CAAA;YACH,CAAC;YAED,gDAAgD;YAChD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,iCAAiC,CAAC,CAAA;YACxE,CAAC;YAED,eAAe,GAAG,SAAS,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,qFAAqF;YACrF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CACrC,CAAA;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,uEAAuE;gBACvE,wEAAwE;gBACxE,wEAAwE;gBACxE,MAAM,IAAI,oBAAoB,CAC5B,QAAQ,CAAC,mBAAmB,EAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC7B,CAAA;YACH,CAAC;YACD,eAAe,GAAG,gBAAgB,CAAA;QACpC,CAAC;QAED,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,WAAW,eAAe,mCAAmC,CAC9D,CAAA;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAwB;QACvC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QACjC,6EAA6E;QAC7E,8EAA8E;QAC9E,iFAAiF;QACjF,6EAA6E;QAC7E,0EAA0E;QAC1E,6EAA6E;QAC7E,IAAI,CAAC,aAAa,EAAE,KAAK,CACvB,IAAI,YAAY,CAAC,oCAAoC,EAAE,YAAY,CAAC,CACrE,CAAA;QACD,+EAA+E;QAC/E,wEAAwE;QACxE,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC;YACH,IACE,IAAI,CAAC,eAAe;gBACpB,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,KAAK,UAAU,EACrD,CAAC;gBACD,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAA;YACzC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,gBAAgB;QACtB,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAA;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QACjD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,gBAAgB;QACd,IACE,IAAI,CAAC,eAAe;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,KAAK,UAAU,EAC3D,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAA;gBACnD,OAAO,GAAG,CAAA;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;gBACpD,OAAO,SAAS,CAAA;YAClB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,aAAa,CAAC,OAAyB;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,wBAAwB,CAC9B,MAAsB,EACtB,QAAkC;QAElC,IAAI,QAAQ,CAAC,iBAAiB;YAAE,OAAO,QAAQ,CAAA;QAE/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB;YAClD,CAAC,CAAC,MAAM,CAAC,iCAAiC;YAC1C,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAA;QACpC,MAAM,WAAW,GAAG,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,EAAE,WAAW,CAAA;QAEzE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,GAAG,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAA;QACxD,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-switch-service.d.ts","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EAMf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,qBAAa,oBAAoB;IAK7B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,uBAAuB;IAVjC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,wBAAwB,CAAQ;gBAG9B,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,YAAY,EAE1B,uBAAuB,EAAE,MAAM;IAGzC,eAAe;;;;IAOT,aAAa,CACjB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"network-switch-service.d.ts","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EAMf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,qBAAa,oBAAoB;IAK7B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,uBAAuB;IAVjC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,wBAAwB,CAAQ;gBAG9B,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,YAAY,EAE1B,uBAAuB,EAAE,MAAM;IAGzC,eAAe;;;;IAOT,aAAa,CACjB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAwKhB,OAAO,CAAC,uBAAuB;CAyChC"}
|
|
@@ -131,7 +131,10 @@ export class NetworkSwitchService {
|
|
|
131
131
|
availableAddresses: filteredAvailableAddresses
|
|
132
132
|
})
|
|
133
133
|
});
|
|
134
|
-
this.eventManager.emit('networkSwitched', {
|
|
134
|
+
this.eventManager.emit('networkSwitched', {
|
|
135
|
+
network,
|
|
136
|
+
address: result.address
|
|
137
|
+
});
|
|
135
138
|
this.eventManager.emit('sessionChanged', {
|
|
136
139
|
session: this.sessionManager.getSession()
|
|
137
140
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-switch-service.js","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"network-switch-service.js","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ConnectionMode, Connector,
|
|
1
|
+
import type { ConnectionMode, Connector, SignatureResult, EIP712TypedData } from '@meshconnect/uwc-types';
|
|
2
2
|
import type { SessionManager } from '../managers/session-manager';
|
|
3
3
|
import type { EventManager } from '../managers/event-manager';
|
|
4
4
|
import type { ServiceOptions } from './connection-service';
|
|
@@ -21,9 +21,10 @@ export declare class SignatureService {
|
|
|
21
21
|
* Sign a message with the currently connected wallet
|
|
22
22
|
* @param message The message to sign
|
|
23
23
|
* @param options Optional cancellation signal
|
|
24
|
-
* @returns A promise
|
|
24
|
+
* @returns A promise resolving to a {@link SignatureResult} carrying both the
|
|
25
|
+
* signature and the EXACT address it was signed with.
|
|
25
26
|
*/
|
|
26
|
-
signMessage(message: string, options?: ServiceOptions): Promise<
|
|
27
|
+
signMessage(message: string, options?: ServiceOptions): Promise<SignatureResult>;
|
|
27
28
|
/**
|
|
28
29
|
* Sign EIP-712 typed structured data with the currently connected wallet.
|
|
29
30
|
* EVM-only (eip155); routes by connection mode. Throws for tonConnect.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-service.d.ts","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EAIT,
|
|
1
|
+
{"version":3,"file":"signature-service.d.ts","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EAIT,eAAe,EACf,eAAe,EAChB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAW1D;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,uBAAuB;gBALvB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,YAAY,EAE1B,uBAAuB,EAAE,MAAM;IAGzC;;;;;;OAMG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,eAAe,CAAC;IAqC3B;;;;;OAKG;IACG,aAAa,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;CAuCjE"}
|