@meshconnect/uwc-injected-connector 0.15.0 → 0.15.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":"connection-manager.d.ts","sourceRoot":"","sources":["../../src/services/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,iCAAiC,EACjC,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG3D,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IANpB,OAAO,CAAC,gBAAgB,CAAsB;gBAGpC,eAAe,EAAE,qBAAqB,EACtC,aAAa,EAAE,mBAAmB,EAClC,WAAW,EAAE,iBAAiB,EAC9B,UAAU,EAAE,gBAAgB;IAGtC;;OAEG;IACG,wBAAwB,CAC5B,eAAe,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,EACrD,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;KACvC,CAAC;IAyJF;;OAEG;YACW,4BAA4B;IAgD1C;;OAEG;YACW,0BAA0B;IAiDxC;;OAEG;YACW,wBAAwB;IAuCtC;;;;OAIG;YACW,uBAAuB;IAgCrC;;;OAGG;YACW,kCAAkC;IAmBhD;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAgDjC;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IA2C3B;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IA8C3B;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAyC3B;;OAEG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAuC3B;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,mBAAmB,CAAC;IAgF/B;;OAEG;IACH,mBAAmB,IAAI,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAInD;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAgBlC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CASlC"}
1
+ {"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../src/services/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,iCAAiC,EACjC,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAiD3D,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IANpB,OAAO,CAAC,gBAAgB,CAAsB;gBAGpC,eAAe,EAAE,qBAAqB,EACtC,aAAa,EAAE,mBAAmB,EAClC,WAAW,EAAE,iBAAiB,EAC9B,UAAU,EAAE,gBAAgB;IAGtC;;OAEG;IACG,wBAAwB,CAC5B,eAAe,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,EACrD,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;KACvC,CAAC;IAyJF;;OAEG;YACW,4BAA4B;IAkD1C;;OAEG;YACW,0BAA0B;IAmDxC;;OAEG;YACW,wBAAwB;IA0CtC;;;;OAIG;YACW,uBAAuB;IAgCrC;;;OAGG;YACW,kCAAkC;IAmBhD;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAgDjC;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IA2C3B;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IA8C3B;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAyC3B;;OAEG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAuC3B;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,mBAAmB,CAAC;IAgF/B;;OAEG;IACH,mBAAmB,IAAI,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAInD;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAgBlC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CASlC"}
@@ -3,6 +3,43 @@ import { SolanaWalletService } from './solana/solana-wallet-service';
3
3
  import { TronWalletService } from './tron/tron-wallet-service';
4
4
  import { TonWalletService } from './ton/ton-wallet-service';
5
5
  import { parseError } from '../utils/error-utils';
