@meshconnect/uwc-core 1.3.0 → 1.4.0-snapshot.103d25f
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/README.md +5 -0
- package/dist/events.d.ts +50 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +6 -0
- package/dist/events.js.map +1 -1
- package/dist/observability/instrument-handoff.d.ts +6 -0
- package/dist/observability/instrument-handoff.d.ts.map +1 -1
- package/dist/observability/instrument-handoff.js +6 -3
- package/dist/observability/instrument-handoff.js.map +1 -1
- package/dist/observability/telemetry.d.ts +13 -0
- package/dist/observability/telemetry.d.ts.map +1 -1
- package/dist/observability/telemetry.js +55 -6
- package/dist/observability/telemetry.js.map +1 -1
- package/dist/services/connection-service.d.ts.map +1 -1
- package/dist/services/connection-service.js +12 -4
- 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 +2 -1
- package/dist/services/network-switch-service.js.map +1 -1
- package/dist/universal-wallet-connector.d.ts +11 -0
- package/dist/universal-wallet-connector.d.ts.map +1 -1
- package/dist/universal-wallet-connector.js +40 -1
- package/dist/universal-wallet-connector.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -5
- package/src/events.ts +59 -0
- package/src/observability/instrument-handoff.test.ts +31 -0
- package/src/observability/instrument-handoff.ts +12 -3
- package/src/observability/telemetry.test.ts +71 -0
- package/src/observability/telemetry.ts +68 -6
- package/src/services/connection-service.test.ts +11 -5
- package/src/services/connection-service.ts +17 -4
- package/src/services/network-switch-service.ts +2 -1
- package/src/universal-wallet-connector.test.ts +78 -1
- package/src/universal-wallet-connector.ts +49 -1
- package/src/version.ts +1 -1
|
@@ -116,6 +116,17 @@ export declare class UniversalWalletConnector {
|
|
|
116
116
|
getWallets(): WalletMetadata[];
|
|
117
117
|
getNetworks(): Network[];
|
|
118
118
|
connect(connectionMode: ConnectionMode, walletId: string, networkId?: NetworkId, options?: OperationOptions): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Pre-generate a WalletConnect pairing ahead of the user's tap. Warms the relay
|
|
121
|
+
* (opens the socket even on a cold, topic-less client) and returns a URI the app
|
|
122
|
+
* can deep-link inside the tap gesture, so the first tap opens the wallet
|
|
123
|
+
* reliably; a subsequent `connect()` adopts the same pairing. Built against the
|
|
124
|
+
* UNION of every WalletConnect wallet's networks so the single pairing serves
|
|
125
|
+
* whichever wallet the user picks (optionalNamespaces let a wallet approve only
|
|
126
|
+
* its supported subset). Best-effort: resolves `undefined` when WalletConnect is
|
|
127
|
+
* not configured or there is nothing to pair, and never throws into the caller.
|
|
128
|
+
*/
|
|
129
|
+
beginPairing(): Promise<string | undefined>;
|
|
119
130
|
getConnectionURI(): string | undefined;
|
|
120
131
|
disconnect(options?: OperationOptions): Promise<void>;
|
|
121
132
|
switchNetwork(networkId: NetworkId, options?: OperationOptions): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal-wallet-connector.d.ts","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,OAAO,EACP,cAAc,EACd,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAOhB,kBAAkB,EAClB,iBAAiB,EAEjB,eAAe,EACf,aAAa,EACb,eAAe,EACf,QAAQ,EACR,MAAM,EACP,MAAM,wBAAwB,CAAA;AAI/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAkB1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAgB,MAAM,UAAU,CAAA;AAK5E;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAA;IAInB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;IACvC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwC;IAC/D,OAAO,CAAC,MAAM,CAAC,aAAa,CAAI;IAChC,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAQ;IAEtD,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,yBAAyB,CAA2B;IAC5D,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,MAAM,CAAe;IAC7B,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,uBAAuB,CAAQ;IACvC,iFAAiF;IACjF,OAAO,CAAC,gBAAgB,CAA0B;IAElD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,wBAAwB;IAYhE,sFAAsF;IACtF,MAAM,CAAC,aAAa,IAAI,IAAI;gBAMhB,MAAM,EAAE,SAAS;gBAE3B,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,cAAc,EAAE,EACzB,sBAAsB,CAAC,EAAE,OAAO,EAChC,mBAAmB,CAAC,EAAE,mBAAmB,EACzC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,mBAAmB,CAAC,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"universal-wallet-connector.d.ts","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -173,7 +173,17 @@ export class UniversalWalletConnector {
|
|
|
173
173
|
onRelayDisconnect: () => this.eventManager.emit('relayDisconnected', undefined),
|
|
174
174
|
// Relay transport recovered — pair with `relayDisconnected` (same
|
|
175
175
|
// sdkSessionId) to measure the dead window.
|
|
176
|
-
onRelayReconnect: () => this.eventManager.emit('relayReconnected', undefined)
|
|
176
|
+
onRelayReconnect: () => this.eventManager.emit('relayReconnected', undefined),
|
|
177
|
+
// Relay/subscription health captured just before a wallet request is
|
|
178
|
+
// published — the CARE-263 delivery signal for a reused session whose
|
|
179
|
+
// transport went stale (correlate with the sign terminal).
|
|
180
|
+
onRelayHealthProbe: probe => this.eventManager.emit('relayHealthProbe', probe),
|
|
181
|
+
// Outbound request handed to the relay, with its JSON-RPC id — the
|
|
182
|
+
// correlation key for wallet-side duplicate-prompt triage.
|
|
183
|
+
onRequestPublished: info => this.eventManager.emit('wcRequestPublished', info),
|
|
184
|
+
// A published request hit its WC TTL unanswered — the terminal
|
|
185
|
+
// counterpart to the probe ("wallet never surfaced the prompt").
|
|
186
|
+
onRequestExpired: info => this.eventManager.emit('wcRequestExpired', info)
|
|
177
187
|
}));
|
|
178
188
|
}
|
|
179
189
|
this.sessionManager = new SessionManager();
|
|
@@ -428,6 +438,35 @@ export class UniversalWalletConnector {
|
|
|
428
438
|
throw error;
|
|
429
439
|
}
|
|
430
440
|
}
|
|
441
|
+
/**
|
|
442
|
+
* Pre-generate a WalletConnect pairing ahead of the user's tap. Warms the relay
|
|
443
|
+
* (opens the socket even on a cold, topic-less client) and returns a URI the app
|
|
444
|
+
* can deep-link inside the tap gesture, so the first tap opens the wallet
|
|
445
|
+
* reliably; a subsequent `connect()` adopts the same pairing. Built against the
|
|
446
|
+
* UNION of every WalletConnect wallet's networks so the single pairing serves
|
|
447
|
+
* whichever wallet the user picks (optionalNamespaces let a wallet approve only
|
|
448
|
+
* its supported subset). Best-effort: resolves `undefined` when WalletConnect is
|
|
449
|
+
* not configured or there is nothing to pair, and never throws into the caller.
|
|
450
|
+
*/
|
|
451
|
+
async beginPairing() {
|
|
452
|
+
try {
|
|
453
|
+
const connector = this.connectors.get('walletConnect');
|
|
454
|
+
if (!connector?.beginPairing) {
|
|
455
|
+
return undefined;
|
|
456
|
+
}
|
|
457
|
+
const supportedNetworkIds = [
|
|
458
|
+
...new Set(this.wallets.flatMap(wallet => wallet.walletConnectProvider?.supportedNetworkIds ?? []))
|
|
459
|
+
];
|
|
460
|
+
if (supportedNetworkIds.length === 0) {
|
|
461
|
+
return undefined;
|
|
462
|
+
}
|
|
463
|
+
return await connector.beginPairing({ supportedNetworkIds });
|
|
464
|
+
}
|
|
465
|
+
catch {
|
|
466
|
+
// Best-effort pre-warm — never surface a pairing failure to the caller.
|
|
467
|
+
return undefined;
|
|
468
|
+
}
|
|
469
|
+
}
|
|
431
470
|
getConnectionURI() {
|
|
432
471
|
return this.connectionService.getConnectionURI();
|
|
433
472
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal-wallet-connector.js","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"universal-wallet-connector.js","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const UWC_CORE_VERSION = "1.
|
|
1
|
+
export declare const UWC_CORE_VERSION = "1.4.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshconnect/uwc-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0-snapshot.103d25f",
|
|
4
4
|
"description": "Core functionality for Universal Wallet Connector",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"src"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@meshconnect/uwc-
|
|
20
|
-
"@meshconnect/uwc-
|
|
21
|
-
"@meshconnect/uwc-
|
|
22
|
-
"@meshconnect/uwc-wallet-connect-connector": "0.
|
|
19
|
+
"@meshconnect/uwc-injected-connector": "0.16.5-snapshot.103d25f",
|
|
20
|
+
"@meshconnect/uwc-ton-connector": "0.7.3-snapshot.103d25f",
|
|
21
|
+
"@meshconnect/uwc-types": "0.20.0-snapshot.103d25f",
|
|
22
|
+
"@meshconnect/uwc-wallet-connect-connector": "0.10.0-snapshot.103d25f"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "^5.9.3"
|
package/src/events.ts
CHANGED
|
@@ -112,6 +112,49 @@ export interface UWCEventMap {
|
|
|
112
112
|
*/
|
|
113
113
|
relayReconnected: void
|
|
114
114
|
|
|
115
|
+
/**
|
|
116
|
+
* Point-in-time relay/subscription health, emitted by the WalletConnect
|
|
117
|
+
* connector just before a wallet request (sign/tx) is published, and forwarded
|
|
118
|
+
* as its own telemetry action (`uwc.relayHealthProbe`). `relayConnected` = the
|
|
119
|
+
* relay socket is open; `topicSubscribed` = this client holds the session topic
|
|
120
|
+
* on the relay. A reused session whose transport went stale (iOS same-device
|
|
121
|
+
* WebView suspend) publishes the request into the void; correlate this probe
|
|
122
|
+
* with the same session's sign terminal (by linkSessId) to explain an
|
|
123
|
+
* otherwise-unexplained sign timeout (CARE-263). Telemetry-only; observational.
|
|
124
|
+
*/
|
|
125
|
+
relayHealthProbe: {
|
|
126
|
+
relayConnected: boolean
|
|
127
|
+
topicSubscribed: boolean
|
|
128
|
+
operation: string
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* A WalletConnect request (sign/tx) was handed to the relay for publish, with
|
|
133
|
+
* its JSON-RPC request id + inner RPC method (from the SignClient history's
|
|
134
|
+
* `history_created` — exactly once per outbound request). The id is the
|
|
135
|
+
* correlation key for wallet-side duplicate-prompt triage: one published id
|
|
136
|
+
* followed by two wallet prompts/responses proves relay redelivery without
|
|
137
|
+
* dedupe (Trust, CARE-263). Telemetry-only; observational.
|
|
138
|
+
*/
|
|
139
|
+
wcRequestPublished: {
|
|
140
|
+
requestId: number
|
|
141
|
+
method: string
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* A published WalletConnect request (sign/tx) hit its WC TTL (~5 min) with no
|
|
146
|
+
* response from the peer — forwarded from the SignClient's
|
|
147
|
+
* `session_request_expire`. The terminal counterpart to `relayHealthProbe`:
|
|
148
|
+
* the probe says the request LEFT this client healthy, this says it was never
|
|
149
|
+
* ANSWERED. A healthy probe followed by an expiry on the same session is the
|
|
150
|
+
* "wallet never surfaced the prompt" signature (CARE-263 / reused-session
|
|
151
|
+
* triage, e.g. Rainbow). Carries the WC request id — all the SDK emits.
|
|
152
|
+
* Telemetry-only; observational.
|
|
153
|
+
*/
|
|
154
|
+
wcRequestExpired: {
|
|
155
|
+
requestId: number
|
|
156
|
+
}
|
|
157
|
+
|
|
115
158
|
/**
|
|
116
159
|
* `SignClient.init` (WalletConnect) rejected — the client could not be created, so
|
|
117
160
|
* no connect could proceed. Rejects on a storage (IndexedDB) or crypto init failure,
|
|
@@ -206,6 +249,8 @@ export interface UWCEventMap {
|
|
|
206
249
|
platform: Platform
|
|
207
250
|
/** switchNetwork only: target chain already the active one (no-op switch). */
|
|
208
251
|
targetAlreadyActive?: boolean | undefined
|
|
252
|
+
/** True when this handoff ran on a reused WalletConnect session (MFS-642). */
|
|
253
|
+
reused?: boolean | undefined
|
|
209
254
|
}
|
|
210
255
|
|
|
211
256
|
/** The wallet resolved the op successfully. Closes a handoff. */
|
|
@@ -228,6 +273,8 @@ export interface UWCEventMap {
|
|
|
228
273
|
backgroundCount?: number | undefined
|
|
229
274
|
/** WalletConnect only: relay-socket drops seen while this handoff was pending. */
|
|
230
275
|
relayDropCount?: number | undefined
|
|
276
|
+
/** True when this handoff ran on a reused WalletConnect session (MFS-642). */
|
|
277
|
+
reused?: boolean | undefined
|
|
231
278
|
}
|
|
232
279
|
/** The user explicitly rejected (4001 / WalletError.type === 'rejected'). Closes a handoff. */
|
|
233
280
|
walletRejected: {
|
|
@@ -250,6 +297,8 @@ export interface UWCEventMap {
|
|
|
250
297
|
backgroundCount?: number | undefined
|
|
251
298
|
/** WalletConnect only: relay-socket drops seen while this handoff was pending. */
|
|
252
299
|
relayDropCount?: number | undefined
|
|
300
|
+
/** True when this handoff ran on a reused WalletConnect session (MFS-642). */
|
|
301
|
+
reused?: boolean | undefined
|
|
253
302
|
}
|
|
254
303
|
/** The op failed for any non-rejection reason. Closes a handoff. */
|
|
255
304
|
walletFailed: {
|
|
@@ -273,6 +322,8 @@ export interface UWCEventMap {
|
|
|
273
322
|
backgroundCount?: number | undefined
|
|
274
323
|
/** WalletConnect only: relay-socket drops seen while this handoff was pending. */
|
|
275
324
|
relayDropCount?: number | undefined
|
|
325
|
+
/** True when this handoff ran on a reused WalletConnect session (MFS-642). */
|
|
326
|
+
reused?: boolean | undefined
|
|
276
327
|
}
|
|
277
328
|
/**
|
|
278
329
|
* Side marker: the deadline passed with the op still pending. OBSERVATIONAL —
|
|
@@ -297,6 +348,8 @@ export interface UWCEventMap {
|
|
|
297
348
|
backgroundCount?: number | undefined
|
|
298
349
|
/** WalletConnect only: relay-socket drops seen so far while this handoff was pending. */
|
|
299
350
|
relayDropCount?: number | undefined
|
|
351
|
+
/** True when this handoff ran on a reused WalletConnect session (MFS-642). */
|
|
352
|
+
reused?: boolean | undefined
|
|
300
353
|
}
|
|
301
354
|
|
|
302
355
|
// ---- Provider lifecycle (telemetry-only) ----------------------------------
|
|
@@ -390,6 +443,9 @@ export const TELEMETRY_ONLY_EVENTS: ReadonlySet<UWCEventName> = new Set([
|
|
|
390
443
|
'relayError',
|
|
391
444
|
'relayDisconnected',
|
|
392
445
|
'relayReconnected',
|
|
446
|
+
'relayHealthProbe',
|
|
447
|
+
'wcRequestPublished',
|
|
448
|
+
'wcRequestExpired',
|
|
393
449
|
'walletConnectInitError',
|
|
394
450
|
'walletAccountChanged',
|
|
395
451
|
'walletChainChanged',
|
|
@@ -419,6 +475,9 @@ const EVENT_NAME_FLAGS: Record<UWCEventName, true> = {
|
|
|
419
475
|
relayError: true,
|
|
420
476
|
relayDisconnected: true,
|
|
421
477
|
relayReconnected: true,
|
|
478
|
+
relayHealthProbe: true,
|
|
479
|
+
wcRequestPublished: true,
|
|
480
|
+
wcRequestExpired: true,
|
|
422
481
|
walletConnectInitError: true,
|
|
423
482
|
connecting: true,
|
|
424
483
|
connected: true,
|
|
@@ -47,6 +47,37 @@ describe('instrumentHandoff', () => {
|
|
|
47
47
|
expect(end.timedOut).toBe(false)
|
|
48
48
|
})
|
|
49
49
|
|
|
50
|
+
it('stamps reused onto awaitingWallet + terminal when the session is reused, and omits it otherwise (MFS-642)', async () => {
|
|
51
|
+
// Reused session op → both the start and terminal carry reused: true.
|
|
52
|
+
const emReused = new EventManager()
|
|
53
|
+
const seenReused = record(emReused)
|
|
54
|
+
await instrumentHandoff(
|
|
55
|
+
{ eventManager: emReused, timeoutMs: 0 },
|
|
56
|
+
{ ...CTX, connectionMode: 'walletConnect', reused: true },
|
|
57
|
+
async () => 'sig'
|
|
58
|
+
)
|
|
59
|
+
const start = seenReused.find(s => s.name === 'awaitingWallet')?.data as {
|
|
60
|
+
reused?: boolean
|
|
61
|
+
}
|
|
62
|
+
const end = seenReused.find(s => s.name === 'walletSucceeded')?.data as {
|
|
63
|
+
reused?: boolean
|
|
64
|
+
}
|
|
65
|
+
expect(start.reused).toBe(true)
|
|
66
|
+
expect(end.reused).toBe(true)
|
|
67
|
+
|
|
68
|
+
// Fresh session op → reused is structurally absent (byte-identical terminal).
|
|
69
|
+
const emFresh = new EventManager()
|
|
70
|
+
const seenFresh = record(emFresh)
|
|
71
|
+
await instrumentHandoff(
|
|
72
|
+
{ eventManager: emFresh, timeoutMs: 0 },
|
|
73
|
+
CTX,
|
|
74
|
+
async () => 'sig'
|
|
75
|
+
)
|
|
76
|
+
const freshEnd = seenFresh.find(s => s.name === 'walletSucceeded')
|
|
77
|
+
?.data as object
|
|
78
|
+
expect('reused' in freshEnd).toBe(false)
|
|
79
|
+
})
|
|
80
|
+
|
|
50
81
|
it('counts relay-socket drops seen during the handoff onto the terminal', async () => {
|
|
51
82
|
const em = new EventManager()
|
|
52
83
|
const seen = record(em)
|
|
@@ -26,6 +26,12 @@ export interface HandoffContext {
|
|
|
26
26
|
chainId?: NetworkId | undefined
|
|
27
27
|
/** switchNetwork only: target chain already the active one (no-op switch). */
|
|
28
28
|
targetAlreadyActive?: boolean | undefined
|
|
29
|
+
/**
|
|
30
|
+
* True when this op runs on a reused WalletConnect session (MFS-642). Rides
|
|
31
|
+
* every terminal so reused-session operation outcomes (success / error /
|
|
32
|
+
* timeout / latency) are evaluable and triageable separately from fresh ones.
|
|
33
|
+
*/
|
|
34
|
+
reused?: boolean | undefined
|
|
29
35
|
}
|
|
30
36
|
|
|
31
37
|
/** Build handoff routing facets from the active session (no address). */
|
|
@@ -38,7 +44,8 @@ export function sessionHandoffContext(
|
|
|
38
44
|
connectionMode: session.connectionMode ?? 'injected',
|
|
39
45
|
walletId: session.activeWallet?.id,
|
|
40
46
|
namespace: session.activeNetwork?.namespace,
|
|
41
|
-
chainId: session.activeNetwork?.id ?? undefined
|
|
47
|
+
chainId: session.activeNetwork?.id ?? undefined,
|
|
48
|
+
reused: session.reused
|
|
42
49
|
}
|
|
43
50
|
}
|
|
44
51
|
|
|
@@ -136,7 +143,8 @@ export async function instrumentHandoff<T>(
|
|
|
136
143
|
platform,
|
|
137
144
|
...(context.targetAlreadyActive !== undefined && {
|
|
138
145
|
targetAlreadyActive: context.targetAlreadyActive
|
|
139
|
-
})
|
|
146
|
+
}),
|
|
147
|
+
...(context.reused && { reused: true })
|
|
140
148
|
})
|
|
141
149
|
|
|
142
150
|
// Observe page-visibility transitions ONLY while this handoff is pending — the
|
|
@@ -178,7 +186,8 @@ export async function instrumentHandoff<T>(
|
|
|
178
186
|
chainId: context.chainId,
|
|
179
187
|
...(context.targetAlreadyActive !== undefined && {
|
|
180
188
|
targetAlreadyActive: context.targetAlreadyActive
|
|
181
|
-
})
|
|
189
|
+
}),
|
|
190
|
+
...(context.reused && { reused: true })
|
|
182
191
|
}
|
|
183
192
|
|
|
184
193
|
const shouldTime = timeoutMs > 0 && context.connectionMode !== 'tonConnect'
|
|
@@ -89,6 +89,56 @@ describe('normalizeEvent', () => {
|
|
|
89
89
|
expect(serialized).not.toContain('pubkey-should-not-leak')
|
|
90
90
|
})
|
|
91
91
|
|
|
92
|
+
it('tags reused-session records and omits the flag for fresh ones (MFS-642)', () => {
|
|
93
|
+
const base = {
|
|
94
|
+
connectionMode: 'walletConnect',
|
|
95
|
+
activeNetwork: { namespace: 'eip155', id: 'eip155:137', name: 'Polygon' },
|
|
96
|
+
activeWallet: { id: 'metamask', name: 'MetaMask' },
|
|
97
|
+
activeAddress: '0xabc',
|
|
98
|
+
publicKey: null,
|
|
99
|
+
availableNetworks: [{ namespace: 'eip155', id: 'eip155:137' }],
|
|
100
|
+
availableAddresses: [{ networkId: 'eip155:137', address: '0xabc' }]
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Reused connect → connected carries reused: true.
|
|
104
|
+
const reused = normalizeEvent(
|
|
105
|
+
'connected',
|
|
106
|
+
{ session: { ...base, reused: true } as unknown as Session },
|
|
107
|
+
SDK_SESSION,
|
|
108
|
+
NOW
|
|
109
|
+
)
|
|
110
|
+
expect(reused.reused).toBe(true)
|
|
111
|
+
|
|
112
|
+
// Fresh connect → the flag is structurally absent (existing telemetry
|
|
113
|
+
// is byte-identical for non-reused flows).
|
|
114
|
+
const fresh = normalizeEvent(
|
|
115
|
+
'connected',
|
|
116
|
+
{ session: { ...base, reused: false } as unknown as Session },
|
|
117
|
+
SDK_SESSION,
|
|
118
|
+
NOW
|
|
119
|
+
)
|
|
120
|
+
expect('reused' in fresh).toBe(false)
|
|
121
|
+
|
|
122
|
+
// A post-connect operation terminal on a reused session carries it too — the
|
|
123
|
+
// signal that answers "did sign/tx on reused sessions succeed / hang?".
|
|
124
|
+
const signed = normalizeEvent(
|
|
125
|
+
'walletSucceeded',
|
|
126
|
+
{
|
|
127
|
+
handoffId: 'h1',
|
|
128
|
+
operation: 'signMessage',
|
|
129
|
+
durationMs: 12,
|
|
130
|
+
connectionMode: 'walletConnect',
|
|
131
|
+
walletId: 'metamask',
|
|
132
|
+
chainId: 'eip155:137',
|
|
133
|
+
timedOut: false,
|
|
134
|
+
reused: true
|
|
135
|
+
},
|
|
136
|
+
SDK_SESSION,
|
|
137
|
+
NOW
|
|
138
|
+
)
|
|
139
|
+
expect(signed.reused).toBe(true)
|
|
140
|
+
})
|
|
141
|
+
|
|
92
142
|
it('surfaces missingNamespaces when a supported namespace returned no address', () => {
|
|
93
143
|
// The framed-embed secondary-gather skip: Phantom connects on EVM, supports
|
|
94
144
|
// Solana for a configured network, but no Solana address came back. This is
|
|
@@ -538,6 +588,27 @@ describe('normalizeEvent', () => {
|
|
|
538
588
|
expect(out.failureKind).toBeUndefined()
|
|
539
589
|
})
|
|
540
590
|
|
|
591
|
+
it('normalizes relayHealthProbe carrying the relay/subscription health + operation', () => {
|
|
592
|
+
const out = normalizeEvent(
|
|
593
|
+
'relayHealthProbe',
|
|
594
|
+
{
|
|
595
|
+
relayConnected: false,
|
|
596
|
+
topicSubscribed: false,
|
|
597
|
+
operation: 'sendTransaction'
|
|
598
|
+
},
|
|
599
|
+
SDK_SESSION,
|
|
600
|
+
NOW
|
|
601
|
+
)
|
|
602
|
+
expect(out.name).toBe('relayHealthProbe')
|
|
603
|
+
expect(out.connectionMode).toBe('walletConnect')
|
|
604
|
+
expect(out.source).toBe('provider')
|
|
605
|
+
expect(out.operation).toBe('sendTransaction')
|
|
606
|
+
expect(out.relayConnected).toBe(false)
|
|
607
|
+
expect(out.topicSubscribed).toBe(false)
|
|
608
|
+
// Observational — never inflates failure metrics.
|
|
609
|
+
expect(out.failureKind).toBeUndefined()
|
|
610
|
+
})
|
|
611
|
+
|
|
541
612
|
it('normalizes walletConnectInitError as a walletConnect client_init_failed, message scrubbed', () => {
|
|
542
613
|
const out = normalizeEvent(
|
|
543
614
|
'walletConnectInitError',
|
|
@@ -100,6 +100,13 @@ export interface UWCTelemetryEvent {
|
|
|
100
100
|
timeoutMs?: number | undefined
|
|
101
101
|
/** switchNetwork only: target chain was already the active one (no-op switch). */
|
|
102
102
|
targetAlreadyActive?: boolean | undefined
|
|
103
|
+
/**
|
|
104
|
+
* True when this record describes an operation on a reused WalletConnect
|
|
105
|
+
* session (MFS-642) — connect that adopted a stored session, or any subsequent
|
|
106
|
+
* sign/tx/switch on it. Lets a dashboard slice success / error / timeout /
|
|
107
|
+
* latency by reused-vs-fresh. Absent for fresh pairings and non-WC flows.
|
|
108
|
+
*/
|
|
109
|
+
reused?: boolean | undefined
|
|
103
110
|
/** Non-success outcomes: stringified error code when reliably known. */
|
|
104
111
|
errorCode?: string | undefined
|
|
105
112
|
/** Non-success outcomes: coarse cause bucket. `unknown` when not classifiable. */
|
|
@@ -162,6 +169,12 @@ export interface UWCTelemetryEvent {
|
|
|
162
169
|
backgroundCount?: number | undefined
|
|
163
170
|
/** Handoff terminals, WalletConnect only: relay-socket drops seen while the handoff was pending. */
|
|
164
171
|
relayDropCount?: number | undefined
|
|
172
|
+
/** relayHealthProbe: relay WebSocket was open when the request was published. */
|
|
173
|
+
relayConnected?: boolean | undefined
|
|
174
|
+
/** relayHealthProbe: this client held the session topic on the relay at request time. */
|
|
175
|
+
topicSubscribed?: boolean | undefined
|
|
176
|
+
/** wcRequestExpired: WC request id of the published request that hit its TTL unanswered. */
|
|
177
|
+
requestId?: number | undefined
|
|
165
178
|
}
|
|
166
179
|
|
|
167
180
|
/**
|
|
@@ -309,7 +322,8 @@ function buildTelemetryEvent<K extends UWCEventName>(
|
|
|
309
322
|
chainId: session.activeNetwork?.id,
|
|
310
323
|
walletId: session.activeWallet?.id,
|
|
311
324
|
addressNamespaces,
|
|
312
|
-
...(missing.length > 0 && { missingNamespaces: missing })
|
|
325
|
+
...(missing.length > 0 && { missingNamespaces: missing }),
|
|
326
|
+
...(session.reused && { reused: true })
|
|
313
327
|
}
|
|
314
328
|
}
|
|
315
329
|
case 'networkSwitched': {
|
|
@@ -354,7 +368,8 @@ function buildTelemetryEvent<K extends UWCEventName>(
|
|
|
354
368
|
handoffId: d.handoffId,
|
|
355
369
|
walletFlowType: d.walletFlowType,
|
|
356
370
|
platform: d.platform,
|
|
357
|
-
targetAlreadyActive: d.targetAlreadyActive
|
|
371
|
+
targetAlreadyActive: d.targetAlreadyActive,
|
|
372
|
+
reused: d.reused
|
|
358
373
|
}
|
|
359
374
|
}
|
|
360
375
|
case 'walletSucceeded': {
|
|
@@ -373,7 +388,8 @@ function buildTelemetryEvent<K extends UWCEventName>(
|
|
|
373
388
|
targetAlreadyActive: d.targetAlreadyActive,
|
|
374
389
|
backgroundedMs: d.backgroundedMs,
|
|
375
390
|
backgroundCount: d.backgroundCount,
|
|
376
|
-
relayDropCount: d.relayDropCount
|
|
391
|
+
relayDropCount: d.relayDropCount,
|
|
392
|
+
reused: d.reused
|
|
377
393
|
}
|
|
378
394
|
}
|
|
379
395
|
case 'walletRejected': {
|
|
@@ -395,7 +411,8 @@ function buildTelemetryEvent<K extends UWCEventName>(
|
|
|
395
411
|
source: d.source,
|
|
396
412
|
backgroundedMs: d.backgroundedMs,
|
|
397
413
|
backgroundCount: d.backgroundCount,
|
|
398
|
-
relayDropCount: d.relayDropCount
|
|
414
|
+
relayDropCount: d.relayDropCount,
|
|
415
|
+
reused: d.reused
|
|
399
416
|
}
|
|
400
417
|
}
|
|
401
418
|
case 'walletTimedOut': {
|
|
@@ -413,7 +430,8 @@ function buildTelemetryEvent<K extends UWCEventName>(
|
|
|
413
430
|
targetAlreadyActive: d.targetAlreadyActive,
|
|
414
431
|
backgroundedMs: d.backgroundedMs,
|
|
415
432
|
backgroundCount: d.backgroundCount,
|
|
416
|
-
relayDropCount: d.relayDropCount
|
|
433
|
+
relayDropCount: d.relayDropCount,
|
|
434
|
+
reused: d.reused
|
|
417
435
|
}
|
|
418
436
|
}
|
|
419
437
|
case 'walletFailed': {
|
|
@@ -436,7 +454,8 @@ function buildTelemetryEvent<K extends UWCEventName>(
|
|
|
436
454
|
error: { type: d.error.type, message: scrubMessage(d.error.message) },
|
|
437
455
|
backgroundedMs: d.backgroundedMs,
|
|
438
456
|
backgroundCount: d.backgroundCount,
|
|
439
|
-
relayDropCount: d.relayDropCount
|
|
457
|
+
relayDropCount: d.relayDropCount,
|
|
458
|
+
reused: d.reused
|
|
440
459
|
}
|
|
441
460
|
}
|
|
442
461
|
case 'capabilitiesUpdated': {
|
|
@@ -508,6 +527,49 @@ function buildTelemetryEvent<K extends UWCEventName>(
|
|
|
508
527
|
// the dead-window duration.
|
|
509
528
|
return { ...base, connectionMode: 'walletConnect', source: 'provider' }
|
|
510
529
|
}
|
|
530
|
+
case 'relayHealthProbe': {
|
|
531
|
+
const d = data as UWCEventMap['relayHealthProbe']
|
|
532
|
+
// Relay/subscription health at request time (WalletConnect). Observational —
|
|
533
|
+
// correlate with the same session's sign terminal to explain a stranded
|
|
534
|
+
// request (relayConnected/topicSubscribed=false on a reused session).
|
|
535
|
+
return {
|
|
536
|
+
...base,
|
|
537
|
+
connectionMode: 'walletConnect',
|
|
538
|
+
source: 'provider',
|
|
539
|
+
// The connector emits a bare string (it can't import UWCOperation without a
|
|
540
|
+
// core↔connector cycle): 'sendTransaction' or the resolved sign RPC
|
|
541
|
+
// (personal_sign / eth_signTypedData_v4 / solana_signMessage / …) — every
|
|
542
|
+
// WC request publish is probed.
|
|
543
|
+
operation: d.operation as UWCOperation,
|
|
544
|
+
relayConnected: d.relayConnected,
|
|
545
|
+
topicSubscribed: d.topicSubscribed
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
case 'wcRequestPublished': {
|
|
549
|
+
const d = data as UWCEventMap['wcRequestPublished']
|
|
550
|
+
// Outbound request id + inner RPC method. Join `wcRequestPublished` ↔
|
|
551
|
+
// wallet outcome by requestId to prove (or rule out) wallet-side duplicate
|
|
552
|
+
// handling of a single publish.
|
|
553
|
+
return {
|
|
554
|
+
...base,
|
|
555
|
+
connectionMode: 'walletConnect',
|
|
556
|
+
source: 'provider',
|
|
557
|
+
operation: d.method as UWCOperation,
|
|
558
|
+
requestId: d.requestId
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
case 'wcRequestExpired': {
|
|
562
|
+
const d = data as UWCEventMap['wcRequestExpired']
|
|
563
|
+
// A published request hit its WC TTL (~5 min) unanswered. Pair with the
|
|
564
|
+
// preceding relayHealthProbe: healthy probe + expiry = the wallet never
|
|
565
|
+
// surfaced the prompt (CARE-263 / reused-session triage).
|
|
566
|
+
return {
|
|
567
|
+
...base,
|
|
568
|
+
connectionMode: 'walletConnect',
|
|
569
|
+
source: 'provider',
|
|
570
|
+
requestId: d.requestId
|
|
571
|
+
}
|
|
572
|
+
}
|
|
511
573
|
case 'walletConnectInitError': {
|
|
512
574
|
const d = data as UWCEventMap['walletConnectInitError']
|
|
513
575
|
// SignClient.init failed — the WC client never came up. Distinct from
|
|
@@ -374,11 +374,17 @@ describe('ConnectionService', () => {
|
|
|
374
374
|
|
|
375
375
|
await connectionService.connect('tonConnect', 'tonkeeper')
|
|
376
376
|
|
|
377
|
-
// walletListAppName defaults to jsBridgeKey when not set
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
377
|
+
// walletListAppName defaults to jsBridgeKey when not set. The selected
|
|
378
|
+
// wallet's name is forwarded as ConnectOptions.walletName (MFS-642) for the
|
|
379
|
+
// WalletConnect reuse gate; the TON connector ignores it.
|
|
380
|
+
expect(tonConnector.connect).toHaveBeenCalledWith(
|
|
381
|
+
tonNetwork,
|
|
382
|
+
{
|
|
383
|
+
supportedNetworkIds: ['tvm:-239'],
|
|
384
|
+
walletListAppName: 'tonkeeper'
|
|
385
|
+
},
|
|
386
|
+
{ walletName: 'Tonkeeper' }
|
|
387
|
+
)
|
|
382
388
|
})
|
|
383
389
|
|
|
384
390
|
it('emits connectionUri and change events when URI becomes available', async () => {
|