@meshconnect/uwc-core 1.9.0 → 1.10.0-snapshot.4aba961

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 (38) hide show
  1. package/dist/events.d.ts +125 -0
  2. package/dist/events.d.ts.map +1 -1
  3. package/dist/events.js +4 -0
  4. package/dist/events.js.map +1 -1
  5. package/dist/observability/instrument-handoff.d.ts +21 -3
  6. package/dist/observability/instrument-handoff.d.ts.map +1 -1
  7. package/dist/observability/instrument-handoff.js +38 -4
  8. package/dist/observability/instrument-handoff.js.map +1 -1
  9. package/dist/observability/telemetry.d.ts +57 -9
  10. package/dist/observability/telemetry.d.ts.map +1 -1
  11. package/dist/observability/telemetry.js +65 -5
  12. package/dist/observability/telemetry.js.map +1 -1
  13. package/dist/services/network-switch-service.d.ts.map +1 -1
  14. package/dist/services/network-switch-service.js +51 -1
  15. package/dist/services/network-switch-service.js.map +1 -1
  16. package/dist/services/signature-service.d.ts.map +1 -1
  17. package/dist/services/signature-service.js +10 -3
  18. package/dist/services/signature-service.js.map +1 -1
  19. package/dist/services/transaction-service.d.ts.map +1 -1
  20. package/dist/services/transaction-service.js +11 -3
  21. package/dist/services/transaction-service.js.map +1 -1
  22. package/dist/universal-wallet-connector.d.ts.map +1 -1
  23. package/dist/universal-wallet-connector.js +3 -0
  24. package/dist/universal-wallet-connector.js.map +1 -1
  25. package/dist/version.d.ts +1 -1
  26. package/dist/version.d.ts.map +1 -1
  27. package/dist/version.js +1 -1
  28. package/dist/version.js.map +1 -1
  29. package/package.json +5 -5
  30. package/src/events.ts +136 -0
  31. package/src/observability/instrument-handoff.ts +52 -5
  32. package/src/observability/telemetry.test.ts +111 -0
  33. package/src/observability/telemetry.ts +138 -14
  34. package/src/services/network-switch-service.ts +60 -1
  35. package/src/services/signature-service.ts +18 -3
  36. package/src/services/transaction-service.ts +19 -3
  37. package/src/universal-wallet-connector.ts +4 -0
  38. package/src/version.ts +1 -1
package/dist/events.d.ts CHANGED
@@ -7,6 +7,15 @@ import type { Session, Network, WalletMetadata, ConnectionMode, WalletError, EVM
7
7
  */
8
8
  export declare const UWC_OPERATIONS: readonly ["connect", "disconnect", "switchNetwork", "signMessage", "signTypedData", "sendTransaction", "signSolanaTransaction", "getWalletCapabilities", "initialize"];
9
9
  export type UWCOperation = (typeof UWC_OPERATIONS)[number];
10
+ /**
11
+ * Which provider surface a wallet-boundary op actually used. Namespace-parking
12
+ * (a legacy-`injectedId` wallet leaving its active namespace on Solana after a
13
+ * Solana sign/send, so the next EVM `eth_sendTransaction` shows no approval
14
+ * sheet) is observed ONLY inside the wallet's own in-app browser —
15
+ * `integratedBrowser`. Riding this on every handoff lets triage separate the
16
+ * parking-prone surface from `extension` / `walletConnect` / `tonConnect`.
17
+ */
18
+ export type ProviderKind = 'integratedBrowser' | 'extension' | 'walletConnect' | 'tonConnect';
10
19
  /**
11
20
  * Typed event map emitted by UniversalWalletConnector.
12
21
  *
@@ -201,6 +210,16 @@ export interface UWCEventMap {
201
210
  platform: Platform;
202
211
  /** switchNetwork only: target chain already the active one (no-op switch). */
203
212
  targetAlreadyActive?: boolean | undefined;
213
+ /** Provider surface used (namespace-parking risk is integratedBrowser-only). */
214
+ providerKind?: ProviderKind | undefined;
215
+ /** Session-level: running inside the wallet's own in-app browser. */
216
+ usingIntegratedBrowser?: boolean | undefined;
217
+ /** Active wallet's legacy `solana.injectedId` (e.g. coinbaseSolana), when set. */
218
+ injectedId?: string | undefined;
219
+ /** Last namespace actually signed/sent before this op — the parking proxy. */
220
+ lastSignedNamespace?: Namespace | undefined;
221
+ /** switchNetwork only: namespace active BEFORE the switch (cross-namespace detection). */
222
+ previousNamespace?: Namespace | undefined;
204
223
  };
205
224
  /** The wallet resolved the op successfully. Closes a handoff. */
