@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.
Files changed (51) hide show
  1. package/dist/events.d.ts +46 -2
  2. package/dist/events.d.ts.map +1 -1
  3. package/dist/events.js +2 -0
  4. package/dist/events.js.map +1 -1
  5. package/dist/observability/instrument-handoff.d.ts +8 -1
  6. package/dist/observability/instrument-handoff.d.ts.map +1 -1
  7. package/dist/observability/instrument-handoff.js +9 -2
  8. package/dist/observability/instrument-handoff.js.map +1 -1
  9. package/dist/observability/lifecycle-bridge.d.ts +31 -13
  10. package/dist/observability/lifecycle-bridge.d.ts.map +1 -1
  11. package/dist/observability/lifecycle-bridge.js +194 -92
  12. package/dist/observability/lifecycle-bridge.js.map +1 -1
  13. package/dist/observability/telemetry.d.ts +15 -1
  14. package/dist/observability/telemetry.d.ts.map +1 -1
  15. package/dist/observability/telemetry.js +15 -0
  16. package/dist/observability/telemetry.js.map +1 -1
  17. package/dist/services/connection-service.d.ts +109 -0
  18. package/dist/services/connection-service.d.ts.map +1 -1
  19. package/dist/services/connection-service.js +407 -22
  20. package/dist/services/connection-service.js.map +1 -1
  21. package/dist/services/network-switch-service.d.ts.map +1 -1
  22. package/dist/services/network-switch-service.js +4 -1
  23. package/dist/services/network-switch-service.js.map +1 -1
  24. package/dist/services/signature-service.d.ts +4 -3
  25. package/dist/services/signature-service.d.ts.map +1 -1
  26. package/dist/services/signature-service.js +2 -1
  27. package/dist/services/signature-service.js.map +1 -1
  28. package/dist/universal-wallet-connector.d.ts +15 -3
  29. package/dist/universal-wallet-connector.d.ts.map +1 -1
  30. package/dist/universal-wallet-connector.js +31 -2
  31. package/dist/universal-wallet-connector.js.map +1 -1
  32. package/dist/version.d.ts +1 -1
  33. package/dist/version.d.ts.map +1 -1
  34. package/dist/version.js +1 -1
  35. package/dist/version.js.map +1 -1
  36. package/package.json +5 -5
  37. package/src/events.ts +51 -3
  38. package/src/observability/instrument-handoff.ts +8 -2
  39. package/src/observability/lifecycle-bridge.test.ts +316 -0
  40. package/src/observability/lifecycle-bridge.ts +240 -99
  41. package/src/observability/telemetry.ts +32 -1
  42. package/src/services/connection-service.reentrancy.test.ts +87 -0
  43. package/src/services/connection-service.test.ts +798 -1
  44. package/src/services/connection-service.ts +492 -39
  45. package/src/services/network-switch-service.test.ts +33 -0
  46. package/src/services/network-switch-service.ts +4 -1
  47. package/src/services/signature-service.test.ts +9 -2
  48. package/src/services/signature-service.ts +4 -3
  49. package/src/universal-wallet-connector.observability.test.ts +126 -3
  50. package/src/universal-wallet-connector.ts +43 -4
  51. 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
- // Race the connector call against the AbortSignal so a mid-flight abort
90
- // (e.g. user cancels the WalletConnect QR while the prompt is open)
91
- // rejects the caller's await promptly. The underlying wallet prompt
92
- // itself can't be cancelled, but the dapp UI is no longer blocked on it.
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
- else if (connectionMode === 'tonConnect' ||
97
- connectionMode === 'walletConnect') {
98
- return await raceAbort(this.connectWithURIPoll(connector, network, provider, connectionMode, signal), signal);
99
- }
100
- else {
101
- throw new Error(`Unsupported connection mode: ${connectionMode}`);
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 it so the new provider's echo isn't mistaken
219
- // for a wallet-initiated change (one-shot, same as bus-armed switches).
220
- { chainId: session.activeNetwork.id, at: Date.now() });
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.activeConnector = null;
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":"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"}
@@ -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;IAqKhB,OAAO,CAAC,uBAAuB;CAyChC"}
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', { network });
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, SignatureType, EIP712TypedData } from '@meshconnect/uwc-types';
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 that resolves to the signature
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<SignatureType>;
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,aAAa,EACb,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;;;;;OAKG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAqCzB;;;;;OAKG;IACG,aAAa,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;CAuCjE"}
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"}