@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,
|
|
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"}
|
package/dist/tron-discovery.js
CHANGED
|
@@ -103,11 +103,9 @@ export async function getTronWallets(expectedWallets = []) {
|
|
|
103
103
|
return wallets;
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
205
|
-
expect(result).
|
|
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
|
|
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
|
|
288
|
-
//
|
|
289
|
-
|
|
290
|
-
|
|
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
|
|
package/src/tron-discovery.ts
CHANGED
|
@@ -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
|