6
+ /**
7
+ * True when running inside an iframe (`window.top !== window.self`). The
8
+ * try/catch is a safety net for sandboxed/restricted frames where evaluating
9
+ * that can throw — any such error is treated as "framed".
10
+ */
11
+ function isFramedEmbed() {
12
+ try {
13
+ return typeof window !== 'undefined' && window.top !== window.self;
14
+ }
15
+ catch {
16
+ return true;
17
+ }
18
+ }
19
+ /** The UWC bridge populates these `window` arrays with top-frame provider
20
+ * proxies. An absent/empty list means no bridged provider is available for that
21
+ * namespace, so a connect would fall to the iframe-local provider. */
22
+ function bridgedListEmpty(key) {
23
+ if (typeof window === 'undefined')
24
+ return true;
25
+ const list = window[key];
26
+ return !Array.isArray(list) || list.length === 0;
27
+ }
28
+ /**
29
+ * Whether to skip an EAGER cross-namespace `connect()` for a SECONDARY namespace
30
+ * (the ONC-3429 gather). Inside an iframe, an injected wallet's connect prompt is
31
+ * frame-position-gated (e.g. Trust Wallet → `dapp.frames-disallowed`). The
32
+ * non-gating path is the UWC bridge, which exposes top-frame providers via the
33
+ * `window.*Wallets` lists. So skip the eager connect only when we are framed AND
34
+ * the bridge has not populated that namespace's list — meaning the connect would
35
+ * hit the gating iframe-local provider. When the list is populated the connect
36
+ * routes to the top frame and is safe; in the top frame (extension) we never
37
+ * skip, preserving the eager gather. The TARGET namespace is connected via its
38
+ * own path in `connectToNamespace` and is unaffected.
39
+ */
40
+ function skipFramedSecondaryConnect(bridgeKey) {
41
+ return isFramedEmbed() && bridgedListEmpty(bridgeKey);
42
+ }
6
43
  export class ConnectionManager {
7
44
  ethereumService;
8
45
  solanaService;
@@ -139,7 +176,9 @@ export class ConnectionManager {
139
176
  const accounts = await this.ethereumService.checkExistingConnection(ethWallet.provider);
140
177
  const ethAddress = accounts && accounts.length > 0
141
178
  ? accounts[0]
142
- : await this.ethereumService.connect(ethWallet.provider);
179
+ : skipFramedSecondaryConnect('eip6963Wallets')
180
+ ? undefined
181
+ : await this.ethereumService.connect(ethWallet.provider);
143
182
  if (ethAddress) {
144
183
  ethAccount = ethAddress;
145
184
  this.ethereumService.setConnectionState(ethWallet.provider, ethAddress);
@@ -171,7 +210,9 @@ export class ConnectionManager {
171
210
  if (solanaWallet?.adapter) {
172
211
  try {
173
212
  const solanaAddress = (await this.solanaService.checkExistingConnection(solanaWallet.adapter, solanaWalletUuid)) ||
174
- (await this.solanaService.connect(solanaWallet.adapter, solanaWalletUuid));
213
+ (skipFramedSecondaryConnect('walletStandardWallets')
214
+ ? undefined
215
+ : await this.solanaService.connect(solanaWallet.adapter, solanaWalletUuid));
175
216
  if (solanaAddress) {
176
217
  solanaAccount = solanaAddress;
177
218
  this.solanaService.setConnectionState(solanaWallet.adapter, solanaAddress, solanaWalletUuid);
@@ -201,7 +242,10 @@ export class ConnectionManager {
201
242
  const tronWallet = this.tronService.findWalletByUuid(tronWalletUuid);
202
243
  if (tronWallet?.provider) {
203
244
  try {
204
- const address = (await this.tronService.checkExistingConnection(tronWallet.provider)) || (await this.tronService.connect(tronWallet.provider));
245
+ const address = (await this.tronService.checkExistingConnection(tronWallet.provider)) ||
246
+ (skipFramedSecondaryConnect('tronWallets')
247
+ ? undefined
248
+ : await this.tronService.connect(tronWallet.provider));
205
249
  if (address) {
206
250
  tronAccount = address;
207
251
  this.tronService.setConnectionState(tronWallet.provider, address);
@@ -231,7 +275,7 @@ export class ConnectionManager {
231
275
  }
232
276
  if (!tonAccount) {
233
277
  const jsBridgeKey = provider.namespaceMetaData?.tvm?.detectedWallet?.jsBridgeKey;
234
- if (jsBridgeKey) {
278
+ if (jsBridgeKey && !skipFramedSecondaryConnect('tonWallets')) {
235
279
  try {
236
280
  const result = await this.tonService.connect(jsBridgeKey);
237
281
  tonAccount = result.address;
@@ -1 +1 @@
1
- {"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../src/services/connection-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../src/services/connection-manager.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.15.0",
3
+ "version": "0.15.1",
4
4
  "description": "Injected connector for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -28,10 +28,10 @@
28
28
  "uuid": "^13.0.0",
29
29
  "viem": "^2.44.4",
30
30
  "@meshconnect/uwc-bridge-child": "0.2.2",
31
- "@meshconnect/uwc-constants": "0.6.6",
32
- "@meshconnect/uwc-ton-connector": "0.6.5",
33
- "@meshconnect/uwc-tron-connector": "0.2.0",
34
- "@meshconnect/uwc-types": "0.16.0"
31
+ "@meshconnect/uwc-constants": "0.6.7",
32
+ "@meshconnect/uwc-ton-connector": "0.6.6",
33
+ "@meshconnect/uwc-tron-connector": "0.3.0",
34
+ "@meshconnect/uwc-types": "0.16.1"
35
35
  },
36
36
  "devDependencies": {
37
37
  "typescript": "^5.9.3"
@@ -1,4 +1,4 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest'
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'
2
2
  import type { ExtensionInjectedProvider, Network } from '@meshconnect/uwc-types'
3
3
  import { ConnectionManager } from './connection-manager'
4
4
 
@@ -478,3 +478,100 @@ describe('ConnectionManager — cross-namespace error resilience (ONC-2696)', ()
478
478
  expect(namespaces).not.toContain('eip155')
479
479
  })
480
480
  })
481
+
482
+ // ONC-3383: inside an iframe, an injected wallet's connect prompt is
483
+ // frame-position-gated (Trust Wallet → dapp.frames-disallowed). The eager
484
+ // cross-namespace gather must not fire a SECONDARY-namespace connect on the
485
+ // gating iframe-local provider — it may only do so when that namespace's bridge
486
+ // list is populated (the connect then routes to the top frame).
487
+ describe('ConnectionManager — iframe-safe cross-namespace gather (ONC-3383)', () => {
488
+ let ethService: ReturnType<typeof makeEthService>
489
+ let solanaService: ReturnType<typeof makeSolanaService>
490
+ let tronService: ReturnType<typeof makeTronService>
491
+ let tonService: ReturnType<typeof makeTonService>
492
+ let manager: ConnectionManager
493
+
494
+ beforeEach(() => {
495
+ ethService = makeEthService()
496
+ solanaService = makeSolanaService()
497
+ tronService = makeTronService()
498
+ tonService = makeTonService()
499
+ manager = new ConnectionManager(
500
+ ethService as any,
501
+ solanaService as any,
502
+ tronService as any,
503
+ tonService as any
504
+ )
505
+ // Simulate running inside an iframe: window.top !== window.self
506
+ Object.defineProperty(window, 'top', { value: {}, configurable: true })
507
+ })
508
+
509
+ afterEach(() => {
510
+ Object.defineProperty(window, 'top', { value: window, configurable: true })
511
+ const w = window as unknown as Record<string, unknown>
512
+ delete w['eip6963Wallets']
513
+ delete w['walletStandardWallets']
514
+ delete w['tronWallets']
515
+ delete w['tonWallets']
516
+ })
517
+
518
+ it('skips the eager EVM connect when framed and the bridge list is empty (avoids frames-disallowed prompt)', async () => {
519
+ solanaService.findWalletByUuid.mockReturnValue({ adapter: {} })
520
+ solanaService.connect.mockResolvedValue('SolAddr1')
521
+
522
+ // EVM detected but not already permitted; the bridge has NOT populated
523
+ // window.eip6963Wallets → resolving EVM would hit the gating local provider.
524
+ ethService.findWalletByUuid.mockReturnValue({ provider: {} })
525
+ ethService.checkExistingConnection.mockResolvedValue(null)
526
+ ethService.connect.mockResolvedValue('0xABC')
527
+
528
+ const provider = makeProvider({
529
+ eip155: { detectedWallet: { uuid: 'mm-eip155' } },
530
+ solana: { detectedWallet: { uuid: 'mm-solana' } }
531
+ })
532
+
533
+ const result = await manager.connectSolana(
534
+ makeNetwork('solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', 'solana'),
535
+ provider
536
+ )
537
+
538
+ expect(result.address).toBe('SolAddr1')
539
+ // The eager EVM connect (eth_requestAccounts) must NOT fire in the iframe.
540
+ expect(ethService.connect).not.toHaveBeenCalled()
541
+ const namespaces = result.availableAddresses.map(
542
+ a => a.networkId.split(':')[0]
543
+ )
544
+ expect(namespaces).toContain('solana')
545
+ expect(namespaces).not.toContain('eip155')
546
+ })
547
+
548
+ it('still performs the eager EVM connect when framed but the bridge list is populated (routes via the top frame)', async () => {
549
+ solanaService.findWalletByUuid.mockReturnValue({ adapter: {} })
550
+ solanaService.connect.mockResolvedValue('SolAddr1')
551
+
552
+ ethService.findWalletByUuid.mockReturnValue({ provider: {} })
553
+ ethService.checkExistingConnection.mockResolvedValue(null)
554
+ ethService.connect.mockResolvedValue('0xABC')
555
+
556
+ // Bridge populated the EVM list → the connect routes to the top frame (safe).
557
+ ;(window as unknown as Record<string, unknown>)['eip6963Wallets'] = [
558
+ { uuid: 'trust', provider: {} }
559
+ ]
560
+
561
+ const provider = makeProvider({
562
+ eip155: { detectedWallet: { uuid: 'mm-eip155' } },
563
+ solana: { detectedWallet: { uuid: 'mm-solana' } }
564
+ })
565
+
566
+ const result = await manager.connectSolana(
567
+ makeNetwork('solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', 'solana'),
568
+ provider
569
+ )
570
+
571
+ expect(ethService.connect).toHaveBeenCalled()
572
+ const namespaces = result.availableAddresses.map(
573
+ a => a.networkId.split(':')[0]
574
+ )
575
+ expect(namespaces).toContain('eip155')
576
+ })
577
+ })
@@ -12,6 +12,52 @@ import { TronWalletService } from './tron/tron-wallet-service'
12
12
  import { TonWalletService } from './ton/ton-wallet-service'
13
13
  import { parseError } from '../utils/error-utils'
14
14
 
15
+ /**
16
+ * True when running inside an iframe (`window.top !== window.self`). The
17
+ * try/catch is a safety net for sandboxed/restricted frames where evaluating
18
+ * that can throw — any such error is treated as "framed".
19
+ */
20
+ function isFramedEmbed(): boolean {
21
+ try {
22
+ return typeof window !== 'undefined' && window.top !== window.self
23
+ } catch {
24
+ return true
25
+ }
26
+ }
27
+
28
+ /** The UWC bridge populates these `window` arrays with top-frame provider
29
+ * proxies. An absent/empty list means no bridged provider is available for that
30
+ * namespace, so a connect would fall to the iframe-local provider. */
31
+ function bridgedListEmpty(
32
+ key: 'eip6963Wallets' | 'walletStandardWallets' | 'tronWallets' | 'tonWallets'
33
+ ): boolean {
34
+ if (typeof window === 'undefined') return true
35
+ const list = (window as unknown as Record<string, unknown>)[key]
36
+ return !Array.isArray(list) || list.length === 0
37
+ }
38
+
39
+ /**
40
+ * Whether to skip an EAGER cross-namespace `connect()` for a SECONDARY namespace
41
+ * (the ONC-3429 gather). Inside an iframe, an injected wallet's connect prompt is
42
+ * frame-position-gated (e.g. Trust Wallet → `dapp.frames-disallowed`). The
43
+ * non-gating path is the UWC bridge, which exposes top-frame providers via the
44
+ * `window.*Wallets` lists. So skip the eager connect only when we are framed AND
45
+ * the bridge has not populated that namespace's list — meaning the connect would
46
+ * hit the gating iframe-local provider. When the list is populated the connect
47
+ * routes to the top frame and is safe; in the top frame (extension) we never
48
+ * skip, preserving the eager gather. The TARGET namespace is connected via its
49
+ * own path in `connectToNamespace` and is unaffected.
50
+ */
51
+ function skipFramedSecondaryConnect(
52
+ bridgeKey:
53
+ | 'eip6963Wallets'
54
+ | 'walletStandardWallets'
55
+ | 'tronWallets'
56
+ | 'tonWallets'
57
+ ): boolean {
58
+ return isFramedEmbed() && bridgedListEmpty(bridgeKey)
59
+ }
60
+
15
61
  export class ConnectionManager {
16
62
  private currentNetworkId: string | null = null
17
63
 
@@ -209,7 +255,9 @@ export class ConnectionManager {
209
255
  const ethAddress =
210
256
  accounts && accounts.length > 0
211
257
  ? accounts[0]
212
- : await this.ethereumService.connect(ethWallet.provider)
258
+ : skipFramedSecondaryConnect('eip6963Wallets')
259
+ ? undefined
260
+ : await this.ethereumService.connect(ethWallet.provider)
213
261
  if (ethAddress) {
214
262
  ethAccount = ethAddress
215
263
  this.ethereumService.setConnectionState(
@@ -258,10 +306,12 @@ export class ConnectionManager {
258
306
  solanaWallet.adapter,
259
307
  solanaWalletUuid
260
308
  )) ||
261
- (await this.solanaService.connect(
262
- solanaWallet.adapter,
263
- solanaWalletUuid
264
- ))
309
+ (skipFramedSecondaryConnect('walletStandardWallets')
310
+ ? undefined
311
+ : await this.solanaService.connect(
312
+ solanaWallet.adapter,
313
+ solanaWalletUuid
314
+ ))
265
315
  if (solanaAddress) {
266
316
  solanaAccount = solanaAddress
267
317
  this.solanaService.setConnectionState(
@@ -307,7 +357,10 @@ export class ConnectionManager {
307
357
  const address =
308
358
  (await this.tronService.checkExistingConnection(
309
359
  tronWallet.provider
310
- )) || (await this.tronService.connect(tronWallet.provider))
360
+ )) ||
361
+ (skipFramedSecondaryConnect('tronWallets')
362
+ ? undefined
363
+ : await this.tronService.connect(tronWallet.provider))
311
364
  if (address) {
312
365
  tronAccount = address
313
366
  this.tronService.setConnectionState(tronWallet.provider, address)
@@ -347,7 +400,7 @@ export class ConnectionManager {
347
400
  if (!tonAccount) {
348
401
  const jsBridgeKey =
349
402
  provider.namespaceMetaData?.tvm?.detectedWallet?.jsBridgeKey
350
- if (jsBridgeKey) {
403
+ if (jsBridgeKey && !skipFramedSecondaryConnect('tonWallets')) {
351
404
  try {
352
405
  const result = await this.tonService.connect(jsBridgeKey)
353
406
  tonAccount = result.address