@meshconnect/uwc-injected-connector 0.14.2 → 0.15.0-snapshot.03fa2e7

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,4 +1,5 @@
1
1
  import type { Network, ExtensionInjectedProvider, IntegratedBrowserInjectedProvider, Connector, ConnectorResult, SwitchNetworkResult, Namespace, DetectedEIP6963WalletInfo, DetectedSolanaWalletInfo, DetectedTronWalletInfo, DetectedTonWalletInfo, TransactionRequest, TransactionResult, NetworkRpcMap, EVMCapabilities, SignatureType, EIP712TypedData, WalletMetadata, TonConnectConfig } from '@meshconnect/uwc-types';
2
+ import { type TronConnectorConfig } from '@meshconnect/uwc-tron-connector';
2
3
  export declare class InjectedConnector implements Connector {
3
4
  private readonly storageService;
4
5
  private ethereumService;
@@ -10,7 +11,18 @@ export declare class InjectedConnector implements Connector {
10
11
  private transactionService;
11
12
  private networkRpcMap;
12
13
  private tonConnectManifestUrl;
13
- constructor(networkRpcMap?: NetworkRpcMap, expectedWallets?: WalletMetadata[], tonConnectConfig?: TonConnectConfig);
14
+ /**
15
+ * Mesh-owned Tron connector. When set (via `tronConnectorConfig`), the Tron
16
+ * namespace is routed through `@meshconnect/uwc-tron-connector` instead of the
17
+ * legacy `window.tronWeb` path; the `tronService` is not consulted for Tron.
18
+ */
19
+ private tronConnector;
20
+ /**
21
+ * Configured networks, used to resolve the Tron network for cross-namespace
22
+ * Tron auto-connect (see `enrichWithTron`).
23
+ */
24
+ private networks;
25
+ constructor(networkRpcMap?: NetworkRpcMap, expectedWallets?: WalletMetadata[], tonConnectConfig?: TonConnectConfig, tronConnectorConfig?: TronConnectorConfig, networks?: Network[]);
14
26
  /**
15
27
  * Get available wallets for a specific namespace
16
28
  */
@@ -19,6 +31,17 @@ export declare class InjectedConnector implements Connector {
19
31
  * Connect to a wallet
20
32
  */
21
33
  connect(network: Network, provider: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider): Promise<ConnectorResult>;
34
+ /** Establish a fresh connection for the target namespace. */
35
+ private connectToNamespace;
36
+ /**
37
+ * Cross-namespace Tron gather: when the Tron connector is configured and the
38
+ * wallet exposes a detected Tron provider, connect Tron and merge its address
39
+ * into `availableAddresses` — the Tron equivalent of the ETH/Solana/TON
40
+ * gathers in `ConnectionManager`. Best-effort: a missing Tron network, an
41
+ * undetected wallet, or a declined prompt leaves the rest of the connection
42
+ * intact (same as the other gathers, which swallow their failures).
43
+ */
44
+ private enrichWithTron;
22
45
  /**
23
46
  * Switch to a different network
24
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"injected-connector.d.ts","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAEjB,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAkB/B,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,qBAAqB,CAAqC;gBAGhE,aAAa,GAAE,aAAkB,EACjC,eAAe,GAAE,cAAc,EAAO,EACtC,gBAAgB,CAAC,EAAE,gBAAgB;IA8BrC;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,SAAS,EACpB,eAAe,GAAE,cAAc,EAAO,GACrC,OAAO,CACN,yBAAyB,EAAE,GAC3B,wBAAwB,EAAE,GAC1B,sBAAsB,EAAE,GACxB,qBAAqB,EAAE,CAC1B;IAwDD;;OAEG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAyC3B;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,aAAa,CAAC;IAiFzB;;;;;OAKG;IACG,aAAa,CACjB,SAAS,EAAE,eAAe,EAC1B,SAAS,CAAC,EAAE,yBAAyB,GAAG,iCAAiC,GACxE,OAAO,CAAC,MAAM,CAAC;IA8BlB;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,iBAAiB,CAAC;IA+D7B;;;;OAIG;IACG,qBAAqB,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAS3C;;;;;;OAMG;IACG,0BAA0B,CAC9B,YAAY,EAAE,UAAU,GACvB,OAAO,CAAC,UAAU,CAAC;CAgGvB"}
1
+ {"version":3,"file":"injected-connector.d.ts","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,eAAe,EAEf,mBAAmB,EACnB,SAAS,EACT,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAEjB,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAA;AAiBxC,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,qBAAqB,CAAqC;IAClE;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAsB;IAC3C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAW;gBAGzB,aAAa,GAAE,aAAkB,EACjC,eAAe,GAAE,cAAc,EAAO,EACtC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,mBAAmB,CAAC,EAAE,mBAAmB,EACzC,QAAQ,GAAE,OAAO,EAAO;IAkC1B;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,SAAS,EACpB,eAAe,GAAE,cAAc,EAAO,GACrC,OAAO,CACN,yBAAyB,EAAE,GAC3B,wBAAwB,EAAE,GAC1B,sBAAsB,EAAE,GACxB,qBAAqB,EAAE,CAC1B;IA8DD;;OAEG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,eAAe,CAAC;IAqC3B,6DAA6D;YAC/C,kBAAkB;IAgChC;;;;;;;OAOG;YACW,cAAc;IAgC5B;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,mBAAmB,CAAC;IAW/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,aAAa,CAAC;IAsFzB;;;;;OAKG;IACG,aAAa,CACjB,SAAS,EAAE,eAAe,EAC1B,SAAS,CAAC,EAAE,yBAAyB,GAAG,iCAAiC,GACxE,OAAO,CAAC,MAAM,CAAC;IA8BlB;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,yBAAyB,GAAG,iCAAiC,GACtE,OAAO,CAAC,iBAAiB,CAAC;IAkE7B;;;;OAIG;IACG,qBAAqB,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAS3C;;;;;;OAMG;IACG,0BAA0B,CAC9B,YAAY,EAAE,UAAU,GACvB,OAAO,CAAC,UAAU,CAAC;CAgGvB"}
@@ -1,4 +1,5 @@
1
1
  import { assertSameMessage } from '@meshconnect/uwc-types';
2
+ import { TronConnector } from '@meshconnect/uwc-tron-connector';
2
3
  import { Transaction, VersionedTransaction } from '@solana/web3.js';
3
4
  import { BridgeChild } from '@meshconnect/uwc-bridge-child';
4
5
  import { EthereumWalletService } from './services/ethereum/ethereum-wallet-service';
@@ -22,9 +23,24 @@ export class InjectedConnector {
22
23
  transactionService;
23
24
  networkRpcMap;
24
25
  tonConnectManifestUrl;
25
- constructor(networkRpcMap = {}, expectedWallets = [], tonConnectConfig) {
26
+ /**
27
+ * Mesh-owned Tron connector. When set (via `tronConnectorConfig`), the Tron
28
+ * namespace is routed through `@meshconnect/uwc-tron-connector` instead of the
29
+ * legacy `window.tronWeb` path; the `tronService` is not consulted for Tron.
30
+ */
31
+ tronConnector;
32
+ /**
33
+ * Configured networks, used to resolve the Tron network for cross-namespace
34
+ * Tron auto-connect (see `enrichWithTron`).
35
+ */
36
+ networks;
37
+ constructor(networkRpcMap = {}, expectedWallets = [], tonConnectConfig, tronConnectorConfig, networks = []) {
26
38
  this.networkRpcMap = networkRpcMap;
39
+ this.networks = networks;
27
40
  this.tonConnectManifestUrl = tonConnectConfig?.manifestUrl;
41
+ this.tronConnector = tronConnectorConfig
42
+ ? new TronConnector(tronConnectorConfig)
43
+ : null;
28
44
  this.storageService = new StorageService();
29
45
  this.ethereumService = new EthereumWalletService();
30
46
  this.solanaService = new SolanaWalletService(this.storageService);
@@ -68,6 +84,9 @@ export class InjectedConnector {
68
84
  }));
69
85
  }
70
86
  case 'tron': {
87
+ if (this.tronConnector) {
88
+ return (await this.tronConnector.getAvailableWallets('tron', expectedWallets));
89
+ }
71
90
  await this.tronService.initializeDiscovery(expectedWallets);
72
91
  return this.tronService.getDetectedWallets().map(wallet => ({
73
92
  uuid: wallet.uuid,
@@ -94,22 +113,46 @@ export class InjectedConnector {
94
113
  const targetNamespace = network.namespace;
95
114
  // Check if we're already connected
96
115
  const { address: existingAddress, availableAddresses } = await this.connectionManager.checkExistingConnections(targetNamespace, provider);
97
- // If already connected, just return the existing connection
116
+ let result;
98
117
  if (existingAddress) {
118
+ // Already connected — return the existing connection.
99
119
  this.connectionManager.setCurrentNetworkId(network.id);
100
- return {
120
+ result = {
101
121
  networkId: network.id,
102
122
  address: existingAddress,
103
123
  availableAddresses
104
124
  };
105
125
  }
106
- // Not connected, need to establish new connection
126
+ else {
127
+ // Not connected, need to establish a new connection.
128
+ result = await this.connectToNamespace(targetNamespace, network, provider);
129
+ }
130
+ // Cross-namespace Tron auto-connect. When the Tron connector owns the Tron
131
+ // namespace, the legacy connection-manager gather is dormant, so a
132
+ // multi-namespace wallet (Trust, OKX, …) connected on EVM/Solana would
133
+ // otherwise never expose its Tron address. Mirror the ETH/Solana/TON
134
+ // gathers and connect Tron too (skipped when Tron is the connect target —
135
+ // that path connects Tron directly above).
136
+ if (targetNamespace !== 'tron') {
137
+ await this.enrichWithTron(provider, result.availableAddresses);
138
+ }
139
+ return result;
140
+ }
141
+ /** Establish a fresh connection for the target namespace. */
142
+ async connectToNamespace(targetNamespace, network, provider) {
107
143
  switch (targetNamespace) {
108
144
  case 'eip155':
109
145
  return await this.connectionManager.connectEthereum(network, provider);
110
146
  case 'solana':
111
147
  return await this.connectionManager.connectSolana(network, provider);
112
148
  case 'tron':
149
+ if (this.tronConnector) {
150
+ // Pass the provider through — the Tron connector reads the wallet's
151
+ // `namespaceMetaData.tron.injectedId` from it (metadata-driven).
152
+ const result = await this.tronConnector.connect(network, provider);
153
+ this.connectionManager.setCurrentNetworkId(network.id);
154
+ return result;
155
+ }
113
156
  return await this.connectionManager.connectTron(network, provider);
114
157
  case 'tvm':
115
158
  return await this.connectionManager.connectTon(network, provider);
@@ -117,16 +160,66 @@ export class InjectedConnector {
117
160
  throw new Error(`Namespace '${network.namespace}' is not implemented yet. Only 'eip155', 'solana', 'tron', and 'tvm' are currently supported.`);
118
161
  }
119
162
  }
163
+ /**
164
+ * Cross-namespace Tron gather: when the Tron connector is configured and the
165
+ * wallet exposes a detected Tron provider, connect Tron and merge its address
166
+ * into `availableAddresses` — the Tron equivalent of the ETH/Solana/TON
167
+ * gathers in `ConnectionManager`. Best-effort: a missing Tron network, an
168
+ * undetected wallet, or a declined prompt leaves the rest of the connection
169
+ * intact (same as the other gathers, which swallow their failures).
170
+ */
171
+ async enrichWithTron(provider, availableAddresses) {
172
+ if (!this.tronConnector)
173
+ return;
174
+ // The wallet must declare a Tron injected provider in its metadata.
175
+ if (!provider.namespaceMetaData?.tron?.injectedId)
176
+ return;
177
+ // Already gathered (e.g. a re-entrant connect) — don't reprompt.
178
+ if (availableAddresses.some(a => a.networkId.startsWith('tron:')))
179
+ return;
180
+ const tronNetwork = this.networks.find(n => n.namespace === 'tron' && provider.supportedNetworkIds.includes(n.id));
181
+ if (!tronNetwork)
182
+ return;
183
+ try {
184
+ // Pass the provider — the Tron connector reads its tron.injectedId.
185
+ const result = await this.tronConnector.connect(tronNetwork, provider);
186
+ for (const addr of result.availableAddresses) {
187
+ const dup = availableAddresses.some(a => a.networkId === addr.networkId && a.address === addr.address);
188
+ if (!dup)
189
+ availableAddresses.push(addr);
190
+ }
191
+ }
192
+ catch {
193
+ // Tron unavailable or the user declined the prompt — continue without it,
194
+ // same as the Solana/Tron/TON gathers in ConnectionManager.
195
+ }
196
+ }
120
197
  /**
121
198
  * Switch to a different network
122
199
  */
123
200
  async switchNetwork(network, provider) {
201
+ if (this.tronConnector && network.namespace === 'tron') {
202
+ const result = await this.tronConnector.switchNetwork(network);
203
+ // Keep ConnectionManager's current network id in sync so subsequent
204
+ // signMessage/sendTransaction namespace routing isn't left stale.
205
+ this.connectionManager.setCurrentNetworkId(network.id);
206
+ return result;
207
+ }
124
208
  return await this.connectionManager.switchNetwork(network, provider);
125
209
  }
126
210
  /**
127
211
  * Disconnect from all wallets (only clears local state)
128
212
  */
129
213
  async disconnect() {
214
+ if (this.tronConnector) {
215
+ // Best-effort: don't fail the overall disconnect if the connector throws.
216
+ try {
217
+ await this.tronConnector.disconnect();
218
+ }
219
+ catch {
220
+ // ignore
221
+ }
222
+ }
130
223
  await this.connectionManager.disconnect();
131
224
  }
132
225
  /**
@@ -176,6 +269,11 @@ export class InjectedConnector {
176
269
  };
177
270
  }
178
271
  else if (namespace === 'tron') {
272
+ if (this.tronConnector) {
273
+ // TronConnector.signMessage already returns a SignatureType
274
+ // ({ type: 'standard', signature }) — return it as-is, no re-wrap.
275
+ return await this.tronConnector.signMessage(message);
276
+ }
179
277
  const tronProvider = this.tronService.getConnectedProvider();
180
278
  if (!tronProvider) {
181
279
  throw new Error('No connected Tron provider');
@@ -249,6 +347,9 @@ export class InjectedConnector {
249
347
  return await this.transactionService.sendTransaction(request, namespace, solanaAdapter, currentNetworkId);
250
348
  }
251
349
  else if (namespace === 'tron') {
350
+ if (this.tronConnector) {
351
+ return await this.tronConnector.sendTransaction(request);
352
+ }
252
353
  const tronProvider = this.tronService.getConnectedProvider();
253
354
  if (!tronProvider) {
254
355
  throw new Error('No connected Tron provider');
@@ -1 +1 @@
1
- {"version":3,"file":"injected-connector.js","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injected-connector.js","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"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"}
@@ -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;AA8C3D,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,40 @@ 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
+ /** True when running inside an iframe. Cross-origin access to `window.top`
7
+ * throws, which itself means we are framed. */
8
+ function isFramedEmbed() {
9
+ try {
10
+ return typeof window !== 'undefined' && window.top !== window.self;
11
+ }
12
+ catch {
13
+ return true;
14
+ }
15
+ }
16
+ /** The UWC bridge populates these `window` arrays with top-frame provider
17
+ * proxies. An absent/empty list means no bridged provider is available for that
18
+ * namespace, so a connect would fall to the iframe-local provider. */
19
+ function bridgedListEmpty(key) {
20
+ if (typeof window === 'undefined')
21
+ return true;
22
+ const list = window[key];
23
+ return !Array.isArray(list) || list.length === 0;
24
+ }
25
+ /**
26
+ * Whether to skip an EAGER cross-namespace `connect()` for a SECONDARY namespace
27
+ * (the ONC-3429 gather). Inside an iframe, an injected wallet's connect prompt is
28
+ * frame-position-gated (e.g. Trust Wallet → `dapp.frames-disallowed`). The
29
+ * non-gating path is the UWC bridge, which exposes top-frame providers via the
30
+ * `window.*Wallets` lists. So skip the eager connect only when we are framed AND
31
+ * the bridge has not populated that namespace's list — meaning the connect would
32
+ * hit the gating iframe-local provider. When the list is populated the connect
33
+ * routes to the top frame and is safe; in the top frame (extension) we never
34
+ * skip, preserving the eager gather. The TARGET namespace is connected via its
35
+ * own path in `connectToNamespace` and is unaffected.
36
+ */
37
+ function skipFramedSecondaryConnect(bridgeKey) {
38
+ return isFramedEmbed() && bridgedListEmpty(bridgeKey);
39
+ }
6
40
  export class ConnectionManager {
7
41
  ethereumService;
8
42
  solanaService;
@@ -139,7 +173,9 @@ export class ConnectionManager {
139
173
  const accounts = await this.ethereumService.checkExistingConnection(ethWallet.provider);
140
174
  const ethAddress = accounts && accounts.length > 0
141
175
  ? accounts[0]
142
- : await this.ethereumService.connect(ethWallet.provider);
176
+ : skipFramedSecondaryConnect('eip6963Wallets')
177
+ ? undefined
178
+ : await this.ethereumService.connect(ethWallet.provider);
143
179
  if (ethAddress) {
144
180
  ethAccount = ethAddress;
145
181
  this.ethereumService.setConnectionState(ethWallet.provider, ethAddress);
@@ -171,7 +207,9 @@ export class ConnectionManager {
171
207
  if (solanaWallet?.adapter) {
172
208
  try {
173
209
  const solanaAddress = (await this.solanaService.checkExistingConnection(solanaWallet.adapter, solanaWalletUuid)) ||
174
- (await this.solanaService.connect(solanaWallet.adapter, solanaWalletUuid));
210
+ (skipFramedSecondaryConnect('walletStandardWallets')
211
+ ? undefined
212
+ : await this.solanaService.connect(solanaWallet.adapter, solanaWalletUuid));
175
213
  if (solanaAddress) {
176
214
  solanaAccount = solanaAddress;
177
215
  this.solanaService.setConnectionState(solanaWallet.adapter, solanaAddress, solanaWalletUuid);
@@ -201,7 +239,10 @@ export class ConnectionManager {
201
239
  const tronWallet = this.tronService.findWalletByUuid(tronWalletUuid);
202
240
  if (tronWallet?.provider) {
203
241
  try {
204
- const address = (await this.tronService.checkExistingConnection(tronWallet.provider)) || (await this.tronService.connect(tronWallet.provider));
242
+ const address = (await this.tronService.checkExistingConnection(tronWallet.provider)) ||
243
+ (skipFramedSecondaryConnect('tronWallets')
244
+ ? undefined
245
+ : await this.tronService.connect(tronWallet.provider));
205
246
  if (address) {
206
247
  tronAccount = address;
207
248
  this.tronService.setConnectionState(tronWallet.provider, address);
@@ -231,7 +272,7 @@ export class ConnectionManager {
231
272
  }
232
273
  if (!tonAccount) {
233
274
  const jsBridgeKey = provider.namespaceMetaData?.tvm?.detectedWallet?.jsBridgeKey;
234
- if (jsBridgeKey) {
275
+ if (jsBridgeKey && !skipFramedSecondaryConnect('tonWallets')) {
235
276
  try {
236
277
  const result = await this.tonService.connect(jsBridgeKey);
237
278
  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":"AAQA,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;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD;+CAC+C;AAC/C,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,CAAA;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;sEAEsE;AACtE,SAAS,gBAAgB,CACvB,GAA8E;IAE9E,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAC9C,MAAM,IAAI,GAAI,MAA6C,CAAC,GAAG,CAAC,CAAA;IAChE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,0BAA0B,CACjC,SAIgB;IAEhB,OAAO,aAAa,EAAE,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,OAAO,iBAAiB;IAIlB;IACA;IACA;IACA;IANF,gBAAgB,GAAkB,IAAI,CAAA;IAE9C,YACU,eAAsC,EACtC,aAAkC,EAClC,WAA8B,EAC9B,UAA4B;QAH5B,oBAAe,GAAf,eAAe,CAAuB;QACtC,kBAAa,GAAb,aAAa,CAAqB;QAClC,gBAAW,GAAX,WAAW,CAAmB;QAC9B,eAAU,GAAV,UAAU,CAAkB;IACnC,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAC5B,eAAqD,EACrD,QAAuE;QAKvE,MAAM,kBAAkB,GAAuB,EAAE,CAAA;QACjD,IAAI,cAAc,GAAkB,IAAI,CAAA;QAExC,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;YACjC,4BAA4B;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAA;YACpD,IAAI,UAAU,EAAE,CAAC;gBACf,cAAc,GAAG,UAAU,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACN,mDAAmD;gBACnD,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAA;gBAC1D,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;oBAChE,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;wBACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CACjE,MAAM,CAAC,QAAQ,CAChB,CAAA;wBACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACpC,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;4BACpC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CACrC,MAAM,CAAC,QAAQ,EACf,cAAc,CACf,CAAA;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAC/D,QAAQ,CAAC,mBAAmB,EAC5B,cAAc,CACf,CAAA;gBACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;YAC1C,CAAC;YAED,MAAM,IAAI,CAAC,kCAAkC,CAC3C,QAAQ,EACR,QAAQ,EACR,kBAAkB,CACnB,CAAA;QACH,CAAC;aAAM,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,0BAA0B;YAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAA;YACrD,IAAI,aAAa,EAAE,CAAC;gBAClB,cAAc,GAAG,aAAa,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACN,mDAAmD;gBACnD,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAA;gBAC1D,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;oBAC9D,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAC9D,MAAM,CAAC,OAAO,EACd,UAAU,CACX,CAAA;wBACD,IAAI,OAAO,EAAE,CAAC;4BACZ,cAAc,GAAG,OAAO,CAAA;4BACxB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACnC,MAAM,CAAC,OAAO,EACd,OAAO,EACP,UAAU,CACX,CAAA;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,uBAAuB;YACvB,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAChE,QAAQ,CAAC,mBAAmB,EAC5B,cAAc,CACf,CAAA;gBACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAA;YAC7C,CAAC;YAED,MAAM,IAAI,CAAC,kCAAkC,CAC3C,QAAQ,EACR,QAAQ,EACR,kBAAkB,CACnB,CAAA;QACH,CAAC;aAAM,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;YACtC,wBAAwB;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAA;YACjD,IAAI,WAAW,EAAE,CAAC;gBAChB,cAAc,GAAG,WAAW,CAAA;YAC9B,CAAC;iBAAM,CAAC;gBACN,mDAAmD;gBACnD,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAA;gBACxD,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;oBAC5D,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;wBACrB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAC5D,MAAM,CAAC,QAAQ,CAChB,CAAA;wBACD,IAAI,OAAO,EAAE,CAAC;4BACZ,cAAc,GAAG,OAAO,CAAA;4BACxB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;wBAC/D,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qBAAqB;YACrB,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAC5D,QAAQ,CAAC,mBAAmB,EAC5B,cAAc,CACf,CAAA;gBACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;YAC3C,CAAC;YAED,MAAM,IAAI,CAAC,kCAAkC,CAC3C,MAAM,EACN,QAAQ,EACR,kBAAkB,CACnB,CAAA;QACH,CAAC;aAAM,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAA;YAC/C,IAAI,UAAU,EAAE,CAAC;gBACf,cAAc,GAAG,UAAU,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAA;gBACvE,IAAI,eAAe,EAAE,CAAC;oBACpB,cAAc,GAAG,eAAe,CAAA;oBAChC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;gBACrD,CAAC;YACH,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAC1D,QAAQ,CAAC,mBAAmB,EAC5B,cAAc,CACf,CAAA;gBACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;YAC1C,CAAC;YAED,MAAM,IAAI,CAAC,kCAAkC,CAC3C,KAAK,EACL,QAAQ,EACR,kBAAkB,CACnB,CAAA;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;IACxD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,4BAA4B,CACxC,QAAuE,EACvE,kBAAsC;QAEtC,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAA;QAElD,qDAAqD;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,aAAa,GACjB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAA;YAC1D,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;gBACtE,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC;oBACxB,IAAI,CAAC;wBACH,oEAAoE;wBACpE,uDAAuD;wBACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CACjE,SAAS,CAAC,QAAQ,CACnB,CAAA;wBACD,MAAM,UAAU,GACd,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;4BAC7B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;4BACb,CAAC,CAAC,0BAA0B,CAAC,gBAAgB,CAAC;gCAC5C,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;wBAC9D,IAAI,UAAU,EAAE,CAAC;4BACf,UAAU,GAAG,UAAU,CAAA;4BACvB,IAAI,CAAC,eAAe,CAAC,kBAAkB,CACrC,SAAS,CAAC,QAAQ,EAClB,UAAU,CACX,CAAA;wBACH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,4DAA4D;wBAC5D,6DAA6D;oBAC/D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAC/D,QAAQ,CAAC,mBAAmB,EAC5B,UAAU,CACX,CAAA;YACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,0BAA0B,CACtC,QAAuE,EACvE,kBAAsC;QAEtC,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAA;QAEnD,qDAAqD;QACrD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,gBAAgB,GACpB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAA;YAC1D,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,YAAY,GAChB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;gBACvD,IAAI,YAAY,EAAE,OAAO,EAAE,CAAC;oBAC1B,IAAI,CAAC;wBACH,MAAM,aAAa,GACjB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAC/C,YAAY,CAAC,OAAO,EACpB,gBAAgB,CACjB,CAAC;4BACF,CAAC,0BAA0B,CAAC,uBAAuB,CAAC;gCAClD,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAC9B,YAAY,CAAC,OAAO,EACpB,gBAAgB,CACjB,CAAC,CAAA;wBACR,IAAI,aAAa,EAAE,CAAC;4BAClB,aAAa,GAAG,aAAa,CAAA;4BAC7B,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACnC,YAAY,CAAC,OAAO,EACpB,aAAa,EACb,gBAAgB,CACjB,CAAA;wBACH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,uDAAuD;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAChE,QAAQ,CAAC,mBAAmB,EAC5B,aAAa,CACd,CAAA;YACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CACpC,QAAuE,EACvE,kBAAsC;QAEtC,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAA;QAE/C,qDAAqD;QACrD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,cAAc,GAClB,QAAQ,CAAC,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAA;YACxD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAA;gBACpE,IAAI,UAAU,EAAE,QAAQ,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,MAAM,OAAO,GACX,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAC7C,UAAU,CAAC,QAAQ,CACpB,CAAC;4BACF,CAAC,0BAA0B,CAAC,aAAa,CAAC;gCACxC,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;wBAC1D,IAAI,OAAO,EAAE,CAAC;4BACZ,WAAW,GAAG,OAAO,CAAA;4BACrB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;wBACnE,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,qDAAqD;oBACvD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAC5D,QAAQ,CAAC,mBAAmB,EAC5B,WAAW,CACZ,CAAA;YACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,uBAAuB,CACnC,QAAuE,EACvE,kBAAsC;QAEtC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAA;QAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAA;QAC9D,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,WAAW,GACf,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,CAAA;YAC9D,IAAI,WAAW,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;oBACzD,UAAU,GAAG,MAAM,CAAC,OAAO,CAAA;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,+DAA+D;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAC1D,QAAQ,CAAC,mBAAmB,EAC5B,UAAU,CACX,CAAA;YACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kCAAkC,CAC9C,kBAAwD,EACxD,QAAuE,EACvE,kBAAsC;QAEtC,IAAI,kBAAkB,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,4BAA4B,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,kBAAkB,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;QACrE,CAAC;QACD,IAAI,kBAAkB,KAAK,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;QACnE,CAAC;QACD,IAAI,kBAAkB,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,yBAAyB,CAC/B,QAAuE;QAEvE,MAAM,SAAS,GAAuB,EAAE,CAAA;QAExC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAA;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,SAAS,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAC7C,QAAQ,CAAC,mBAAmB,EAC5B,UAAU,CACX,CACF,CAAA;QACH,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAA;QACrD,IAAI,aAAa,EAAE,CAAC;YAClB,SAAS,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAC3C,QAAQ,CAAC,mBAAmB,EAC5B,aAAa,CACd,CACF,CAAA;QACH,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAA;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CACzC,QAAQ,CAAC,mBAAmB,EAC5B,WAAW,CACZ,CACF,CAAA;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAA;QAC/C,IAAI,UAAU,EAAE,CAAC;YACf,SAAS,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CACxC,QAAQ,CAAC,mBAAmB,EAC5B,UAAU,CACX,CACF,CAAA;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,OAAgB,EAChB,QAAuE;QAEvE,IAAI,CAAC;YACH,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAA;YAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,IAAI,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,0CAA0C,CAC5I,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAChE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAA;YACtE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACnE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,EAAE,CAAA;YAElC,MAAM,kBAAkB,GAAuB,EAAE,CAAA;YAEjD,6BAA6B;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAC/D,QAAQ,CAAC,mBAAmB,EAC5B,OAAO,CACR,CAAA;YACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;YAExC,MAAM,IAAI,CAAC,kCAAkC,CAC3C,QAAQ,EACR,QAAQ,EACR,kBAAkB,CACnB,CAAA;YAED,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,OAAO;gBACP,kBAAkB;aACnB,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,OAAgB,EAChB,QAAuE;QAEvE,IAAI,CAAC;YACH,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAA;YAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,0CAA0C,CACnG,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAC9D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAA;YACrE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAC9C,MAAM,CAAC,OAAO,EACd,UAAU,CACX,CAAA;YACD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,EAAE,CAAA;YAElC,MAAM,kBAAkB,GAAuB,EAAE,CAAA;YAEjD,2BAA2B;YAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAChE,QAAQ,CAAC,mBAAmB,EAC5B,OAAO,CACR,CAAA;YACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAA;YAE3C,MAAM,IAAI,CAAC,kCAAkC,CAC3C,QAAQ,EACR,QAAQ,EACR,kBAAkB,CACnB,CAAA;YAED,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,OAAO;gBACP,kBAAkB;aACnB,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,OAAgB,EAChB,QAAuE;QAEvE,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,QAAQ,CAAC,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAA;YACzE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,wCAAwC,CACvF,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAC5D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAA;YACtE,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC/D,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,EAAE,CAAA;YAElC,MAAM,kBAAkB,GAAuB,EAAE,CAAA;YAEjD,yBAAyB;YACzB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAC5D,QAAQ,CAAC,mBAAmB,EAC5B,OAAO,CACR,CAAA;YACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;YAEzC,MAAM,IAAI,CAAC,kCAAkC,CAC3C,MAAM,EACN,QAAQ,EACR,kBAAkB,CACnB,CAAA;YAED,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,OAAO;gBACP,kBAAkB;aACnB,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,OAAgB,EAChB,QAAuE;QAEvE,IAAI,CAAC;YACH,MAAM,WAAW,GACf,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,CAAA;YAC9D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;YAC1E,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YAChE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,EAAE,CAAA;YAElC,MAAM,kBAAkB,GAAuB,EAAE,CAAA;YAEjD,wBAAwB;YACxB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAC1D,QAAQ,CAAC,mBAAmB,EAC5B,aAAa,CAAC,OAAO,CACtB,CAAA;YACD,kBAAkB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;YAExC,MAAM,IAAI,CAAC,kCAAkC,CAC3C,KAAK,EACL,QAAQ,EACR,kBAAkB,CACnB,CAAA;YAED,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,GAAG,CAAC,aAAa,CAAC,SAAS;oBACzB,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE;oBACxC,CAAC,CAAC,EAAE,CAAC;gBACP,kBAAkB;aACnB,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,OAAgB,EAChB,QAAuE;QAEvE,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAA;YAEzC,8CAA8C;YAC9C,MAAM,mBAAmB,GACvB,IAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE,KAAK,IAAI,CAAA;YACtD,MAAM,iBAAiB,GACrB,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,KAAK,IAAI,CAAA;YACnD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,KAAK,IAAI,CAAA;YAExE,gEAAgE;YAChE,IAAI,eAAe,KAAK,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBACnE,OAAO;oBACL,SAAS,EAAE,aAAa,CAAC,SAAS;oBAClC,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;iBACrD,CAAA;YACH,CAAC;YAED,8DAA8D;YAC9D,IAAI,eAAe,KAAK,QAAQ,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBACjE,OAAO;oBACL,SAAS,EAAE,aAAa,CAAC,SAAS;oBAClC,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;iBACrD,CAAA;YACH,CAAC;YAED,0DAA0D;YAC1D,IAAI,eAAe,KAAK,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBAC/D,OAAO;oBACL,SAAS,EAAE,aAAa,CAAC,SAAS;oBAClC,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;iBACrD,CAAA;YACH,CAAC;YAED,wDAAwD;YACxD,IAAI,eAAe,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBAC9D,OAAO;oBACL,SAAS,EAAE,aAAa,CAAC,SAAS;oBAClC,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;iBACrD,CAAA;YACH,CAAC;YAED,2BAA2B;YAC3B,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,sBAAsB,GAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,sBAAsB,IAAI,IAAI,CAAA;gBACpE,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CACtC,OAAO,CAAC,EAAE,EACV,sBAAsB,CACvB,CAAA;YACH,CAAC;iBAAM,IACL,eAAe,KAAK,QAAQ;gBAC5B,eAAe,KAAK,MAAM;gBAC1B,eAAe,KAAK,KAAK,EACzB,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,+BAA+B,OAAO,CAAC,SAAS,wEAAwE,CACzH,CAAA;YACH,CAAC;YAED,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,EAAE,CAAA;YAClC,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE;gBACvC,kBAAkB,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC;aAC7D,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,SAAwB;QAC1C,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;IACnC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACrD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAA;YAC1C,CAAC;iBAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAA;YACxC,CAAC;iBAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAA;YACtC,CAAC;iBAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAA;YACrC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAA;QAC/B,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAA;QAC7B,iEAAiE;QACjE,8DAA8D;QAC9D,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAA;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;IAC9B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tron-transaction-builder.d.ts","sourceRoot":"","sources":["../../../src/services/tron/tron-transaction-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,wBAAwB,CAAA;AAG/B;;;GAGG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,yBAAyB,GAEjC,OAAO,CAAC,GAAG,CAAC;IAaf;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,wBAAwB,GAEhC,OAAO,CAAC,GAAG,CAAC;CA0BhB"}
1
+ {"version":3,"file":"tron-transaction-builder.d.ts","sourceRoot":"","sources":["../../../src/services/tron/tron-transaction-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,wBAAwB,CAAA;AAG/B;;;GAGG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,yBAAyB,GAEjC,OAAO,CAAC,GAAG,CAAC;IA2Bf;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,wBAAwB,GAEhC,OAAO,CAAC,GAAG,CAAC;CAyChB"}
@@ -11,7 +11,18 @@ export class TronTransactionBuilder {
11
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
12
  ) {
13
13
  try {
14
- const transaction = await tronWeb.transactionBuilder.sendTrx(request.to, request.amount, request.from);
14
+ // sendTrx takes a JS number, so the SUN amount must be a non-negative
15
+ // safe integer. The public type allows bigint; guard before narrowing so
16
+ // an out-of-range value fails loudly instead of silently losing precision
17
+ // (mirrors the new connector's assertValidAmount).
18
+ const { amount } = request;
19
+ const valid = typeof amount === 'bigint'
20
+ ? amount >= 0n && amount <= BigInt(Number.MAX_SAFE_INTEGER)
21
+ : Number.isSafeInteger(amount) && amount >= 0;
22
+ if (!valid) {
23
+ throw new Error(`TronTransactionBuilder: native amount must be a non-negative integer within the safe range, got ${amount}`);
24
+ }
25
+ const transaction = await tronWeb.transactionBuilder.sendTrx(request.to, Number(amount), request.from);
15
26
  return transaction;
16
27
  }
17
28
  catch (error) {
@@ -25,10 +36,22 @@ export class TronTransactionBuilder {
25
36
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
37
  ) {
27
38
  try {
39
+ // The uint256 amount must be a non-negative integer; a fractional or
40
+ // precision-lost number would stringify to a wrong/invalid value. (A
41
+ // bigint is exact at any magnitude, so only the sign is checked here.)
42
+ const { amount } = request;
43
+ const valid = typeof amount === 'bigint'
44
+ ? amount >= 0n
45
+ : Number.isSafeInteger(amount) && amount >= 0;
46
+ if (!valid) {
47
+ throw new Error(`TronTransactionBuilder: TRC20 amount must be a non-negative integer, got ${amount}`);
48
+ }
28
49
  const functionSelector = 'transfer(address,uint256)';
29
50
  const parameter = [
30
51
  { type: 'address', value: request.to },
31
- { type: 'uint256', value: request.amount }
52
+ // Pass uint256 as a string so a large bigint amount keeps full
53
+ // precision through tronWeb's ABI encoding.
54
+ { type: 'uint256', value: amount.toString() }
32
55
  ];
33
56
  const { transaction, result } = await tronWeb.transactionBuilder.triggerSmartContract(request.contractAddress, functionSelector, {}, parameter, request.from);
34
57
  if (!result?.result) {
@@ -1 +1 @@
1
- {"version":3,"file":"tron-transaction-builder.js","sourceRoot":"","sources":["../../../src/services/tron/tron-transaction-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD;;;GAGG;AACH,MAAM,OAAO,sBAAsB;IACjC;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAAgB,EAChB,OAAkC;IAClC,8DAA8D;;QAE9D,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAC1D,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,IAAI,CACb,CAAA;YACD,OAAO,WAAW,CAAA;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAgB,EAChB,OAAiC;IACjC,8DAA8D;;QAE9D,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,2BAA2B,CAAA;YACpD,MAAM,SAAS,GAAG;gBAChB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;gBACtC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;aAC3C,CAAA;YAED,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAC3B,MAAM,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CACnD,OAAO,CAAC,eAAe,EACvB,gBAAgB,EAChB,EAAE,EACF,SAAS,EACT,OAAO,CAAC,IAAI,CACb,CAAA;YAEH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;YAC/D,CAAC;YAED,OAAO,WAAW,CAAA;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"tron-transaction-builder.js","sourceRoot":"","sources":["../../../src/services/tron/tron-transaction-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD;;;GAGG;AACH,MAAM,OAAO,sBAAsB;IACjC;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAAgB,EAChB,OAAkC;IAClC,8DAA8D;;QAE9D,IAAI,CAAC;YACH,sEAAsE;YACtE,yEAAyE;YACzE,0EAA0E;YAC1E,mDAAmD;YACnD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;YAC1B,MAAM,KAAK,GACT,OAAO,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,CAAA;YACjD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,mGAAmG,MAAM,EAAE,CAC5G,CAAA;YACH,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAC1D,OAAO,CAAC,EAAE,EACV,MAAM,CAAC,MAAM,CAAC,EACd,OAAO,CAAC,IAAI,CACb,CAAA;YACD,OAAO,WAAW,CAAA;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAgB,EAChB,OAAiC;IACjC,8DAA8D;;QAE9D,IAAI,CAAC;YACH,qEAAqE;YACrE,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;YAC1B,MAAM,KAAK,GACT,OAAO,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC,MAAM,IAAI,EAAE;gBACd,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,CAAA;YACjD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,4EAA4E,MAAM,EAAE,CACrF,CAAA;YACH,CAAC;YACD,MAAM,gBAAgB,GAAG,2BAA2B,CAAA;YACpD,MAAM,SAAS,GAAG;gBAChB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;gBACtC,+DAA+D;gBAC/D,4CAA4C;gBAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE;aAC9C,CAAA;YAED,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAC3B,MAAM,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CACnD,OAAO,CAAC,eAAe,EACvB,gBAAgB,EAChB,EAAE,EACF,SAAS,EACT,OAAO,CAAC,IAAI,CACb,CAAA;YAEH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;YAC/D,CAAC;YAED,OAAO,WAAW,CAAA;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-injected-connector",
3
- "version": "0.14.2",
3
+ "version": "0.15.0-snapshot.03fa2e7",
4
4
  "description": "Injected connector for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,10 +27,11 @@
27
27
  "buffer": "^6.0.3",
28
28
  "uuid": "^13.0.0",
29
29
  "viem": "^2.44.4",
30
- "@meshconnect/uwc-bridge-child": "0.2.2",
31
- "@meshconnect/uwc-constants": "0.6.5",
32
- "@meshconnect/uwc-ton-connector": "0.6.4",
33
- "@meshconnect/uwc-types": "0.15.1"
30
+ "@meshconnect/uwc-constants": "0.6.6-snapshot.03fa2e7",
31
+ "@meshconnect/uwc-ton-connector": "0.6.5-snapshot.03fa2e7",
32
+ "@meshconnect/uwc-tron-connector": "0.2.0-snapshot.03fa2e7",
33
+ "@meshconnect/uwc-bridge-child": "0.2.2-snapshot.03fa2e7",
34
+ "@meshconnect/uwc-types": "0.16.0-snapshot.03fa2e7"
34
35
  },
35
36
  "devDependencies": {
36
37
  "typescript": "^5.9.3"
@@ -15,6 +15,9 @@ vi.mock('./services/tron/tron-wallet-service')
15
15
  vi.mock('./services/connection-manager')
16
16
  vi.mock('./services/signature-service')
17
17
  vi.mock('./services/transaction-service')
18
+ vi.mock('@meshconnect/uwc-tron-connector', () => ({
19
+ TronConnector: vi.fn()
20
+ }))
18
21
 
19
22
  describe('InjectedConnector', () => {
20
23
  let connector: InjectedConnector
@@ -235,6 +238,99 @@ describe('InjectedConnector', () => {
235
238
  expect(result.address).toBe('0xnewaddress')
236
239
  })
237
240
 
241
+ describe('cross-namespace Tron gather (tronConnectorConfig set)', () => {
242
+ const tronNetwork = {
243
+ id: 'tron:0x2b6653dc',
244
+ internalId: 2,
245
+ name: 'Tron',
246
+ namespace: 'tron',
247
+ networkType: 'tron',
248
+ nativeCurrency: { name: 'Tron', symbol: 'TRX', decimals: 6 }
249
+ } as Network
250
+
251
+ // A multi-namespace wallet (e.g. Trust): EVM target + a detected Tron provider.
252
+ const multiNsProvider = {
253
+ supportedNetworkIds: ['eip155:1', 'tron:0x2b6653dc'],
254
+ namespaceMetaData: {
255
+ eip155: { detectedWallet: { uuid: 'eth-uuid' } },
256
+ // Metadata-driven: the connector reads the tron injectedId from here.
257
+ tron: { injectedId: 'trustWallet.tronLink' }
258
+ }
259
+ } as unknown as ExtensionInjectedProvider
260
+
261
+ // Build an InjectedConnector wired with the Tron connector + networks, and
262
+ // return the stubbed TronConnector instance so the test can assert on it.
263
+ const buildWithTron = async (tronConnect: ReturnType<typeof vi.fn>) => {
264
+ const { TronConnector } =
265
+ await import('@meshconnect/uwc-tron-connector')
266
+ // Must be constructable (`new TronConnector(...)`), so use a function,
267
+ // not an arrow.
268
+ vi.mocked(TronConnector).mockImplementation(function () {
269
+ return { connect: tronConnect } as never
270
+ } as never)
271
+ const c = new InjectedConnector(
272
+ {},
273
+ [],
274
+ undefined,
275
+ { enabledWallets: ['trust'] } as never,
276
+ [mockNetwork, tronNetwork]
277
+ )
278
+ const { ConnectionManager } =
279
+ await import('./services/connection-manager')
280
+ const connManager = vi
281
+ .mocked(ConnectionManager)
282
+ .mock.results.at(-1)!.value
283
+ connManager.checkExistingConnections.mockResolvedValue({
284
+ address: null,
285
+ availableAddresses: []
286
+ })
287
+ connManager.connectEthereum.mockResolvedValue({
288
+ networkId: 'eip155:1',
289
+ address: '0xeth',
290
+ availableAddresses: [{ address: '0xeth', networkId: 'eip155:1' }]
291
+ })
292
+ return c
293
+ }
294
+
295
+ it('auto-connects Tron alongside an EVM target and merges the address', async () => {
296
+ const tronConnect = vi.fn().mockResolvedValue({
297
+ networkId: 'tron:0x2b6653dc',
298
+ address: 'TTronAddr',
299
+ availableAddresses: [
300
+ { address: 'TTronAddr', networkId: 'tron:0x2b6653dc' }
301
+ ]
302
+ })
303
+ const c = await buildWithTron(tronConnect)
304
+
305
+ const result = await c.connect(mockNetwork, multiNsProvider)
306
+
307
+ // Routed through the Tron connector with the wallet provider (the
308
+ // connector reads the tron injectedId from it).
309
+ expect(tronConnect).toHaveBeenCalledWith(tronNetwork, multiNsProvider)
310
+ // EVM address preserved AND the Tron address merged in.
311
+ expect(result.address).toBe('0xeth')
312
+ expect(result.availableAddresses).toContainEqual({
313
+ address: 'TTronAddr',
314
+ networkId: 'tron:0x2b6653dc'
315
+ })
316
+ })
317
+
318
+ it('swallows a declined/failed Tron connect and keeps the EVM connection', async () => {
319
+ const tronConnect = vi
320
+ .fn()
321
+ .mockRejectedValue(new Error('user declined'))
322
+ const c = await buildWithTron(tronConnect)
323
+
324
+ const result = await c.connect(mockNetwork, multiNsProvider)
325
+
326
+ expect(tronConnect).toHaveBeenCalled()
327
+ expect(result.address).toBe('0xeth')
328
+ expect(
329
+ result.availableAddresses.some(a => a.networkId.startsWith('tron:'))
330
+ ).toBe(false)
331
+ })
332
+ })
333
+
238
334
  it('should connect to Solana wallet for solana namespace', async () => {
239
335
  const { ConnectionManager } =
240
336
  await import('./services/connection-manager')
@@ -5,6 +5,7 @@ import type {
5
5
  IntegratedBrowserInjectedProvider,
6
6
  Connector,
7
7
  ConnectorResult,
8
+ AvailableAddress,
8
9
  SwitchNetworkResult,
9
10
  Namespace,
10
11
  DetectedEIP6963WalletInfo,
@@ -22,6 +23,10 @@ import type {
22
23
  TonConnectConfig
23
24
  } from '@meshconnect/uwc-types'
24
25
  import { assertSameMessage } from '@meshconnect/uwc-types'
26
+ import {
27
+ TronConnector,
28
+ type TronConnectorConfig
29
+ } from '@meshconnect/uwc-tron-connector'
25
30
  import { Transaction, VersionedTransaction } from '@solana/web3.js'
26
31
  import type { StandardWalletAdapter } from '@solana/wallet-standard-wallet-adapter-base'
27
32
  import { BridgeChild } from '@meshconnect/uwc-bridge-child'
@@ -49,14 +54,31 @@ export class InjectedConnector implements Connector {
49
54
  private transactionService: TransactionService
50
55
  private networkRpcMap: NetworkRpcMap
51
56
  private tonConnectManifestUrl: string | (() => string) | undefined
57
+ /**
58
+ * Mesh-owned Tron connector. When set (via `tronConnectorConfig`), the Tron
59
+ * namespace is routed through `@meshconnect/uwc-tron-connector` instead of the
60
+ * legacy `window.tronWeb` path; the `tronService` is not consulted for Tron.
61
+ */
62
+ private tronConnector: TronConnector | null
63
+ /**
64
+ * Configured networks, used to resolve the Tron network for cross-namespace
65
+ * Tron auto-connect (see `enrichWithTron`).
66
+ */
67
+ private networks: Network[]
52
68
 
53
69
  constructor(
54
70
  networkRpcMap: NetworkRpcMap = {},
55
71
  expectedWallets: WalletMetadata[] = [],
56
- tonConnectConfig?: TonConnectConfig
72
+ tonConnectConfig?: TonConnectConfig,
73
+ tronConnectorConfig?: TronConnectorConfig,
74
+ networks: Network[] = []
57
75
  ) {
58
76
  this.networkRpcMap = networkRpcMap
77
+ this.networks = networks
59
78
  this.tonConnectManifestUrl = tonConnectConfig?.manifestUrl
79
+ this.tronConnector = tronConnectorConfig
80
+ ? new TronConnector(tronConnectorConfig)
81
+ : null
60
82
 
61
83
  this.storageService = new StorageService()
62
84
  this.ethereumService = new EthereumWalletService()
@@ -126,6 +148,12 @@ export class InjectedConnector implements Connector {
126
148
  }
127
149
 
128
150
  case 'tron': {
151
+ if (this.tronConnector) {
152
+ return (await this.tronConnector.getAvailableWallets(
153
+ 'tron',
154
+ expectedWallets
155
+ )) as DetectedTronWalletInfo[]
156
+ }
129
157
  await this.tronService.initializeDiscovery(expectedWallets)
130
158
 
131
159
  return this.tronService.getDetectedWallets().map(wallet => ({
@@ -166,17 +194,39 @@ export class InjectedConnector implements Connector {
166
194
  provider
167
195
  )
168
196
 
169
- // If already connected, just return the existing connection
197
+ let result: ConnectorResult
170
198
  if (existingAddress) {
199
+ // Already connected — return the existing connection.
171
200
  this.connectionManager.setCurrentNetworkId(network.id)
172
- return {
201
+ result = {
173
202
  networkId: network.id,
174
203
  address: existingAddress,
175
204
  availableAddresses
176
205
  }
206
+ } else {
207
+ // Not connected, need to establish a new connection.
208
+ result = await this.connectToNamespace(targetNamespace, network, provider)
209
+ }
210
+
211
+ // Cross-namespace Tron auto-connect. When the Tron connector owns the Tron
212
+ // namespace, the legacy connection-manager gather is dormant, so a
213
+ // multi-namespace wallet (Trust, OKX, …) connected on EVM/Solana would
214
+ // otherwise never expose its Tron address. Mirror the ETH/Solana/TON
215
+ // gathers and connect Tron too (skipped when Tron is the connect target —
216
+ // that path connects Tron directly above).
217
+ if (targetNamespace !== 'tron') {
218
+ await this.enrichWithTron(provider, result.availableAddresses)
177
219
  }
178
220
 
179
- // Not connected, need to establish new connection
221
+ return result
222
+ }
223
+
224
+ /** Establish a fresh connection for the target namespace. */
225
+ private async connectToNamespace(
226
+ targetNamespace: Namespace,
227
+ network: Network,
228
+ provider: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider
229
+ ): Promise<ConnectorResult> {
180
230
  switch (targetNamespace) {
181
231
  case 'eip155':
182
232
  return await this.connectionManager.connectEthereum(network, provider)
@@ -185,6 +235,13 @@ export class InjectedConnector implements Connector {
185
235
  return await this.connectionManager.connectSolana(network, provider)
186
236
 
187
237
  case 'tron':
238
+ if (this.tronConnector) {
239
+ // Pass the provider through — the Tron connector reads the wallet's
240
+ // `namespaceMetaData.tron.injectedId` from it (metadata-driven).
241
+ const result = await this.tronConnector.connect(network, provider)
242
+ this.connectionManager.setCurrentNetworkId(network.id)
243
+ return result
244
+ }
188
245
  return await this.connectionManager.connectTron(network, provider)
189
246
 
190
247
  case 'tvm':
@@ -197,6 +254,46 @@ export class InjectedConnector implements Connector {
197
254
  }
198
255
  }
199
256
 
257
+ /**
258
+ * Cross-namespace Tron gather: when the Tron connector is configured and the
259
+ * wallet exposes a detected Tron provider, connect Tron and merge its address
260
+ * into `availableAddresses` — the Tron equivalent of the ETH/Solana/TON
261
+ * gathers in `ConnectionManager`. Best-effort: a missing Tron network, an
262
+ * undetected wallet, or a declined prompt leaves the rest of the connection
263
+ * intact (same as the other gathers, which swallow their failures).
264
+ */
265
+ private async enrichWithTron(
266
+ provider: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider,
267
+ availableAddresses: AvailableAddress[]
268
+ ): Promise<void> {
269
+ if (!this.tronConnector) return
270
+
271
+ // The wallet must declare a Tron injected provider in its metadata.
272
+ if (!provider.namespaceMetaData?.tron?.injectedId) return
273
+
274
+ // Already gathered (e.g. a re-entrant connect) — don't reprompt.
275
+ if (availableAddresses.some(a => a.networkId.startsWith('tron:'))) return
276
+
277
+ const tronNetwork = this.networks.find(
278
+ n => n.namespace === 'tron' && provider.supportedNetworkIds.includes(n.id)
279
+ )
280
+ if (!tronNetwork) return
281
+
282
+ try {
283
+ // Pass the provider — the Tron connector reads its tron.injectedId.
284
+ const result = await this.tronConnector.connect(tronNetwork, provider)
285
+ for (const addr of result.availableAddresses) {
286
+ const dup = availableAddresses.some(
287
+ a => a.networkId === addr.networkId && a.address === addr.address
288
+ )
289
+ if (!dup) availableAddresses.push(addr)
290
+ }
291
+ } catch {
292
+ // Tron unavailable or the user declined the prompt — continue without it,
293
+ // same as the Solana/Tron/TON gathers in ConnectionManager.
294
+ }
295
+ }
296
+
200
297
  /**
201
298
  * Switch to a different network
202
299
  */
@@ -204,6 +301,13 @@ export class InjectedConnector implements Connector {
204
301
  network: Network,
205
302
  provider: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider
206
303
  ): Promise<SwitchNetworkResult> {
304
+ if (this.tronConnector && network.namespace === 'tron') {
305
+ const result = await this.tronConnector.switchNetwork(network)
306
+ // Keep ConnectionManager's current network id in sync so subsequent
307
+ // signMessage/sendTransaction namespace routing isn't left stale.
308
+ this.connectionManager.setCurrentNetworkId(network.id)
309
+ return result
310
+ }
207
311
  return await this.connectionManager.switchNetwork(network, provider)
208
312
  }
209
313
 
@@ -211,6 +315,14 @@ export class InjectedConnector implements Connector {
211
315
  * Disconnect from all wallets (only clears local state)
212
316
  */
213
317
  async disconnect(): Promise<void> {
318
+ if (this.tronConnector) {
319
+ // Best-effort: don't fail the overall disconnect if the connector throws.
320
+ try {
321
+ await this.tronConnector.disconnect()
322
+ } catch {
323
+ // ignore
324
+ }
325
+ }
214
326
  await this.connectionManager.disconnect()
215
327
  }
216
328
 
@@ -281,6 +393,11 @@ export class InjectedConnector implements Connector {
281
393
  signature: signature
282
394
  }
283
395
  } else if (namespace === 'tron') {
396
+ if (this.tronConnector) {
397
+ // TronConnector.signMessage already returns a SignatureType
398
+ // ({ type: 'standard', signature }) — return it as-is, no re-wrap.
399
+ return await this.tronConnector.signMessage(message)
400
+ }
284
401
  const tronProvider = this.tronService.getConnectedProvider()
285
402
  if (!tronProvider) {
286
403
  throw new Error('No connected Tron provider')
@@ -390,6 +507,9 @@ export class InjectedConnector implements Connector {
390
507
  currentNetworkId as NetworkId
391
508
  )
392
509
  } else if (namespace === 'tron') {
510
+ if (this.tronConnector) {
511
+ return await this.tronConnector.sendTransaction(request)
512
+ }
393
513
  const tronProvider = this.tronService.getConnectedProvider()
394
514
  if (!tronProvider) {
395
515
  throw new Error('No connected Tron provider')
@@ -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,49 @@ 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
+ /** True when running inside an iframe. Cross-origin access to `window.top`
16
+ * throws, which itself means we are framed. */
17
+ function isFramedEmbed(): boolean {
18
+ try {
19
+ return typeof window !== 'undefined' && window.top !== window.self
20
+ } catch {
21
+ return true
22
+ }
23
+ }
24
+
25
+ /** The UWC bridge populates these `window` arrays with top-frame provider
26
+ * proxies. An absent/empty list means no bridged provider is available for that
27
+ * namespace, so a connect would fall to the iframe-local provider. */
28
+ function bridgedListEmpty(
29
+ key: 'eip6963Wallets' | 'walletStandardWallets' | 'tronWallets' | 'tonWallets'
30
+ ): boolean {
31
+ if (typeof window === 'undefined') return true
32
+ const list = (window as unknown as Record<string, unknown>)[key]
33
+ return !Array.isArray(list) || list.length === 0
34
+ }
35
+
36
+ /**
37
+ * Whether to skip an EAGER cross-namespace `connect()` for a SECONDARY namespace
38
+ * (the ONC-3429 gather). Inside an iframe, an injected wallet's connect prompt is
39
+ * frame-position-gated (e.g. Trust Wallet → `dapp.frames-disallowed`). The
40
+ * non-gating path is the UWC bridge, which exposes top-frame providers via the
41
+ * `window.*Wallets` lists. So skip the eager connect only when we are framed AND
42
+ * the bridge has not populated that namespace's list — meaning the connect would
43
+ * hit the gating iframe-local provider. When the list is populated the connect
44
+ * routes to the top frame and is safe; in the top frame (extension) we never
45
+ * skip, preserving the eager gather. The TARGET namespace is connected via its
46
+ * own path in `connectToNamespace` and is unaffected.
47
+ */
48
+ function skipFramedSecondaryConnect(
49
+ bridgeKey:
50
+ | 'eip6963Wallets'
51
+ | 'walletStandardWallets'
52
+ | 'tronWallets'
53
+ | 'tonWallets'
54
+ ): boolean {
55
+ return isFramedEmbed() && bridgedListEmpty(bridgeKey)
56
+ }
57
+
15
58
  export class ConnectionManager {
16
59
  private currentNetworkId: string | null = null
17
60
 
@@ -209,7 +252,9 @@ export class ConnectionManager {
209
252
  const ethAddress =
210
253
  accounts && accounts.length > 0
211
254
  ? accounts[0]
212
- : await this.ethereumService.connect(ethWallet.provider)
255
+ : skipFramedSecondaryConnect('eip6963Wallets')
256
+ ? undefined
257
+ : await this.ethereumService.connect(ethWallet.provider)
213
258
  if (ethAddress) {
214
259
  ethAccount = ethAddress
215
260
  this.ethereumService.setConnectionState(
@@ -258,10 +303,12 @@ export class ConnectionManager {
258
303
  solanaWallet.adapter,
259
304
  solanaWalletUuid
260
305
  )) ||
261
- (await this.solanaService.connect(
262
- solanaWallet.adapter,
263
- solanaWalletUuid
264
- ))
306
+ (skipFramedSecondaryConnect('walletStandardWallets')
307
+ ? undefined
308
+ : await this.solanaService.connect(
309
+ solanaWallet.adapter,
310
+ solanaWalletUuid
311
+ ))
265
312
  if (solanaAddress) {
266
313
  solanaAccount = solanaAddress
267
314
  this.solanaService.setConnectionState(
@@ -307,7 +354,10 @@ export class ConnectionManager {
307
354
  const address =
308
355
  (await this.tronService.checkExistingConnection(
309
356
  tronWallet.provider
310
- )) || (await this.tronService.connect(tronWallet.provider))
357
+ )) ||
358
+ (skipFramedSecondaryConnect('tronWallets')
359
+ ? undefined
360
+ : await this.tronService.connect(tronWallet.provider))
311
361
  if (address) {
312
362
  tronAccount = address
313
363
  this.tronService.setConnectionState(tronWallet.provider, address)
@@ -347,7 +397,7 @@ export class ConnectionManager {
347
397
  if (!tonAccount) {
348
398
  const jsBridgeKey =
349
399
  provider.namespaceMetaData?.tvm?.detectedWallet?.jsBridgeKey
350
- if (jsBridgeKey) {
400
+ if (jsBridgeKey && !skipFramedSecondaryConnect('tonWallets')) {
351
401
  try {
352
402
  const result = await this.tonService.connect(jsBridgeKey)
353
403
  tonAccount = result.address
@@ -67,6 +67,19 @@ describe('TronTransactionBuilder', () => {
67
67
  expect(result).toEqual(mockTransaction)
68
68
  })
69
69
 
70
+ it('rejects a bigint amount beyond the safe-integer range (no silent precision loss)', async () => {
71
+ const request: TronNativeTransferRequest = {
72
+ from: 'TFromAddress123',
73
+ to: 'TToAddress456',
74
+ amount: BigInt(Number.MAX_SAFE_INTEGER) + 2n
75
+ }
76
+
77
+ await expect(
78
+ builder.buildNativeTransfer(mockTronWeb, request)
79
+ ).rejects.toThrow()
80
+ expect(mockTronWeb.transactionBuilder.sendTrx).not.toHaveBeenCalled()
81
+ })
82
+
70
83
  it('should throw on transactionBuilder error', async () => {
71
84
  vi.mocked(mockTronWeb.transactionBuilder.sendTrx).mockRejectedValue(
72
85
  new Error('Insufficient balance')
@@ -111,13 +124,30 @@ describe('TronTransactionBuilder', () => {
111
124
  {},
112
125
  [
113
126
  { type: 'address', value: 'TToAddress456' },
114
- { type: 'uint256', value: 1000000 }
127
+ // uint256 is passed as a string to preserve precision for large amounts
128
+ { type: 'uint256', value: '1000000' }
115
129
  ],
116
130
  'TFromAddress123'
117
131
  )
118
132
  expect(result).toEqual(mockTransaction)
119
133
  })
120
134
 
135
+ it('rejects a fractional TRC20 amount before building (no wrong uint256)', async () => {
136
+ const request: TronTRC20TransferRequest = {
137
+ from: 'TFromAddress123',
138
+ to: 'TToAddress456',
139
+ amount: 1.5,
140
+ contractAddress: 'TContractAddress789'
141
+ }
142
+
143
+ await expect(
144
+ builder.buildTRC20Transfer(mockTronWeb, request)
145
+ ).rejects.toThrow()
146
+ expect(
147
+ mockTronWeb.transactionBuilder.triggerSmartContract
148
+ ).not.toHaveBeenCalled()
149
+ })
150
+
121
151
  it('should throw when triggerSmartContract result is false', async () => {
122
152
  vi.mocked(
123
153
  mockTronWeb.transactionBuilder.triggerSmartContract
@@ -19,9 +19,23 @@ export class TronTransactionBuilder {
19
19
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
20
  ): Promise<any> {
21
21
  try {
22
+ // sendTrx takes a JS number, so the SUN amount must be a non-negative
23
+ // safe integer. The public type allows bigint; guard before narrowing so
24
+ // an out-of-range value fails loudly instead of silently losing precision
25
+ // (mirrors the new connector's assertValidAmount).
26
+ const { amount } = request
27
+ const valid =
28
+ typeof amount === 'bigint'
29
+ ? amount >= 0n && amount <= BigInt(Number.MAX_SAFE_INTEGER)
30
+ : Number.isSafeInteger(amount) && amount >= 0
31
+ if (!valid) {
32
+ throw new Error(
33
+ `TronTransactionBuilder: native amount must be a non-negative integer within the safe range, got ${amount}`
34
+ )
35
+ }
22
36
  const transaction = await tronWeb.transactionBuilder.sendTrx(
23
37
  request.to,
24
- request.amount,
38
+ Number(amount),
25
39
  request.from
26
40
  )
27
41
  return transaction
@@ -39,10 +53,25 @@ export class TronTransactionBuilder {
39
53
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
54
  ): Promise<any> {
41
55
  try {
56
+ // The uint256 amount must be a non-negative integer; a fractional or
57
+ // precision-lost number would stringify to a wrong/invalid value. (A
58
+ // bigint is exact at any magnitude, so only the sign is checked here.)
59
+ const { amount } = request
60
+ const valid =
61
+ typeof amount === 'bigint'
62
+ ? amount >= 0n
63
+ : Number.isSafeInteger(amount) && amount >= 0
64
+ if (!valid) {
65
+ throw new Error(
66
+ `TronTransactionBuilder: TRC20 amount must be a non-negative integer, got ${amount}`
67
+ )
68
+ }
42
69
  const functionSelector = 'transfer(address,uint256)'
43
70
  const parameter = [
44
71
  { type: 'address', value: request.to },
45
- { type: 'uint256', value: request.amount }
72
+ // Pass uint256 as a string so a large bigint amount keeps full
73
+ // precision through tronWeb's ABI encoding.
74
+ { type: 'uint256', value: amount.toString() }
46
75
  ]
47
76
 
48
77
  const { transaction, result } =
@@ -180,7 +180,8 @@ describe('TronTransactionService', () => {
180
180
  {},
181
181
  [
182
182
  { type: 'address', value: 'TToAddr' },
183
- { type: 'uint256', value: 100000 }
183
+ // uint256 is passed as a string to preserve precision for large amounts
184
+ { type: 'uint256', value: '100000' }
184
185
  ],
185
186
  'TFromAddr'
186
187
  )