@meshconnect/uwc-injected-connector 0.8.2 → 0.8.3

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.
@@ -20,13 +20,13 @@ obj, path
20
20
  return path.split('.').reduce((acc, part) => acc?.[part], obj);
21
21
  }
22
22
  /**
23
- * Checks if a value looks like a TronWeb provider
23
+ * Checks if a value looks like a Tron provider (has request and tronWeb)
24
24
  */
25
25
  function isTronProvider(value) {
26
26
  if (!value || typeof value !== 'object')
27
27
  return false;
28
28
  const provider = value;
29
- return typeof provider['trx'] === 'object' && provider['trx'] !== null;
29
+ return provider['tronWeb'] != null && 'request' in provider;
30
30
  }
31
31
  /**
32
32
  * Generate a unique ID for a Tron wallet based on its injected path
@@ -42,7 +42,7 @@ function discoverTronProviders(injectedIds) {
42
42
  const seen = new Set();
43
43
  for (const injectedId of injectedIds) {
44
44
  const provider = getNestedProperty(window, injectedId);
45
- if (isTronProvider(provider.tronWeb) && !seen.has(injectedId)) {
45
+ if (isTronProvider(provider) && !seen.has(injectedId)) {
46
46
  seen.add(injectedId);
47
47
  // Derive a human-readable name from the path
48
48
  const name = injectedId.split('.')[0] || injectedId;
@@ -1 +1 @@
1
- {"version":3,"file":"tron-discovery.js","sourceRoot":"","sources":["../src/tron-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqDH;;GAEG;AACH,SAAS,iBAAiB;AACxB,8DAA8D;AAC9D,GAAwB,EACxB,IAAY;AACZ,8DAA8D;;IAE9D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;AAChE,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,QAAQ,GAAG,KAAgC,CAAA;IACjD,OAAO,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;AACxE,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,OAAO,QAAQ,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAC/D,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,WAAqB;IAClD,MAAM,OAAO,GAAyB,EAAE,CAAA;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAE9B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,iBAAiB,CAChC,MAA4C,EAC5C,UAAU,CACX,CAAA;QAED,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YAEpB,6CAA6C;YAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAA;YAEnD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,gBAAgB,CAAC,UAAU,CAAC;gBAClC,IAAI;gBACJ,UAAU;gBACV,QAAQ;aACT,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,wBAAwB;IACrC,MAAM,YAAY,GAAG,GAAG,CAAA;IACxB,MAAM,WAAW,GAAG,IAAI,CAAA;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;gBACzC,OAAO,CAAC,EAAE,CAAC,CAAA;gBACX,OAAM;YACR,CAAC;YAED,6DAA6D;YAC7D,uDAAuD;YACvD,IAAI,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5D,6DAA6D;gBAC7D,aAAa;gBACb,MAAM,aAAa,GAAG,MAAM,CAAC,WAAmC,CAAA;gBAChE,OAAO,CAAC,aAAa,CAAC,CAAA;gBACtB,OAAM;YACR,CAAC;YAED,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QAChC,CAAC,CAAA;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,kBAAoC,EAAE;IAEtC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,eAAe;aAChC,GAAG,CACF,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,CACtE;aACA,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAErC,uDAAuD;QACvD,6DAA6D;QAC7D,qEAAqE;QACrE,IAAI,MAAM,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAA;YAChD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,OAAO,CAAA;YAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4GAA4G;YAC5G,OAAO,qBAAqB,CAAC,WAAW,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;QACxC,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}
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.2",
3
+ "version": "0.8.3",
4
4
  "description": "Injected connector for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -174,10 +174,8 @@ describe('Tron Discovery', () => {
174
174
  expect(result).toEqual([])
175
175
  })
176
176
 
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 []
177
+ it('should return found wallets and skip missing provider paths', async () => {
178
+ // Only tronLink exists, tokenpocket is not injected
181
179
  const mockProvider = createMockTronProvider()
182
180
  mockWindow.tronLink = mockProvider
183
181
 
@@ -186,7 +184,9 @@ describe('Tron Discovery', () => {
186
184
 
187
185
  const result = await getTronWallets(wallets)
188
186
 
189
- expect(result).toEqual([])
187
+ // Returns what was found, skips missing paths
188
+ expect(result).toHaveLength(1)
189
+ expect(result[0].uuid).toBe('tron-tronlink')
190
190
  })
191
191
 
192
192
  it('should deduplicate wallets for same injectedId', async () => {
@@ -74,12 +74,12 @@ function getNestedProperty(
74
74
  }
75
75
 
76
76
  /**
77
- * Checks if a value looks like a TronWeb provider
77
+ * Checks if a value looks like a Tron provider (has request and tronWeb)
78
78
  */
79
79
  function isTronProvider(value: unknown): value is TronProvider {
80
80
  if (!value || typeof value !== 'object') return false
81
81
  const provider = value as Record<string, unknown>
82
- return typeof provider['trx'] === 'object' && provider['trx'] !== null
82
+ return provider['tronWeb'] != null && 'request' in provider
83
83
  }
84
84
 
85
85
  /**
@@ -102,7 +102,7 @@ function discoverTronProviders(injectedIds: string[]): DetectedTronWallet[] {
102
102
  injectedId
103
103
  )
104
104
 
105
- if (isTronProvider(provider.tronWeb) && !seen.has(injectedId)) {
105
+ if (isTronProvider(provider) && !seen.has(injectedId)) {
106
106
  seen.add(injectedId)
107
107
 
108
108
  // Derive a human-readable name from the path