@meshconnect/uwc-bridge-parent 1.4.0 → 1.4.1

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.
@@ -73,6 +73,8 @@ export declare class BridgeParent {
73
73
  private iframe;
74
74
  private parentAPI;
75
75
  private endpoint;
76
+ private exposeListeners;
77
+ private destroyed;
76
78
  constructor(iframe: HTMLIFrameElement);
77
79
  private initializeConnection;
78
80
  private discovereip6963Wallets;
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeParent.d.ts","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BridgeParent.d.ts","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,12 @@ export class BridgeParent {
9
9
  iframe;
10
10
  parentAPI = null;
11
11
  endpoint = null;
12
+ // Capture each (listener, options) pair so destroy() can call
13
+ // removeEventListener with the same args. Options (e.g. `{capture: true}`)
14
+ // are part of the listener's identity for the DOM removal lookup; passing a
15
+ // bare listener won't match a capture-phase registration.
16
+ exposeListeners = [];
17
+ destroyed = false;
12
18
  constructor(iframe) {
13
19
  if (!iframe) {
14
20
  throw new Error('BridgeParent requires an iframe element');
@@ -21,12 +27,17 @@ export class BridgeParent {
21
27
  if (!this.iframe || !this.iframe.contentWindow) {
22
28
  return;
23
29
  }
24
- // For eip6963 and solana wallets we can start discovery as soon as the iframe loads, but for tron we need to look for specific IDs that we get from the child iframe
25
- const eip6963Wallets = await this.discovereip6963Wallets();
30
+ // Expose the parentAPI to the child as soon as possible. EIP-6963
31
+ // discovery takes ~100ms (it waits for announcements), but we don't want
32
+ // to block the child from calling discoverTronWallets / discoverTonWallets
33
+ // while that's in flight — those paths are independent. The readiness
34
+ // flags gate the child from reading a still-empty array.
35
+ const eip6963Promise = this.discovereip6963Wallets();
36
+ // Solana is synchronous, so run it inline (no benefit to a microtask hop)
26
37
  const walletStandardWallets = this.getSolanaWallets();
27
38
  this.parentAPI = {
28
- eip6963Wallets: eip6963Wallets,
29
- eip6963WalletsReady: true,
39
+ eip6963Wallets: [],
40
+ eip6963WalletsReady: false,
30
41
  walletStandardWallets: walletStandardWallets,
31
42
  walletStandardWalletsReady: true,
32
43
  tronWallets: [],
@@ -52,8 +63,42 @@ export class BridgeParent {
52
63
  // Use Comlink's windowEndpoint with proper cross-origin support
53
64
  // For cross-origin, we need to listen on the parent window, not access the iframe's window
54
65
  const iframeOrigin = new URL(this.iframe.src, window.location.href).origin;
55
- this.endpoint = Comlink.windowEndpoint(this.iframe.contentWindow, window, iframeOrigin);
56
- Comlink.expose(this.parentAPI, this.endpoint);
66
+ const endpoint = Comlink.windowEndpoint(this.iframe.contentWindow, window, iframeOrigin);
67
+ // initializeConnection is async and fire-and-forget; expose() currently runs
68
+ // synchronously, so destroy() (only reachable after construction) always sees a
69
+ // captured listener. Guard the invariant anyway: if destroy() ran while a future
70
+ // await suspended us here, skip expose() so we never register a window listener
71
+ // with no live owner to remove it.
72
+ if (this.destroyed) {
73
+ return;
74
+ }
75
+ this.endpoint = endpoint;
76
+ // Comlink's expose() registers a 'message' listener on the endpoint that it
77
+ // only removes on a child RELEASE — it returns no teardown handle. Capture it
78
+ // so destroy() can detach it. Otherwise a closed session leaves a stale
79
+ // listener on window that, being registered before the next session's parent,
80
+ // answers the child's discovery reads first (listeners fire in registration
81
+ // order) with empty arrays — making injected wallets (e.g. TronLink) look
82
+ // absent and forcing a QR fallback.
83
+ const originalAddEventListener = endpoint.addEventListener.bind(endpoint);
84
+ endpoint.addEventListener = (type, listener, options) => {
85
+ if (type === 'message') {
86
+ // Store the full registration so destroy() can pass the same
87
+ // `options` to removeEventListener — capture-phase listeners only
88
+ // detach when `{capture: true}` is passed back.
89
+ this.exposeListeners.push({ listener, options });
90
+ }
91
+ originalAddEventListener(type, listener, options);
92
+ };
93
+ Comlink.expose(this.parentAPI, endpoint);
94
+ // Populate EIP-6963 results in the background. The child polls the
95
+ // ready flag; it will see them on the next read after we flip it.
96
+ eip6963Promise.then(eip6963Wallets => {
97
+ if (!this.parentAPI)
98
+ return;
99
+ this.parentAPI.eip6963Wallets = eip6963Wallets;
100
+ this.parentAPI.eip6963WalletsReady = true;
101
+ });
57
102
  }
58
103
  async discovereip6963Wallets() {
59
104
  return new Promise(resolve => {
@@ -523,7 +568,25 @@ export class BridgeParent {
523
568
  return wallets;
524
569
  }
525
570
  destroy() {
571
+ this.destroyed = true;
572
+ // Detach the 'message' listener(s) registered by expose(). Comlink only
573
+ // removes them on a child RELEASE, so without this a closed session leaves a
574
+ // stale listener that wins the next session's discovery reads (registration
575
+ // order) with empty/ready values, making injected wallets appear absent.
576
+ if (this.endpoint) {
577
+ for (const { listener, options } of this.exposeListeners) {
578
+ // Mirror the original addEventListener call (including `options`) —
579
+ // DOM removal matching is identity-based: a capture-phase listener
580
+ // only detaches when the same `capture` flag is passed back.
581
+ this.endpoint.removeEventListener('message', listener, options);
582
+ }
583
+ }
584
+ this.exposeListeners = [];
526
585
  if (this.parentAPI) {
586
+ this.parentAPI.eip6963WalletsReady = false;
587
+ this.parentAPI.walletStandardWalletsReady = false;
588
+ this.parentAPI.tronWalletsReady = false;
589
+ this.parentAPI.tonWalletsReady = false;
527
590
  this.parentAPI.eip6963Wallets = [];
528
591
  this.parentAPI.walletStandardWallets = [];
529
592
  this.parentAPI.tronWallets = [];
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeParent.js","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BridgeParent.js","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,15 @@
1
1
  import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
2
- // Mock Comlink
2
+ // Mock Comlink. windowEndpoint mirrors the real one (comlink 4.4.2): its
3
+ // add/removeEventListener are window's own methods bound to window. This lets the
4
+ // destroy tests assert real attachment/detachment on window via dispatchEvent,
5
+ // rather than against a decoupled spy.
3
6
  vi.mock('comlink', () => ({
4
7
  expose: vi.fn(),
5
- windowEndpoint: vi.fn().mockReturnValue({}),
8
+ windowEndpoint: vi.fn(() => ({
9
+ addEventListener: window.addEventListener.bind(window),
10
+ removeEventListener: window.removeEventListener.bind(window),
11
+ postMessage: vi.fn()
12
+ })),
6
13
  proxy: vi.fn((obj) => obj)
7
14
  }));
8
15
  // Mock @wallet-standard/app
@@ -88,6 +95,61 @@ describe('BridgeParent', () => {
88
95
  expect(Comlink.expose).not.toHaveBeenCalled();
89
96
  });
90
97
  });
98
+ describe('destroy', () => {
99
+ it('detaches from window the listener expose() registered (no zombie across sessions)', async () => {
100
+ const Comlink = await import('comlink');
101
+ const { BridgeParent } = await import('./BridgeParent');
102
+ // Real Comlink registers its endpoint listener via
103
+ // ep.addEventListener('message', cb); simulate that so we can prove destroy()
104
+ // detaches it. windowEndpoint's add/removeEventListener are window's own
105
+ // methods (see the comlink mock), so this exercises real window attachment.
106
+ const exposedListener = vi.fn();
107
+ vi.mocked(Comlink.expose).mockImplementationOnce((_api, endpoint) => {
108
+ const ep = endpoint;
109
+ ep.addEventListener('message', exposedListener);
110
+ });
111
+ const bridge = new BridgeParent(mockIframe);
112
+ await vi.advanceTimersByTimeAsync(200);
113
+ // Live before teardown: a window 'message' reaches the listener.
114
+ window.dispatchEvent(new MessageEvent('message', { data: { id: 1 } }));
115
+ expect(exposedListener).toHaveBeenCalledTimes(1);
116
+ bridge.destroy();
117
+ // Gone after teardown: the zombie no longer answers.
118
+ window.dispatchEvent(new MessageEvent('message', { data: { id: 2 } }));
119
+ expect(exposedListener).toHaveBeenCalledTimes(1);
120
+ });
121
+ it('resets readiness flags so a stale read cannot report ready', async () => {
122
+ const Comlink = await import('comlink');
123
+ const { BridgeParent } = await import('./BridgeParent');
124
+ const bridge = new BridgeParent(mockIframe);
125
+ await vi.advanceTimersByTimeAsync(200);
126
+ const exposedAPI = vi.mocked(Comlink.expose).mock.calls[0]?.[0];
127
+ // Solana readiness is true right after init — a real precondition, not a setup.
128
+ expect(exposedAPI.walletStandardWalletsReady).toBe(true);
129
+ exposedAPI.tronWalletsReady = true;
130
+ exposedAPI.tonWalletsReady = true;
131
+ exposedAPI.eip6963WalletsReady = true;
132
+ bridge.destroy();
133
+ expect(exposedAPI.tronWalletsReady).toBe(false);
134
+ expect(exposedAPI.tonWalletsReady).toBe(false);
135
+ expect(exposedAPI.eip6963WalletsReady).toBe(false);
136
+ expect(exposedAPI.walletStandardWalletsReady).toBe(false);
137
+ });
138
+ it('is a safe no-op when the iframe never had a contentWindow', async () => {
139
+ const { BridgeParent } = await import('./BridgeParent');
140
+ const iframeNoContent = { src: 'https://child.example.com' };
141
+ const bridge = new BridgeParent(iframeNoContent);
142
+ await vi.advanceTimersByTimeAsync(200);
143
+ expect(() => bridge.destroy()).not.toThrow();
144
+ });
145
+ it('clears state and tolerates a second destroy()', async () => {
146
+ const { BridgeParent } = await import('./BridgeParent');
147
+ const bridge = new BridgeParent(mockIframe);
148
+ await vi.advanceTimersByTimeAsync(200);
149
+ bridge.destroy();
150
+ expect(() => bridge.destroy()).not.toThrow();
151
+ });
152
+ });
91
153
  describe('EIP6963 wallet discovery', () => {
92
154
  it('should dispatch eip6963:requestProvider event', async () => {
93
155
  const dispatchSpy = vi.spyOn(window, 'dispatchEvent');
@@ -544,15 +606,5 @@ describe('BridgeParent', () => {
544
606
  expect(exposedAPI.walletStandardWallets).toEqual([]);
545
607
  });
546
608
  });
547
- describe('destroy', () => {
548
- it('should clear all state', async () => {
549
- const { BridgeParent } = await import('./BridgeParent');
550
- const bridge = new BridgeParent(mockIframe);
551
- await vi.advanceTimersByTimeAsync(200);
552
- bridge.destroy();
553
- // After destroy, creating another should work without errors
554
- expect(() => bridge.destroy()).not.toThrow();
555
- });
556
- });
557
609
  });
558
610
  //# sourceMappingURL=BridgeParent.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeParent.test.js","sourceRoot":"","sources":["../src/BridgeParent.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BridgeParent.test.js","sourceRoot":"","sources":["../src/BridgeParent.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-bridge-parent",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "Parent window bridge for Universal Wallet Connector",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,9 +1,16 @@
1
1
  import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'
2
2
 
3
- // Mock Comlink
3
+ // Mock Comlink. windowEndpoint mirrors the real one (comlink 4.4.2): its
4
+ // add/removeEventListener are window's own methods bound to window. This lets the
5
+ // destroy tests assert real attachment/detachment on window via dispatchEvent,
6
+ // rather than against a decoupled spy.
4
7
  vi.mock('comlink', () => ({
5
8
  expose: vi.fn(),
6
- windowEndpoint: vi.fn().mockReturnValue({}),
9
+ windowEndpoint: vi.fn(() => ({
10
+ addEventListener: window.addEventListener.bind(window),
11
+ removeEventListener: window.removeEventListener.bind(window),
12
+ postMessage: vi.fn()
13
+ })),
7
14
  proxy: vi.fn((obj: unknown) => obj)
8
15
  }))
9
16
 
@@ -124,6 +131,80 @@ describe('BridgeParent', () => {
124
131
  })
125
132
  })
126
133
 
134
+ describe('destroy', () => {
135
+ it('detaches from window the listener expose() registered (no zombie across sessions)', async () => {
136
+ const Comlink = await import('comlink')
137
+ const { BridgeParent } = await import('./BridgeParent')
138
+
139
+ // Real Comlink registers its endpoint listener via
140
+ // ep.addEventListener('message', cb); simulate that so we can prove destroy()
141
+ // detaches it. windowEndpoint's add/removeEventListener are window's own
142
+ // methods (see the comlink mock), so this exercises real window attachment.
143
+ const exposedListener = vi.fn()
144
+ vi.mocked(Comlink.expose).mockImplementationOnce((_api, endpoint) => {
145
+ const ep = endpoint as {
146
+ addEventListener: (type: string, listener: unknown) => void
147
+ }
148
+ ep.addEventListener('message', exposedListener)
149
+ })
150
+
151
+ const bridge = new BridgeParent(mockIframe)
152
+ await vi.advanceTimersByTimeAsync(200)
153
+
154
+ // Live before teardown: a window 'message' reaches the listener.
155
+ window.dispatchEvent(new MessageEvent('message', { data: { id: 1 } }))
156
+ expect(exposedListener).toHaveBeenCalledTimes(1)
157
+
158
+ bridge.destroy()
159
+
160
+ // Gone after teardown: the zombie no longer answers.
161
+ window.dispatchEvent(new MessageEvent('message', { data: { id: 2 } }))
162
+ expect(exposedListener).toHaveBeenCalledTimes(1)
163
+ })
164
+
165
+ it('resets readiness flags so a stale read cannot report ready', async () => {
166
+ const Comlink = await import('comlink')
167
+ const { BridgeParent } = await import('./BridgeParent')
168
+
169
+ const bridge = new BridgeParent(mockIframe)
170
+ await vi.advanceTimersByTimeAsync(200)
171
+
172
+ const exposedAPI = vi.mocked(Comlink.expose).mock.calls[0]?.[0] as any
173
+ // Solana readiness is true right after init — a real precondition, not a setup.
174
+ expect(exposedAPI.walletStandardWalletsReady).toBe(true)
175
+ exposedAPI.tronWalletsReady = true
176
+ exposedAPI.tonWalletsReady = true
177
+ exposedAPI.eip6963WalletsReady = true
178
+
179
+ bridge.destroy()
180
+
181
+ expect(exposedAPI.tronWalletsReady).toBe(false)
182
+ expect(exposedAPI.tonWalletsReady).toBe(false)
183
+ expect(exposedAPI.eip6963WalletsReady).toBe(false)
184
+ expect(exposedAPI.walletStandardWalletsReady).toBe(false)
185
+ })
186
+
187
+ it('is a safe no-op when the iframe never had a contentWindow', async () => {
188
+ const { BridgeParent } = await import('./BridgeParent')
189
+
190
+ const iframeNoContent = { src: 'https://child.example.com' } as any
191
+ const bridge = new BridgeParent(iframeNoContent)
192
+ await vi.advanceTimersByTimeAsync(200)
193
+
194
+ expect(() => bridge.destroy()).not.toThrow()
195
+ })
196
+
197
+ it('clears state and tolerates a second destroy()', async () => {
198
+ const { BridgeParent } = await import('./BridgeParent')
199
+
200
+ const bridge = new BridgeParent(mockIframe)
201
+ await vi.advanceTimersByTimeAsync(200)
202
+
203
+ bridge.destroy()
204
+ expect(() => bridge.destroy()).not.toThrow()
205
+ })
206
+ })
207
+
127
208
  describe('EIP6963 wallet discovery', () => {
128
209
  it('should dispatch eip6963:requestProvider event', async () => {
129
210
  const dispatchSpy = vi.spyOn(window, 'dispatchEvent')
@@ -696,18 +777,4 @@ describe('BridgeParent', () => {
696
777
  expect(exposedAPI.walletStandardWallets).toEqual([])
697
778
  })
698
779
  })
699
-
700
- describe('destroy', () => {
701
- it('should clear all state', async () => {
702
- const { BridgeParent } = await import('./BridgeParent')
703
-
704
- const bridge = new BridgeParent(mockIframe)
705
- await vi.advanceTimersByTimeAsync(200)
706
-
707
- bridge.destroy()
708
-
709
- // After destroy, creating another should work without errors
710
- expect(() => bridge.destroy()).not.toThrow()
711
- })
712
- })
713
780
  })
@@ -10,6 +10,15 @@ import { StandardWalletAdapter } from '@solana/wallet-standard-wallet-adapter-ba
10
10
  import { BaseWalletAdapter } from './BaseWalletAdapter'
11
11
  import { signSolanaBytes } from './signSolanaBytes'
12
12
 
13
+ // The listener type Comlink's expose() passes to endpoint.addEventListener.
14
+ type EndpointAddEventListenerOptions = Parameters<
15
+ Comlink.Endpoint['addEventListener']
16
+ >[2]
17
+
18
+ type EndpointMessageListener = Parameters<
19
+ Comlink.Endpoint['addEventListener']
20
+ >[1]
21
+
13
22
  export interface EthereumProvider {
14
23
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
24
  request: (args: { method: string; params?: unknown[] }) => Promise<any>
@@ -115,6 +124,15 @@ export class BridgeParent {
115
124
  private iframe: HTMLIFrameElement | null
116
125
  private parentAPI: ParentAPI | null = null
117
126
  private endpoint: Comlink.Endpoint | null = null
127
+ // Capture each (listener, options) pair so destroy() can call
128
+ // removeEventListener with the same args. Options (e.g. `{capture: true}`)
129
+ // are part of the listener's identity for the DOM removal lookup; passing a
130
+ // bare listener won't match a capture-phase registration.
131
+ private exposeListeners: Array<{
132
+ listener: EndpointMessageListener
133
+ options: EndpointAddEventListenerOptions
134
+ }> = []
135
+ private destroyed = false
118
136
 
119
137
  constructor(iframe: HTMLIFrameElement) {
120
138
  if (!iframe) {
@@ -131,13 +149,18 @@ export class BridgeParent {
131
149
  return
132
150
  }
133
151
 
134
- // For eip6963 and solana wallets we can start discovery as soon as the iframe loads, but for tron we need to look for specific IDs that we get from the child iframe
135
- const eip6963Wallets = await this.discovereip6963Wallets()
152
+ // Expose the parentAPI to the child as soon as possible. EIP-6963
153
+ // discovery takes ~100ms (it waits for announcements), but we don't want
154
+ // to block the child from calling discoverTronWallets / discoverTonWallets
155
+ // while that's in flight — those paths are independent. The readiness
156
+ // flags gate the child from reading a still-empty array.
157
+ const eip6963Promise = this.discovereip6963Wallets()
158
+ // Solana is synchronous, so run it inline (no benefit to a microtask hop)
136
159
  const walletStandardWallets = this.getSolanaWallets()
137
160
 
138
161
  this.parentAPI = {
139
- eip6963Wallets: eip6963Wallets,
140
- eip6963WalletsReady: true,
162
+ eip6963Wallets: [],
163
+ eip6963WalletsReady: false,
141
164
  walletStandardWallets: walletStandardWallets,
142
165
  walletStandardWalletsReady: true,
143
166
  tronWallets: [],
@@ -168,13 +191,52 @@ export class BridgeParent {
168
191
  // Use Comlink's windowEndpoint with proper cross-origin support
169
192
  // For cross-origin, we need to listen on the parent window, not access the iframe's window
170
193
  const iframeOrigin = new URL(this.iframe.src, window.location.href).origin
171
- this.endpoint = Comlink.windowEndpoint(
194
+ const endpoint = Comlink.windowEndpoint(
172
195
  this.iframe.contentWindow,
173
196
  window,
174
197
  iframeOrigin
175
198
  )
199
+ // initializeConnection is async and fire-and-forget; expose() currently runs
200
+ // synchronously, so destroy() (only reachable after construction) always sees a
201
+ // captured listener. Guard the invariant anyway: if destroy() ran while a future
202
+ // await suspended us here, skip expose() so we never register a window listener
203
+ // with no live owner to remove it.
204
+ if (this.destroyed) {
205
+ return
206
+ }
207
+ this.endpoint = endpoint
208
+
209
+ // Comlink's expose() registers a 'message' listener on the endpoint that it
210
+ // only removes on a child RELEASE — it returns no teardown handle. Capture it
211
+ // so destroy() can detach it. Otherwise a closed session leaves a stale
212
+ // listener on window that, being registered before the next session's parent,
213
+ // answers the child's discovery reads first (listeners fire in registration
214
+ // order) with empty arrays — making injected wallets (e.g. TronLink) look
215
+ // absent and forcing a QR fallback.
216
+ const originalAddEventListener = endpoint.addEventListener.bind(endpoint)
217
+ endpoint.addEventListener = (
218
+ type: string,
219
+ listener: EndpointMessageListener,
220
+ options?: EndpointAddEventListenerOptions
221
+ ): void => {
222
+ if (type === 'message') {
223
+ // Store the full registration so destroy() can pass the same
224
+ // `options` to removeEventListener — capture-phase listeners only
225
+ // detach when `{capture: true}` is passed back.
226
+ this.exposeListeners.push({ listener, options })
227
+ }
228
+ originalAddEventListener(type, listener, options)
229
+ }
176
230
 
177
- Comlink.expose(this.parentAPI, this.endpoint)
231
+ Comlink.expose(this.parentAPI, endpoint)
232
+
233
+ // Populate EIP-6963 results in the background. The child polls the
234
+ // ready flag; it will see them on the next read after we flip it.
235
+ eip6963Promise.then(eip6963Wallets => {
236
+ if (!this.parentAPI) return
237
+ this.parentAPI.eip6963Wallets = eip6963Wallets
238
+ this.parentAPI.eip6963WalletsReady = true
239
+ })
178
240
  }
179
241
 
180
242
  private async discovereip6963Wallets(): Promise<DetectedWallet[]> {
@@ -778,7 +840,26 @@ export class BridgeParent {
778
840
  }
779
841
 
780
842
  public destroy(): void {
843
+ this.destroyed = true
844
+ // Detach the 'message' listener(s) registered by expose(). Comlink only
845
+ // removes them on a child RELEASE, so without this a closed session leaves a
846
+ // stale listener that wins the next session's discovery reads (registration
847
+ // order) with empty/ready values, making injected wallets appear absent.
848
+ if (this.endpoint) {
849
+ for (const { listener, options } of this.exposeListeners) {
850
+ // Mirror the original addEventListener call (including `options`) —
851
+ // DOM removal matching is identity-based: a capture-phase listener
852
+ // only detaches when the same `capture` flag is passed back.
853
+ this.endpoint.removeEventListener('message', listener, options)
854
+ }
855
+ }
856
+ this.exposeListeners = []
857
+
781
858
  if (this.parentAPI) {
859
+ this.parentAPI.eip6963WalletsReady = false
860
+ this.parentAPI.walletStandardWalletsReady = false
861
+ this.parentAPI.tronWalletsReady = false
862
+ this.parentAPI.tonWalletsReady = false
782
863
  this.parentAPI.eip6963Wallets = []
783
864
  this.parentAPI.walletStandardWallets = []
784
865
  this.parentAPI.tronWallets = []
@@ -786,7 +867,6 @@ export class BridgeParent {
786
867
  this.parentAPI = null
787
868
  }
788
869
  this.endpoint = null
789
-
790
870
  this.iframe = null
791
871
  }
792
872
  }