206
225
  walletSucceeded: {
@@ -222,6 +241,16 @@ export interface UWCEventMap {
222
241
  backgroundCount?: number | undefined;
223
242
  /** WalletConnect only: relay-socket drops seen while this handoff was pending. */
224
243
  relayDropCount?: number | undefined;
244
+ /** Provider surface used (namespace-parking risk is integratedBrowser-only). */
245
+ providerKind?: ProviderKind | undefined;
246
+ /** Session-level: running inside the wallet's own in-app browser. */
247
+ usingIntegratedBrowser?: boolean | undefined;
248
+ /** Active wallet's legacy `solana.injectedId` (e.g. coinbaseSolana), when set. */
249
+ injectedId?: string | undefined;
250
+ /** Last namespace actually signed/sent before this op — the parking proxy. */
251
+ lastSignedNamespace?: Namespace | undefined;
252
+ /** switchNetwork only: namespace active BEFORE the switch (cross-namespace detection). */
253
+ previousNamespace?: Namespace | undefined;
225
254
  };
226
255
  /** The user explicitly rejected (4001 / WalletError.type === 'rejected'). Closes a handoff. */
227
256
  walletRejected: {
@@ -251,6 +280,16 @@ export interface UWCEventMap {
251
280
  backgroundCount?: number | undefined;
252
281
  /** WalletConnect only: relay-socket drops seen while this handoff was pending. */
253
282
  relayDropCount?: number | undefined;
283
+ /** Provider surface used (namespace-parking risk is integratedBrowser-only). */
284
+ providerKind?: ProviderKind | undefined;
285
+ /** Session-level: running inside the wallet's own in-app browser. */
286
+ usingIntegratedBrowser?: boolean | undefined;
287
+ /** Active wallet's legacy `solana.injectedId` (e.g. coinbaseSolana), when set. */
288
+ injectedId?: string | undefined;
289
+ /** Last namespace actually signed/sent before this op — the parking proxy. */
290
+ lastSignedNamespace?: Namespace | undefined;
291
+ /** switchNetwork only: namespace active BEFORE the switch (cross-namespace detection). */
292
+ previousNamespace?: Namespace | undefined;
254
293
  };
255
294
  /** The op failed for any non-rejection reason. Closes a handoff. */
256
295
  walletFailed: {
@@ -274,6 +313,16 @@ export interface UWCEventMap {
274
313
  backgroundCount?: number | undefined;
275
314
  /** WalletConnect only: relay-socket drops seen while this handoff was pending. */
276
315
  relayDropCount?: number | undefined;
316
+ /** Provider surface used (namespace-parking risk is integratedBrowser-only). */
317
+ providerKind?: ProviderKind | undefined;
318
+ /** Session-level: running inside the wallet's own in-app browser. */
319
+ usingIntegratedBrowser?: boolean | undefined;
320
+ /** Active wallet's legacy `solana.injectedId` (e.g. coinbaseSolana), when set. */
321
+ injectedId?: string | undefined;
322
+ /** Last namespace actually signed/sent before this op — the parking proxy. */
323
+ lastSignedNamespace?: Namespace | undefined;
324
+ /** switchNetwork only: namespace active BEFORE the switch (cross-namespace detection). */
325
+ previousNamespace?: Namespace | undefined;
277
326
  };
278
327
  /**
279
328
  * Side marker: the deadline passed with the op still pending. OBSERVATIONAL —
@@ -298,6 +347,16 @@ export interface UWCEventMap {
298
347
  backgroundCount?: number | undefined;
299
348
  /** WalletConnect only: relay-socket drops seen so far while this handoff was pending. */
300
349
  relayDropCount?: number | undefined;
350
+ /** Provider surface used (namespace-parking risk is integratedBrowser-only). */
351
+ providerKind?: ProviderKind | undefined;
352
+ /** Session-level: running inside the wallet's own in-app browser. */
353
+ usingIntegratedBrowser?: boolean | undefined;
354
+ /** Active wallet's legacy `solana.injectedId` (e.g. coinbaseSolana), when set. */
355
+ injectedId?: string | undefined;
356
+ /** Last namespace actually signed/sent before this op — the parking proxy. */
357
+ lastSignedNamespace?: Namespace | undefined;
358
+ /** switchNetwork only: namespace active BEFORE the switch (cross-namespace detection). */
359
+ previousNamespace?: Namespace | undefined;
301
360
  };
302
361
  /** The wallet's active account/list changed. Signals THAT it changed, not which. */
303
362
  walletAccountChanged: {
@@ -385,6 +444,72 @@ export interface UWCEventMap {
385
444
  /** True = skipped in a framed embed; false = top-level in the wallet's in-app browser (dapp deep-link flow). */
386
445
  framed: boolean;
387
446
  };
447
+ /**
448
+ * Positive counterpart of `secondarySolanaConnectSkipped` (ONC-231): a
449
+ * legacy-`injectedId` wallet's SECONDARY Solana address WAS gathered after an
450
+ * EVM connect. The "framed gather works" signal — filter `framed:true` in prod
451
+ * to confirm framed SDK clients recover the Base Wallet Solana address the
452
+ * over-broad `isFramedEmbed()` gate used to silently drop. Deduped per
453
+ * injectedId × source. Metadata key + discovery/runtime facets only — never an
454
+ * address.
455
+ */
456
+ secondarySolanaConnectGathered: {
457
+ /** The `solana.injectedId` metadata key of the gathered wallet (e.g. `coinbaseSolana`). */
458
+ injectedId: string;
459
+ /** `existing` = surfaced via the passive/silent check; `connect` = a fresh connect was made. */
460
+ source: 'existing' | 'connect';
461
+ /** True = wallet discovered via the legacy injected fallback (true "Legacy mode"); false = Wallet Standard. */
462
+ legacyInjected: boolean;
463
+ /** True = gathered while framed (the SDK-client case the ONC-231 fix restores); false = top frame. */
464
+ framed: boolean;
465
+ };
466
+ /**
467
+ * Namespace re-assert lever fired (POC — sequential cross-namespace parking).
468
+ * When a legacy-`injectedId` wallet (Coinbase/Base) signs/sends on Solana and
469
+ * then switches to an EVM chain INSIDE its own in-app browser, the wallet's
470
+ * active namespace stays parked on Solana — `wallet_switchEthereumChain` moves
471
+ * `window.ethereum`'s chain but not the active namespace, so the next
472
+ * `eth_sendTransaction` shows no approval sheet. The lever re-asserts the EVM
473
+ * namespace (`eth_requestAccounts`) before the send. Telemetry-only: one event
474
+ * per lever attempt, `phase` distinguishes fired → succeeded/failed. Routing
475
+ * facets only — never an address.
476
+ */
477
+ namespaceReassert: {
478
+ /** `fired` = lever invoked; `succeeded`/`failed` = its outcome. */
479
+ phase: 'fired' | 'succeeded' | 'failed';
480
+ /** The wallet request(s) used to re-assert the EVM namespace. */
481
+ lever: 'eth_requestAccounts' | 'wallet_requestPermissions' | 'combined';
482
+ connectionMode: ConnectionMode;
483
+ walletId?: string | undefined;
484
+ /** The legacy `solana.injectedId` of the parked wallet (e.g. coinbaseSolana). */
485
+ injectedId?: string | undefined;
486
+ /** The namespace the wallet was parked on (the parking cause, e.g. solana). */
487
+ fromNamespace?: Namespace | undefined;
488
+ /** The namespace being re-asserted (the switch target, e.g. eip155). */
489
+ toNamespace?: Namespace | undefined;
490
+ /** Total lever round-trip time (ms). */
491
+ durationMs?: number | undefined;
492
+ /** Coinbase EIP-1193 identity flag (non-PII). */
493
+ isCoinbaseWallet?: boolean | undefined;
494
+ /** Whether the wallet's Solana side was live (the parked namespace). */
495
+ solanaConnected?: boolean | undefined;
496
+ /** `eth_chainId` before / after the re-assert (hex chain id). */
497
+ chainIdBefore?: string | undefined;
498
+ chainIdAfter?: string | undefined;
499
+ /** `eth_accounts` COUNT before / after (never an address). */
500
+ accountsBefore?: number | undefined;
501
+ accountsAfter?: number | undefined;
502
+ /** `eth_requestAccounts` round-trip ms + returned account count. */
503
+ reqAccountsMs?: number | undefined;
504
+ reqAccountsCount?: number | undefined;
505
+ /** `wallet_requestPermissions` round-trip ms + whether it resolved. */
506
+ reqPermsMs?: number | undefined;
507
+ reqPermsOk?: boolean | undefined;
508
+ /** Compact, bounded, non-PII per-call probe log for RUM triage. */
509
+ probes?: string | undefined;
510
+ /** Present on `failed`: scrubbed failure detail. */
511
+ error?: WalletError | undefined;
512
+ };
388
513
  /**
389
514
  * Connecting a wallet released live per-namespace state that belonged to a
390
515
  * DIFFERENT wallet — the injected connector's wallet-switch guard (see
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
package/dist/events.js CHANGED
@@ -41,6 +41,8 @@ export const TELEMETRY_ONLY_EVENTS = new Set([
41
41
  'pageHiddenDuringHandoff',
42
42
  'pageVisibleDuringHandoff',
43
43
  'secondarySolanaConnectSkipped',
44
+ 'secondarySolanaConnectGathered',
45
+ 'namespaceReassert',
44
46
  'walletConnectionsReleased'
45
47
  ]);
46
48
  /**
@@ -81,6 +83,8 @@ const EVENT_NAME_FLAGS = {
81
83
  pageHiddenDuringHandoff: true,
82
84
  pageVisibleDuringHandoff: true,
83
85
  secondarySolanaConnectSkipped: true,
86
+ secondarySolanaConnectGathered: true,
87
+ namespaceReassert: true,
84
88
  walletConnectionsReleased: true,
85
89
  change: true
86
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS;IACT,YAAY;IACZ,eAAe;IACf,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,uBAAuB;IACvB,uBAAuB;IACvB,YAAY;CACJ,CAAA;AAoZV;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA8B,IAAI,GAAG,CAAC;IACtE,KAAK;IACL,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,uBAAuB;IACvB,aAAa;IACb,YAAY;IACZ,mBAAmB;IACnB,kBAAkB;IAClB,wBAAwB;IACxB,sBAAsB;IACtB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;IACtB,+BAA+B;IAC/B,yBAAyB;IACzB,0BAA0B;IAC1B,+BAA+B;IAC/B,2BAA2B;CAC5B,CAAC,CAAA;AAOF;;;;;GAKG;AACH,MAAM,gBAAgB,GAA+B;IACnD,KAAK,EAAE,IAAI;IACX,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,IAAI;IAC3B,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,sBAAsB,EAAE,IAAI;IAC5B,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,IAAI;IACzB,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,IAAI;IACT,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,IAAI;IAC1B,6BAA6B,EAAE,IAAI;IACnC,uBAAuB,EAAE,IAAI;IAC7B,wBAAwB,EAAE,IAAI;IAC9B,6BAA6B,EAAE,IAAI;IACnC,yBAAyB,EAAE,IAAI;IAC/B,MAAM,EAAE,IAAI;CACb,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAmB,CAAA"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS;IACT,YAAY;IACZ,eAAe;IACf,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,uBAAuB;IACvB,uBAAuB;IACvB,YAAY;CACJ,CAAA;AAwhBV;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA8B,IAAI,GAAG,CAAC;IACtE,KAAK;IACL,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,uBAAuB;IACvB,aAAa;IACb,YAAY;IACZ,mBAAmB;IACnB,kBAAkB;IAClB,wBAAwB;IACxB,sBAAsB;IACtB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;IACtB,+BAA+B;IAC/B,yBAAyB;IACzB,0BAA0B;IAC1B,+BAA+B;IAC/B,gCAAgC;IAChC,mBAAmB;IACnB,2BAA2B;CAC5B,CAAC,CAAA;AAOF;;;;;GAKG;AACH,MAAM,gBAAgB,GAA+B;IACnD,KAAK,EAAE,IAAI;IACX,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,IAAI;IAC3B,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,sBAAsB,EAAE,IAAI;IAC5B,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,IAAI;IACzB,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,IAAI;IACT,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,IAAI;IAC1B,6BAA6B,EAAE,IAAI;IACnC,uBAAuB,EAAE,IAAI;IAC7B,wBAAwB,EAAE,IAAI;IAC9B,6BAA6B,EAAE,IAAI;IACnC,8BAA8B,EAAE,IAAI;IACpC,iBAAiB,EAAE,IAAI;IACvB,yBAAyB,EAAE,IAAI;IAC/B,MAAM,EAAE,IAAI;CACb,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAmB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { ConnectionMode, Namespace, NetworkId, Session } from '@meshconnect/uwc-types';
2
2
  import type { EventManager } from '../managers/event-manager';
3
- import type { UWCOperation } from '../events';
3
+ import type { ProviderKind, UWCOperation } from '../events';
4
4
  /** Routing facets known at the moment of a wallet handoff. No address, no payload. */
5
5
  export interface HandoffContext {
6
6
  operation: UWCOperation;
@@ -10,9 +10,27 @@ export interface HandoffContext {
10
10
  chainId?: NetworkId | undefined;
11
11
  /** switchNetwork only: target chain already the active one (no-op switch). */
12
12
  targetAlreadyActive?: boolean | undefined;
13
+ /** Provider surface used (namespace-parking risk is integratedBrowser-only). */
14
+ providerKind?: ProviderKind | undefined;
15
+ /** Session-level: running inside the wallet's own in-app browser. */
16
+ usingIntegratedBrowser?: boolean | undefined;
17
+ /** Active wallet's legacy `solana.injectedId` (e.g. coinbaseSolana), when set. */
18
+ injectedId?: string | undefined;
19
+ /** Last namespace actually signed/sent before this op — the parking proxy. */
20
+ lastSignedNamespace?: Namespace | undefined;
21
+ /** switchNetwork only: namespace active BEFORE the switch (cross-namespace detection). */
22
+ previousNamespace?: Namespace | undefined;
13
23
  }
14
- /** Build handoff routing facets from the active session (no address). */
15
- export declare function sessionHandoffContext(operation: UWCOperation, session: Session): HandoffContext;
24
+ /** Which provider surface a namespace/mode maps to (parking risk = integratedBrowser). */
25
+ export declare function deriveProviderKind(connectionMode: ConnectionMode, usingIntegratedBrowser: boolean): ProviderKind;
26
+ /**
27
+ * Build handoff routing facets from the active session (no address). Enriched
28
+ * with the namespace-parking triage facets — provider surface, in-app-browser,
29
+ * the wallet's legacy `solana.injectedId`, and the last-signed namespace — so a
30
+ * send/sign handoff self-describes the parking setup without a session join.
31
+ * `usingIntegratedBrowser` is connector-level state, so callers pass it in.
32
+ */
33
+ export declare function sessionHandoffContext(operation: UWCOperation, session: Session, usingIntegratedBrowser?: boolean): HandoffContext;
16
34
  /** Whether this thrown value already produced a handoff terminal. */
17
35
  export declare function hasHandoffTerminal(error: unknown): boolean;
18
36
  export interface InstrumentHandoffOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-handoff.d.ts","sourceRoot":"","sources":["../../src/observability/instrument-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,OAAO,EACR,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAY7C,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,YAAY,CAAA;IACvB,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IACjC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC/B,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC1C;AAED,yEAAyE;AACzE,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,OAAO,GACf,cAAc,CAQhB;AAmBD,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM1D;AAQD,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,YAAY,CAAA;IAC1B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAChC,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAuJZ"}
1
+ {"version":3,"file":"instrument-handoff.d.ts","sourceRoot":"","sources":["../../src/observability/instrument-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,OAAO,EACR,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAY3D,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,YAAY,CAAA;IACvB,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IACjC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC/B,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACzC,gFAAgF;IAChF,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IACvC,qEAAqE;IACrE,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5C,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC3C,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAC1C;AAED,0FAA0F;AAC1F,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,cAAc,EAC9B,sBAAsB,EAAE,OAAO,GAC9B,YAAY,CAId;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,OAAO,EAChB,sBAAsB,UAAQ,GAC7B,cAAc,CAkBhB;AAmBD,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM1D;AAQD,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,YAAY,CAAA;IAC1B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAChC,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAiKZ"}
@@ -3,14 +3,38 @@ import { classifyError, isAbortError, isUserRejection, toWalletError } from '../
3
3
  import { derivePlatform, deriveWalletFlowType } from './telemetry';
4
4
  import { trackFocusDuringHandoff } from './focus-tracker';
5
5
  import { trackRelayDropsDuringHandoff } from './relay-drop-tracker';
6
- /** Build handoff routing facets from the active session (no address). */
7
- export function sessionHandoffContext(operation, session) {
6
+ /** Which provider surface a namespace/mode maps to (parking risk = integratedBrowser). */
7
+ export function deriveProviderKind(connectionMode, usingIntegratedBrowser) {
8
+ if (connectionMode === 'walletConnect')
9
+ return 'walletConnect';
10
+ if (connectionMode === 'tonConnect')
11
+ return 'tonConnect';
12
+ return usingIntegratedBrowser ? 'integratedBrowser' : 'extension';
13
+ }
14
+ /**
15
+ * Build handoff routing facets from the active session (no address). Enriched
16
+ * with the namespace-parking triage facets — provider surface, in-app-browser,
17
+ * the wallet's legacy `solana.injectedId`, and the last-signed namespace — so a
18
+ * send/sign handoff self-describes the parking setup without a session join.
19
+ * `usingIntegratedBrowser` is connector-level state, so callers pass it in.
20
+ */
21
+ export function sessionHandoffContext(operation, session, usingIntegratedBrowser = false) {
22
+ const connectionMode = session.connectionMode ?? 'injected';
23
+ // `namespaceMetaData` (with the legacy `solana.injectedId`) lives on the
24
+ // injected provider, not the wallet — pick the surface in use.
25
+ const injectedProvider = usingIntegratedBrowser
26
+ ? session.activeWallet?.integratedBrowserInjectedProvider
27
+ : session.activeWallet?.extensionInjectedProvider;
8
28
  return {
9
29
  operation,
10
- connectionMode: session.connectionMode ?? 'injected',
30
+ connectionMode,
11
31
  walletId: session.activeWallet?.id,
12
32
  namespace: session.activeNetwork?.namespace,
13
- chainId: session.activeNetwork?.id ?? undefined
33
+ chainId: session.activeNetwork?.id ?? undefined,
34
+ providerKind: deriveProviderKind(connectionMode, usingIntegratedBrowser),
35
+ usingIntegratedBrowser,
36
+ injectedId: injectedProvider?.namespaceMetaData?.solana?.injectedId,
37
+ lastSignedNamespace: session.lastSignedNamespace ?? undefined
14
38
  };
15
39
  }
16
40
  /**
@@ -75,6 +99,11 @@ export async function instrumentHandoff(options, context, fn) {
75
99
  handoffId,
76
100
  walletFlowType: deriveWalletFlowType(context.connectionMode, platform),
77
101
  platform,
102
+ providerKind: context.providerKind,
103
+ usingIntegratedBrowser: context.usingIntegratedBrowser,
104
+ injectedId: context.injectedId,
105
+ lastSignedNamespace: context.lastSignedNamespace,
106
+ previousNamespace: context.previousNamespace,
78
107
  ...(context.targetAlreadyActive !== undefined && {
79
108
  targetAlreadyActive: context.targetAlreadyActive
80
109
  })
@@ -103,6 +132,11 @@ export async function instrumentHandoff(options, context, fn) {
103
132
  walletId: context.walletId,
104
133
  namespace: context.namespace,
105
134
  chainId: context.chainId,
135
+ providerKind: context.providerKind,
136
+ usingIntegratedBrowser: context.usingIntegratedBrowser,
137
+ injectedId: context.injectedId,
138
+ lastSignedNamespace: context.lastSignedNamespace,
139
+ previousNamespace: context.previousNamespace,
106
140
  ...(context.targetAlreadyActive !== undefined && {
107
141
  targetAlreadyActive: context.targetAlreadyActive
108
142
  })
@@ -1 +1 @@
1
- {"version":3,"file":"instrument-handoff.js","sourceRoot":"","sources":["../../src/observability/instrument-handoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrument-handoff.js","sourceRoot":"","sources":["../../src/observability/instrument-handoff.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ConnectionMode, WalletError, WalletFlowType, Platform, LogLevel, Namespace, NetworkId, FailureKind, ErrorSource, LifecycleUnavailableReason } from '@meshconnect/uwc-types';
2
- import type { UWCEventName, UWCEventMap, UWCOperation } from '../events';
2
+ import type { UWCEventName, UWCEventMap, UWCOperation, ProviderKind } from '../events';
3
3
  /**
4
4
  * Telemetry record schema version. Bump on any breaking change to the
5
5
  * `UWCTelemetryEvent` shape so a downstream consumer can branch on it.
@@ -148,17 +148,17 @@ export interface UWCTelemetryEvent {
148
148
  /** Handoff terminals, WalletConnect only: relay-socket drops seen while the handoff was pending. */
149
149
  relayDropCount?: number | undefined;
150
150
  /**
151
- * `secondarySolanaConnectSkipped` only: the `solana.injectedId` metadata key
152
- * whose secondary gather the gate acted on (e.g. `coinbaseSolana`) — fires
153
- * framed or top-level in-app (`runtime` distinguishes). A consumer-configured
154
- * metadata key, never an address. Length-capped as defense-in-depth since
155
- * the value originates in catalog metadata.
151
+ * `secondarySolanaConnectSkipped` / `secondarySolanaConnectGathered`: the
152
+ * `solana.injectedId` metadata key the secondary gather acted on (e.g.
153
+ * `coinbaseSolana`). A consumer-configured metadata key, never an address.
154
+ * Length-capped as defense-in-depth since the value originates in catalog
155
+ * metadata.
156
156
  */
157
157
  injectedId?: string | undefined;
158
158
  /**
159
- * `secondarySolanaConnectSkipped` only: true when the skipped wallet was
160
- * discovered via the legacy injected-Solana fallback (true "Legacy mode")
161
- * rather than the Wallet Standard registry.
159
+ * `secondarySolanaConnectSkipped` / `secondarySolanaConnectGathered`: true
160
+ * when the wallet was discovered via the legacy injected-Solana fallback
161
+ * (true "Legacy mode") rather than the Wallet Standard registry.
162
162
  */
163
163
  legacyInjected?: boolean | undefined;
164
164
  /**
@@ -168,6 +168,54 @@ export interface UWCTelemetryEvent {
168
168
  * wallet-side state, not the gather.
169
169
  */
170
170
  gateOutcome?: 'connectSuppressed' | 'alreadyConnected' | undefined;
171
+ /**
172
+ * `secondarySolanaConnectGathered` only (ONC-231): `existing` = the address
173
+ * surfaced via the passive/silent check; `connect` = a fresh connect was made.
174
+ */
175
+ gatherSource?: 'existing' | 'connect' | undefined;
176
+ /**
177
+ * Handoff events: which provider surface the op used. Namespace parking
178
+ * (Coinbase/Base legacy Solana → EVM in-app) is observed only on
179
+ * `integratedBrowser`; riding it on every handoff separates that surface.
180
+ */
181
+ providerKind?: ProviderKind | undefined;
182
+ /** Handoff events: the session runs inside the wallet's own in-app browser. */
183
+ usingIntegratedBrowser?: boolean | undefined;
184
+ /**
185
+ * Handoff events: the last namespace actually signed/sent before this op — the
186
+ * parking proxy. A switch/send to `eip155` following `lastSignedNamespace:
187
+ * solana` on a legacy-injectedId wallet in an integrated browser is the
188
+ * fingerprint of the no-approval-sheet parking bug.
189
+ */
190
+ lastSignedNamespace?: Namespace | undefined;
191
+ /** switchNetwork handoffs: the namespace active BEFORE the switch. */
192
+ previousNamespace?: Namespace | undefined;
193
+ /** `namespaceReassert` only: lever attempt phase. */
194
+ reassertPhase?: 'fired' | 'succeeded' | 'failed' | undefined;
195
+ /** `namespaceReassert` only: the wallet request(s) used to re-assert the namespace. */
196
+ reassertLever?: 'eth_requestAccounts' | 'wallet_requestPermissions' | 'combined' | undefined;
197
+ /** `namespaceReassert` only: the namespace the wallet was parked on (parking cause). */
198
+ fromNamespace?: Namespace | undefined;
199
+ /** `namespaceReassert` only: the namespace being re-asserted (switch target). */
200
+ toNamespace?: Namespace | undefined;
201
+ /** `namespaceReassert` only: Coinbase EIP-1193 identity flag. */
202
+ isCoinbaseWallet?: boolean | undefined;
203
+ /** `namespaceReassert` only: whether the wallet's Solana side was live (parked). */
204
+ solanaConnected?: boolean | undefined;
205
+ /** `namespaceReassert` only: `eth_chainId` before / after the re-assert. */
206
+ chainIdBefore?: string | undefined;
207
+ chainIdAfter?: string | undefined;
208
+ /** `namespaceReassert` only: `eth_accounts` COUNT before / after (never an address). */
209
+ accountsBefore?: number | undefined;
210
+ accountsAfter?: number | undefined;
211
+ /** `namespaceReassert` only: `eth_requestAccounts` round-trip ms + account count. */
212
+ reqAccountsMs?: number | undefined;
213
+ reqAccountsCount?: number | undefined;
214
+ /** `namespaceReassert` only: `wallet_requestPermissions` round-trip ms + resolved. */
215
+ reqPermsMs?: number | undefined;
216
+ reqPermsOk?: boolean | undefined;
217
+ /** `namespaceReassert` only: compact, bounded, non-PII per-call probe log. */
218
+ probes?: string | undefined;
171
219
  }
172
220
  /**
173
221
  * Vendor-agnostic telemetry sink. Consumers implement; UWC ships no vendor SDK.
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/observability/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/observability/telemetry.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,22 @@ function capNetworkMismatch(mismatch) {
27
27
  configuredNetworkIds: cap(mismatch.configuredNetworkIds)
28
28
  };
29
29
  }
30
+ /**
31
+ * Namespace-parking triage facets carried on every wallet-boundary handoff so a
32
+ * single event answers "which provider surface, in-app browser?, legacy Solana
33
+ * wallet?, and what namespace did we last sign on before this op?" — the inputs
34
+ * needed to spot the Coinbase/Base sequential Solana→EVM parking bug in RUM.
35
+ * `injectedId` is length-capped (catalog-metadata origin), the rest are enums/bools.
36
+ */
37
+ function parkingFacets(d) {
38
+ return {
39
+ providerKind: d.providerKind,
40
+ usingIntegratedBrowser: d.usingIntegratedBrowser,
41
+ injectedId: d.injectedId?.slice(0, MAX_INJECTED_ID_LENGTH),
42
+ lastSignedNamespace: d.lastSignedNamespace,
43
+ previousNamespace: d.previousNamespace
44
+ };
45
+ }
30
46
  /**
31
47
  * Best-effort coarse runtime surface. HEURISTIC — user agents lie and in-app
32
48
  * browsers are hard to detect; treat `webview` as a hint, not a guarantee.
@@ -182,7 +198,8 @@ function buildTelemetryEvent(name, data, sdkSessionId, now, correlationId) {
182
198
  handoffId: d.handoffId,
183
199
  walletFlowType: d.walletFlowType,
184
200
  platform: d.platform,
185
- targetAlreadyActive: d.targetAlreadyActive
201
+ targetAlreadyActive: d.targetAlreadyActive,
202
+ ...parkingFacets(d)
186
203
  };
187
204
  }
188
205
  case 'walletSucceeded': {
@@ -201,7 +218,8 @@ function buildTelemetryEvent(name, data, sdkSessionId, now, correlationId) {
201
218
  targetAlreadyActive: d.targetAlreadyActive,
202
219
  backgroundedMs: d.backgroundedMs,
203
220
  backgroundCount: d.backgroundCount,
204
- relayDropCount: d.relayDropCount
221
+ relayDropCount: d.relayDropCount,
222
+ ...parkingFacets(d)
205
223
  };
206
224
  }
207
225
  case 'walletRejected': {
@@ -226,7 +244,8 @@ function buildTelemetryEvent(name, data, sdkSessionId, now, correlationId) {
226
244
  : undefined,
227
245
  backgroundedMs: d.backgroundedMs,
228
246
  backgroundCount: d.backgroundCount,
229
- relayDropCount: d.relayDropCount
247
+ relayDropCount: d.relayDropCount,
248
+ ...parkingFacets(d)
230
249
  };
231
250
  }
232
251
  case 'walletTimedOut': {
@@ -244,7 +263,8 @@ function buildTelemetryEvent(name, data, sdkSessionId, now, correlationId) {
244
263
  targetAlreadyActive: d.targetAlreadyActive,
245
264
  backgroundedMs: d.backgroundedMs,
246
265
  backgroundCount: d.backgroundCount,
247
- relayDropCount: d.relayDropCount
266
+ relayDropCount: d.relayDropCount,
267
+ ...parkingFacets(d)
248
268
  };
249
269
  }
250
270
  case 'walletFailed': {
@@ -267,7 +287,8 @@ function buildTelemetryEvent(name, data, sdkSessionId, now, correlationId) {
267
287
  error: { type: d.error.type, message: scrubMessage(d.error.message) },
268
288
  backgroundedMs: d.backgroundedMs,
269
289
  backgroundCount: d.backgroundCount,
270
- relayDropCount: d.relayDropCount
290
+ relayDropCount: d.relayDropCount,
291
+ ...parkingFacets(d)
271
292
  };
272
293
  }
273
294
  case 'capabilitiesUpdated': {
@@ -317,6 +338,45 @@ function buildTelemetryEvent(name, data, sdkSessionId, now, correlationId) {
317
338
  runtime: d.framed ? 'iframe' : 'direct'
318
339
  };
319
340
  }
341
+ case 'secondarySolanaConnectGathered': {
342
+ const d = data;
343
+ return {
344
+ ...base,
345
+ injectedId: d.injectedId.slice(0, MAX_INJECTED_ID_LENGTH),
346
+ legacyInjected: d.legacyInjected,
347
+ gatherSource: d.source,
348
+ runtime: d.framed ? 'iframe' : 'direct'
349
+ };
350
+ }
351
+ case 'namespaceReassert': {
352
+ const d = data;
353
+ return {
354
+ ...base,
355
+ reassertPhase: d.phase,
356
+ reassertLever: d.lever,
357
+ connectionMode: d.connectionMode,
358
+ walletId: d.walletId,
359
+ injectedId: d.injectedId?.slice(0, MAX_INJECTED_ID_LENGTH),
360
+ fromNamespace: d.fromNamespace,
361
+ toNamespace: d.toNamespace,
362
+ durationMs: d.durationMs,
363
+ isCoinbaseWallet: d.isCoinbaseWallet,
364
+ solanaConnected: d.solanaConnected,
365
+ chainIdBefore: d.chainIdBefore,
366
+ chainIdAfter: d.chainIdAfter,
367
+ accountsBefore: d.accountsBefore,
368
+ accountsAfter: d.accountsAfter,
369
+ reqAccountsMs: d.reqAccountsMs,
370
+ reqAccountsCount: d.reqAccountsCount,
371
+ reqPermsMs: d.reqPermsMs,
372
+ reqPermsOk: d.reqPermsOk,
373
+ // Bounded again at egress (defense-in-depth); scrubbed for any hex/PII.
374
+ probes: d.probes ? scrubMessage(d.probes.slice(0, 500)) : undefined,
375
+ error: d.error
376
+ ? { type: d.error.type, message: scrubMessage(d.error.message) }
377
+ : undefined
378
+ };
379
+ }
320
380
  case 'pageHiddenDuringHandoff':
321
381
  case 'pageVisibleDuringHandoff': {
322
382
  // Cast to the visible shape (superset). `hiddenMs` is absent on the hidden