@meshconnect/uwc-injected-connector 0.15.4 → 0.16.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.
@@ -1,4 +1,4 @@
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';
1
+ import type { Network, ExtensionInjectedProvider, IntegratedBrowserInjectedProvider, Connector, ConnectorResult, SwitchNetworkResult, Namespace, DetectedEIP6963WalletInfo, DetectedSolanaWalletInfo, DetectedTronWalletInfo, DetectedTonWalletInfo, TransactionRequest, TransactionResult, NetworkRpcMap, EVMCapabilities, SignatureType, EIP712TypedData, WalletMetadata, TonConnectConfig, WalletLifecycleEvent, WalletLifecycleContext } from '@meshconnect/uwc-types';
2
2
  import { type TronConnectorConfig } from '@meshconnect/uwc-tron-connector';
3
3
  export declare class InjectedConnector implements Connector {
4
4
  private readonly storageService;
@@ -22,7 +22,10 @@ export declare class InjectedConnector implements Connector {
22
22
  * Tron auto-connect (see `enrichWithTron`).
23
23
  */
24
24
  private networks;
25
- constructor(networkRpcMap?: NetworkRpcMap, expectedWallets?: WalletMetadata[], tonConnectConfig?: TonConnectConfig, tronConnectorConfig?: TronConnectorConfig, networks?: Network[]);
25
+ constructor(networkRpcMap?: NetworkRpcMap, expectedWallets?: WalletMetadata[], tonConnectConfig?: TonConnectConfig, tronConnectorConfig?: TronConnectorConfig, networks?: Network[], onBridgeError?: (info: {
26
+ namespace: string;
27
+ message: string;
28
+ }) => void);
26
29
  /**
27
30
  * Get available wallets for a specific namespace
28
31
  */
@@ -50,6 +53,22 @@ export declare class InjectedConnector implements Connector {
50
53
  * Disconnect from all wallets (only clears local state)
51
54
  */
52
55
  disconnect(): Promise<void>;
56
+ /**
57
+ * Observe post-connect lifecycle from the live provider of the namespace the
58
+ * CALLER names in `context`. Routing must follow the session being attached
59
+ * for, not a fixed service preference or ambient connector state: the
60
+ * secondary-namespace gather (`checkAndAdd*Addresses`) can leave MORE than
61
+ * one service holding a live surface — e.g. a Solana-primary Phantom session
62
+ * with an authorized EVM side also sets the Ethereum service's provider — and
63
+ * attaching the wrong one would label that provider's events with this
64
+ * session's routing (an EVM chain switch reported against a Solana session)
65
+ * and miss the active namespace's own signals.
66
+ *
67
+ * EVM (EIP-1193) and Solana (wallet-standard) have a live event surface today;
68
+ * TRON / TON injected are follow-ons behind the same contract (until then they
69
+ * return undefined → the core emits `lifecycleTelemetryUnavailable`).
70
+ */
71
+ onLifecycleEvent(listener: (event: WalletLifecycleEvent) => void, context: WalletLifecycleContext): (() => void) | undefined;
53
72
  /**
54
73
  * Sign a message with the connected wallet
55
74
  */
@@ -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,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;IA2C5B;;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
+ {"version":3,"file":"injected-connector.d.ts","sourceRoot":"","sources":["../src/injected-connector.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,9 @@ export class InjectedConnector {
34
34
  * Tron auto-connect (see `enrichWithTron`).
35
35
  */
36
36
  networks;
37
- constructor(networkRpcMap = {}, expectedWallets = [], tonConnectConfig, tronConnectorConfig, networks = []) {
37
+ constructor(networkRpcMap = {}, expectedWallets = [], tonConnectConfig, tronConnectorConfig, networks = [],
38
+ // Optional sink for BridgeChild discovery failures (wired to UWC's observer).
39
+ onBridgeError) {
38
40
  this.networkRpcMap = networkRpcMap;
39
41
  this.networks = networks;
40
42
  this.tonConnectManifestUrl = tonConnectConfig?.manifestUrl;
@@ -51,7 +53,8 @@ export class InjectedConnector {
51
53
  this.transactionService = new TransactionService(this.networkRpcMap);
52
54
  new BridgeChild({
53
55
  tronInjectedIds: this.tronService.getTronWalletIdsFromExpectedWallets(expectedWallets),
54
- tonJsBridgeKeys: this.tonService.getTonBridgeKeysFromExpectedWallets(expectedWallets)
56
+ tonJsBridgeKeys: this.tonService.getTonBridgeKeysFromExpectedWallets(expectedWallets),
57
+ ...(onBridgeError ? { onError: onBridgeError } : {})
55
58
  });
56
59
  }
57
60
  /**
@@ -232,6 +235,31 @@ export class InjectedConnector {
232
235
  }
233
236
  await this.connectionManager.disconnect();
234
237
  }
238
+ /**
239
+ * Observe post-connect lifecycle from the live provider of the namespace the
240
+ * CALLER names in `context`. Routing must follow the session being attached
241
+ * for, not a fixed service preference or ambient connector state: the
242
+ * secondary-namespace gather (`checkAndAdd*Addresses`) can leave MORE than
243
+ * one service holding a live surface — e.g. a Solana-primary Phantom session
244
+ * with an authorized EVM side also sets the Ethereum service's provider — and
245
+ * attaching the wrong one would label that provider's events with this
246
+ * session's routing (an EVM chain switch reported against a Solana session)
247
+ * and miss the active namespace's own signals.
248
+ *
249
+ * EVM (EIP-1193) and Solana (wallet-standard) have a live event surface today;
250
+ * TRON / TON injected are follow-ons behind the same contract (until then they
251
+ * return undefined → the core emits `lifecycleTelemetryUnavailable`).
252
+ */
253
+ onLifecycleEvent(listener, context) {
254
+ switch (context.namespace) {
255
+ case 'eip155':
256
+ return this.ethereumService.onLifecycleEvent(listener);
257
+ case 'solana':
258
+ return this.solanaService.onLifecycleEvent(listener);
259
+ default:
260
+ return undefined;
261
+ }
262
+ }
235
263
  /**
236
264
  * Sign a message with the connected wallet
237
265
  */
@@ -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,4 +1,4 @@
1
- import type { NetworkId, AvailableAddress, EVMCapabilities, Network, WalletMetadata } from '@meshconnect/uwc-types';
1
+ import type { NetworkId, AvailableAddress, EVMCapabilities, Network, WalletMetadata, WalletLifecycleEvent } from '@meshconnect/uwc-types';
2
2
  import type { EthereumProvider, DetectedWallet as EIP6963DetectedWallet } from '../../eip6963-discovery';
3
3
  /**
4
4
  * Service for managing Ethereum wallet connections
@@ -51,6 +51,18 @@ export declare class EthereumWalletService {
51
51
  * Get connected provider
52
52
  */
53
53
  getConnectedProvider(): EthereumProvider | null;
54
+ /**
55
+ * Subscribe to the live EIP-1193 provider's lifecycle events (account/chain
56
+ * switched in the wallet, disconnect). Returns a teardown, or `undefined` when
57
+ * there is no connected provider or it lacks `.on`/`.removeListener` (EIP-1193
58
+ * lists removeListener as SHOULD — attaching listeners we could never remove
59
+ * would BE the zombie-listener class this layer exists to prevent).
60
+ *
61
+ * PII boundary: the new address from `accountsChanged` is NEVER forwarded — an
62
+ * empty account list maps to `disconnect`, a non-empty one to a content-free
63
+ * `accountChanged`. `chainChanged` carries only the (non-PII) CAIP-2 chain id.
64
+ */
65
+ onLifecycleEvent(listener: (event: WalletLifecycleEvent) => void): (() => void) | undefined;
54
66
  /**
55
67
  * Disconnect (clear state only)
56
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-wallet-service.d.ts","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-wallet-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EAEf,OAAO,EACP,cAAc,EACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,IAAI,qBAAqB,EACxC,MAAM,yBAAyB,CAAA;AAIhC;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,OAAO,CAAsB;IAErC;;OAEG;IACG,mBAAmB,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;OAEG;IACH,kBAAkB,IAAI,qBAAqB,EAAE;IAI7C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAIjE;;OAEG;IACG,uBAAuB,CAC3B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAY3B;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB1D;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS;IAKzD;;OAEG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,sBAAsB,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAClD,OAAO,CAAC,IAAI,CAAC;IAsEhB;;OAEG;IACH,uBAAuB,CACrB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,gBAAgB,EAAE;IAarB;;OAEG;IACH,kBAAkB,CAChB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,IAAI;IAKP;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,oBAAoB,IAAI,gBAAgB,GAAG,IAAI;IAI/C;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAsD5C"}
1
+ {"version":3,"file":"ethereum-wallet-service.d.ts","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-wallet-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EAEf,OAAO,EACP,cAAc,EACd,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,IAAI,qBAAqB,EACxC,MAAM,yBAAyB,CAAA;AA8BhC;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,OAAO,CAAsB;IAErC;;OAEG;IACG,mBAAmB,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;OAEG;IACH,kBAAkB,IAAI,qBAAqB,EAAE;IAI7C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAIjE;;OAEG;IACG,uBAAuB,CAC3B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAY3B;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB1D;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS;IAKzD;;OAEG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,sBAAsB,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAClD,OAAO,CAAC,IAAI,CAAC;IAsEhB;;OAEG;IACH,uBAAuB,CACrB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,gBAAgB,EAAE;IAarB;;OAEG;IACH,kBAAkB,CAChB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,IAAI;IAKP;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,oBAAoB,IAAI,gBAAgB,GAAG,IAAI;IAI/C;;;;;;;;;;OAUG;IACH,gBAAgB,CACd,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IAoD3B;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAsD5C"}
@@ -1,5 +1,32 @@
1
1
  import { getAvailableWallets as getEIP6963Wallets } from '../../eip6963-discovery';
2
2
  import { supportedNetworks } from '@meshconnect/uwc-constants';
3
+ /**
4
+ * Normalize an EIP-1193 `chainChanged` payload (hex `'0x1'`, decimal string, or a
5
+ * number) to a CAIP-2 id. Returns undefined for an unparseable value rather than
6
+ * emitting a bogus chain id.
7
+ */
8
+ function toCaipChainId(raw) {
9
+ let decimal;
10
+ if (typeof raw === 'string') {
11
+ // Validate the FULL string before converting: parseInt('0x1junk', 16) === 1,
12
+ // which would emit a bogus chain id instead of undefined.
13
+ if (/^0x[0-9a-fA-F]+$/.test(raw)) {
14
+ decimal = parseInt(raw, 16);
15
+ }
16
+ else if (/^\d+$/.test(raw)) {
17
+ decimal = parseInt(raw, 10);
18
+ }
19
+ }
20
+ else if (typeof raw === 'number' && Number.isInteger(raw) && raw >= 0) {
21
+ decimal = raw;
22
+ }
23
+ // isSafeInteger: beyond 2^53-1 parseInt has already lost precision (and a
24
+ // ~256-nibble hex overflows to Infinity) — emitting a silently-wrong chain
25
+ // id is worse than emitting none.
26
+ return decimal !== undefined && Number.isSafeInteger(decimal)
27
+ ? `eip155:${decimal}`
28
+ : undefined;
29
+ }
3
30
  /**
4
31
  * Service for managing Ethereum wallet connections
5
32
  */
@@ -166,6 +193,56 @@ export class EthereumWalletService {
166
193
  getConnectedProvider() {
167
194
  return this.connectedProvider;
168
195
  }
196
+ /**
197
+ * Subscribe to the live EIP-1193 provider's lifecycle events (account/chain
198
+ * switched in the wallet, disconnect). Returns a teardown, or `undefined` when
199
+ * there is no connected provider or it lacks `.on`/`.removeListener` (EIP-1193
200
+ * lists removeListener as SHOULD — attaching listeners we could never remove
201
+ * would BE the zombie-listener class this layer exists to prevent).
202
+ *
203
+ * PII boundary: the new address from `accountsChanged` is NEVER forwarded — an
204
+ * empty account list maps to `disconnect`, a non-empty one to a content-free
205
+ * `accountChanged`. `chainChanged` carries only the (non-PII) CAIP-2 chain id.
206
+ */
207
+ onLifecycleEvent(listener) {
208
+ const provider = this.connectedProvider;
209
+ if (!provider ||
210
+ typeof provider.on !== 'function' ||
211
+ typeof provider.removeListener !== 'function') {
212
+ return undefined;
213
+ }
214
+ // In the production iframe the connected provider is a Comlink proxy across
215
+ // the bridge: an un-proxied EIP-1193 handler can't be cloned over postMessage,
216
+ // and `on`/`removeListener` can't satisfy teardown across the bridge (callback
217
+ // identity). Subscribing here would throw or leak a listener. Until the bridge
218
+ // exposes a forwarding wrapper (P3), report lifecycle as unavailable over the
219
+ // bridge (the core emits `lifecycleTelemetryUnavailable`) rather than
220
+ // attempting a broken subscription.
221
+ if (typeof window !== 'undefined' &&
222
+ window
223
+ .UWCBridgeChildInitialized === true) {
224
+ return undefined;
225
+ }
226
+ const onAccounts = (accounts) => {
227
+ const list = Array.isArray(accounts) ? accounts : [];
228
+ listener(list.length === 0 ? { type: 'disconnect' } : { type: 'accountChanged' });
229
+ };
230
+ const onChain = (chainId) => {
231
+ const caip = toCaipChainId(chainId);
232
+ listener(caip !== undefined
233
+ ? { type: 'chainChanged', chainId: caip }
234
+ : { type: 'chainChanged' });
235
+ };
236
+ const onDisconnect = () => listener({ type: 'disconnect' });
237
+ provider.on('accountsChanged', onAccounts);
238
+ provider.on('chainChanged', onChain);
239
+ provider.on('disconnect', onDisconnect);
240
+ return () => {
241
+ provider.removeListener?.('accountsChanged', onAccounts);
242
+ provider.removeListener?.('chainChanged', onChain);
243
+ provider.removeListener?.('disconnect', onDisconnect);
244
+ };
245
+ }
169
246
  /**
170
247
  * Disconnect (clear state only)
171
248
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-wallet-service.js","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-wallet-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ethereum-wallet-service.js","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-wallet-service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AvailableAddress } from '@meshconnect/uwc-types';
1
+ import type { AvailableAddress, WalletLifecycleEvent } from '@meshconnect/uwc-types';
2
2
  import { type SolanaAdapter, type WalletStandardInfo } from '../../wallet-standard-discovery';
3
3
  import { StorageService } from '../storage-service';
4
4
  /**
@@ -46,6 +46,18 @@ export declare class SolanaWalletService {
46
46
  * Get connected adapter
47
47
  */
48
48
  getConnectedAdapter(): SolanaAdapter | null;
49
+ /**
50
+ * Subscribe to the connected wallet-standard adapter's lifecycle. Only the
51
+ * adapter's typed `disconnect` event is forwarded (`WalletAdapterEvents` doesn't
52
+ * expose a guaranteed account-change event, so we don't invent one). Returns a
53
+ * teardown, or undefined when there is no connected adapter / it can't be
54
+ * observed.
55
+ *
56
+ * Bridge guard: in the production iframe the adapter is a Comlink proxy — a raw
57
+ * handler can't ride the bridge — so we skip (the core reports lifecycle
58
+ * unavailable), mirroring the EVM path.
59
+ */
60
+ onLifecycleEvent(listener: (event: WalletLifecycleEvent) => void): (() => void) | undefined;
49
61
  /**
50
62
  * Disconnect (clear state only, don't actually disconnect from wallet)
51
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"solana-wallet-service.d.ts","sourceRoot":"","sources":["../../../src/services/solana/solana-wallet-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAAgB;gBAE1B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;OAEG;IACH,kBAAkB,IAAI,kBAAkB,EAAE;IAI1C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI9D;;OAEG;IACG,uBAAuB,CAC3B,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+BzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB1E;;OAEG;IACH,uBAAuB,CACrB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,gBAAgB,EAAE;IAarB;;OAEG;IACH,kBAAkB,CAChB,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAUP;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,mBAAmB,IAAI,aAAa,GAAG,IAAI;IAI3C;;OAEG;IACH,UAAU,IAAI,IAAI;CAInB"}
1
+ {"version":3,"file":"solana-wallet-service.d.ts","sourceRoot":"","sources":["../../../src/services/solana/solana-wallet-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAAgB;gBAE1B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;OAEG;IACH,kBAAkB,IAAI,kBAAkB,EAAE;IAI1C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI9D;;OAEG;IACG,uBAAuB,CAC3B,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+BzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB1E;;OAEG;IACH,uBAAuB,CACrB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,gBAAgB,EAAE;IAarB;;OAEG;IACH,kBAAkB,CAChB,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAUP;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,mBAAmB,IAAI,aAAa,GAAG,IAAI;IAI3C;;;;;;;;;;OAUG;IACH,gBAAgB,CACd,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IAqB3B;;OAEG;IACH,UAAU,IAAI,IAAI;CAInB"}
@@ -116,6 +116,35 @@ export class SolanaWalletService {
116
116
  getConnectedAdapter() {
117
117
  return this.connectedAdapter;
118
118
  }
119
+ /**
120
+ * Subscribe to the connected wallet-standard adapter's lifecycle. Only the
121
+ * adapter's typed `disconnect` event is forwarded (`WalletAdapterEvents` doesn't
122
+ * expose a guaranteed account-change event, so we don't invent one). Returns a
123
+ * teardown, or undefined when there is no connected adapter / it can't be
124
+ * observed.
125
+ *
126
+ * Bridge guard: in the production iframe the adapter is a Comlink proxy — a raw
127
+ * handler can't ride the bridge — so we skip (the core reports lifecycle
128
+ * unavailable), mirroring the EVM path.
129
+ */
130
+ onLifecycleEvent(listener) {
131
+ const adapter = this.connectedAdapter;
132
+ // A `.on`-only guard is safe HERE (unlike raw EIP-1193, where removeListener
133
+ // is only a SHOULD): the adapter is a UWC-constructed StandardWalletAdapter
134
+ // backed by eventemitter3, where `.off` exists whenever `.on` does.
135
+ if (!adapter || typeof adapter.on !== 'function')
136
+ return undefined;
137
+ if (typeof window !== 'undefined' &&
138
+ window
139
+ .UWCBridgeChildInitialized === true) {
140
+ return undefined;
141
+ }
142
+ const onDisconnect = () => listener({ type: 'disconnect' });
143
+ adapter.on('disconnect', onDisconnect);
144
+ return () => {
145
+ adapter.off('disconnect', onDisconnect);
146
+ };
147
+ }
119
148
  /**
120
149
  * Disconnect (clear state only, don't actually disconnect from wallet)
121
150
  */
@@ -1 +1 @@
1
- {"version":3,"file":"solana-wallet-service.js","sourceRoot":"","sources":["../../../src/services/solana/solana-wallet-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solana-wallet-service.js","sourceRoot":"","sources":["../../../src/services/solana/solana-wallet-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tron-wallet-service.d.ts","sourceRoot":"","sources":["../../../src/services/tron/tron-wallet-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAA;AAE7B;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,OAAO,CAAsB;IAErC;;OAEG;IACG,mBAAmB,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;OAEG;IACH,kBAAkB,IAAI,kBAAkB,EAAE;IAI1C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI9D;;;;OAIG;YACW,cAAc;IAU5B;;OAEG;IACG,uBAAuB,CAC3B,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWzB;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBtD;;OAEG;IACH,uBAAuB,CACrB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,gBAAgB,EAAE;IAarB;;OAEG;IACH,kBAAkB,CAChB,QAAQ,EAAE,YAAY,GAAG,IAAI,EAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,IAAI;IAKP;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,oBAAoB,IAAI,YAAY,GAAG,IAAI;IAI3C;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB,mCAAmC,CACjC,eAAe,GAAE,cAAc,EAAO,GACrC,MAAM,EAAE;CASZ"}
1
+ {"version":3,"file":"tron-wallet-service.d.ts","sourceRoot":"","sources":["../../../src/services/tron/tron-wallet-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EACf,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAA;AAE7B;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,OAAO,CAAsB;IAErC;;OAEG;IACG,mBAAmB,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;OAEG;IACH,kBAAkB,IAAI,kBAAkB,EAAE;IAI1C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI9D;;;;OAIG;YACW,cAAc;IAU5B;;OAEG;IACG,uBAAuB,CAC3B,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWzB;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBtD;;OAEG;IACH,uBAAuB,CACrB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,gBAAgB,EAAE;IAarB;;OAEG;IACH,kBAAkB,CAChB,QAAQ,EAAE,YAAY,GAAG,IAAI,EAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,IAAI;IAKP;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,oBAAoB,IAAI,YAAY,GAAG,IAAI;IAI3C;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB,mCAAmC,CACjC,eAAe,GAAE,cAAc,EAAO,GACrC,MAAM,EAAE;CASZ"}
@@ -1,3 +1,4 @@
1
+ import { WalletConnectorError } from '@meshconnect/uwc-types';
1
2
  import { getTronWallets } from '../../tron-discovery';
2
3
  /**
3
4
  * Service for managing Tron wallet connections
@@ -63,7 +64,13 @@ export class TronWalletService {
63
64
  // After requesting, check for default address on tronWeb
64
65
  const address = await this.resolveAddress(provider.tronWeb);
65
66
  if (!address) {
66
- throw new Error('No address returned from Tron wallet');
67
+ // Delta C: throw a typed connector error so telemetry classifies this as
68
+ // source:'connector' (our injected-Tron path), not an unknown-origin error
69
+ // — the ONC-3172 "Tron connected but exposed no address" class.
70
+ throw new WalletConnectorError({
71
+ type: 'unknown',
72
+ message: 'No address returned from Tron wallet'
73
+ });
67
74
  }
68
75
  this.connectedProvider = provider;
69
76
  this.account = address;
@@ -1 +1 @@
1
- {"version":3,"file":"tron-wallet-service.js","sourceRoot":"","sources":["../../../src/services/tron/tron-wallet-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tron-wallet-service.js","sourceRoot":"","sources":["../../../src/services/tron/tron-wallet-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-injected-connector",
3
- "version": "0.15.4",
3
+ "version": "0.16.0",
4
4
  "description": "Injected connector for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,11 +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.3",
31
- "@meshconnect/uwc-constants": "0.6.7",
32
- "@meshconnect/uwc-ton-connector": "0.6.6",
33
- "@meshconnect/uwc-tron-connector": "0.3.0",
34
- "@meshconnect/uwc-types": "0.16.1"
30
+ "@meshconnect/uwc-bridge-child": "0.3.0",
31
+ "@meshconnect/uwc-constants": "0.6.8",
32
+ "@meshconnect/uwc-ton-connector": "0.7.0",
33
+ "@meshconnect/uwc-tron-connector": "0.3.1",
34
+ "@meshconnect/uwc-types": "0.17.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "typescript": "^5.9.3"
@@ -1025,4 +1025,97 @@ describe('InjectedConnector', () => {
1025
1025
  expect(result).toEqual({})
1026
1026
  })
1027
1027
  })
1028
+
1029
+ describe('onLifecycleEvent routing', () => {
1030
+ // The core passes an explicit context naming the session it is attaching
1031
+ // for — the connector must never infer it from ambient state. The
1032
+ // secondary-namespace gather can leave MORE than one service holding a live
1033
+ // surface (e.g. a Solana-primary Phantom session with an authorized EVM side
1034
+ // sets the Ethereum service's connectedProvider too), so lifecycle follows
1035
+ // context.namespace, never a fixed service preference.
1036
+ const getMocks = async () => {
1037
+ const { EthereumWalletService } =
1038
+ await import('./services/ethereum/ethereum-wallet-service')
1039
+ const { SolanaWalletService } =
1040
+ await import('./services/solana/solana-wallet-service')
1041
+ return {
1042
+ ethService: vi.mocked(EthereumWalletService).mock.results[0].value,
1043
+ solService: vi.mocked(SolanaWalletService).mock.results[0].value
1044
+ }
1045
+ }
1046
+
1047
+ it('routes a solana session to the Solana service even when the EVM side is live', async () => {
1048
+ const { ethService, solService } = await getMocks()
1049
+ const ethUnsub = vi.fn()
1050
+ const solUnsub = vi.fn()
1051
+ ethService.onLifecycleEvent.mockReturnValue(ethUnsub)
1052
+ solService.onLifecycleEvent.mockReturnValue(solUnsub)
1053
+
1054
+ const listener = vi.fn()
1055
+ const teardown = connector.onLifecycleEvent(listener, {
1056
+ connectionMode: 'injected',
1057
+ namespace: 'solana',
1058
+ walletId: 'phantom'
1059
+ })
1060
+
1061
+ expect(solService.onLifecycleEvent).toHaveBeenCalledWith(listener)
1062
+ expect(ethService.onLifecycleEvent).not.toHaveBeenCalled()
1063
+ expect(teardown).toBe(solUnsub)
1064
+ })
1065
+
1066
+ it('routes an eip155 session to the Ethereum service', async () => {
1067
+ const { ethService, solService } = await getMocks()
1068
+ const ethUnsub = vi.fn()
1069
+ ethService.onLifecycleEvent.mockReturnValue(ethUnsub)
1070
+
1071
+ const listener = vi.fn()
1072
+ const teardown = connector.onLifecycleEvent(listener, {
1073
+ connectionMode: 'injected',
1074
+ namespace: 'eip155'
1075
+ })
1076
+
1077
+ expect(ethService.onLifecycleEvent).toHaveBeenCalledWith(listener)
1078
+ expect(solService.onLifecycleEvent).not.toHaveBeenCalled()
1079
+ expect(teardown).toBe(ethUnsub)
1080
+ })
1081
+
1082
+ it('returns undefined for a tron session even when the EVM side is live', async () => {
1083
+ // TRON injected lifecycle isn't wired yet; attaching the live EVM provider
1084
+ // instead would mislabel EVM events with the TRON session's routing.
1085
+ const { ethService, solService } = await getMocks()
1086
+ ethService.onLifecycleEvent.mockReturnValue(vi.fn())
1087
+
1088
+ expect(
1089
+ connector.onLifecycleEvent(vi.fn(), {
1090
+ connectionMode: 'injected',
1091
+ namespace: 'tron'
1092
+ })
1093
+ ).toBeUndefined()
1094
+ expect(ethService.onLifecycleEvent).not.toHaveBeenCalled()
1095
+ expect(solService.onLifecycleEvent).not.toHaveBeenCalled()
1096
+ })
1097
+
1098
+ it('returns undefined for a tvm session (TON injected lifecycle not wired)', async () => {
1099
+ const { ethService } = await getMocks()
1100
+ ethService.onLifecycleEvent.mockReturnValue(vi.fn())
1101
+
1102
+ expect(
1103
+ connector.onLifecycleEvent(vi.fn(), {
1104
+ connectionMode: 'injected',
1105
+ namespace: 'tvm'
1106
+ })
1107
+ ).toBeUndefined()
1108
+ expect(ethService.onLifecycleEvent).not.toHaveBeenCalled()
1109
+ })
1110
+
1111
+ it('returns undefined when the context names no namespace', async () => {
1112
+ const { ethService, solService } = await getMocks()
1113
+
1114
+ expect(
1115
+ connector.onLifecycleEvent(vi.fn(), { connectionMode: 'injected' })
1116
+ ).toBeUndefined()
1117
+ expect(ethService.onLifecycleEvent).not.toHaveBeenCalled()
1118
+ expect(solService.onLifecycleEvent).not.toHaveBeenCalled()
1119
+ })
1120
+ })
1028
1121
  })
@@ -20,7 +20,9 @@ import type {
20
20
  SignatureType,
21
21
  EIP712TypedData,
22
22
  WalletMetadata,
23
- TonConnectConfig
23
+ TonConnectConfig,
24
+ WalletLifecycleEvent,
25
+ WalletLifecycleContext
24
26
  } from '@meshconnect/uwc-types'
25
27
  import { assertSameMessage } from '@meshconnect/uwc-types'
26
28
  import {
@@ -71,7 +73,9 @@ export class InjectedConnector implements Connector {
71
73
  expectedWallets: WalletMetadata[] = [],
72
74
  tonConnectConfig?: TonConnectConfig,
73
75
  tronConnectorConfig?: TronConnectorConfig,
74
- networks: Network[] = []
76
+ networks: Network[] = [],
77
+ // Optional sink for BridgeChild discovery failures (wired to UWC's observer).
78
+ onBridgeError?: (info: { namespace: string; message: string }) => void
75
79
  ) {
76
80
  this.networkRpcMap = networkRpcMap
77
81
  this.networks = networks
@@ -101,7 +105,8 @@ export class InjectedConnector implements Connector {
101
105
  tronInjectedIds:
102
106
  this.tronService.getTronWalletIdsFromExpectedWallets(expectedWallets),
103
107
  tonJsBridgeKeys:
104
- this.tonService.getTonBridgeKeysFromExpectedWallets(expectedWallets)
108
+ this.tonService.getTonBridgeKeysFromExpectedWallets(expectedWallets),
109
+ ...(onBridgeError ? { onError: onBridgeError } : {})
105
110
  })
106
111
  }
107
112
 
@@ -337,6 +342,35 @@ export class InjectedConnector implements Connector {
337
342
  await this.connectionManager.disconnect()
338
343
  }
339
344
 
345
+ /**
346
+ * Observe post-connect lifecycle from the live provider of the namespace the
347
+ * CALLER names in `context`. Routing must follow the session being attached
348
+ * for, not a fixed service preference or ambient connector state: the
349
+ * secondary-namespace gather (`checkAndAdd*Addresses`) can leave MORE than
350
+ * one service holding a live surface — e.g. a Solana-primary Phantom session
351
+ * with an authorized EVM side also sets the Ethereum service's provider — and
352
+ * attaching the wrong one would label that provider's events with this
353
+ * session's routing (an EVM chain switch reported against a Solana session)
354
+ * and miss the active namespace's own signals.
355
+ *
356
+ * EVM (EIP-1193) and Solana (wallet-standard) have a live event surface today;
357
+ * TRON / TON injected are follow-ons behind the same contract (until then they
358
+ * return undefined → the core emits `lifecycleTelemetryUnavailable`).
359
+ */
360
+ onLifecycleEvent(
361
+ listener: (event: WalletLifecycleEvent) => void,
362
+ context: WalletLifecycleContext
363
+ ): (() => void) | undefined {
364
+ switch (context.namespace) {
365
+ case 'eip155':
366
+ return this.ethereumService.onLifecycleEvent(listener)
367
+ case 'solana':
368
+ return this.solanaService.onLifecycleEvent(listener)
369
+ default:
370
+ return undefined
371
+ }
372
+ }
373
+
340
374
  /**
341
375
  * Sign a message with the connected wallet
342
376
  */
@@ -1,7 +1,7 @@
1
1
  import { describe, it, expect, beforeEach, vi } from 'vitest'
2
2
  import { EthereumWalletService } from './ethereum-wallet-service'
3
3
  import type { EthereumProvider } from '../../eip6963-discovery'
4
- import type { Network } from '@meshconnect/uwc-types'
4
+ import type { Network, WalletLifecycleEvent } from '@meshconnect/uwc-types'
5
5
 
6
6
  // Mock the eip6963-discovery module
7
7
  vi.mock('../../eip6963-discovery', () => ({
@@ -474,4 +474,116 @@ describe('EthereumWalletService', () => {
474
474
  })
475
475
  })
476
476
  })
477
+
478
+ describe('onLifecycleEvent', () => {
479
+ function providerWithEvents() {
480
+ const handlers: Record<string, (arg?: unknown) => void> = {}
481
+ const provider = {
482
+ request: vi.fn(),
483
+ on: (event: string, h: (arg?: unknown) => void) => {
484
+ handlers[event] = h
485
+ },
486
+ removeListener: vi.fn((event: string) => {
487
+ delete handlers[event]
488
+ })
489
+ } as unknown as EthereumProvider
490
+ return { provider, handlers }
491
+ }
492
+
493
+ it('returns undefined when there is no connected provider', () => {
494
+ expect(service.onLifecycleEvent(() => {})).toBeUndefined()
495
+ })
496
+
497
+ it('returns undefined when the connected provider exposes no .on', () => {
498
+ service['connectedProvider'] = {
499
+ request: vi.fn()
500
+ } as unknown as EthereumProvider
501
+ expect(service.onLifecycleEvent(() => {})).toBeUndefined()
502
+ })
503
+
504
+ it('returns undefined when the provider has .on but no .removeListener (would leak on teardown)', () => {
505
+ // EIP-1193 lists removeListener as SHOULD, not MUST. Attaching listeners
506
+ // we can never remove IS the zombie-listener class this layer targets —
507
+ // never half-subscribe.
508
+ const on = vi.fn()
509
+ service['connectedProvider'] = {
510
+ request: vi.fn(),
511
+ on
512
+ } as unknown as EthereumProvider
513
+ expect(service.onLifecycleEvent(() => {})).toBeUndefined()
514
+ expect(on).not.toHaveBeenCalled()
515
+ })
516
+
517
+ it('returns undefined in iframe bridge mode (the provider is a Comlink proxy)', () => {
518
+ const { provider } = providerWithEvents()
519
+ service['connectedProvider'] = provider
520
+ // The bridge child sets this flag when UWC runs inside the Link iframe; a
521
+ // raw EIP-1193 handler can't ride the bridge, so we must NOT subscribe.
522
+ ;(
523
+ window as unknown as { UWCBridgeChildInitialized?: boolean }
524
+ ).UWCBridgeChildInitialized = true
525
+ try {
526
+ expect(service.onLifecycleEvent(() => {})).toBeUndefined()
527
+ } finally {
528
+ delete (window as unknown as { UWCBridgeChildInitialized?: boolean })
529
+ .UWCBridgeChildInitialized
530
+ }
531
+ })
532
+
533
+ it('maps events, drops the address, and converts the chain id to CAIP-2', () => {
534
+ const { provider, handlers } = providerWithEvents()
535
+ service['connectedProvider'] = provider
536
+ const events: WalletLifecycleEvent[] = []
537
+ const stop = service.onLifecycleEvent(e => events.push(e))
538
+ expect(typeof stop).toBe('function')
539
+
540
+ handlers.accountsChanged!(['0xNEWADDRESS'])
541
+ handlers.accountsChanged!([]) // empty list = disconnected
542
+ handlers.chainChanged!('0x2105') // 8453 (Base)
543
+ handlers.disconnect!()
544
+
545
+ expect(events).toEqual([
546
+ { type: 'accountChanged' },
547
+ { type: 'disconnect' },
548
+ { type: 'chainChanged', chainId: 'eip155:8453' },
549
+ { type: 'disconnect' }
550
+ ])
551
+ // The new address NEVER appears in an emitted event (PII boundary).
552
+ expect(JSON.stringify(events)).not.toContain('0xNEWADDRESS')
553
+
554
+ stop!()
555
+ expect(provider.removeListener).toHaveBeenCalledTimes(3)
556
+ })
557
+
558
+ it('emits chainChanged WITHOUT a chainId for malformed payloads — never a bogus CAIP id', () => {
559
+ const { provider, handlers } = providerWithEvents()
560
+ service['connectedProvider'] = provider
561
+ const events: WalletLifecycleEvent[] = []
562
+ service.onLifecycleEvent(e => events.push(e))
563
+
564
+ handlers.chainChanged!('0x1junk') // parseInt(_, 16) would read 1
565
+ handlers.chainChanged!('12abc') // parseInt(_, 10) would read 12
566
+ handlers.chainChanged!('-5') // negative
567
+ handlers.chainChanged!(1.5) // non-integer number
568
+ handlers.chainChanged!(-1) // negative number
569
+ handlers.chainChanged!('0x') // no digits
570
+ handlers.chainChanged!('0x20000000000001') // 2^53+1: parseInt lost precision
571
+ handlers.chainChanged!('9007199254740993') // 2^53+1 decimal: same
572
+ handlers.chainChanged!('137') // valid decimal string
573
+ handlers.chainChanged!(8453) // valid number
574
+
575
+ expect(events).toEqual([
576
+ { type: 'chainChanged' },
577
+ { type: 'chainChanged' },
578
+ { type: 'chainChanged' },
579
+ { type: 'chainChanged' },
580
+ { type: 'chainChanged' },
581
+ { type: 'chainChanged' },
582
+ { type: 'chainChanged' },
583
+ { type: 'chainChanged' },
584
+ { type: 'chainChanged', chainId: 'eip155:137' },
585
+ { type: 'chainChanged', chainId: 'eip155:8453' }
586
+ ])
587
+ })
588
+ })
477
589
  })
@@ -4,7 +4,8 @@ import type {
4
4
  EVMCapabilities,
5
5
  EVMCapabilityStatus,
6
6
  Network,
7
- WalletMetadata
7
+ WalletMetadata,
8
+ WalletLifecycleEvent
8
9
  } from '@meshconnect/uwc-types'
9
10
  import type {
10
11
  EthereumProvider,
@@ -13,6 +14,32 @@ import type {
13
14
  import { getAvailableWallets as getEIP6963Wallets } from '../../eip6963-discovery'
14
15
  import { supportedNetworks } from '@meshconnect/uwc-constants'
15
16
 
17
+ /**
18
+ * Normalize an EIP-1193 `chainChanged` payload (hex `'0x1'`, decimal string, or a
19
+ * number) to a CAIP-2 id. Returns undefined for an unparseable value rather than
20
+ * emitting a bogus chain id.
21
+ */
22
+ function toCaipChainId(raw: unknown): NetworkId | undefined {
23
+ let decimal: number | undefined
24
+ if (typeof raw === 'string') {
25
+ // Validate the FULL string before converting: parseInt('0x1junk', 16) === 1,
26
+ // which would emit a bogus chain id instead of undefined.
27
+ if (/^0x[0-9a-fA-F]+$/.test(raw)) {
28
+ decimal = parseInt(raw, 16)
29
+ } else if (/^\d+$/.test(raw)) {
30
+ decimal = parseInt(raw, 10)
31
+ }
32
+ } else if (typeof raw === 'number' && Number.isInteger(raw) && raw >= 0) {
33
+ decimal = raw
34
+ }
35
+ // isSafeInteger: beyond 2^53-1 parseInt has already lost precision (and a
36
+ // ~256-nibble hex overflows to Infinity) — emitting a silently-wrong chain
37
+ // id is worse than emitting none.
38
+ return decimal !== undefined && Number.isSafeInteger(decimal)
39
+ ? (`eip155:${decimal}` as NetworkId)
40
+ : undefined
41
+ }
42
+
16
43
  /**
17
44
  * Service for managing Ethereum wallet connections
18
45
  */
@@ -210,6 +237,71 @@ export class EthereumWalletService {
210
237
  return this.connectedProvider
211
238
  }
212
239
 
240
+ /**
241
+ * Subscribe to the live EIP-1193 provider's lifecycle events (account/chain
242
+ * switched in the wallet, disconnect). Returns a teardown, or `undefined` when
243
+ * there is no connected provider or it lacks `.on`/`.removeListener` (EIP-1193
244
+ * lists removeListener as SHOULD — attaching listeners we could never remove
245
+ * would BE the zombie-listener class this layer exists to prevent).
246
+ *
247
+ * PII boundary: the new address from `accountsChanged` is NEVER forwarded — an
248
+ * empty account list maps to `disconnect`, a non-empty one to a content-free
249
+ * `accountChanged`. `chainChanged` carries only the (non-PII) CAIP-2 chain id.
250
+ */
251
+ onLifecycleEvent(
252
+ listener: (event: WalletLifecycleEvent) => void
253
+ ): (() => void) | undefined {
254
+ const provider = this.connectedProvider
255
+ if (
256
+ !provider ||
257
+ typeof provider.on !== 'function' ||
258
+ typeof provider.removeListener !== 'function'
259
+ ) {
260
+ return undefined
261
+ }
262
+
263
+ // In the production iframe the connected provider is a Comlink proxy across
264
+ // the bridge: an un-proxied EIP-1193 handler can't be cloned over postMessage,
265
+ // and `on`/`removeListener` can't satisfy teardown across the bridge (callback
266
+ // identity). Subscribing here would throw or leak a listener. Until the bridge
267
+ // exposes a forwarding wrapper (P3), report lifecycle as unavailable over the
268
+ // bridge (the core emits `lifecycleTelemetryUnavailable`) rather than
269
+ // attempting a broken subscription.
270
+ if (
271
+ typeof window !== 'undefined' &&
272
+ (window as unknown as { UWCBridgeChildInitialized?: boolean })
273
+ .UWCBridgeChildInitialized === true
274
+ ) {
275
+ return undefined
276
+ }
277
+
278
+ const onAccounts = (accounts: unknown) => {
279
+ const list = Array.isArray(accounts) ? accounts : []
280
+ listener(
281
+ list.length === 0 ? { type: 'disconnect' } : { type: 'accountChanged' }
282
+ )
283
+ }
284
+ const onChain = (chainId: unknown) => {
285
+ const caip = toCaipChainId(chainId)
286
+ listener(
287
+ caip !== undefined
288
+ ? { type: 'chainChanged', chainId: caip }
289
+ : { type: 'chainChanged' }
290
+ )
291
+ }
292
+ const onDisconnect = () => listener({ type: 'disconnect' })
293
+
294
+ provider.on('accountsChanged', onAccounts)
295
+ provider.on('chainChanged', onChain)
296
+ provider.on('disconnect', onDisconnect)
297
+
298
+ return () => {
299
+ provider.removeListener?.('accountsChanged', onAccounts)
300
+ provider.removeListener?.('chainChanged', onChain)
301
+ provider.removeListener?.('disconnect', onDisconnect)
302
+ }
303
+ }
304
+
213
305
  /**
214
306
  * Disconnect (clear state only)
215
307
  */
@@ -0,0 +1,57 @@
1
+ import { describe, it, expect, vi, afterEach } from 'vitest'
2
+ import type { WalletLifecycleEvent } from '@meshconnect/uwc-types'
3
+ import { SolanaWalletService } from './solana-wallet-service'
4
+ import { StorageService } from '../storage-service'
5
+
6
+ function mockAdapter() {
7
+ const handlers: Record<string, () => void> = {}
8
+ return {
9
+ on: (e: string, h: () => void) => {
10
+ handlers[e] = h
11
+ },
12
+ off: vi.fn((e: string) => {
13
+ delete handlers[e]
14
+ }),
15
+ fire: (e: string) => handlers[e]?.()
16
+ }
17
+ }
18
+
19
+ function serviceWith(adapter: unknown) {
20
+ const service = new SolanaWalletService(new StorageService())
21
+ ;(service as unknown as { connectedAdapter: unknown }).connectedAdapter =
22
+ adapter
23
+ return service
24
+ }
25
+
26
+ describe('SolanaWalletService.onLifecycleEvent', () => {
27
+ afterEach(() => {
28
+ delete (window as unknown as { UWCBridgeChildInitialized?: boolean })
29
+ .UWCBridgeChildInitialized
30
+ })
31
+
32
+ it('returns undefined with no connected adapter', () => {
33
+ expect(serviceWith(null).onLifecycleEvent(() => {})).toBeUndefined()
34
+ })
35
+
36
+ it('maps the adapter disconnect event and tears down via .off', () => {
37
+ const adapter = mockAdapter()
38
+ const events: WalletLifecycleEvent[] = []
39
+ const stop = serviceWith(adapter).onLifecycleEvent(e => events.push(e))
40
+ expect(typeof stop).toBe('function')
41
+
42
+ adapter.fire('disconnect')
43
+ expect(events).toEqual([{ type: 'disconnect' }])
44
+
45
+ stop!()
46
+ expect(adapter.off).toHaveBeenCalledWith('disconnect', expect.any(Function))
47
+ })
48
+
49
+ it('returns undefined in iframe bridge mode (the adapter is a Comlink proxy)', () => {
50
+ ;(
51
+ window as unknown as { UWCBridgeChildInitialized?: boolean }
52
+ ).UWCBridgeChildInitialized = true
53
+ expect(
54
+ serviceWith(mockAdapter()).onLifecycleEvent(() => {})
55
+ ).toBeUndefined()
56
+ })
57
+ })
@@ -1,4 +1,8 @@
1
- import type { NetworkId, AvailableAddress } from '@meshconnect/uwc-types'
1
+ import type {
2
+ NetworkId,
3
+ AvailableAddress,
4
+ WalletLifecycleEvent
5
+ } from '@meshconnect/uwc-types'
2
6
  import {
3
7
  getSolanaWallets,
4
8
  type SolanaAdapter,
@@ -149,6 +153,40 @@ export class SolanaWalletService {
149
153
  return this.connectedAdapter
150
154
  }
151
155
 
156
+ /**
157
+ * Subscribe to the connected wallet-standard adapter's lifecycle. Only the
158
+ * adapter's typed `disconnect` event is forwarded (`WalletAdapterEvents` doesn't
159
+ * expose a guaranteed account-change event, so we don't invent one). Returns a
160
+ * teardown, or undefined when there is no connected adapter / it can't be
161
+ * observed.
162
+ *
163
+ * Bridge guard: in the production iframe the adapter is a Comlink proxy — a raw
164
+ * handler can't ride the bridge — so we skip (the core reports lifecycle
165
+ * unavailable), mirroring the EVM path.
166
+ */
167
+ onLifecycleEvent(
168
+ listener: (event: WalletLifecycleEvent) => void
169
+ ): (() => void) | undefined {
170
+ const adapter = this.connectedAdapter
171
+ // A `.on`-only guard is safe HERE (unlike raw EIP-1193, where removeListener
172
+ // is only a SHOULD): the adapter is a UWC-constructed StandardWalletAdapter
173
+ // backed by eventemitter3, where `.off` exists whenever `.on` does.
174
+ if (!adapter || typeof adapter.on !== 'function') return undefined
175
+ if (
176
+ typeof window !== 'undefined' &&
177
+ (window as unknown as { UWCBridgeChildInitialized?: boolean })
178
+ .UWCBridgeChildInitialized === true
179
+ ) {
180
+ return undefined
181
+ }
182
+
183
+ const onDisconnect = () => listener({ type: 'disconnect' })
184
+ adapter.on('disconnect', onDisconnect)
185
+ return () => {
186
+ adapter.off('disconnect', onDisconnect)
187
+ }
188
+ }
189
+
152
190
  /**
153
191
  * Disconnect (clear state only, don't actually disconnect from wallet)
154
192
  */
@@ -3,6 +3,7 @@ import type {
3
3
  AvailableAddress,
4
4
  WalletMetadata
5
5
  } from '@meshconnect/uwc-types'
6
+ import { WalletConnectorError } from '@meshconnect/uwc-types'
6
7
  import {
7
8
  getTronWallets,
8
9
  type TronProvider,
@@ -83,7 +84,13 @@ export class TronWalletService {
83
84
  const address = await this.resolveAddress(provider.tronWeb)
84
85
 
85
86
  if (!address) {
86
- throw new Error('No address returned from Tron wallet')
87
+ // Delta C: throw a typed connector error so telemetry classifies this as
88
+ // source:'connector' (our injected-Tron path), not an unknown-origin error
89
+ // — the ONC-3172 "Tron connected but exposed no address" class.
90
+ throw new WalletConnectorError({
91
+ type: 'unknown',
92
+ message: 'No address returned from Tron wallet'
93
+ })
87
94
  }
88
95
 
89
96
  this.connectedProvider = provider