@meshconnect/uwc-injected-connector 0.8.0 → 0.8.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.
@@ -1 +1 @@
1
- {"version":3,"file":"tron-discovery.d.ts","sourceRoot":"","sources":["../src/tron-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,MAAM,WAAW,OAAO;IACtB,cAAc,CAAC,EAAE;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;QACvB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;KACrB,CAAA;IACD,kEAAkE;IAClE,iBAAiB,CAAC,IAAI,OAAO,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;QACvB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;KACrB,CAAC,CAAA;IACF,GAAG,EAAE;QACH,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC5C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAC/C,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KACjE,CAAA;IACD,kBAAkB,EAAE;QAElB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC/D,oBAAoB,CAClB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,EAExB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAE5B,SAAS,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,CAAC,EAC9C,aAAa,EAAE,MAAM,GAEpB,OAAO,CAAC;YAAE,WAAW,EAAE,GAAG,CAAC;YAAC,MAAM,EAAE;gBAAE,MAAM,EAAE,OAAO,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;KAC9D,CAAA;IACD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IAE9B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACxE,OAAO,EAAE,OAAO,CAAA;IAEhB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;CACvB;AA6FD;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,eAAe,GAAE,cAAc,EAAO,GACrC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA8B/B"}
1
+ {"version":3,"file":"tron-discovery.d.ts","sourceRoot":"","sources":["../src/tron-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,MAAM,WAAW,OAAO;IACtB,cAAc,CAAC,EAAE;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;QACvB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;KACrB,CAAA;IACD,kEAAkE;IAClE,iBAAiB,CAAC,IAAI,OAAO,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;QACvB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;KACrB,CAAC,CAAA;IACF,GAAG,EAAE;QACH,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC5C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAC/C,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KACjE,CAAA;IACD,kBAAkB,EAAE;QAElB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC/D,oBAAoB,CAClB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,EAExB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAE5B,SAAS,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,CAAC,EAC9C,aAAa,EAAE,MAAM,GAEpB,OAAO,CAAC;YAAE,WAAW,EAAE,GAAG,CAAC;YAAC,MAAM,EAAE;gBAAE,MAAM,EAAE,OAAO,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;KAC9D,CAAA;IACD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IAE9B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACxE,OAAO,EAAE,OAAO,CAAA;IAEhB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;CACvB;AA6FD;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,eAAe,GAAE,cAAc,EAAO,GACrC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAyB/B"}
@@ -103,11 +103,9 @@ export async function getTronWallets(expectedWallets = []) {
103
103
  return wallets;
104
104
  }
105
105
  }
106
- // Native discovery: check injected providers on the window object
107
- // First immediate check
108
- const immediate = discoverTronProviders(injectedIds);
109
- if (immediate.length === injectedIds.length) {
110
- return immediate;
106
+ else {
107
+ // Native discovery: check injected providers on the window object, only if bridge parent is not initialized
108
+ return discoverTronProviders(injectedIds);
111
109
  }
112
110
  return [];
113
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tron-discovery.js","sourceRoot":"","sources":["../src/tron-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tron-discovery.js","sourceRoot":"","sources":["../src/tron-discovery.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-injected-connector",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "Injected connector for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,7 +26,7 @@
26
26
  "buffer": "^6.0.3",
27
27
  "uuid": "^13.0.0",
28
28
  "viem": "^2.44.4",
29
- "@meshconnect/uwc-bridge-child": "0.1.0",
29
+ "@meshconnect/uwc-bridge-child": "0.1.1",
30
30
  "@meshconnect/uwc-constants": "0.4.0",
31
31
  "@meshconnect/uwc-types": "0.6.0"
32
32
  },
@@ -174,8 +174,10 @@ describe('Tron Discovery', () => {
174
174
  expect(result).toEqual([])
175
175
  })
176
176
 
177
- it('should return empty when not all expected wallets are found', async () => {
178
- // Only tronLink exists, but we expect both tronLink and tokenpocket
177
+ it('should return empty when a missing provider path throws during discovery', async () => {
178
+ // Only tronLink exists, but we expect both tronLink and tokenpocket.tron
179
+ // When tokenpocket is undefined, accessing provider.tronWeb throws,
180
+ // causing the outer catch to return []
179
181
  const mockProvider = createMockTronProvider()
180
182
  mockWindow.tronLink = mockProvider
181
183
 
@@ -184,11 +186,10 @@ describe('Tron Discovery', () => {
184
186
 
185
187
  const result = await getTronWallets(wallets)
186
188
 
187
- // Returns empty because immediate.length (1) !== injectedIds.length (2)
188
189
  expect(result).toEqual([])
189
190
  })
190
191
 
191
- it('should not discover duplicate wallets for same injectedId', async () => {
192
+ it('should deduplicate wallets for same injectedId', async () => {
192
193
  const mockProvider = createMockTronProvider()
193
194
  mockWindow.tronLink = mockProvider
194
195
 
@@ -201,8 +202,9 @@ describe('Tron Discovery', () => {
201
202
 
202
203
  const result = await getTronWallets(wallets)
203
204
 
204
- // discoverTronProviders deduplicates, but length check: immediate.length (1) !== injectedIds.length (2)
205
- expect(result).toEqual([])
205
+ // discoverTronProviders deduplicates by injectedId
206
+ expect(result).toHaveLength(1)
207
+ expect(result[0].uuid).toBe('tron-tronlink')
206
208
  })
207
209
  })
208
210
 
@@ -276,7 +278,7 @@ describe('Tron Discovery', () => {
276
278
  expect(result[0]).toEqual(bridgeWallet)
277
279
  })
278
280
 
279
- it('should fall back to native discovery when bridge returns empty', async () => {
281
+ it('should not fall back to native discovery when in bridge mode', async () => {
280
282
  mockWindow.UWCBridgeChildInitialized = true
281
283
  mockWindow.tronWallets = []
282
284
  mockWindow.tronLink = createMockTronProvider()
@@ -284,14 +286,42 @@ describe('Tron Discovery', () => {
284
286
  const { getTronWallets } = await import('./tron-discovery')
285
287
  const wallets = createExpectedWallets(['tronLink'])
286
288
 
287
- // Bridge returns empty array (length 0), so bridge check is skipped
288
- // But pollForBridgeTronWallets resolves immediately with [] because
289
- // window.tronWallets exists and is an array
290
- // Then falls through to native discovery
289
+ // Bridge returns empty array, should NOT fall through to native
290
+ // because native discovery can't work in an iframe
291
+ const result = await getTronWallets(wallets)
292
+
293
+ expect(result).toEqual([])
294
+ })
295
+
296
+ it('should return empty array when bridge is initialized but no wallets found', async () => {
297
+ mockWindow.UWCBridgeChildInitialized = true
298
+ mockWindow.tronWallets = undefined
299
+
300
+ const { getTronWallets } = await import('./tron-discovery')
301
+
302
+ const resultPromise = getTronWallets(createExpectedWallets(['tronLink']))
303
+
304
+ // Fast-forward past the 1000ms max poll time
305
+ await vi.advanceTimersByTimeAsync(1200)
306
+
307
+ const result = await resultPromise
308
+
309
+ // In bridge mode, if polling finds nothing, returns empty
310
+ expect(result).toEqual([])
311
+ })
312
+
313
+ it('should use native discovery when not in bridge mode', async () => {
314
+ mockWindow.UWCBridgeChildInitialized = false
315
+ mockWindow.tronLink = createMockTronProvider()
316
+
317
+ const { getTronWallets } = await import('./tron-discovery')
318
+ const wallets = createExpectedWallets(['tronLink'])
319
+
291
320
  const result = await getTronWallets(wallets)
292
321
 
293
322
  expect(result).toHaveLength(1)
294
323
  expect(result[0].uuid).toBe('tron-tronlink')
324
+ expect(result[0].injectedId).toBe('tronLink')
295
325
  })
296
326
  })
297
327
 
@@ -176,15 +176,10 @@ export async function getTronWallets(
176
176
  if (wallets.length > 0) {
177
177
  return wallets
178
178
  }
179
+ } else {
180
+ // Native discovery: check injected providers on the window object, only if bridge parent is not initialized
181
+ return discoverTronProviders(injectedIds)
179
182
  }
180
-
181
- // Native discovery: check injected providers on the window object
182
- // First immediate check
183
- const immediate = discoverTronProviders(injectedIds)
184
- if (immediate.length === injectedIds.length) {
185
- return immediate
186
- }
187
-
188
183
  return []
189
184
  } catch {
190
185
  // Return empty array if discovery fails