@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.
Files changed (37) hide show
  1. package/README.md +5 -0
  2. package/dist/events.d.ts +50 -0
  3. package/dist/events.d.ts.map +1 -1
  4. package/dist/events.js +6 -0
  5. package/dist/events.js.map +1 -1
  6. package/dist/observability/instrument-handoff.d.ts +6 -0
  7. package/dist/observability/instrument-handoff.d.ts.map +1 -1
  8. package/dist/observability/instrument-handoff.js +6 -3
  9. package/dist/observability/instrument-handoff.js.map +1 -1
  10. package/dist/observability/telemetry.d.ts +13 -0
  11. package/dist/observability/telemetry.d.ts.map +1 -1
  12. package/dist/observability/telemetry.js +55 -6
  13. package/dist/observability/telemetry.js.map +1 -1
  14. package/dist/services/connection-service.d.ts.map +1 -1
  15. package/dist/services/connection-service.js +12 -4
  16. package/dist/services/connection-service.js.map +1 -1
  17. package/dist/services/network-switch-service.d.ts.map +1 -1
  18. package/dist/services/network-switch-service.js +2 -1
  19. package/dist/services/network-switch-service.js.map +1 -1
  20. package/dist/universal-wallet-connector.d.ts +11 -0
  21. package/dist/universal-wallet-connector.d.ts.map +1 -1
  22. package/dist/universal-wallet-connector.js +40 -1
  23. package/dist/universal-wallet-connector.js.map +1 -1
  24. package/dist/version.d.ts +1 -1
  25. package/dist/version.js +1 -1
  26. package/package.json +5 -5
  27. package/src/events.ts +59 -0
  28. package/src/observability/instrument-handoff.test.ts +31 -0
  29. package/src/observability/instrument-handoff.ts +12 -3
  30. package/src/observability/telemetry.test.ts +71 -0
  31. package/src/observability/telemetry.ts +68 -6
  32. package/src/services/connection-service.test.ts +11 -5
  33. package/src/services/connection-service.ts +17 -4
  34. package/src/services/network-switch-service.ts +2 -1
  35. package/src/universal-wallet-connector.test.ts +78 -1
  36. package/src/universal-wallet-connector.ts +49 -1
  37. 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":"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"}
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":"AAuBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACd,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAsB,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAGvE,8EAA8E;AAC9E,MAAM,kCAAkC,GAAG,MAAM,CAAA;AAwDjD,MAAM,OAAO,wBAAwB;IAC3B,MAAM,CAAC,QAAQ,GAAoC,IAAI,CAAA;IACvD,MAAM,CAAC,aAAa,GAAG,CAAC,CAAA;IACxB,MAAM,CAAC,+BAA+B,GAAG,KAAK,CAAA;IAE9C,cAAc,CAAgB;IAC9B,YAAY,CAAc;IAC1B,iBAAiB,CAAmB;IACpC,oBAAoB,CAAsB;IAC1C,gBAAgB,CAAkB;IAClC,kBAAkB,CAAoB;IACtC,yBAAyB,CAA2B;IACpD,UAAU,CAAgC;IAC1C,iBAAiB,CAAmB;IACpC,OAAO,CAAkB;IACzB,sBAAsB,CAAS;IAC/B,iBAAiB,GAAG,KAAK,CAAA;IACzB,aAAa,CAAe;IAC5B,MAAM,CAAe;IAC7B,qEAAqE;IACpD,YAAY,GAAW,UAAU,EAAE,CAAA;IAC5C,uBAAuB,CAAQ;IACvC,iFAAiF;IACzE,gBAAgB,CAA0B;IAElD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,MAAkB;QACnC,IAAI,wBAAwB,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,wBAAwB,CAAC,QAAQ,CAAA;QAC1C,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,gHAAgH,CACjH,CAAA;QACH,CAAC;QACD,OAAO,IAAI,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,sFAAsF;IACtF,MAAM,CAAC,aAAa;QAClB,wBAAwB,CAAC,QAAQ,GAAG,IAAI,CAAA;QACxC,wBAAwB,CAAC,aAAa,GAAG,CAAC,CAAA;QAC1C,wBAAwB,CAAC,+BAA+B,GAAG,KAAK,CAAA;IAClE,CAAC;IAWD,YACE,gBAAuC,EACvC,UAA4B,EAAE,EAC9B,sBAAsB,GAAG,KAAK,EAC9B,mBAAyC,EACzC,gBAAmC,EACnC,mBAAyC;QAEzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAA;QACH,CAAC;QAED,IAAI,MAAiB,CAAA;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG;gBACP,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO;gBACP,sBAAsB;aACvB,CAAA;YACD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;YAClD,CAAC;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;YAC5C,CAAC;YACD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;YAClD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,gBAAgB,CAAA;QAC3B,CAAC;QAED,MAAM,EACJ,QAAQ,EACR,OAAO,EAAE,iBAAiB,GAAG,EAAE,EAC/B,sBAAsB,EAAE,gCAAgC,GAAG,KAAK,EAChE,mBAAmB,EAAE,6BAA6B,EAClD,gBAAgB,EAAE,0BAA0B,EAC5C,mBAAmB,EAAE,6BAA6B,EACnD,GAAG,MAAM,CAAA;QAEV,2EAA2E;QAC3E,8EAA8E;QAC9E,2CAA2C;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;QACtC,IAAI,CAAC,uBAAuB;YAC1B,MAAM,CAAC,uBAAuB,IAAI,kCAAkC,CAAA;QACtE,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;YACzB,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM;YAChC,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,0EAA0E;YAC1E,uCAAuC;YACvC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC1D,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,2EAA2E;YAC3E,oEAAoE;YACpE,4EAA4E;YAC5E,yEAAyE;YACzE,6EAA6E;YAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAA;YAChC,MAAM,gBAAgB,GACpB,OAAO,GAAG,KAAK,UAAU;gBACvB,CAAC,CAAC,GAAG,EAAE;oBACH,IAAI,CAAC;wBACH,OAAO,GAAG,EAAE,IAAI,SAAS,CAAA;oBAC3B,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,SAAS,CAAA;oBAClB,CAAC;gBACH,CAAC;gBACH,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAA;YACf,IAAI,CAAC,gBAAgB,GAAG,eAAe,CACrC,IAAI,CAAC,YAAY,EACjB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,YAAY,EACjB,gBAAgB,EAChB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,MAAM,CACZ,CAAA;QACH,CAAC;QAED,iDAAiD;QACjD,wBAAwB,CAAC,aAAa,EAAE,CAAA;QACxC,IACE,wBAAwB,CAAC,aAAa,GAAG,CAAC;YAC1C,CAAC,wBAAwB,CAAC,+BAA+B,EACzD,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wEAAwE,wBAAwB,CAAC,aAAa,eAAe;gBAC3H,kEAAkE;gBAClE,uFAAuF;gBACvF,oGAAoG;gBACpG,2JAA2J,CAC9J,CAAA;YACD,wBAAwB,CAAC,+BAA+B,GAAG,IAAI,CAAA;QACjE,CAAC;QAED,oEAAoE;QACpE,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAA;QACH,CAAC;QACD,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAA;QACH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAA;QAChC,IAAI,CAAC,sBAAsB,GAAG,gCAAgC,CAAA;QAE9D,+BAA+B;QAC/B,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAElD,qCAAqC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAC5C,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,0BAA0B,EAC1B,6BAA6B,EAC7B,QAAQ;QACR,qEAAqE;QACrE,wDAAwD;QACxD,IAAI,CAAC,EAAE,CACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE;YACpC,SAAS,EAAE,IAAI,CAAC,SAAsB;YACtC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;SAClD,CAAC,CACL,CAAA;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAEvD,IAAI,0BAA0B,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,YAAY,EACZ,IAAI,mBAAmB,CAAC,0BAA0B,CAAC,CACpD,CAAA;QACH,CAAC;QAED,yDAAyD;QACzD,IAAI,6BAA6B,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,eAAe,EACf,IAAI,sBAAsB,CACxB,6BAA6B,EAC7B,IAAI,CAAC,aAAa,EAClB;gBACE,yEAAyE;gBACzE,2DAA2D;gBAC3D,YAAY,EAAE,CAAC,KAAc,EAAE,EAAE,CAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;oBACnC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;iBAC5B,CAAC;gBACJ,2EAA2E;gBAC3E,qEAAqE;gBACrE,WAAW,EAAE,CAAC,KAAc,EAAE,EAAE,CAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAC/C,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;iBAC5B,CAAC;gBACJ,0EAA0E;gBAC1E,iEAAiE;gBACjE,iBAAiB,EAAE,GAAG,EAAE,CACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC;gBACxD,kEAAkE;gBAClE,4CAA4C;gBAC5C,gBAAgB,EAAE,GAAG,EAAE,CACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;gBACvD,qEAAqE;gBACrE,sEAAsE;gBACtE,2DAA2D;gBAC3D,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC;gBACnD,mEAAmE;gBACnE,2DAA2D;gBAC3D,kBAAkB,EAAE,IAAI,CAAC,EAAE,CACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC;gBACpD,+DAA+D;gBAC/D,iEAAiE;gBACjE,gBAAgB,EAAE,IAAI,CAAC,EAAE,CACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC;aACnD,CACF,CACF,CAAA;QACH,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;QAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAC5C,QAAQ,EACR,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,gCAAgC,EAChC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,uBAAuB,CAC7B,CAAA;QACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAClD,QAAQ,EACR,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,gCAAgC,EAChC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,uBAAuB,CAC7B,CAAA;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAC1C,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,gCAAgC,EAChC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,uBAAuB,CAC7B,CAAA;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAC9C,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,gCAAgC,EAChC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,uBAAuB,CAC7B,CAAA;QACD,IAAI,CAAC,yBAAyB,GAAG,IAAI,yBAAyB,CAC5D,QAAQ,EACR,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,YAAY,CAClB,CAAA;QAED,yDAAyD;QACzD,wEAAwE;QACxE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC;YACvC,wBAAwB,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC1C,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC,yBAAyB,EAAE,CAAA;IAClC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB;QACrC,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;YAEpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB;oBAC1C,CAAC,CAAC,MAAM,CAAC,iCAAiC;oBAC1C,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAA;gBAEpC,IAAI,QAAQ,EAAE,iBAAiB,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;wBACnD,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACpB,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,0DAA0D;YAC1D,qEAAqE;YACrE,mEAAmE;YACnE,kEAAkE;YAClE,qBAAqB;YACrB,MAAM,cAAc,GAAoB,EAAE,CAAA;YAC1C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,KAAK,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC1D,IAAI,OAAO,SAAS,CAAC,mBAAmB,KAAK,UAAU;wBAAE,SAAQ;oBACjE,cAAc,CAAC,IAAI,CACjB,OAAO,CAAC,OAAO,EAAE;yBACd,IAAI,CAAC,GAAG,EAAE,CACT,SAAS,CAAC,mBAAoB,CAC5B,SAAsB,EACtB,IAAI,CAAC,OAAO,CACb,CACF;yBACA,IAAI,CAAC,QAAQ,CAAC,EAAE;wBACf,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;4BACzB,IAAI,CAAC,mBAAmB,CAAC,SAAsB,EAAE,CAAC,CAAC,CAAA;wBACrD,CAAC;oBACH,CAAC,CAAC;yBACD,KAAK,CAAC,KAAK,CAAC,EAAE;wBACb,6DAA6D;wBAC7D,kEAAkE;wBAClE,+DAA+D;wBAC/D,6DAA6D;wBAC7D,oBAAoB;wBACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;4BAC9C,SAAS,EAAE,SAAsB;4BACjC,cAAc;4BACd,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;yBAC5B,CAAC,CAAA;oBACJ,CAAC,CAAC,CACL,CAAA;gBACH,CAAC;YACH,CAAC;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAEjC,yEAAyE;YACzE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAElD,6BAA6B;YAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;YAE7B,yEAAyE;YACzE,2EAA2E;YAC3E,yCAAyC;YACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;aAC/C,CAAC,CAAA;YACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;YAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CACzB,SAAoB,EACpB,QAOC;QAED,IAAI,MAAkC,CAAA;QAEtC,MAAM,YAAY,GAAG,CAAC,CAAiB,EAAE,EAAE,CACzC,IAAI,CAAC,sBAAsB;YACzB,CAAC,CAAC,CAAC,CAAC,iCAAiC;YACrC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAEjC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,CACF,YAAY,CACV,CAAC,CACF,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE;gBACvD,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAC9B,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,CACF,YAAY,CACV,CAAC,CACF,EAAE,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE;gBAC/D,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAC9B,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,oCAAoC;YACpC,0EAA0E;YAC1E,2EAA2E;YAC3E,0DAA0D;YAC1D,8CAA8C;YAC9C,mEAAmE;YACnE,8DAA8D;YAC9D,MAAM,YAAY,GAAG,QAAkC,CAAA;YACvD,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC7B,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE;oBAAE,OAAO,IAAI,CAAA;gBAC3C,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,CAAA;gBACvE,IAAI,CAAC,UAAU;oBAAE,OAAO,KAAK,CAAA;gBAC7B,IACE,YAAY,CAAC,UAAU;oBACvB,UAAU,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,EAClE,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,OAAO,CACL,YAAY,CAAC,IAAI;oBACjB,QAAQ,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACvD,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,QAAiC,CAAA;YACrD,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,CACF,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,WAAW;gBACpD,WAAW,CAAC,WAAW,CAC1B,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAC1D,CAAA;QACH,CAAC;QAED,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACrC,IAAI,CAAC,QAAQ,EAAE,iBAAiB;YAAE,OAAM;QAExC,MAAM,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,CAAC,UAAU;YAAE,OAAM;QAEvB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,UAGT,CAAA;YACD,MAAM,CAAC,GAAG,QAAqC,CAAA;YAC/C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,cAAc,GAAG;gBACjB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,UAGT,CAAA;YACD,MAAM,CAAC,GAAG,QAAoC,CAAA;YAC9C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,cAAc,GAAG;gBACjB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,UAGT,CAAA;YACD,MAAM,CAAC,GAAG,QAAkC,CAAA;YAC5C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACnD,CAAC;aAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,UAGT,CAAA;YACD,MAAM,CAAC,GAAG,QAAiC,CAAA;YAC3C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,cAAc,GAAG;gBACjB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CACxB,UAAuB;QAEvB,MAAM,YAAY,GAAG,CAAC,CAAiB,EAAE,EAAE,CACzC,IAAI,CAAC,sBAAsB;YACzB,CAAC,CAAC,CAAC,CAAC,iCAAiC;YACrC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAEjC,MAAM,OAAO,GAA2D,EAAE,CAAA;QAC1E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,GAAG,CAAC,CAAA;YACjB,IAAI,OAAO,GAAG,CAAC,CAAA;YACf,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,CACtD,SAAsB,CACgB,CAAA;gBACxC,IAAI,CAAC,MAAM;oBAAE,SAAQ;gBACrB,SAAS,EAAE,CAAA;gBACX,IAAI,MAAM,CAAC,SAAS;oBAAE,OAAO,EAAE,CAAA;YACjC,CAAC;YACD,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;QAC7C,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;IACzC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,iBAAiB,CAAA;IAC/B,CAAC;IAED,+BAA+B;IAE/B,mEAAmE;IACnE,EAAE,CACA,KAAQ,EACR,QAA6B;QAE7B,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,wEAAwE;IACxE,IAAI,CACF,KAAQ,EACR,QAA6B;QAE7B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED,GAAG,CAAyB,KAAQ,EAAE,QAA6B;QACjE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,QAAoB;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;SAC1C,CAAA;IACH,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAA;IAC5C,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,cAA8B,EAC9B,QAAgB,EAChB,SAAqB,EACrB,OAA0B;QAE1B,IAAI,CAAC;YACH,uEAAuE;YACvE,2EAA2E;YAC3E,gDAAgD;YAChD,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAClC,cAAc,EACd,QAAQ,EACR,SAAS,EACT,OAAO,CACR,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YACjD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YACtD,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,MAAM,mBAAmB,GAAG;gBAC1B,GAAG,IAAI,GAAG,CACR,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,IAAI,EAAE,CAClE,CACF;aACF,CAAA;YACD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,OAAO,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAA;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YACpD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,SAAoB,EACpB,OAA0B;QAE1B,4EAA4E;QAC5E,MAAM,iBAAiB,GACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAA;QAC3D,IAAI,CAAC;YACH,uEAAuE;YACvE,2DAA2D;YAC3D,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACjE,0EAA0E;YAC1E,2EAA2E;YAC3E,uEAAuE;YACvE,MAAM,aAAa,GACjB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAA;YAC3D,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,iBAAiB,EAAE,CAAC;gBACvE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAA;YAC5C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YACvD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,4BAA4B;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAA;IACpD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,OAAe,EACf,OAA0B;QAE1B,IAAI,CAAC;YACH,sEAAsE;YACtE,uEAAuE;YACvE,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YACrD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CAAC,SAA0B;QAC5C,IAAI,CAAC;YACH,gEAAgE;YAChE,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;YACtC,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,OAA2B,EAC3B,OAA0B;QAE1B,IAAI,CAAC;YACH,wEAAwE;YACxE,uEAAuE;YACvE,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YACzD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,YAAwB;QAClD,IAAI,CAAC;YACH,kEAAkE;YAClE,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAC7D,YAAY,CACb,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAA;YAC9C,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,qBAAqB,CACzB,OAAe,EACf,aAAuB,EACvB,OAA0B;QAE1B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,qBAAqB,CAC/D,OAAO,EACP,aAAa,EACb,OAAO,CACR,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YAC/D,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,yBAAyB,CACvB,cAA8B,EAC9B,QAAgB;QAEhB,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;YACvC,2FAA2F;YAC3F,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC;gBACpC,MAAM,CAAC,qBAAqB,KAAK,SAAS,CAC3C,CAAA;QACH,CAAC;QAED,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YAClC,uDAAuD;YACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB;gBAC1C,CAAC,CAAC,MAAM,CAAC,iCAAiC;gBAC1C,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAA;YAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,KAAK,CAAA;YACd,CAAC;YAED,+CAA+C;YAC/C,MAAM,qBAAqB,GAAG,QAAQ,CAAC,iBAAiB;gBACtD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAC5C,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAC3C;gBACH,CAAC,CAAC,KAAK,CAAA;YAET,mEAAmE;YACnE,OAAO,qBAAqB,CAAA;QAC9B,CAAC;QAED,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;gBACjC,MAAM,CAAC,kBAAkB,KAAK,SAAS,CACxC,CAAA;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,2BAA2B;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAChD,OAAO,OAAO,CAAC,wBAAwB,CAAA;IACzC,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAe;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAA;QACzB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;QACjC,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,yCAAyC;QACzC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAA;QAC1C,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAA;QACrC,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,2CAA2C;QAC3C,IAAI,wBAAwB,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC/C,wBAAwB,CAAC,aAAa,EAAE,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,4BAA4B;IAEpB,SAAS,CACf,KAAc,EACd,SAAuB,EACvB,MAAoB;QAEpB,sEAAsE;QACtE,yEAAyE;QACzE,8DAA8D;QAC9D,oEAAoE;QACpE,4EAA4E;QAC5E,kEAAkE;QAClE,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YAC3C,OAAM;QACR,CAAC;QACD,4EAA4E;QAC5E,kEAAkE;QAClE,2EAA2E;QAC3E,oEAAoE;QACpE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE;YAC9B,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;YAC3B,SAAS;YACT,SAAS;YACT,WAAW;YACX,MAAM;YACN,yEAAyE;YACzE,uEAAuE;YACvE,kCAAkC;YAClC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YAC1D,GAAG,CAAC,KAAK,YAAY,oBAAoB,IAAI;gBAC3C,eAAe,EAAE;oBACf,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;iBACjD;aACF,CAAC;SACH,CAAC,CAAA;IACJ,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const UWC_CORE_VERSION = "1.3.0";
1
+ export declare const UWC_CORE_VERSION = "1.4.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Generated from package.json by scripts/generate-version.mjs — do not edit.
2
- export const UWC_CORE_VERSION = '1.3.0';
2
+ export const UWC_CORE_VERSION = '1.4.0';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-core",
3
- "version": "1.3.0",
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-ton-connector": "0.7.2",
20
- "@meshconnect/uwc-types": "0.19.0",
21
- "@meshconnect/uwc-injected-connector": "0.16.4",
22
- "@meshconnect/uwc-wallet-connect-connector": "0.9.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
- expect(tonConnector.connect).toHaveBeenCalledWith(tonNetwork, {
379
- supportedNetworkIds: ['tvm:-239'],
380
- walletListAppName: 'tonkeeper'
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 () => {