@meshconnect/uwc-bridge-child 0.2.3 → 0.3.0-snapshot.7a97a0f

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.
@@ -6,11 +6,35 @@ export declare class BridgeChild {
6
6
  private solanaDone;
7
7
  private tronDone;
8
8
  private tonDone;
9
+ private onError?;
10
+ private reportedBridgeErrors;
11
+ private static readonly MAX_REPORTED_BRIDGE_ERRORS;
9
12
  constructor(options?: {
10
13
  tronInjectedIds?: string[];
11
14
  tonJsBridgeKeys?: string[];
15
+ onError?: (info: {
16
+ namespace: string;
17
+ message: string;
18
+ }) => void;
12
19
  });
20
+ /**
21
+ * Surface a bridge-discovery failure ONCE per (namespace, message). Benign
22
+ * poll-misses (`BridgeReadTimeout` — the parent isn't live yet, retried next
23
+ * tick) are NOT reported; only real failures (older/unsupported parent,
24
+ * malformed marshaling) reach the observer.
25
+ */
26
+ private reportBridgeError;
13
27
  private initializeConnection;
28
+ /**
29
+ * Install window globals the injected EVM/TRON connectors call directly to
30
+ * subscribe to live provider events across the bridge (accountsChanged,
31
+ * chainChanged, disconnect) — mirrors this file's existing convention of
32
+ * exposing bridge capability via `window.*` rather than requiring callers
33
+ * to hold a `BridgeChild` instance reference (see `window.eip6963Wallets`
34
+ * etc. above). Only installed once `this.parentAPI` exists, i.e. only in
35
+ * bridge mode.
36
+ */
37
+ private installProviderEventSubscriptionGlobals;
14
38
  private anyWindowWalletsAlreadySet;
15
39
  private syncParentOrigin;
16
40
  private pollForWallets;
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeChild.d.ts","sourceRoot":"","sources":["../src/BridgeChild.ts"],"names":[],"mappings":"AA2BA,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAC,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,eAAe,CAAU;IAGjC,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,CAAC,EAAE;QACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;KAC3B;YAMa,oBAAoB;IA+BlC,OAAO,CAAC,0BAA0B;YAUpB,gBAAgB;IA0B9B,OAAO,CAAC,cAAc;IA0CtB,OAAO,CAAC,iBAAiB;YASX,iBAAiB;YA+BjB,gBAAgB;YAiChB,cAAc;YAsEd,aAAa;CAyG5B"}
1
+ {"version":3,"file":"BridgeChild.d.ts","sourceRoot":"","sources":["../src/BridgeChild.ts"],"names":[],"mappings":"AAqDA,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAC,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,eAAe,CAAU;IAGjC,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAQ;IAIvB,OAAO,CAAC,OAAO,CAAC,CAAwD;IAMxE,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAM;gBAE5C,OAAO,CAAC,EAAE;QACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAA;KACjE;IAOD;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;YAsBX,oBAAoB;IAgClC;;;;;;;;OAQG;IACH,OAAO,CAAC,uCAAuC;IA2D/C,OAAO,CAAC,0BAA0B;YAUpB,gBAAgB;IA0B9B,OAAO,CAAC,cAAc;IA0CtB,OAAO,CAAC,iBAAiB;YASX,iBAAiB;YAgCjB,gBAAgB;YAkChB,cAAc;YAyEd,aAAa;CA2G5B"}
@@ -3,6 +3,22 @@
3
3
  import * as Comlink from 'comlink';
4
4
  import { hasInFrameTonBridge } from './tonInFrameBridge';
5
5
  import { MAX_POLL_MS, POLL_INTERVAL_MS, raceParentRead, BridgeReadTimeout } from './bridge-timing';
6
+ /**
7
+ * Extract a bounded message from any thrown value without ever throwing —
8
+ * local copy of `safeErrorMessage` (@meshconnect/uwc-types); this package
9
+ * deliberately stays dependency-free (comlink only); keep the two in sync.
10
+ * A poisoned getter / throwing toString() would otherwise kill the poll loop,
11
+ * and an unbounded message retained as a dedup key is a memory footgun.
12
+ */
13
+ function safeErrorMessage(error) {
14
+ try {
15
+ const message = error instanceof Error ? error.message : String(error);
16
+ return message.length > 500 ? message.slice(0, 500) : message;
17
+ }
18
+ catch {
19
+ return 'Unreadable error object';
20
+ }
21
+ }
6
22
  export class BridgeChild {
7
23
  parentAPI;
8
24
  tronInjectedIds;
@@ -12,11 +28,51 @@ export class BridgeChild {
12
28
  solanaDone = false;
13
29
  tronDone = false;
14
30
  tonDone = false;
31
+ // Report a bridge-discovery failure to the consumer (wired to UWC's observer).
32
+ // Optional; default no-op preserves the historical silent behaviour.
33
+ onError;
34
+ // Dedup so the per-tick retry loop can't storm the observer with the same error.
35
+ // Bounded (storm guard, not a permanent ledger): evicted wholesale past the cap
36
+ // so a long session with high-cardinality messages can't grow it without bound.
37
+ // Local copy of `createBoundedDedup` (@meshconnect/uwc-types) — this package
38
+ // deliberately stays dependency-free (comlink only); keep the two in sync.
39
+ reportedBridgeErrors = new Set();
40
+ static MAX_REPORTED_BRIDGE_ERRORS = 100;
15
41
  constructor(options) {
16
42
  this.tronInjectedIds = options?.tronInjectedIds ?? [];
17
43
  this.tonJsBridgeKeys = options?.tonJsBridgeKeys ?? [];
44
+ this.onError = options?.onError;
18
45
  this.initializeConnection();
19
46
  }
47
+ /**
48
+ * Surface a bridge-discovery failure ONCE per (namespace, message). Benign
49
+ * poll-misses (`BridgeReadTimeout` — the parent isn't live yet, retried next
50
+ * tick) are NOT reported; only real failures (older/unsupported parent,
51
+ * malformed marshaling) reach the observer.
52
+ */
53
+ reportBridgeError(namespace, err) {
54
+ if (!this.onError)
55
+ return;
56
+ if (err instanceof BridgeReadTimeout)
57
+ return;
58
+ const message = safeErrorMessage(err);
59
+ const key = `${namespace}:${message}`;
60
+ if (this.reportedBridgeErrors.has(key))
61
+ return;
62
+ if (this.reportedBridgeErrors.size >= BridgeChild.MAX_REPORTED_BRIDGE_ERRORS) {
63
+ this.reportedBridgeErrors.clear();
64
+ }
65
+ this.reportedBridgeErrors.add(key);
66
+ try {
67
+ this.onError({ namespace, message });
68
+ }
69
+ catch {
70
+ // A throwing consumer sink is invoked from inside the tryMarshal* catch
71
+ // blocks, whose rejection would kill the fire-and-forget poll() loop and
72
+ // silently stop wallet discovery for ALL namespaces. Telemetry must
73
+ // never break the bridge.
74
+ }
75
+ }
20
76
  async initializeConnection() {
21
77
  if (!window.parent || window.parent === window) {
22
78
  return;
@@ -39,6 +95,57 @@ export class BridgeChild {
39
95
  // Fetch the parent origin concurrently for TON Connect manifest URL.
40
96
  this.syncParentOrigin();
41
97
  this.pollForWallets();
98
+ this.installProviderEventSubscriptionGlobals();
99
+ }
100
+ /**
101
+ * Install window globals the injected EVM/TRON connectors call directly to
102
+ * subscribe to live provider events across the bridge (accountsChanged,
103
+ * chainChanged, disconnect) — mirrors this file's existing convention of
104
+ * exposing bridge capability via `window.*` rather than requiring callers
105
+ * to hold a `BridgeChild` instance reference (see `window.eip6963Wallets`
106
+ * etc. above). Only installed once `this.parentAPI` exists, i.e. only in
107
+ * bridge mode.
108
+ */
109
+ installProviderEventSubscriptionGlobals() {
110
+ const parentAPI = this.parentAPI;
111
+ if (!parentAPI)
112
+ return;
113
+ window.__uwcSubscribeEip6963ProviderEvent = (uuid, eventName, callback) => {
114
+ const proxiedCallback = Comlink.proxy(callback);
115
+ let unsubscribe = null;
116
+ let torndown = false;
117
+ Promise.resolve(parentAPI.subscribeEip6963ProviderEvent(uuid, eventName, proxiedCallback)).then((unsub) => {
118
+ if (torndown) {
119
+ if (typeof unsub === 'function')
120
+ unsub();
121
+ return;
122
+ }
123
+ unsubscribe = typeof unsub === 'function' ? unsub : null;
124
+ });
125
+ return () => {
126
+ torndown = true;
127
+ if (unsubscribe)
128
+ unsubscribe();
129
+ };
130
+ };
131
+ window.__uwcSubscribeTronProviderEvent = (injectedId, eventName, callback) => {
132
+ const proxiedCallback = Comlink.proxy(callback);
133
+ let unsubscribe = null;
134
+ let torndown = false;
135
+ Promise.resolve(parentAPI.subscribeTronProviderEvent(injectedId, eventName, proxiedCallback)).then((unsub) => {
136
+ if (torndown) {
137
+ if (typeof unsub === 'function')
138
+ unsub();
139
+ return;
140
+ }
141
+ unsubscribe = typeof unsub === 'function' ? unsub : null;
142
+ });
143
+ return () => {
144
+ torndown = true;
145
+ if (unsubscribe)
146
+ unsubscribe();
147
+ };
148
+ };
42
149
  }
43
150
  anyWindowWalletsAlreadySet() {
44
151
  return Boolean((window.eip6963Wallets && window.eip6963Wallets.length > 0) ||
@@ -146,8 +253,9 @@ export class BridgeChild {
146
253
  window.eip6963Wallets = wallets;
147
254
  this.eip6963Done = true;
148
255
  }
149
- catch {
150
- // retry on next tick
256
+ catch (err) {
257
+ // retry on next tick; surface only a real (non-timeout) failure, once.
258
+ this.reportBridgeError('eip155', err);
151
259
  }
152
260
  }
153
261
  async tryMarshalSolana() {
@@ -176,8 +284,9 @@ export class BridgeChild {
176
284
  window.walletStandardWallets = wallets;
177
285
  this.solanaDone = true;
178
286
  }
179
- catch {
180
- // retry on next tick
287
+ catch (err) {
288
+ // retry on next tick; surface only a real (non-timeout) failure, once.
289
+ this.reportBridgeError('solana', err);
181
290
  }
182
291
  }
183
292
  async tryMarshalTron() {
@@ -218,6 +327,8 @@ export class BridgeChild {
218
327
  if (err instanceof BridgeReadTimeout) {
219
328
  return;
220
329
  }
330
+ // Older / unsupported parent throwing on the property → no Tron via bridge.
331
+ this.reportBridgeError('tron', err);
221
332
  window.tronWallets = [];
222
333
  this.tronDone = true;
223
334
  return;
@@ -243,7 +354,8 @@ export class BridgeChild {
243
354
  window.tronWallets = wallets;
244
355
  this.tronDone = true;
245
356
  }
246
- catch {
357
+ catch (err) {
358
+ this.reportBridgeError('tron', err);
247
359
  window.tronWallets = [];
248
360
  this.tronDone = true;
249
361
  }
@@ -268,6 +380,7 @@ export class BridgeChild {
268
380
  catch (err) {
269
381
  if (err instanceof BridgeReadTimeout)
270
382
  return;
383
+ this.reportBridgeError('tvm', err);
271
384
  window.tonWallets = [];
272
385
  this.tonDone = true;
273
386
  return;
@@ -337,8 +450,9 @@ export class BridgeChild {
337
450
  }));
338
451
  this.tonDone = true;
339
452
  }
340
- catch {
453
+ catch (err) {
341
454
  // Parent doesn't support TON — mark done with empty list.
455
+ this.reportBridgeError('tvm', err);
342
456
  window.tonWallets = [];
343
457
  this.tonDone = true;
344
458
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeChild.js","sourceRoot":"","sources":["../src/BridgeChild.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,cAAc;AAEd,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,iBAAiB,CAAA;AAiBxB,MAAM,OAAO,WAAW;IACd,SAAS,CAA4B;IACrC,eAAe,CAAU;IACzB,eAAe,CAAU;IAEjC,mEAAmE;IAC3D,WAAW,GAAG,KAAK,CAAA;IACnB,UAAU,GAAG,KAAK,CAAA;IAClB,QAAQ,GAAG,KAAK,CAAA;IAChB,OAAO,GAAG,KAAK,CAAA;IAEvB,YAAY,OAGX;QACC,IAAI,CAAC,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,EAAE,CAAA;QACrD,IAAI,CAAC,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,EAAE,CAAA;QACrD,IAAI,CAAC,oBAAoB,EAAE,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/C,OAAM;QACR,CAAC;QACD,MAAM,CAAC,yBAAyB,GAAG,IAAI,CAAA;QAEvC,uEAAuE;QACvE,oEAAoE;QACpE,0EAA0E;QAC1E,oEAAoE;QACpE,iEAAiE;QACjE,uCAAuC;QACvC,IAAI,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAC3B,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CACjD,CAAA;QAED,wEAAwE;QACxE,sEAAsE;QACtE,0EAA0E;QAC1E,kEAAkE;QAElE,qEAAqE;QACrE,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAEvB,IAAI,CAAC,cAAc,EAAE,CAAA;IACvB,CAAC;IAEO,0BAA0B;QAChC,OAAO,OAAO,CACZ,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3D,CAAC,MAAM,CAAC,qBAAqB;gBAC3B,MAAM,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACrD,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CACpD,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,yEAAyE;QACzE,2EAA2E;QAC3E,6EAA6E;QAC7E,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;gBACjE,IAAI,MAAM;oBAAE,MAAM,CAAC,eAAe,GAAG,MAAM,CAAA;gBAC3C,OAAM;YACR,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;oBACrC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAA;oBACnE,SAAQ;gBACV,CAAC;gBACD,2DAA2D;gBAC3D,OAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE5B,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAM;YAC3B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,iBAAiB,EAAE,CAAA;gBACxB,OAAM;YACR,CAAC;YAED,uEAAuE;YACvE,yDAAyD;YACzD,2DAA2D;YAC3D,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAI,CAAC,cAAc,EAAE;gBACrB,IAAI,CAAC,aAAa,EAAE;aACrB,CAAC,CAAA;YAEF,uEAAuE;YACvE,sEAAsE;YACtE,oEAAoE;YACpE,yEAAyE;YACzE,wEAAwE;YACxE,SAAS;YAET,IACE,IAAI,CAAC,WAAW;gBAChB,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,OAAO,EACZ,CAAC;gBACD,OAAM;YACR,CAAC;YACD,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;QACpC,CAAC,CAAA;QAED,gDAAgD;QAChD,IAAI,EAAE,CAAA;IACR,CAAC;IAEO,iBAAiB;QACvB,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS;YAAE,MAAM,CAAC,cAAc,GAAG,EAAE,CAAA;QACnE,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC/C,MAAM,CAAC,qBAAqB,GAAG,EAAE,CAAA;QACnC,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;YAAE,MAAM,CAAC,WAAW,GAAG,EAAE,CAAA;QAC7D,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,MAAM,CAAC,UAAU,GAAG,EAAE,CAAA;IAC7D,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAM;QAC/C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAA;YACtE,IAAI,CAAC,KAAK;gBAAE,OAAM;YAElB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAA;YACtD,MAAM,OAAO,GAAc,EAAE,CAAA;YAC7B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;gBACxD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;oBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;oBAC/C,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACjD,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,IAAI;qBACX,CAAC,CAAA;oBACF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAA;gBAC7D,CAAC,CAAC,CACH,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;YAC7B,CAAC;YACD,MAAM,CAAC,cAAc,GAAG,OAAO,CAAA;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAM;QAC9C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,cAAc,CAChC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAC1C,CAAA;YACD,IAAI,CAAC,KAAK;gBAAE,OAAM;YAElB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAA;YAC7D,MAAM,OAAO,GAAc,EAAE,CAAA;YAC7B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;gBACxD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;oBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;oBACtD,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACvD,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,MAAM;wBACZ,KAAK,CAAC,QAAQ;qBACf,CAAC,CAAA;oBACF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;gBACjE,CAAC,CAAC,CACH,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;YAC7B,CAAC;YACD,MAAM,CAAC,qBAAqB,GAAG,OAAO,CAAA;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAM;QAE5C,sEAAsE;QACtE,6EAA6E;QAC7E,2EAA2E;QAC3E,4EAA4E;QAC5E,6EAA6E;QAC7E,0EAA0E;QAC1E,wCAAwC;QACxC,0EAA0E;QAC1E,2EAA2E;QAC3E,qEAAqE;QACrE,4EAA4E;QAC5E,wDAAwD;QACxD,EAAE;QACF,wEAAwE;QACxE,wEAAwE;QACxE,mEAAmE;QACnE,uDAAuD;QACvD,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YAClE,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;YAC1D,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QAEJ,IAAI,KAAK,CAAA;QACT,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAC/D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yEAAyE;YACzE,6DAA6D;YAC7D,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBACrC,OAAM;YACR,CAAC;YACD,MAAM,CAAC,WAAW,GAAG,EAAE,CAAA;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;YACpB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAA;YACnD,MAAM,OAAO,GAAc,EAAE,CAAA;YAC7B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;gBACxD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;oBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;oBAC5C,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACjD,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,UAAU;qBACjB,CAAC,CAAA;oBACF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAA;gBAC7D,CAAC,CAAC,CACH,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;YAC7B,CAAC;YACD,MAAM,CAAC,WAAW,GAAG,OAAO,CAAA;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,WAAW,GAAG,EAAE,CAAA;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAM;QAE3C,sEAAsE;QACtE,sDAAsD;QACtD,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YACjE,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;YAC1D,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QAEJ,IAAI,KAAK,CAAA;QACT,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,iBAAiB;gBAAE,OAAM;YAC5C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAA;YACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAA;YAClD,MAAM,OAAO,GAMR,EAAE,CAAA;YAEP,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;gBACxD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;oBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;oBAC3C,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACxD,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,WAAW;qBAClB,CAAC,CAAA;oBACF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAA;gBACpE,CAAC,CAAC,CACH,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;YAC7B,CAAC;YAED,MAAM,CAAC,UAAU,GAAG,OAAO,CAAA;YAE3B,mEAAmE;YACnE,gEAAgE;YAChE,mDAAmD;YACnD,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ;oBAAE,OAAM;gBACnD,iEAAiE;gBACjE,mEAAmE;gBACnE,0CAA0C;gBAC1C,IAAI,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC;oBAAE,OAAM;gBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAA;gBAC7B,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,CAAC,GAC9D,MAAM,OAAO,CAAC,GAAG,CAAC;oBAChB,KAAK,CAAC,UAAU;oBAChB,KAAK,CAAC,UAAU;oBAChB,KAAK,CAAC,eAAe;oBACrB,KAAK,CAAC,eAAe;iBACtB,CAAC,CAEH;gBAAC,MAAc,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG;oBACrC,UAAU,EAAE;wBACV,UAAU;wBACV,UAAU;wBACV,eAAe,EAAE,eAAe,IAAI,CAAC;wBACrC,eAAe,EAAE,eAAe,IAAI,KAAK;wBACzC,OAAO,EAAE,CAAC,GAAW,EAAE,GAAY,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;wBAC/D,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE;wBAClD,IAAI,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;wBACvC,MAAM,EAAE,CAAC,QAAkC,EAAE,EAAE;4BAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;4BAC/C,IAAI,WAAW,GAAwB,IAAI,CAAA;4BAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;4BAC5C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAc,EAAE,EAAE;gCAC9C,WAAW,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAA;4BAC9D,CAAC,CAAC,CAAA;4BACF,OAAO,GAAG,EAAE;gCACV,IAAI,WAAW;oCAAE,WAAW,EAAE,CAAA;4BAChC,CAAC,CAAA;wBACH,CAAC;wBACD,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE;qBACvC;iBACF,CAAA;YACH,CAAC,CAAC,CACH,CAAA;YAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;YAC1D,MAAM,CAAC,UAAU,GAAG,EAAE,CAAA;YACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACrB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"BridgeChild.js","sourceRoot":"","sources":["../src/BridgeChild.ts"],"names":[],"mappings":"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"}
@@ -919,6 +919,56 @@ describe('BridgeChild', () => {
919
919
  expect(window.uwcParentOrigin).toBe('https://stake.com');
920
920
  });
921
921
  });
922
+ describe('bridge provider-event subscription globals', () => {
923
+ it('installs window.__uwcSubscribeEip6963ProviderEvent that forwards to parentAPI', async () => {
924
+ mockWrappedAPI = createMockParentAPI();
925
+ const teardownFn = vi.fn();
926
+ mockWrappedAPI.subscribeEip6963ProviderEvent = vi
927
+ .fn()
928
+ .mockResolvedValue(teardownFn);
929
+ await createBridgeChildInIframe({});
930
+ await vi.advanceTimersByTimeAsync(500);
931
+ expect(typeof window.__uwcSubscribeEip6963ProviderEvent).toBe('function');
932
+ const callback = vi.fn();
933
+ const unsubscribe = window.__uwcSubscribeEip6963ProviderEvent('uuid-1', 'accountsChanged', callback);
934
+ expect(typeof unsubscribe).toBe('function');
935
+ expect(mockWrappedAPI.subscribeEip6963ProviderEvent).toHaveBeenCalledWith('uuid-1', 'accountsChanged', callback);
936
+ await Promise.resolve();
937
+ unsubscribe();
938
+ expect(teardownFn).toHaveBeenCalled();
939
+ });
940
+ it('unsubscribing before the parentAPI round-trip resolves still tears down once it does', async () => {
941
+ mockWrappedAPI = createMockParentAPI();
942
+ const teardownFn = vi.fn();
943
+ let resolveSubscribe;
944
+ mockWrappedAPI.subscribeEip6963ProviderEvent = vi
945
+ .fn()
946
+ .mockReturnValue(new Promise(resolve => {
947
+ resolveSubscribe = resolve;
948
+ }));
949
+ await createBridgeChildInIframe({});
950
+ await vi.advanceTimersByTimeAsync(500);
951
+ const unsubscribe = window.__uwcSubscribeEip6963ProviderEvent('uuid-1', 'accountsChanged', vi.fn());
952
+ // Caller tears down BEFORE the parent responds.
953
+ unsubscribe();
954
+ resolveSubscribe(teardownFn);
955
+ await Promise.resolve();
956
+ expect(teardownFn).toHaveBeenCalled();
957
+ });
958
+ it('installs window.__uwcSubscribeTronProviderEvent that forwards to parentAPI', async () => {
959
+ mockWrappedAPI = createMockParentAPI();
960
+ const teardownFn = vi.fn();
961
+ mockWrappedAPI.subscribeTronProviderEvent = vi
962
+ .fn()
963
+ .mockResolvedValue(teardownFn);
964
+ await createBridgeChildInIframe({});
965
+ await vi.advanceTimersByTimeAsync(500);
966
+ expect(typeof window.__uwcSubscribeTronProviderEvent).toBe('function');
967
+ const callback = vi.fn();
968
+ window.__uwcSubscribeTronProviderEvent('tronLink', 'accountsChanged', callback);
969
+ expect(mockWrappedAPI.subscribeTronProviderEvent).toHaveBeenCalledWith('tronLink', 'accountsChanged', callback);
970
+ });
971
+ });
922
972
  describe('checkWallets with all wallet types', () => {
923
973
  it('should fetch all wallet types and set on window', async () => {
924
974
  const eip6963Wallets = [
@@ -971,5 +1021,90 @@ describe('BridgeChild', () => {
971
1021
  expect(window.tronWallets).toEqual([]);
972
1022
  });
973
1023
  });
1024
+ describe('reportBridgeError (P6)', () => {
1025
+ beforeEach(() => {
1026
+ // No iframe parent → the constructor's initializeConnection returns early,
1027
+ // so we exercise reportBridgeError without spinning the poll loop.
1028
+ Object.defineProperty(window, 'parent', {
1029
+ value: window,
1030
+ writable: true,
1031
+ configurable: true
1032
+ });
1033
+ });
1034
+ afterEach(() => {
1035
+ Object.defineProperty(window, 'parent', {
1036
+ value: originalParent,
1037
+ writable: true,
1038
+ configurable: true
1039
+ });
1040
+ });
1041
+ it('reports a real failure once per (namespace, message); skips benign timeouts', async () => {
1042
+ const { BridgeChild } = await import('./BridgeChild');
1043
+ const { BridgeReadTimeout } = await import('./bridge-timing');
1044
+ const errors = [];
1045
+ const child = new BridgeChild({ onError: e => errors.push(e) });
1046
+ child['reportBridgeError']('eip155', new Error('marshal failed'));
1047
+ child['reportBridgeError']('eip155', new Error('marshal failed')); // dedup
1048
+ child['reportBridgeError']('tvm', new BridgeReadTimeout()); // benign → skip
1049
+ child['reportBridgeError']('tron', new Error('older parent'));
1050
+ expect(errors).toEqual([
1051
+ { namespace: 'eip155', message: 'marshal failed' },
1052
+ { namespace: 'tron', message: 'older parent' }
1053
+ ]);
1054
+ });
1055
+ it('is a no-op when no onError sink is supplied', async () => {
1056
+ const { BridgeChild } = await import('./BridgeChild');
1057
+ const child = new BridgeChild();
1058
+ expect(() => child['reportBridgeError']('eip155', new Error('x'))).not.toThrow();
1059
+ });
1060
+ it('never throws for an error value with a throwing toString()', async () => {
1061
+ const { BridgeChild } = await import('./BridgeChild');
1062
+ const errors = [];
1063
+ const child = new BridgeChild({ onError: e => errors.push(e) });
1064
+ const evil = {
1065
+ toString() {
1066
+ throw new Error('poisoned toString');
1067
+ }
1068
+ };
1069
+ expect(() => child['reportBridgeError']('eip155', evil)).not.toThrow();
1070
+ expect(errors).toEqual([
1071
+ { namespace: 'eip155', message: 'Unreadable error object' }
1072
+ ]);
1073
+ });
1074
+ it('caps a huge error message so the dedup set stays bounded', async () => {
1075
+ const { BridgeChild } = await import('./BridgeChild');
1076
+ const errors = [];
1077
+ const child = new BridgeChild({ onError: e => errors.push(e) });
1078
+ child['reportBridgeError']('eip155', new Error('x'.repeat(10_000)));
1079
+ expect(errors[0]?.message).toHaveLength(500);
1080
+ });
1081
+ it('swallows a throwing onError sink — telemetry must not kill the poll loop', async () => {
1082
+ const { BridgeChild } = await import('./BridgeChild');
1083
+ const child = new BridgeChild({
1084
+ onError: () => {
1085
+ throw new Error('consumer sink exploded');
1086
+ }
1087
+ });
1088
+ // Invoked from inside the tryMarshal* catch blocks: a propagating throw
1089
+ // would reject the poll loop's Promise.all and stop discovery forever.
1090
+ expect(() => child['reportBridgeError']('eip155', new Error('marshal failed'))).not.toThrow();
1091
+ });
1092
+ it('bounds the dedup set — an evicted (namespace, message) reports again past the cap', async () => {
1093
+ const { BridgeChild } = await import('./BridgeChild');
1094
+ const errors = [];
1095
+ const child = new BridgeChild({ onError: e => errors.push(e) });
1096
+ const cap = BridgeChild['MAX_REPORTED_BRIDGE_ERRORS'];
1097
+ const report = (m) => child['reportBridgeError']('eip155', new Error(m));
1098
+ for (let i = 0; i < cap; i++)
1099
+ report(`err-${i}`);
1100
+ expect(errors).toHaveLength(cap);
1101
+ report('err-0'); // still deduped
1102
+ expect(errors).toHaveLength(cap);
1103
+ report('over-cap'); // trips cap → evict → reports
1104
+ expect(errors).toHaveLength(cap + 1);
1105
+ report('err-0'); // evicted → reports again, proving the set stays bounded
1106
+ expect(errors).toHaveLength(cap + 2);
1107
+ });
1108
+ });
974
1109
  });
975
1110
  //# sourceMappingURL=BridgeChild.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeChild.test.js","sourceRoot":"","sources":["../src/BridgeChild.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BridgeChild.test.js","sourceRoot":"","sources":["../src/BridgeChild.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-bridge-child",
3
- "version": "0.2.3",
3
+ "version": "0.3.0-snapshot.7a97a0f",
4
4
  "description": "Child iframe bridge for Universal Wallet Connector",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1096,6 +1096,91 @@ describe('BridgeChild', () => {
1096
1096
  })
1097
1097
  })
1098
1098
 
1099
+ describe('bridge provider-event subscription globals', () => {
1100
+ it('installs window.__uwcSubscribeEip6963ProviderEvent that forwards to parentAPI', async () => {
1101
+ mockWrappedAPI = createMockParentAPI()
1102
+ const teardownFn = vi.fn()
1103
+ ;(mockWrappedAPI as any).subscribeEip6963ProviderEvent = vi
1104
+ .fn()
1105
+ .mockResolvedValue(teardownFn)
1106
+
1107
+ await createBridgeChildInIframe({})
1108
+ await vi.advanceTimersByTimeAsync(500)
1109
+
1110
+ expect(typeof (window as any).__uwcSubscribeEip6963ProviderEvent).toBe(
1111
+ 'function'
1112
+ )
1113
+
1114
+ const callback = vi.fn()
1115
+ const unsubscribe = (window as any).__uwcSubscribeEip6963ProviderEvent(
1116
+ 'uuid-1',
1117
+ 'accountsChanged',
1118
+ callback
1119
+ )
1120
+ expect(typeof unsubscribe).toBe('function')
1121
+ expect(
1122
+ (mockWrappedAPI as any).subscribeEip6963ProviderEvent
1123
+ ).toHaveBeenCalledWith('uuid-1', 'accountsChanged', callback)
1124
+
1125
+ await Promise.resolve()
1126
+ unsubscribe()
1127
+ expect(teardownFn).toHaveBeenCalled()
1128
+ })
1129
+
1130
+ it('unsubscribing before the parentAPI round-trip resolves still tears down once it does', async () => {
1131
+ mockWrappedAPI = createMockParentAPI()
1132
+ const teardownFn = vi.fn()
1133
+ let resolveSubscribe!: (value: unknown) => void
1134
+ ;(mockWrappedAPI as any).subscribeEip6963ProviderEvent = vi
1135
+ .fn()
1136
+ .mockReturnValue(
1137
+ new Promise(resolve => {
1138
+ resolveSubscribe = resolve
1139
+ })
1140
+ )
1141
+
1142
+ await createBridgeChildInIframe({})
1143
+ await vi.advanceTimersByTimeAsync(500)
1144
+
1145
+ const unsubscribe = (window as any).__uwcSubscribeEip6963ProviderEvent(
1146
+ 'uuid-1',
1147
+ 'accountsChanged',
1148
+ vi.fn()
1149
+ )
1150
+ // Caller tears down BEFORE the parent responds.
1151
+ unsubscribe()
1152
+ resolveSubscribe(teardownFn)
1153
+ await Promise.resolve()
1154
+
1155
+ expect(teardownFn).toHaveBeenCalled()
1156
+ })
1157
+
1158
+ it('installs window.__uwcSubscribeTronProviderEvent that forwards to parentAPI', async () => {
1159
+ mockWrappedAPI = createMockParentAPI()
1160
+ const teardownFn = vi.fn()
1161
+ ;(mockWrappedAPI as any).subscribeTronProviderEvent = vi
1162
+ .fn()
1163
+ .mockResolvedValue(teardownFn)
1164
+
1165
+ await createBridgeChildInIframe({})
1166
+ await vi.advanceTimersByTimeAsync(500)
1167
+
1168
+ expect(typeof (window as any).__uwcSubscribeTronProviderEvent).toBe(
1169
+ 'function'
1170
+ )
1171
+
1172
+ const callback = vi.fn()
1173
+ ;(window as any).__uwcSubscribeTronProviderEvent(
1174
+ 'tronLink',
1175
+ 'accountsChanged',
1176
+ callback
1177
+ )
1178
+ expect(
1179
+ (mockWrappedAPI as any).subscribeTronProviderEvent
1180
+ ).toHaveBeenCalledWith('tronLink', 'accountsChanged', callback)
1181
+ })
1182
+ })
1183
+
1099
1184
  describe('checkWallets with all wallet types', () => {
1100
1185
  it('should fetch all wallet types and set on window', async () => {
1101
1186
  const eip6963Wallets = [
@@ -1154,4 +1239,108 @@ describe('BridgeChild', () => {
1154
1239
  expect((window as any).tronWallets).toEqual([])
1155
1240
  })
1156
1241
  })
1242
+
1243
+ describe('reportBridgeError (P6)', () => {
1244
+ beforeEach(() => {
1245
+ // No iframe parent → the constructor's initializeConnection returns early,
1246
+ // so we exercise reportBridgeError without spinning the poll loop.
1247
+ Object.defineProperty(window, 'parent', {
1248
+ value: window,
1249
+ writable: true,
1250
+ configurable: true
1251
+ })
1252
+ })
1253
+ afterEach(() => {
1254
+ Object.defineProperty(window, 'parent', {
1255
+ value: originalParent,
1256
+ writable: true,
1257
+ configurable: true
1258
+ })
1259
+ })
1260
+
1261
+ it('reports a real failure once per (namespace, message); skips benign timeouts', async () => {
1262
+ const { BridgeChild } = await import('./BridgeChild')
1263
+ const { BridgeReadTimeout } = await import('./bridge-timing')
1264
+ const errors: Array<{ namespace: string; message: string }> = []
1265
+ const child = new BridgeChild({ onError: e => errors.push(e) })
1266
+
1267
+ child['reportBridgeError']('eip155', new Error('marshal failed'))
1268
+ child['reportBridgeError']('eip155', new Error('marshal failed')) // dedup
1269
+ child['reportBridgeError']('tvm', new BridgeReadTimeout()) // benign → skip
1270
+ child['reportBridgeError']('tron', new Error('older parent'))
1271
+
1272
+ expect(errors).toEqual([
1273
+ { namespace: 'eip155', message: 'marshal failed' },
1274
+ { namespace: 'tron', message: 'older parent' }
1275
+ ])
1276
+ })
1277
+
1278
+ it('is a no-op when no onError sink is supplied', async () => {
1279
+ const { BridgeChild } = await import('./BridgeChild')
1280
+ const child = new BridgeChild()
1281
+ expect(() =>
1282
+ child['reportBridgeError']('eip155', new Error('x'))
1283
+ ).not.toThrow()
1284
+ })
1285
+
1286
+ it('never throws for an error value with a throwing toString()', async () => {
1287
+ const { BridgeChild } = await import('./BridgeChild')
1288
+ const errors: Array<{ namespace: string; message: string }> = []
1289
+ const child = new BridgeChild({ onError: e => errors.push(e) })
1290
+
1291
+ const evil = {
1292
+ toString(): string {
1293
+ throw new Error('poisoned toString')
1294
+ }
1295
+ }
1296
+ expect(() => child['reportBridgeError']('eip155', evil)).not.toThrow()
1297
+ expect(errors).toEqual([
1298
+ { namespace: 'eip155', message: 'Unreadable error object' }
1299
+ ])
1300
+ })
1301
+
1302
+ it('caps a huge error message so the dedup set stays bounded', async () => {
1303
+ const { BridgeChild } = await import('./BridgeChild')
1304
+ const errors: Array<{ namespace: string; message: string }> = []
1305
+ const child = new BridgeChild({ onError: e => errors.push(e) })
1306
+
1307
+ child['reportBridgeError']('eip155', new Error('x'.repeat(10_000)))
1308
+ expect(errors[0]?.message).toHaveLength(500)
1309
+ })
1310
+
1311
+ it('swallows a throwing onError sink — telemetry must not kill the poll loop', async () => {
1312
+ const { BridgeChild } = await import('./BridgeChild')
1313
+ const child = new BridgeChild({
1314
+ onError: () => {
1315
+ throw new Error('consumer sink exploded')
1316
+ }
1317
+ })
1318
+ // Invoked from inside the tryMarshal* catch blocks: a propagating throw
1319
+ // would reject the poll loop's Promise.all and stop discovery forever.
1320
+ expect(() =>
1321
+ child['reportBridgeError']('eip155', new Error('marshal failed'))
1322
+ ).not.toThrow()
1323
+ })
1324
+
1325
+ it('bounds the dedup set — an evicted (namespace, message) reports again past the cap', async () => {
1326
+ const { BridgeChild } = await import('./BridgeChild')
1327
+ const errors: Array<{ namespace: string; message: string }> = []
1328
+ const child = new BridgeChild({ onError: e => errors.push(e) })
1329
+ const cap = BridgeChild['MAX_REPORTED_BRIDGE_ERRORS']
1330
+ const report = (m: string) =>
1331
+ child['reportBridgeError']('eip155', new Error(m))
1332
+
1333
+ for (let i = 0; i < cap; i++) report(`err-${i}`)
1334
+ expect(errors).toHaveLength(cap)
1335
+
1336
+ report('err-0') // still deduped
1337
+ expect(errors).toHaveLength(cap)
1338
+
1339
+ report('over-cap') // trips cap → evict → reports
1340
+ expect(errors).toHaveLength(cap + 1)
1341
+
1342
+ report('err-0') // evicted → reports again, proving the set stays bounded
1343
+ expect(errors).toHaveLength(cap + 2)
1344
+ })
1345
+ })
1157
1346
  })
@@ -23,6 +23,32 @@ interface ParentAPI {
23
23
  parentOrigin: string
24
24
  discoverTronWallets: (injectedIds: string[]) => void
25
25
  discoverTonWallets: (jsBridgeKeys: string[]) => void
26
+ subscribeEip6963ProviderEvent: (
27
+ uuid: string,
28
+ eventName: string,
29
+ callback: (payload?: unknown) => void
30
+ ) => (() => void) | undefined
31
+ subscribeTronProviderEvent: (
32
+ injectedId: string,
33
+ eventName: string,
34
+ callback: (payload?: unknown) => void
35
+ ) => (() => void) | undefined
36
+ }
37
+
38
+ /**
39
+ * Extract a bounded message from any thrown value without ever throwing —
40
+ * local copy of `safeErrorMessage` (@meshconnect/uwc-types); this package
41
+ * deliberately stays dependency-free (comlink only); keep the two in sync.
42
+ * A poisoned getter / throwing toString() would otherwise kill the poll loop,
43
+ * and an unbounded message retained as a dedup key is a memory footgun.
44
+ */
45
+ function safeErrorMessage(error: unknown): string {
46
+ try {
47
+ const message = error instanceof Error ? error.message : String(error)
48
+ return message.length > 500 ? message.slice(0, 500) : message
49
+ } catch {
50
+ return 'Unreadable error object'
51
+ }
26
52
  }
27
53
 
28
54
  export class BridgeChild {
@@ -36,15 +62,56 @@ export class BridgeChild {
36
62
  private tronDone = false
37
63
  private tonDone = false
38
64
 
65
+ // Report a bridge-discovery failure to the consumer (wired to UWC's observer).
66
+ // Optional; default no-op preserves the historical silent behaviour.
67
+ private onError?: (info: { namespace: string; message: string }) => void
68
+ // Dedup so the per-tick retry loop can't storm the observer with the same error.
69
+ // Bounded (storm guard, not a permanent ledger): evicted wholesale past the cap
70
+ // so a long session with high-cardinality messages can't grow it without bound.
71
+ // Local copy of `createBoundedDedup` (@meshconnect/uwc-types) — this package
72
+ // deliberately stays dependency-free (comlink only); keep the two in sync.
73
+ private reportedBridgeErrors = new Set<string>()
74
+ private static readonly MAX_REPORTED_BRIDGE_ERRORS = 100
75
+
39
76
  constructor(options?: {
40
77
  tronInjectedIds?: string[]
41
78
  tonJsBridgeKeys?: string[]
79
+ onError?: (info: { namespace: string; message: string }) => void
42
80
  }) {
43
81
  this.tronInjectedIds = options?.tronInjectedIds ?? []
44
82
  this.tonJsBridgeKeys = options?.tonJsBridgeKeys ?? []
83
+ this.onError = options?.onError
45
84
  this.initializeConnection()
46
85
  }
47
86
 
87
+ /**
88
+ * Surface a bridge-discovery failure ONCE per (namespace, message). Benign
89
+ * poll-misses (`BridgeReadTimeout` — the parent isn't live yet, retried next
90
+ * tick) are NOT reported; only real failures (older/unsupported parent,
91
+ * malformed marshaling) reach the observer.
92
+ */
93
+ private reportBridgeError(namespace: string, err: unknown): void {
94
+ if (!this.onError) return
95
+ if (err instanceof BridgeReadTimeout) return
96
+ const message = safeErrorMessage(err)
97
+ const key = `${namespace}:${message}`
98
+ if (this.reportedBridgeErrors.has(key)) return
99
+ if (
100
+ this.reportedBridgeErrors.size >= BridgeChild.MAX_REPORTED_BRIDGE_ERRORS
101
+ ) {
102
+ this.reportedBridgeErrors.clear()
103
+ }
104
+ this.reportedBridgeErrors.add(key)
105
+ try {
106
+ this.onError({ namespace, message })
107
+ } catch {
108
+ // A throwing consumer sink is invoked from inside the tryMarshal* catch
109
+ // blocks, whose rejection would kill the fire-and-forget poll() loop and
110
+ // silently stop wallet discovery for ALL namespaces. Telemetry must
111
+ // never break the bridge.
112
+ }
113
+ }
114
+
48
115
  private async initializeConnection(): Promise<void> {
49
116
  if (!window.parent || window.parent === window) {
50
117
  return
@@ -74,6 +141,75 @@ export class BridgeChild {
74
141
  this.syncParentOrigin()
75
142
 
76
143
  this.pollForWallets()
144
+ this.installProviderEventSubscriptionGlobals()
145
+ }
146
+
147
+ /**
148
+ * Install window globals the injected EVM/TRON connectors call directly to
149
+ * subscribe to live provider events across the bridge (accountsChanged,
150
+ * chainChanged, disconnect) — mirrors this file's existing convention of
151
+ * exposing bridge capability via `window.*` rather than requiring callers
152
+ * to hold a `BridgeChild` instance reference (see `window.eip6963Wallets`
153
+ * etc. above). Only installed once `this.parentAPI` exists, i.e. only in
154
+ * bridge mode.
155
+ */
156
+ private installProviderEventSubscriptionGlobals(): void {
157
+ const parentAPI = this.parentAPI
158
+ if (!parentAPI) return
159
+
160
+ window.__uwcSubscribeEip6963ProviderEvent = (
161
+ uuid: string,
162
+ eventName: string,
163
+ callback: (payload?: unknown) => void
164
+ ) => {
165
+ const proxiedCallback = Comlink.proxy(callback)
166
+ let unsubscribe: (() => void) | null = null
167
+ let torndown = false
168
+ Promise.resolve(
169
+ parentAPI.subscribeEip6963ProviderEvent(
170
+ uuid,
171
+ eventName,
172
+ proxiedCallback
173
+ )
174
+ ).then((unsub: unknown) => {
175
+ if (torndown) {
176
+ if (typeof unsub === 'function') unsub()
177
+ return
178
+ }
179
+ unsubscribe = typeof unsub === 'function' ? unsub : null
180
+ })
181
+ return () => {
182
+ torndown = true
183
+ if (unsubscribe) unsubscribe()
184
+ }
185
+ }
186
+
187
+ window.__uwcSubscribeTronProviderEvent = (
188
+ injectedId: string,
189
+ eventName: string,
190
+ callback: (payload?: unknown) => void
191
+ ) => {
192
+ const proxiedCallback = Comlink.proxy(callback)
193
+ let unsubscribe: (() => void) | null = null
194
+ let torndown = false
195
+ Promise.resolve(
196
+ parentAPI.subscribeTronProviderEvent(
197
+ injectedId,
198
+ eventName,
199
+ proxiedCallback
200
+ )
201
+ ).then((unsub: unknown) => {
202
+ if (torndown) {
203
+ if (typeof unsub === 'function') unsub()
204
+ return
205
+ }
206
+ unsubscribe = typeof unsub === 'function' ? unsub : null
207
+ })
208
+ return () => {
209
+ torndown = true
210
+ if (unsubscribe) unsubscribe()
211
+ }
212
+ }
77
213
  }
78
214
 
79
215
  private anyWindowWalletsAlreadySet(): boolean {
@@ -189,8 +325,9 @@ export class BridgeChild {
189
325
  }
190
326
  window.eip6963Wallets = wallets
191
327
  this.eip6963Done = true
192
- } catch {
193
- // retry on next tick
328
+ } catch (err) {
329
+ // retry on next tick; surface only a real (non-timeout) failure, once.
330
+ this.reportBridgeError('eip155', err)
194
331
  }
195
332
  }
196
333
 
@@ -222,8 +359,9 @@ export class BridgeChild {
222
359
  }
223
360
  window.walletStandardWallets = wallets
224
361
  this.solanaDone = true
225
- } catch {
226
- // retry on next tick
362
+ } catch (err) {
363
+ // retry on next tick; surface only a real (non-timeout) failure, once.
364
+ this.reportBridgeError('solana', err)
227
365
  }
228
366
  }
229
367
 
@@ -264,6 +402,8 @@ export class BridgeChild {
264
402
  if (err instanceof BridgeReadTimeout) {
265
403
  return
266
404
  }
405
+ // Older / unsupported parent throwing on the property → no Tron via bridge.
406
+ this.reportBridgeError('tron', err)
267
407
  window.tronWallets = []
268
408
  this.tronDone = true
269
409
  return
@@ -291,7 +431,8 @@ export class BridgeChild {
291
431
  }
292
432
  window.tronWallets = wallets
293
433
  this.tronDone = true
294
- } catch {
434
+ } catch (err) {
435
+ this.reportBridgeError('tron', err)
295
436
  window.tronWallets = []
296
437
  this.tronDone = true
297
438
  }
@@ -315,6 +456,7 @@ export class BridgeChild {
315
456
  ready = await raceParentRead(this.parentAPI.tonWalletsReady)
316
457
  } catch (err) {
317
458
  if (err instanceof BridgeReadTimeout) return
459
+ this.reportBridgeError('tvm', err)
318
460
  window.tonWallets = []
319
461
  this.tonDone = true
320
462
  return
@@ -396,8 +538,9 @@ export class BridgeChild {
396
538
  )
397
539
 
398
540
  this.tonDone = true
399
- } catch {
541
+ } catch (err) {
400
542
  // Parent doesn't support TON — mark done with empty list.
543
+ this.reportBridgeError('tvm', err)
401
544
  window.tonWallets = []
402
545
  this.tonDone = true
403
546
  }