@meshconnect/uwc-tron-connector 0.2.0-snapshot.e5598e8 → 0.2.0

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.
@@ -15,10 +15,9 @@ type TronConnectProvider = {
15
15
  /**
16
16
  * Mesh-owned Tron wallet connector. Zero third-party Tron runtime deps.
17
17
  *
18
- * One instance fronts every Tron wallet the passed-in metadata declares
19
- * (via `namespaceMetaData.tron.injectedId`), selected per-connect by the wallet
20
- * id. By default all such wallets are enabled (catalog-driven); the optional
21
- * `config.enabledWallets` allow-list narrows that set when present.
18
+ * One instance fronts all 5 supported wallets TronLink, Bitget, OKX,
19
+ * TokenPocket, Trust — selected per-connect by the wallet id. Per-wallet
20
+ * enablement is controlled by `config.enabledWallets`.
22
21
  *
23
22
  * Transactions are built and broadcast against the Tron full-node HTTP API
24
23
  * (`/wallet/*`); signing goes through the wallet's own injected
@@ -28,9 +27,7 @@ type TronConnectProvider = {
28
27
  export declare class TronConnector implements Connector {
29
28
  private readonly config;
30
29
  /** Enabled keys exactly as configured (original case); matched against a
31
- * wallet's id or injectedId case-insensitively. `undefined` when
32
- * `enabledWallets` is omitted — meaning no gate (catalog-driven: every
33
- * metadata-declared Tron wallet is enabled). */
30
+ * wallet's id or injectedId case-insensitively. */
34
31
  private readonly enabledKeys;
35
32
  private readonly clientByNetwork;
36
33
  private readonly state;
@@ -39,12 +36,7 @@ export declare class TronConnector implements Connector {
39
36
  /** Listeners attached to the active provider, kept so we can detach on cleanup. */
40
37
  private boundListeners;
41
38
  constructor(config: TronConnectorConfig);
42
- /**
43
- * A wallet is enabled if a configured key equals its id or injectedId. With no
44
- * configured `enabledWallets`, there is no gate: every wallet the metadata
45
- * marks Tron-capable is enabled (catalog-driven). An explicit empty list
46
- * enables nothing.
47
- */
39
+ /** A wallet is enabled if a configured key equals its id or injectedId. */
48
40
  private isEnabled;
49
41
  /** Subscribe to connection-state transitions (decision D3). */
50
42
  subscribe(listener: TronStateListener): () => void;
@@ -60,8 +52,7 @@ export declare class TronConnector implements Connector {
60
52
  * and is enabled. The reported `id` is the consumer's `WalletMetadata.id` (so
61
53
  * core matches discovery results back by id), `injectedId` is the metadata
62
54
  * value (the window path). With no `expectedWallets`, falls back to the
63
- * configured `enabledKeys` treated as injectedIds (none when `enabledWallets`
64
- * is omitted — there is then nothing to probe without metadata).
55
+ * configured `enabledKeys` treated as injectedIds.
65
56
  */
66
57
  private tronCandidates;
67
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tron-connector.d.ts","sourceRoot":"","sources":["../src/tron-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EACT,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,OAAO,EAEP,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAGlB,qBAAqB,EACrB,cAAc,EACf,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAA;AAiB/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AA6BlD;;;;;GAKG;AACH,KAAK,mBAAmB,GACpB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACrB,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACrB,wBAAwB,CAAA;AAE5B;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C;;;oDAGgD;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAE/C,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,eAAe,CAAyB;IAChD,mFAAmF;IACnF,OAAO,CAAC,cAAc,CAGf;gBAEK,MAAM,EAAE,mBAAmB;IAOvC;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IASjB,+DAA+D;IAC/D,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAIlD;;;;OAIG;IACG,mBAAmB,CACvB,SAAS,EAAE,SAAS,EACpB,eAAe,CAAC,EAAE,cAAc,EAAE,GACjC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAuCpC;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IA4BtB;;;;;;;OAOG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,mBAAmB,GACnC,OAAO,CAAC,eAAe,CAAC;IAsE3B;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmB7D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBpD,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAsEnE;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAmEnC,gFAAgF;IAChF,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,aAAa;IAUrB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IAuBzB,6EAA6E;YAC/D,oBAAoB;IAclC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,aAAa;CAUtB"}
1
+ {"version":3,"file":"tron-connector.d.ts","sourceRoot":"","sources":["../src/tron-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EACT,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,OAAO,EAEP,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAGlB,qBAAqB,EACrB,cAAc,EACf,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAA;AAgB/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAqBlD;;;;;GAKG;AACH,KAAK,mBAAmB,GACpB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACrB,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACrB,wBAAwB,CAAA;AAE5B;;;;;;;;;;;GAWG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C;uDACmD;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAE/C,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,eAAe,CAAyB;IAChD,mFAAmF;IACnF,OAAO,CAAC,cAAc,CAGf;gBAEK,MAAM,EAAE,mBAAmB;IAKvC,2EAA2E;IAC3E,OAAO,CAAC,SAAS;IAQjB,+DAA+D;IAC/D,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAIlD;;;;OAIG;IACG,mBAAmB,CACvB,SAAS,EAAE,SAAS,EACpB,eAAe,CAAC,EAAE,cAAc,EAAE,GACjC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAoCpC;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IA4BtB;;;;;;;OAOG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,mBAAmB,GACnC,OAAO,CAAC,eAAe,CAAC;IA6D3B;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmB7D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAoBpD,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAsEnE;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAmEnC,gFAAgF;IAChF,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,aAAa;IAUrB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IAuBzB,6EAA6E;YAC/D,oBAAoB;IAclC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,aAAa;CAUtB"}
@@ -4,7 +4,7 @@ import { TronStateMachine } from './events/state-machine';
4
4
  import { TronGridClient } from './rest/trongrid-client';
5
5
  import { assertValidTronChecksum, tronAddressToHex } from './rest/address';
6
6
  import { encodeTrc20TransferParams, TRC20_TRANSFER_SELECTOR_HASH } from './rest/abi';
7
- import { detectProvider, isTronBridgeActive, tronWrapperFor, waitForWalletAddress } from './wallets/base';
7
+ import { detectProvider, tronWrapperFor, waitForWalletAddress } from './wallets/base';
8
8
  /** Wallet events we mirror into the state machine while connected. */
9
9
  const WALLET_EVENTS = ['accountsChanged', 'disconnect'];
10
10
  /**
@@ -12,22 +12,14 @@ const WALLET_EVENTS = ['accountsChanged', 'disconnect'];
12
12
  * rationale in that method. Override via `TronConnectorConfig.discoveryTimeoutMs`.
13
13
  */
14
14
  const DEFAULT_DISCOVERY_TIMEOUT_MS = 300;
15
- /**
16
- * Minimum discovery window when running under the bridge. The bridged
17
- * `window.tronWallets` list is populated asynchronously over Comlink after the
18
- * iframe handshake, so the short native default would miss it; mirror the
19
- * legacy `pollForBridgeTronWallets` budget (~1s) with headroom.
20
- */
21
- const BRIDGE_DISCOVERY_FLOOR_MS = 1500;
22
15
  /** Largest value an ABI `uint256` (TRC20 amount) can hold: 2^256 - 1. */
23
16
  const UINT256_MAX = (1n << 256n) - 1n;
24
17
  /**
25
18
  * Mesh-owned Tron wallet connector. Zero third-party Tron runtime deps.
26
19
  *
27
- * One instance fronts every Tron wallet the passed-in metadata declares
28
- * (via `namespaceMetaData.tron.injectedId`), selected per-connect by the wallet
29
- * id. By default all such wallets are enabled (catalog-driven); the optional
30
- * `config.enabledWallets` allow-list narrows that set when present.
20
+ * One instance fronts all 5 supported wallets TronLink, Bitget, OKX,
21
+ * TokenPocket, Trust — selected per-connect by the wallet id. Per-wallet
22
+ * enablement is controlled by `config.enabledWallets`.
31
23
  *
32
24
  * Transactions are built and broadcast against the Tron full-node HTTP API
33
25
  * (`/wallet/*`); signing goes through the wallet's own injected
@@ -37,9 +29,7 @@ const UINT256_MAX = (1n << 256n) - 1n;
37
29
  export class TronConnector {
38
30
  config;
39
31
  /** Enabled keys exactly as configured (original case); matched against a
40
- * wallet's id or injectedId case-insensitively. `undefined` when
41
- * `enabledWallets` is omitted — meaning no gate (catalog-driven: every
42
- * metadata-declared Tron wallet is enabled). */
32
+ * wallet's id or injectedId case-insensitively. */
43
33
  enabledKeys;
44
34
  clientByNetwork = new Map();
45
35
  state = new TronStateMachine();
@@ -49,19 +39,10 @@ export class TronConnector {
49
39
  boundListeners = [];
50
40
  constructor(config) {
51
41
  this.config = config;
52
- this.enabledKeys = config.enabledWallets
53
- ? Array.from(config.enabledWallets)
54
- : undefined;
42
+ this.enabledKeys = Array.from(config.enabledWallets);
55
43
  }
56
- /**
57
- * A wallet is enabled if a configured key equals its id or injectedId. With no
58
- * configured `enabledWallets`, there is no gate: every wallet the metadata
59
- * marks Tron-capable is enabled (catalog-driven). An explicit empty list
60
- * enables nothing.
61
- */
44
+ /** A wallet is enabled if a configured key equals its id or injectedId. */
62
45
  isEnabled(walletId, injectedId) {
63
- if (this.enabledKeys === undefined)
64
- return true;
65
46
  if (this.enabledKeys.length === 0)
66
47
  return false;
67
48
  return this.enabledKeys.some(key => {
@@ -90,10 +71,7 @@ export class TronConnector {
90
71
  // that inject slightly after page load (injection is async) without
91
72
  // stalling the UI; connect(), which targets one already-chosen wallet and
92
73
  // can afford to wait, keeps the longer timeout.
93
- const configuredTimeout = this.config.discoveryTimeoutMs ?? DEFAULT_DISCOVERY_TIMEOUT_MS;
94
- const timeout = isTronBridgeActive()
95
- ? Math.max(configuredTimeout, BRIDGE_DISCOVERY_FLOOR_MS)
96
- : configuredTimeout;
74
+ const timeout = this.config.discoveryTimeoutMs ?? DEFAULT_DISCOVERY_TIMEOUT_MS;
97
75
  const interval = this.config.readyStatePollIntervalMs ?? 50;
98
76
  const candidates = this.tronCandidates(expectedWallets);
99
77
  // Probe in parallel but place each result by its index, so the returned
@@ -112,12 +90,11 @@ export class TronConnector {
112
90
  * and is enabled. The reported `id` is the consumer's `WalletMetadata.id` (so
113
91
  * core matches discovery results back by id), `injectedId` is the metadata
114
92
  * value (the window path). With no `expectedWallets`, falls back to the
115
- * configured `enabledKeys` treated as injectedIds (none when `enabledWallets`
116
- * is omitted — there is then nothing to probe without metadata).
93
+ * configured `enabledKeys` treated as injectedIds.
117
94
  */
118
95
  tronCandidates(expectedWallets) {
119
96
  if (!expectedWallets || expectedWallets.length === 0) {
120
- return (this.enabledKeys ?? []).map(injectedId => ({
97
+ return this.enabledKeys.map(injectedId => ({
121
98
  id: injectedId,
122
99
  name: injectedId,
123
100
  injectedId
@@ -154,13 +131,7 @@ export class TronConnector {
154
131
  const { injectedId, displayName } = this.resolveInjected(walletProvider);
155
132
  const wrapper = tronWrapperFor(injectedId, displayName);
156
133
  this.state.set({ status: 'connecting', walletId: injectedId });
157
- // In bridge mode the provider resolves from the async-populated
158
- // `window.tronWallets` list (filled over Comlink after the iframe
159
- // handshake), so floor the detect timeout the same way discovery does.
160
- const detectTimeout = isTronBridgeActive()
161
- ? Math.max(this.config.readyStateTimeoutMs ?? 3000, BRIDGE_DISCOVERY_FLOOR_MS)
162
- : (this.config.readyStateTimeoutMs ?? 3000);
163
- const provider = await detectProvider(wrapper, detectTimeout, this.config.readyStatePollIntervalMs ?? 50);
134
+ const provider = await detectProvider(wrapper, this.config.readyStateTimeoutMs ?? 3000, this.config.readyStatePollIntervalMs ?? 50);
164
135
  if (!provider) {
165
136
  // Same consistency guard as the catch below: a failed reconnect (target
166
137
  // not installed) must not leave `active` pointing at the prior wallet.
@@ -235,17 +206,15 @@ export class TronConnector {
235
206
  async signMessage(message) {
236
207
  const active = this.requireActive('signMessage');
237
208
  const tronWeb = active.provider.tronWeb;
238
- if (!tronWeb || !tronWeb.trx?.signMessageV2) {
209
+ const signMessageV2 = tronWeb?.trx.signMessageV2;
210
+ if (!tronWeb || !signMessageV2) {
239
211
  throw new WalletConnectorError({
240
212
  type: 'unknown',
241
213
  message: 'Active Tron wallet does not support message signing'
242
214
  });
243
215
  }
244
216
  try {
245
- // Invoke as a method (not `.call`) so `this` binds correctly for the local
246
- // provider and the call works through the bridged Comlink proxy, whose
247
- // function members can't be re-bound with `.call`.
248
- const signature = await tronWeb.trx.signMessageV2(message);
217
+ const signature = await signMessageV2.call(tronWeb.trx, message);
249
218
  // Match the existing injected-connector tron path, which wraps the
250
219
  // signature as a StandardSignature rather than the TronSignature variant.
251
220
  return { type: 'standard', signature };
@@ -491,12 +460,6 @@ export class TronConnector {
491
460
  return client;
492
461
  }
493
462
  bindWalletEvents(provider) {
494
- // The bridged provider is a Comlink proxy; passing a local handler to its
495
- // `on` can't be cloned across postMessage (and the proxy makes `on` look
496
- // truthy regardless). Account changes aren't delivered through the bridge,
497
- // so skip subscription entirely in bridge mode.
498
- if (isTronBridgeActive())
499
- return;
500
463
  if (!provider.on)
501
464
  return;
502
465
  for (const event of WALLET_EVENTS) {
@@ -1 +1 @@
1
- {"version":3,"file":"tron-connector.js","sourceRoot":"","sources":["../src/tron-connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tron-connector.js","sourceRoot":"","sources":["../src/tron-connector.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EACL,gBAAgB,EAEjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,cAAc,EAEf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EAErB,MAAM,gBAAgB,CAAA;AAGvB,sEAAsE;AACtE,MAAM,aAAa,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAU,CAAA;AAEhE;;;GAGG;AACH,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAExC,yEAAyE;AACzE,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;AAuBrC;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,aAAa;IACP,MAAM,CAAqB;IAC5C;uDACmD;IAClC,WAAW,CAAmB;IAC9B,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAA;IACtD,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAA;IAEvC,MAAM,GAAgC,IAAI,CAAA;IAC1C,eAAe,GAAqB,IAAI,CAAA;IAChD,mFAAmF;IAC3E,cAAc,GAGjB,EAAE,CAAA;IAEP,YAAY,MAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IACtD,CAAC;IAED,2EAA2E;IACnE,SAAS,CAAC,QAAgB,EAAE,UAAkB;QACpD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACjC,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;YAC3B,OAAO,CAAC,KAAK,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,UAAU,CAAC,WAAW,EAAE,CAAA;QACvE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,+DAA+D;IAC/D,SAAS,CAAC,QAA2B;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CACvB,SAAoB,EACpB,eAAkC;QAElC,IAAI,SAAS,KAAK,MAAM;YAAE,OAAO,EAAE,CAAA;QAEnC,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,0EAA0E;QAC1E,0EAA0E;QAC1E,oEAAoE;QACpE,0EAA0E;QAC1E,gDAAgD;QAChD,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,4BAA4B,CAAA;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,wBAAwB,IAAI,EAAE,CAAA;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;QAEvD,wEAAwE;QACxE,yEAAyE;QACzE,wBAAwB;QACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,UAAU,CAAC,GAAG,CACZ,KAAK,EAAE,EACL,EAAE,EACF,IAAI,EACJ,UAAU,EACX,EAA0C,EAAE;YAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;YAChD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;YACjE,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QACzD,CAAC,CACF,CACF,CAAA;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAA+B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IACxE,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CACpB,eAAkC;QAElC,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACzC,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,UAAU;gBAChB,UAAU;aACX,CAAC,CAAC,CAAA;QACL,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,MAAM,UAAU,GACd,EAAE,CAAA;QACJ,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,UAAU,GACd,MAAM,CAAC,yBAAyB,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU;gBACrE,MAAM,CAAC,iCAAiC,EAAE,iBAAiB,EAAE,IAAI;oBAC/D,EAAE,UAAU,CAAA;YAChB,IAAI,CAAC,UAAU;gBAAE,SAAQ;YACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC;gBAAE,SAAQ;YACpD,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;YACpC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACb,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QACnE,CAAC;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CACX,OAAgB,EAChB,cAAoC;QAEpC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC1C,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;QACxE,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QAEvD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;QAE9D,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,OAAO,EACP,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,EACvC,IAAI,CAAC,MAAM,CAAC,wBAAwB,IAAI,EAAE,CAC3C,CAAA;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,wEAAwE;YACxE,uEAAuE;YACvE,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;YAC1C,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,gBAAgB,WAAW,oBAAoB;aACzD,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC;YACH,qEAAqE;YACrE,mEAAmE;YACnE,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAA;YAC5D,MAAM,OAAO,GAAG,MAAM,oBAAoB,CACxC,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,EACvC,IAAI,CAAC,MAAM,CAAC,wBAAwB,IAAI,EAAE,CAC3C,CAAA;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,oBAAoB,CAAC;oBAC7B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,gBAAgB,WAAW,oCAAoC;iBACzE,CAAC,CAAA;YACJ,CAAC;YAED,0EAA0E;YAC1E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,IAAI,CAAC,MAAM,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;YAC5D,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,EAAE,CAAA;YACjC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;YAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;YAEtE,MAAM,kBAAkB,GAAuB;gBAC7C,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE;aACnC,CAAA;YACD,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAA;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wEAAwE;YACxE,kEAAkE;YAClE,iDAAiD;YACjD,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;YAC1C,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,OAAgB;QAClC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,qDAAqD;aAC/D,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6EAA6E;YAC7E,uDAAuD;YACvD,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,EAAE,CAAA;QACjC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAA;QACvC,MAAM,aAAa,GAAG,OAAO,EAAE,GAAG,CAAC,aAAa,CAAA;QAChD,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/B,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,qDAAqD;aAC/D,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAChE,mEAAmE;YACnE,0EAA0E;YAC1E,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAA2B;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,kDAAkD;aAC5D,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAEnD,2EAA2E;QAC3E,wEAAwE;QACxE,6EAA6E;QAC7E,0EAA0E;QAC1E,IAAI,CAAC;YACH,IAAI,QAAiC,CAAA;YACrC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;gBAC7C,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;gBAC1D,uEAAuE;gBACvE,sEAAsE;gBACtE,wDAAwD;gBACxD,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBAC3C,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;gBACxD,QAAQ,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;oBAC1C,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,eAAe,EAAE,OAAO,CAAC,eAAe;iBACzC,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,oEAAoE;gBACpE,yCAAyC;gBACzC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBAC5C,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;gBAC1D,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;oBACxC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,oBAAoB,CAAC;oBAC7B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,0DAA0D;iBACpE,CAAC,CAAA;YACJ,CAAC;YAED,0EAA0E;YAC1E,mEAAmE;YACnE,2EAA2E;YAC3E,2BAA2B;YAC3B,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAEnD,iEAAiE;YACjE,qEAAqE;YACrE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAA;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,oBAAoB,CAAC;oBAC7B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,4DAA4D;iBACtE,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC/C,OAAO,MAAM,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,2BAA2B,CACjC,QAAiC,EACjC,OAA6D;QAE7D,MAAM,QAAQ,GAAG,GAAU,EAAE;YAC3B,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EACL,wHAAwH;aAC3H,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,MAAM,KAAK,GACT,QAAQ,CAAC,QAOV,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAA;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EACL,wHAAwH;aAC3H,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,SAAiB,EAAW,EAAE;YACjE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;YAC7B,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAA;YAChC,IAAI,CAAC;gBACH,OAAO,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,SAAS,CAAC,CAAA;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC,CAAA;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;YAAE,QAAQ,EAAE,CAAA;QAClE,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACrE,QAAQ,EAAE,CAAA;YACZ,CAAC;YACD,MAAM,YAAY,GAAG,CACnB,4BAA4B;gBAC5B,yBAAyB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CACtD,CAAC,WAAW,EAAE,CAAA;YACf,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,YAAY;gBAAE,QAAQ,EAAE,CAAA;QAC5E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;gBAAE,QAAQ,EAAE,CAAA;YAC7D,wEAAwE;YACxE,yEAAyE;YACzE,sEAAsE;YACtE,0EAA0E;YAC1E,wEAAwE;YACxE,IAAI,WAAW,GAAkB,IAAI,CAAA;YACrC,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAoB,CAAC,CAAA;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,GAAG,IAAI,CAAA;YACpB,CAAC;YACD,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,QAAQ,EAAE,CAAA;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,gFAAgF;IACxE,uBAAuB,CAAC,IAAY,EAAE,aAAqB;QACjE,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,0CAA0C,IAAI,2CAA2C,aAAa,GAAG;aACnH,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAErE,iBAAiB,CAAC,OAAgB,EAAE,MAAc;QACxD,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,iBAAiB,MAAM,qCAAqC,OAAO,CAAC,SAAS,GAAG,CACjF,CAAA;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,iBAAiB,MAAM,0BAA0B;aAC3D,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;;;;;;;;;;OAWG;IACK,iBAAiB,CACvB,MAAuB,EACvB,kBAA2B;QAE3B,MAAM,KAAK,GACT,OAAO,MAAM,KAAK,QAAQ;YACxB,CAAC,CAAC,MAAM,IAAI,EAAE;gBACZ,CAAC,kBAAkB;oBACjB,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;oBAC3C,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC;YAC5B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,CAAA;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,wEACP,kBAAkB;oBAChB,CAAC,CAAC,+BAA+B;oBACjC,CAAC,CAAC,4BACN,SAAS,MAAM,EAAE;aAClB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IACrE,KAAK,CAAC,oBAAoB,CAAC,EAAU;QAC3C,IAAI,CAAC;YACH,MAAM,uBAAuB,CAAC,EAAE,CAAC,CAAA;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EACL,KAAK,YAAY,KAAK;oBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,0DAA0D;aACjE,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,cAA+C;QAIrE,MAAM,QAAQ,GAAI,cAAwD;YACxE,EAAE,iBAAiB,EAAE,IAAI,CAAA;QAC3B,MAAM,MAAM,GACT,cAAsD,EAAE,UAAU;YAClE,cAAgD,EAAE,IAAI;YACtD,cAAoD,EAAE,QAAQ,CAAA;QACjE,MAAM,UAAU,GAAG,QAAQ,EAAE,UAAU,IAAI,MAAM,CAAA;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,kDAAkD;aAC5D,CAAC,CAAA;QACJ,CAAC;QACD,0EAA0E;QAC1E,oEAAoE;QACpE,2CAA2C;QAC3C,MAAM,SAAS,GAAG,QAAQ,EAAE,cAAc,EAAE,IAAI,IAAI,MAAM,IAAI,UAAU,CAAA;QACxE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,oBAAoB,CAAC;gBAC7B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,kCAAkC,UAAU,4BAA4B;aAClF,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA;IAChD,CAAC;IAEO,SAAS,CAAC,SAAoB;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC5D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,gBAAgB,CAAC,QAA8B;QACrD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAM;QACxB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,OAAgB;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAM;QACxB,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;YAC1C,OAAM;QACR,CAAC;QACD,2EAA2E;QAC3E,uEAAuE;QACvE,2EAA2E;QAC3E,2EAA2E;QAC3E,kCAAkC;QAClC,IAAI,WAA+B,CAAA;QACnC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,WAAW,GAAG,OAAO,CAAA;QACvB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAuB,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,WAAW;gBACT,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,SAAS,CAAA;QACrE,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;YAC1C,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA;QACtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACb,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAChC,OAAO,EAAE,WAAW;SACrB,CAAC,CAAA;IACJ,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;YACzC,KAAK,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACrD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;IAC7B,CAAC;CACF;AAED,SAAS,YAAY,CACnB,OAA2B;IAE3B,OAAO,CACL,MAAM,IAAI,OAAO;QACjB,IAAI,IAAI,OAAO;QACf,gBAAgB,CAAE,OAAqC,CAAC,MAAM,CAAC;QAC/D,CAAC,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAChC,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAClB,OAA2B;IAE3B,OAAO,CACL,MAAM,IAAI,OAAO;QACjB,IAAI,IAAI,OAAO;QACf,iBAAiB,IAAI,OAAO;QAC5B,gBAAgB,CAAE,OAAoC,CAAC,MAAM,CAAC,CAC/D,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAA;AAC/D,CAAC"}
@@ -5,20 +5,10 @@ import type { SignedTronTransaction } from '../rest/trongrid-client';
5
5
  * crypto runs there, at zero bundle cost to us.
6
6
  */
7
7
  export interface InjectedTronWeb {
8
- /** Synchronous address accessor on locally-injected providers. */
9
8
  defaultAddress?: {
10
9
  base58?: string | false;
11
10
  hex?: string | false;
12
11
  };
13
- /**
14
- * Async address accessor exposed by the *bridged* provider (the local
15
- * `defaultAddress` property can't cross the Comlink boundary, so the bridge
16
- * surfaces it as a method). Present only in iframe/bridge mode.
17
- */
18
- getDefaultAddress?(): Promise<{
19
- base58?: string | false;
20
- hex?: string | false;
21
- }>;
22
12
  trx: {
23
13
  /** Sign an unsigned transaction object. Returns the signed transaction. */
24
14
  sign(transaction: unknown): Promise<SignedTronTransaction>;
@@ -65,22 +55,6 @@ export interface TronWalletWrapper {
65
55
  */
66
56
  readyEventName?: string;
67
57
  }
68
- /**
69
- * True when running inside the UWC bridge (a Mesh Link iframe). `BridgeChild`
70
- * sets this flag once the Comlink handshake with the top frame begins. In this
71
- * mode every provider call must go through the bridged proxy (which routes it to
72
- * the top frame), or it re-hits the wallet's frame-position gate (e.g. Trust
73
- * Wallet's `dapp.frames-disallowed`).
74
- */
75
- export declare function isTronBridgeActive(): boolean;
76
- /**
77
- * Resolve a wallet's *bridged* provider from `window.tronWallets` (populated by
78
- * `BridgeChild` from the top-frame `BridgeParent`), matched by `injectedId`.
79
- * Returns undefined until the bridge handshake has populated the list. The
80
- * returned provider is a Comlink proxy: its methods are async and route to the
81
- * real provider in the top frame.
82
- */
83
- export declare function resolveBridgedTronProvider(injectedId: string): InjectedTronProvider | undefined;
84
58
  /** Safely walk `window` down a path of keys (e.g. ['okxwallet','tronLink']). */
85
59
  export declare function readWindowPath(path: readonly string[]): InjectedTronProvider | undefined;
86
60
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/wallets/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/wallets/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAEpE;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;QACvB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;KACrB,CAAA;IACD,GAAG,EAAE;QACH,2EAA2E;QAC3E,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;QAC1D,8EAA8E;QAC9E,aAAa,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KACjD,CAAA;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,4DAA4D;IAC5D,OAAO,CAAC,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;IAC/D,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;CAC5E;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,EAAE,EAAE,MAAM,CAAA;IACV,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB,2EAA2E;IAC3E,eAAe,IAAI,oBAAoB,GAAG,SAAS,CAAA;IACnD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,oBAAoB,GAAG,SAAS,CASlC;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,oBAAoB,GAAG,SAAS,GACzC,QAAQ,IAAI,oBAAoB,CAIlC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,SAAO,EAChB,cAAc,SAAK,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAuB7B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,UAAU,EAAE,KAAK,CAAC,oBAAoB,GAAG,SAAS,CAAC,GACrD,oBAAoB,GAAG,SAAS,CAKlC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,iBAAiB,EAC1B,SAAS,SAAO,EAChB,cAAc,SAAK,GAClB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAsC3C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mEAAmE;IACnE,aAAa,CAAC,EAAE,aAAa,CAAC,SAAS,MAAM,EAAE,CAAC,CAAA;CACjD;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAUnE,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,SAAa,GACvB,iBAAiB,CAmBnB"}
@@ -1,33 +1,3 @@
1
- /**
2
- * True when running inside the UWC bridge (a Mesh Link iframe). `BridgeChild`
3
- * sets this flag once the Comlink handshake with the top frame begins. In this
4
- * mode every provider call must go through the bridged proxy (which routes it to
5
- * the top frame), or it re-hits the wallet's frame-position gate (e.g. Trust
6
- * Wallet's `dapp.frames-disallowed`).
7
- */
8
- export function isTronBridgeActive() {
9
- return (typeof window !== 'undefined' &&
10
- window
11
- .UWCBridgeChildInitialized === true);
12
- }
13
- /**
14
- * Resolve a wallet's *bridged* provider from `window.tronWallets` (populated by
15
- * `BridgeChild` from the top-frame `BridgeParent`), matched by `injectedId`.
16
- * Returns undefined until the bridge handshake has populated the list. The
17
- * returned provider is a Comlink proxy: its methods are async and route to the
18
- * real provider in the top frame.
19
- */
20
- export function resolveBridgedTronProvider(injectedId) {
21
- if (typeof window === 'undefined')
22
- return undefined;
23
- const list = window
24
- .tronWallets;
25
- if (!Array.isArray(list))
26
- return undefined;
27
- const target = injectedId.toLowerCase();
28
- const entry = list.find(w => w?.injectedId?.toLowerCase() === target);
29
- return entry?.provider;
30
- }
31
1
  /** Safely walk `window` down a path of keys (e.g. ['okxwallet','tronLink']). */
32
2
  export function readWindowPath(path) {
33
3
  if (typeof window === 'undefined')
@@ -62,47 +32,29 @@ export function isProviderReady(provider) {
62
32
  * read can miss it. Resolves the base58 address, or `undefined` on timeout.
63
33
  */
64
34
  export function waitForWalletAddress(provider, timeoutMs = 3000, pollIntervalMs = 50) {
65
- // Bridged providers expose the address only via the async `getDefaultAddress()`
66
- // (the sync `defaultAddress` property can't cross Comlink); local providers
67
- // expose the sync property. Read whichever is available.
68
- const read = async () => {
69
- const tronWeb = provider.tronWeb;
70
- if (!tronWeb)
71
- return undefined;
72
- let base58;
73
- if (typeof tronWeb.getDefaultAddress === 'function') {
74
- try {
75
- base58 = (await tronWeb.getDefaultAddress())?.base58;
76
- }
77
- catch {
78
- return undefined;
79
- }
80
- }
81
- else {
82
- base58 = tronWeb.defaultAddress?.base58;
83
- }
35
+ const read = () => {
36
+ const base58 = provider.tronWeb?.defaultAddress?.base58;
84
37
  return typeof base58 === 'string' && base58.length > 0 ? base58 : undefined;
85
38
  };
39
+ const immediate = read();
40
+ if (immediate)
41
+ return Promise.resolve(immediate);
86
42
  return new Promise(resolve => {
87
43
  let settled = false;
88
- const start = Date.now();
89
44
  const finish = (value) => {
90
45
  if (settled)
91
46
  return;
92
47
  settled = true;
48
+ clearInterval(timer);
49
+ clearTimeout(deadline);
93
50
  resolve(value);
94
51
  };
95
- const tick = async () => {
96
- if (settled)
97
- return;
98
- const address = await read();
52
+ const timer = setInterval(() => {
53
+ const address = read();
99
54
  if (address)
100
- return finish(address);
101
- if (Date.now() - start >= timeoutMs)
102
- return finish(undefined);
103
- setTimeout(tick, pollIntervalMs);
104
- };
105
- void tick();
55
+ finish(address);
56
+ }, pollIntervalMs);
57
+ const deadline = setTimeout(() => finish(undefined), timeoutMs);
106
58
  });
107
59
  }
108
60
  /**
@@ -194,12 +146,6 @@ export function tronWrapperFor(injectedId, displayName = injectedId) {
194
146
  ? { readyEventName: behavior.readyEventName }
195
147
  : {}),
196
148
  resolveProvider() {
197
- // In bridge mode the only non-gating provider is the bridged proxy (it
198
- // routes calls to the top frame). Never fall back to the iframe-local
199
- // window path — that provider would re-hit the wallet's frame gate.
200
- if (isTronBridgeActive()) {
201
- return resolveBridgedTronProvider(injectedId);
202
- }
203
149
  return firstReadyOf(readWindowPath(primaryPath), ...fallbackPaths.map(path => readWindowPath(path)));
204
150
  }
205
151
  };
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/wallets/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/wallets/base.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-tron-connector",
3
- "version": "0.2.0-snapshot.e5598e8",
3
+ "version": "0.2.0",
4
4
  "description": "Mesh-owned Tron wallet connector for Universal Wallet Connector — zero third-party Tron runtime deps; signs via the wallet's injected tronWeb, builds/broadcasts via the Tron full-node HTTP API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,7 +16,7 @@
16
16
  "src"
17
17
  ],
18
18
  "dependencies": {
19
- "@meshconnect/uwc-types": "0.16.0-snapshot.e5598e8"
19
+ "@meshconnect/uwc-types": "0.16.0"
20
20
  },
21
21
  "devDependencies": {
22
22
  "typescript": "^5.9.3"
@@ -142,48 +142,12 @@ function clearWindow(): void {
142
142
  'trustWallet',
143
143
  'trustwallet',
144
144
  'bitkeep',
145
- 'tokenpocket',
146
- 'tronWallets',
147
- 'UWCBridgeChildInitialized'
145
+ 'tokenpocket'
148
146
  ]) {
149
147
  delete w[key]
150
148
  }
151
149
  }
152
150
 
153
- // A bridged Tron provider as `BridgeParent.getTronWallets` exposes it over
154
- // Comlink: async `request`, async `tronWeb.getDefaultAddress()` (no sync
155
- // `defaultAddress`), async `trx.sign`/`signMessageV2`. `on` is present but must
156
- // never be called in bridge mode (a real Comlink proxy can't clone the handler).
157
- function makeBridgedProvider(address: string | null) {
158
- return {
159
- ready: true,
160
- request: vi.fn(async () => ({ code: 200 })),
161
- on: vi.fn(),
162
- removeListener: vi.fn(),
163
- tronWeb: {
164
- getDefaultAddress: vi.fn(async () => ({ base58: address, hex: false })),
165
- trx: {
166
- sign: vi.fn(async (tx: object) => ({ ...tx, signature: ['SIG'] })),
167
- signMessageV2: vi.fn(async () => '0xbridgesig')
168
- }
169
- }
170
- }
171
- }
172
-
173
- /** Put the bridge in iframe mode with the given bridged wallet entries on window. */
174
- function installBridge(
175
- entries: Array<{ injectedId: string; name?: string; provider: unknown }>
176
- ): void {
177
- const w = window as unknown as Record<string, unknown>
178
- w['UWCBridgeChildInitialized'] = true
179
- w['tronWallets'] = entries.map(e => ({
180
- uuid: `tron-${e.injectedId}`.toLowerCase().replace(/\./g, '-'),
181
- name: e.name ?? e.injectedId,
182
- injectedId: e.injectedId,
183
- provider: e.provider
184
- }))
185
- }
186
-
187
151
  // ---- fetch queue -------------------------------------------------------------
188
152
 
189
153
  let fetchQueue: unknown[] = []
@@ -328,124 +292,6 @@ describe('getAvailableWallets', () => {
328
292
  })
329
293
  })
330
294
 
331
- // Catalog-driven mode: `enabledWallets` omitted → every wallet the passed-in
332
- // metadata marks Tron-capable is enabled, no hardcoded allow-list needed.
333
- const catalogConfig = {
334
- readyStateTimeoutMs: 100,
335
- discoveryTimeoutMs: 40,
336
- readyStatePollIntervalMs: 10
337
- }
338
-
339
- describe('catalog-driven mode (enabledWallets omitted)', () => {
340
- it('enables every metadata-declared wallet that is injected', async () => {
341
- install('tronlink', makeProvider('T1'))
342
- install('okx', makeProvider('T2'))
343
- // 'trust' is in the catalog but not installed → excluded by the probe.
344
- const c = new TronConnector(catalogConfig)
345
- const result = await c.getAvailableWallets('tron', [
346
- metaFor('tronlink', 'TronLink'),
347
- metaFor('okx', 'OKX'),
348
- metaFor('trust', 'Trust')
349
- ])
350
- expect(result.map(r => r.uuid).sort()).toEqual(['okx', 'tronlink'])
351
- })
352
-
353
- it('connects a wallet present in the metadata without any allow-list', async () => {
354
- install('okx', makeProvider('TokxAddr'))
355
- const c = new TronConnector(catalogConfig)
356
- const result = await c.connect(MAINNET, provFor('okx'))
357
- expect(result.address).toBe('TokxAddr')
358
- })
359
-
360
- it('returns [] when neither enabledWallets nor expectedWallets are given', async () => {
361
- // No metadata and no configured keys → nothing to probe.
362
- install('tronlink', makeProvider('T1'))
363
- const c = new TronConnector(catalogConfig)
364
- expect(await c.getAvailableWallets('tron')).toEqual([])
365
- })
366
-
367
- it('an explicit empty enabledWallets still enables nothing', async () => {
368
- install('tronlink', makeProvider('T1'))
369
- const c = new TronConnector({ ...catalogConfig, enabledWallets: [] })
370
- expect(
371
- await c.getAvailableWallets('tron', [metaFor('tronlink', 'TronLink')])
372
- ).toEqual([])
373
- await expect(
374
- c.connect(MAINNET, provFor('tronlink'))
375
- ).rejects.toBeInstanceOf(WalletConnectorError)
376
- })
377
- })
378
-
379
- describe('bridge mode (iframe / UWCBridgeChildInitialized)', () => {
380
- it('discovers wallets from window.tronWallets, ignoring local window paths', async () => {
381
- install('tronlink', makeProvider('TLOCAL')) // must be ignored in bridge mode
382
- installBridge([
383
- {
384
- injectedId: 'tronLink',
385
- name: 'TronLink',
386
- provider: makeBridgedProvider('TBRIDGE')
387
- }
388
- ])
389
- const c = new TronConnector(fastConfig(['tronlink']))
390
- const result = await c.getAvailableWallets('tron', [
391
- metaFor('tronlink', 'TronLink')
392
- ])
393
- expect(result.map(r => r.uuid)).toEqual(['tronlink'])
394
- expect(result[0]?.injectedId).toBe('tronLink')
395
- })
396
-
397
- it('connects via the bridged provider and reads the address via getDefaultAddress()', async () => {
398
- const bridged = makeBridgedProvider('TBRIDGE')
399
- install('tronlink', makeProvider('TLOCAL')) // must be ignored
400
- installBridge([{ injectedId: 'tronLink', provider: bridged }])
401
- const c = new TronConnector(fastConfig(['tronlink']))
402
- const result = await c.connect(MAINNET, provFor('tronlink'))
403
- expect(result.address).toBe('TBRIDGE')
404
- expect(bridged.request).toHaveBeenCalled()
405
- expect(bridged.tronWeb.getDefaultAddress).toHaveBeenCalled()
406
- // The bridged proxy's `on` must never be invoked (handler can't cross Comlink).
407
- expect(bridged.on).not.toHaveBeenCalled()
408
- })
409
-
410
- it('signs a message through the bridged signMessageV2', async () => {
411
- const bridged = makeBridgedProvider('TBRIDGE')
412
- installBridge([{ injectedId: 'tronLink', provider: bridged }])
413
- const c = new TronConnector(fastConfig(['tronlink']))
414
- await c.connect(MAINNET, provFor('tronlink'))
415
- expect(await c.signMessage('hi')).toEqual({
416
- type: 'standard',
417
- signature: '0xbridgesig'
418
- })
419
- expect(bridged.tronWeb.trx.signMessageV2).toHaveBeenCalledWith('hi')
420
- })
421
-
422
- it('signs and broadcasts a native transfer through the bridged provider', async () => {
423
- const bridged = makeBridgedProvider('TFrom')
424
- // A competing iframe-local provider: bridge mode must never sign through it.
425
- const local = makeProvider('TLOCAL')
426
- install('tronlink', local)
427
- installBridge([{ injectedId: 'tronLink', provider: bridged }])
428
- const c = new TronConnector(fastConfig(['tronlink']))
429
- await c.connect(MAINNET, provFor('tronlink'))
430
- enqueue(
431
- {
432
- txID: 'b1',
433
- raw_data: nativeRawData('TFrom', 'TTo', 1_000_000),
434
- visible: true
435
- },
436
- { result: true, txid: 'b1' }
437
- )
438
- const txid = await c.sendTransaction({
439
- from: 'TFrom',
440
- to: 'TTo',
441
- amount: 1_000_000
442
- })
443
- expect(txid).toBe('b1')
444
- expect(bridged.tronWeb.trx.sign).toHaveBeenCalledOnce()
445
- expect(local.tronWeb.trx.sign).not.toHaveBeenCalled()
446
- })
447
- })
448
-
449
295
  describe('connect', () => {
450
296
  it('connects an enabled, installed wallet and returns the address', async () => {
451
297
  install('tronlink', makeProvider('TtronlinkAddr'))
@@ -34,7 +34,6 @@ import {
34
34
  } from './rest/abi'
35
35
  import {
36
36
  detectProvider,
37
- isTronBridgeActive,
38
37
  tronWrapperFor,
39
38
  waitForWalletAddress,
40
39
  type InjectedTronProvider
@@ -50,14 +49,6 @@ const WALLET_EVENTS = ['accountsChanged', 'disconnect'] as const
50
49
  */
51
50
  const DEFAULT_DISCOVERY_TIMEOUT_MS = 300
52
51
 
53
- /**
54
- * Minimum discovery window when running under the bridge. The bridged
55
- * `window.tronWallets` list is populated asynchronously over Comlink after the
56
- * iframe handshake, so the short native default would miss it; mirror the
57
- * legacy `pollForBridgeTronWallets` budget (~1s) with headroom.
58
- */
59
- const BRIDGE_DISCOVERY_FLOOR_MS = 1500
60
-
61
52
  /** Largest value an ABI `uint256` (TRC20 amount) can hold: 2^256 - 1. */
62
53
  const UINT256_MAX = (1n << 256n) - 1n
63
54
 
@@ -85,10 +76,9 @@ type TronConnectProvider =
85
76
  /**
86
77
  * Mesh-owned Tron wallet connector. Zero third-party Tron runtime deps.
87
78
  *
88
- * One instance fronts every Tron wallet the passed-in metadata declares
89
- * (via `namespaceMetaData.tron.injectedId`), selected per-connect by the wallet
90
- * id. By default all such wallets are enabled (catalog-driven); the optional
91
- * `config.enabledWallets` allow-list narrows that set when present.
79
+ * One instance fronts all 5 supported wallets TronLink, Bitget, OKX,
80
+ * TokenPocket, Trust — selected per-connect by the wallet id. Per-wallet
81
+ * enablement is controlled by `config.enabledWallets`.
92
82
  *
93
83
  * Transactions are built and broadcast against the Tron full-node HTTP API
94
84
  * (`/wallet/*`); signing goes through the wallet's own injected
@@ -98,10 +88,8 @@ type TronConnectProvider =
98
88
  export class TronConnector implements Connector {
99
89
  private readonly config: TronConnectorConfig
100
90
  /** Enabled keys exactly as configured (original case); matched against a
101
- * wallet's id or injectedId case-insensitively. `undefined` when
102
- * `enabledWallets` is omitted — meaning no gate (catalog-driven: every
103
- * metadata-declared Tron wallet is enabled). */
104
- private readonly enabledKeys: readonly string[] | undefined
91
+ * wallet's id or injectedId case-insensitively. */
92
+ private readonly enabledKeys: readonly string[]
105
93
  private readonly clientByNetwork = new Map<NetworkId, TronGridClient>()
106
94
  private readonly state = new TronStateMachine()
107
95
 
@@ -115,19 +103,11 @@ export class TronConnector implements Connector {
115
103
 
116
104
  constructor(config: TronConnectorConfig) {
117
105
  this.config = config
118
- this.enabledKeys = config.enabledWallets
119
- ? Array.from(config.enabledWallets)
120
- : undefined
106
+ this.enabledKeys = Array.from(config.enabledWallets)
121
107
  }
122
108
 
123
- /**
124
- * A wallet is enabled if a configured key equals its id or injectedId. With no
125
- * configured `enabledWallets`, there is no gate: every wallet the metadata
126
- * marks Tron-capable is enabled (catalog-driven). An explicit empty list
127
- * enables nothing.
128
- */
109
+ /** A wallet is enabled if a configured key equals its id or injectedId. */
129
110
  private isEnabled(walletId: string, injectedId: string): boolean {
130
- if (this.enabledKeys === undefined) return true
131
111
  if (this.enabledKeys.length === 0) return false
132
112
  return this.enabledKeys.some(key => {
133
113
  const k = key.toLowerCase()
@@ -160,11 +140,8 @@ export class TronConnector implements Connector {
160
140
  // that inject slightly after page load (injection is async) without
161
141
  // stalling the UI; connect(), which targets one already-chosen wallet and
162
142
  // can afford to wait, keeps the longer timeout.
163
- const configuredTimeout =
143
+ const timeout =
164
144
  this.config.discoveryTimeoutMs ?? DEFAULT_DISCOVERY_TIMEOUT_MS
165
- const timeout = isTronBridgeActive()
166
- ? Math.max(configuredTimeout, BRIDGE_DISCOVERY_FLOOR_MS)
167
- : configuredTimeout
168
145
  const interval = this.config.readyStatePollIntervalMs ?? 50
169
146
  const candidates = this.tronCandidates(expectedWallets)
170
147
 
@@ -193,14 +170,13 @@ export class TronConnector implements Connector {
193
170
  * and is enabled. The reported `id` is the consumer's `WalletMetadata.id` (so
194
171
  * core matches discovery results back by id), `injectedId` is the metadata
195
172
  * value (the window path). With no `expectedWallets`, falls back to the
196
- * configured `enabledKeys` treated as injectedIds (none when `enabledWallets`
197
- * is omitted — there is then nothing to probe without metadata).
173
+ * configured `enabledKeys` treated as injectedIds.
198
174
  */
199
175
  private tronCandidates(
200
176
  expectedWallets?: WalletMetadata[]
201
177
  ): Array<{ id: string; name: string; injectedId: string }> {
202
178
  if (!expectedWallets || expectedWallets.length === 0) {
203
- return (this.enabledKeys ?? []).map(injectedId => ({
179
+ return this.enabledKeys.map(injectedId => ({
204
180
  id: injectedId,
205
181
  name: injectedId,
206
182
  injectedId
@@ -242,18 +218,9 @@ export class TronConnector implements Connector {
242
218
 
243
219
  this.state.set({ status: 'connecting', walletId: injectedId })
244
220
 
245
- // In bridge mode the provider resolves from the async-populated
246
- // `window.tronWallets` list (filled over Comlink after the iframe
247
- // handshake), so floor the detect timeout the same way discovery does.
248
- const detectTimeout = isTronBridgeActive()
249
- ? Math.max(
250
- this.config.readyStateTimeoutMs ?? 3000,
251
- BRIDGE_DISCOVERY_FLOOR_MS
252
- )
253
- : (this.config.readyStateTimeoutMs ?? 3000)
254
221
  const provider = await detectProvider(
255
222
  wrapper,
256
- detectTimeout,
223
+ this.config.readyStateTimeoutMs ?? 3000,
257
224
  this.config.readyStatePollIntervalMs ?? 50
258
225
  )
259
226
  if (!provider) {
@@ -338,17 +305,15 @@ export class TronConnector implements Connector {
338
305
  async signMessage(message: string): Promise<SignatureType> {
339
306
  const active = this.requireActive('signMessage')
340
307
  const tronWeb = active.provider.tronWeb
341
- if (!tronWeb || !tronWeb.trx?.signMessageV2) {
308
+ const signMessageV2 = tronWeb?.trx.signMessageV2
309
+ if (!tronWeb || !signMessageV2) {
342
310
  throw new WalletConnectorError({
343
311
  type: 'unknown',
344
312
  message: 'Active Tron wallet does not support message signing'
345
313
  })
346
314
  }
347
315
  try {
348
- // Invoke as a method (not `.call`) so `this` binds correctly for the local
349
- // provider and the call works through the bridged Comlink proxy, whose
350
- // function members can't be re-bound with `.call`.
351
- const signature = await tronWeb.trx.signMessageV2(message)
316
+ const signature = await signMessageV2.call(tronWeb.trx, message)
352
317
  // Match the existing injected-connector tron path, which wraps the
353
318
  // signature as a StandardSignature rather than the TronSignature variant.
354
319
  return { type: 'standard', signature }
@@ -627,11 +592,6 @@ export class TronConnector implements Connector {
627
592
  }
628
593
 
629
594
  private bindWalletEvents(provider: InjectedTronProvider): void {
630
- // The bridged provider is a Comlink proxy; passing a local handler to its
631
- // `on` can't be cloned across postMessage (and the proxy makes `on` look
632
- // truthy regardless). Account changes aren't delivered through the bridge,
633
- // so skip subscription entirely in bridge mode.
634
- if (isTronBridgeActive()) return
635
595
  if (!provider.on) return
636
596
  for (const event of WALLET_EVENTS) {
637
597
  const handler = (...args: unknown[]) => this.onWalletEvent(event, args[0])
@@ -6,20 +6,10 @@ import type { SignedTronTransaction } from '../rest/trongrid-client'
6
6
  * crypto runs there, at zero bundle cost to us.
7
7
  */
8
8
  export interface InjectedTronWeb {
9
- /** Synchronous address accessor on locally-injected providers. */
10
9
  defaultAddress?: {
11
10
  base58?: string | false
12
11
  hex?: string | false
13
12
  }
14
- /**
15
- * Async address accessor exposed by the *bridged* provider (the local
16
- * `defaultAddress` property can't cross the Comlink boundary, so the bridge
17
- * surfaces it as a method). Present only in iframe/bridge mode.
18
- */
19
- getDefaultAddress?(): Promise<{
20
- base58?: string | false
21
- hex?: string | false
22
- }>
23
13
  trx: {
24
14
  /** Sign an unsigned transaction object. Returns the signed transaction. */
25
15
  sign(transaction: unknown): Promise<SignedTronTransaction>
@@ -66,48 +56,6 @@ export interface TronWalletWrapper {
66
56
  readyEventName?: string
67
57
  }
68
58
 
69
- /**
70
- * True when running inside the UWC bridge (a Mesh Link iframe). `BridgeChild`
71
- * sets this flag once the Comlink handshake with the top frame begins. In this
72
- * mode every provider call must go through the bridged proxy (which routes it to
73
- * the top frame), or it re-hits the wallet's frame-position gate (e.g. Trust
74
- * Wallet's `dapp.frames-disallowed`).
75
- */
76
- export function isTronBridgeActive(): boolean {
77
- return (
78
- typeof window !== 'undefined' &&
79
- (window as unknown as { UWCBridgeChildInitialized?: boolean })
80
- .UWCBridgeChildInitialized === true
81
- )
82
- }
83
-
84
- /** A bridged Tron wallet entry as populated on `window.tronWallets` by `BridgeChild`. */
85
- interface BridgedTronWalletEntry {
86
- uuid?: string
87
- name?: string
88
- injectedId?: string
89
- provider?: InjectedTronProvider
90
- }
91
-
92
- /**
93
- * Resolve a wallet's *bridged* provider from `window.tronWallets` (populated by
94
- * `BridgeChild` from the top-frame `BridgeParent`), matched by `injectedId`.
95
- * Returns undefined until the bridge handshake has populated the list. The
96
- * returned provider is a Comlink proxy: its methods are async and route to the
97
- * real provider in the top frame.
98
- */
99
- export function resolveBridgedTronProvider(
100
- injectedId: string
101
- ): InjectedTronProvider | undefined {
102
- if (typeof window === 'undefined') return undefined
103
- const list = (window as unknown as { tronWallets?: BridgedTronWalletEntry[] })
104
- .tronWallets
105
- if (!Array.isArray(list)) return undefined
106
- const target = injectedId.toLowerCase()
107
- const entry = list.find(w => w?.injectedId?.toLowerCase() === target)
108
- return entry?.provider
109
- }
110
-
111
59
  /** Safely walk `window` down a path of keys (e.g. ['okxwallet','tronLink']). */
112
60
  export function readWindowPath(
113
61
  path: readonly string[]
@@ -151,41 +99,27 @@ export function waitForWalletAddress(
151
99
  timeoutMs = 3000,
152
100
  pollIntervalMs = 50
153
101
  ): Promise<string | undefined> {
154
- // Bridged providers expose the address only via the async `getDefaultAddress()`
155
- // (the sync `defaultAddress` property can't cross Comlink); local providers
156
- // expose the sync property. Read whichever is available.
157
- const read = async (): Promise<string | undefined> => {
158
- const tronWeb = provider.tronWeb
159
- if (!tronWeb) return undefined
160
- let base58: string | false | undefined
161
- if (typeof tronWeb.getDefaultAddress === 'function') {
162
- try {
163
- base58 = (await tronWeb.getDefaultAddress())?.base58
164
- } catch {
165
- return undefined
166
- }
167
- } else {
168
- base58 = tronWeb.defaultAddress?.base58
169
- }
102
+ const read = (): string | undefined => {
103
+ const base58 = provider.tronWeb?.defaultAddress?.base58
170
104
  return typeof base58 === 'string' && base58.length > 0 ? base58 : undefined
171
105
  }
106
+ const immediate = read()
107
+ if (immediate) return Promise.resolve(immediate)
172
108
 
173
109
  return new Promise(resolve => {
174
110
  let settled = false
175
- const start = Date.now()
176
111
  const finish = (value: string | undefined) => {
177
112
  if (settled) return
178
113
  settled = true
114
+ clearInterval(timer)
115
+ clearTimeout(deadline)
179
116
  resolve(value)
180
117
  }
181
- const tick = async () => {
182
- if (settled) return
183
- const address = await read()
184
- if (address) return finish(address)
185
- if (Date.now() - start >= timeoutMs) return finish(undefined)
186
- setTimeout(tick, pollIntervalMs)
187
- }
188
- void tick()
118
+ const timer = setInterval(() => {
119
+ const address = read()
120
+ if (address) finish(address)
121
+ }, pollIntervalMs)
122
+ const deadline = setTimeout(() => finish(undefined), timeoutMs)
189
123
  })
190
124
  }
191
125
 
@@ -304,12 +238,6 @@ export function tronWrapperFor(
304
238
  ? { readyEventName: behavior.readyEventName }
305
239
  : {}),
306
240
  resolveProvider() {
307
- // In bridge mode the only non-gating provider is the bridged proxy (it
308
- // routes calls to the top frame). Never fall back to the iframe-local
309
- // window path — that provider would re-hit the wallet's frame gate.
310
- if (isTronBridgeActive()) {
311
- return resolveBridgedTronProvider(injectedId)
312
- }
313
241
  return firstReadyOf(
314
242
  readWindowPath(primaryPath),
315
243
  ...fallbackPaths.map(path => readWindowPath(path))