@meshconnect/uwc-core 1.2.3-snapshot.2486eb1 → 1.2.3-snapshot.dcfdbbf
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.
- package/dist/events.d.ts +5 -20
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +0 -4
- package/dist/events.js.map +1 -1
- package/dist/observability/lifecycle-bridge.d.ts +31 -13
- package/dist/observability/lifecycle-bridge.d.ts.map +1 -1
- package/dist/observability/lifecycle-bridge.js +167 -92
- package/dist/observability/lifecycle-bridge.js.map +1 -1
- package/dist/observability/telemetry.d.ts.map +1 -1
- package/dist/observability/telemetry.js +0 -25
- package/dist/observability/telemetry.js.map +1 -1
- package/dist/services/connection-service.d.ts +43 -0
- package/dist/services/connection-service.d.ts.map +1 -1
- package/dist/services/connection-service.js +163 -9
- package/dist/services/connection-service.js.map +1 -1
- package/dist/services/network-switch-service.d.ts.map +1 -1
- package/dist/services/network-switch-service.js +4 -1
- package/dist/services/network-switch-service.js.map +1 -1
- package/dist/universal-wallet-connector.d.ts.map +1 -1
- package/dist/universal-wallet-connector.js +1 -7
- package/dist/universal-wallet-connector.js.map +1 -1
- package/package.json +5 -5
- package/src/events.ts +5 -24
- package/src/observability/lifecycle-bridge.test.ts +197 -0
- package/src/observability/lifecycle-bridge.ts +211 -99
- package/src/observability/telemetry.test.ts +0 -35
- package/src/observability/telemetry.ts +0 -25
- package/src/services/connection-service.test.ts +272 -0
- package/src/services/connection-service.ts +190 -10
- package/src/services/network-switch-service.test.ts +33 -0
- package/src/services/network-switch-service.ts +4 -1
- package/src/universal-wallet-connector.ts +1 -11
package/dist/events.d.ts
CHANGED
|
@@ -65,25 +65,6 @@ export interface UWCEventMap {
|
|
|
65
65
|
relayError: {
|
|
66
66
|
error: WalletError;
|
|
67
67
|
};
|
|
68
|
-
/**
|
|
69
|
-
* The WalletConnect relay transport socket dropped (relayer `disconnect` /
|
|
70
|
-
* `transport_closed`) — e.g. iOS suspending the WebView during a wallet
|
|
71
|
-
* deep-link silently kills the socket. Distinct from `relayError` (an abnormal
|
|
72
|
-
* close that surfaced an ERROR): this is the lifecycle FACT of the socket going
|
|
73
|
-
* down, clean or not. Pair with `relayReconnected` (same `sdkSessionId`) to
|
|
74
|
-
* measure the dead window — the gap that leaves an in-flight sign/connect
|
|
75
|
-
* response undelivered (CARE-263). Telemetry-only; carries at most a scrubbed
|
|
76
|
-
* reason (no address / payload).
|
|
77
|
-
*/
|
|
78
|
-
relayDisconnected: {
|
|
79
|
-
error?: WalletError;
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* The WalletConnect relay transport reconnected after a `relayDisconnected`.
|
|
83
|
-
* The elapsed time since the paired disconnect is the socket's dead window.
|
|
84
|
-
* Telemetry-only.
|
|
85
|
-
*/
|
|
86
|
-
relayReconnected: void;
|
|
87
68
|
/**
|
|
88
69
|
* `SignClient.init` (WalletConnect) rejected — the client could not be created, so
|
|
89
70
|
* no connect could proceed. Rejects on a storage (IndexedDB) or crypto init failure,
|
|
@@ -125,9 +106,13 @@ export interface UWCEventMap {
|
|
|
125
106
|
isLoading: boolean;
|
|
126
107
|
isWaitingForUserApproval: boolean;
|
|
127
108
|
};
|
|
128
|
-
/** Network switch succeeded.
|
|
109
|
+
/** Network switch succeeded. `address` is the new address the switch
|
|
110
|
+
* resolved to (present whenever the connector returned one) — used by
|
|
111
|
+
* the lifecycle bridge to suppress the wallet's own echo of this same
|
|
112
|
+
* change (see attachLifecycle's echo-suppression window). */
|
|
129
113
|
networkSwitched: {
|
|
130
114
|
network: Network;
|
|
115
|
+
address?: string;
|
|
131
116
|
};
|
|
132
117
|
/** Wallet capabilities were refreshed. */
|
|
133
118
|
capabilitiesUpdated: {
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,WAAW,EACX,eAAe,EACf,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,0BAA0B,EAC3B,MAAM,wBAAwB,CAAA;AAE/B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,wKAUjB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,KAAK,EAAE,IAAI,CAAA;IACX;;;;;OAKG;IACH,eAAe,EAAE;QACf,OAAO,EAAE,cAAc,EAAE,CAAA;QACzB,SAAS,CAAC,EACN,MAAM,CAAC,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,GACtD,SAAS,CAAA;KACd,CAAA;IACD;;;;;OAKG;IACH,qBAAqB,EAAE;QACrB,SAAS,EAAE,SAAS,CAAA;QACpB,cAAc,EAAE,cAAc,CAAA;QAC9B,KAAK,EAAE,WAAW,CAAA;KACnB,CAAA;IACD;;;;;;OAMG;IACH,WAAW,EAAE;QACX,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;QACjC,KAAK,EAAE,WAAW,CAAA;KACnB,CAAA;IAED;;;;;;;OAOG;IACH,UAAU,EAAE;QACV,KAAK,EAAE,WAAW,CAAA;KACnB,CAAA;IAED;;;;;;;;;OASG;IACH,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/events.js
CHANGED
|
@@ -30,8 +30,6 @@ export const TELEMETRY_ONLY_EVENTS = new Set([
|
|
|
30
30
|
'walletDiscoveryFailed',
|
|
31
31
|
'bridgeError',
|
|
32
32
|
'relayError',
|
|
33
|
-
'relayDisconnected',
|
|
34
|
-
'relayReconnected',
|
|
35
33
|
'walletConnectInitError',
|
|
36
34
|
'walletAccountChanged',
|
|
37
35
|
'walletChainChanged',
|
|
@@ -53,8 +51,6 @@ const EVENT_NAME_FLAGS = {
|
|
|
53
51
|
walletDiscoveryFailed: true,
|
|
54
52
|
bridgeError: true,
|
|
55
53
|
relayError: true,
|
|
56
|
-
relayDisconnected: true,
|
|
57
|
-
relayReconnected: true,
|
|
58
54
|
walletConnectInitError: true,
|
|
59
55
|
connecting: true,
|
|
60
56
|
connected: true,
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS;IACT,YAAY;IACZ,eAAe;IACf,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,uBAAuB;IACvB,uBAAuB;IACvB,YAAY;CACJ,CAAA;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS;IACT,YAAY;IACZ,eAAe;IACf,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,uBAAuB;IACvB,uBAAuB;IACvB,YAAY;CACJ,CAAA;AA8SV;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA8B,IAAI,GAAG,CAAC;IACtE,KAAK;IACL,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,uBAAuB;IACvB,aAAa;IACb,YAAY;IACZ,wBAAwB;IACxB,sBAAsB;IACtB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;IACtB,+BAA+B;IAC/B,yBAAyB;IACzB,0BAA0B;CAC3B,CAAC,CAAA;AAOF;;;;;GAKG;AACH,MAAM,gBAAgB,GAA+B;IACnD,KAAK,EAAE,IAAI;IACX,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,IAAI;IAC3B,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,sBAAsB,EAAE,IAAI;IAC5B,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,IAAI;IACzB,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,IAAI;IACT,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,IAAI;IAC1B,6BAA6B,EAAE,IAAI;IACnC,uBAAuB,EAAE,IAAI;IAC7B,wBAAwB,EAAE,IAAI;IAC9B,MAAM,EAAE,IAAI;CACb,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAmB,CAAA"}
|
|
@@ -20,9 +20,19 @@ export interface AttachLifecycleOptions {
|
|
|
20
20
|
* The active connector's `onLifecycleEvent` (already bound). `undefined` when the
|
|
21
21
|
* connector can't observe lifecycle at all; the value it returns is `undefined`
|
|
22
22
|
* when THIS session can't be observed (e.g. no live `.on`). Either way the
|
|
23
|
-
* bridge emits `lifecycleTelemetryUnavailable` and becomes a no-op
|
|
23
|
+
* bridge emits `lifecycleTelemetryUnavailable` and becomes a no-op FOR THIS
|
|
24
|
+
* STREAM — `subscribeAccounts` below is attached independently.
|
|
24
25
|
*/
|
|
25
26
|
subscribe: ((l: (e: WalletLifecycleEvent) => void) => (() => void) | undefined) | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* The active connector's `onAccountsChanged` (already bound), carrying the
|
|
29
|
+
* REAL account list — a separate concern from `subscribe` above (some
|
|
30
|
+
* connectors, e.g. Tron today, implement one without the other). Absent
|
|
31
|
+
* entirely when the connector doesn't support real account-sync.
|
|
32
|
+
*/
|
|
33
|
+
subscribeAccounts?: ((l: (accounts: string[]) => void) => (() => void) | undefined) | undefined;
|
|
34
|
+
/** Invoked with the resolved (post-echo-filter) real account list whenever `subscribeAccounts` delivers one. Required whenever `subscribeAccounts` is provided. */
|
|
35
|
+
onAccountsChanged?: (accounts: string[]) => void;
|
|
26
36
|
/** Resolved per-event so a mid-session account/chain change is reflected. */
|
|
27
37
|
getRouting: () => LifecycleRouting;
|
|
28
38
|
connectionMode: ConnectionMode;
|
|
@@ -31,8 +41,9 @@ export interface AttachLifecycleOptions {
|
|
|
31
41
|
/** Direct page vs production iframe — stamped on `lifecycleTelemetryUnavailable`. */
|
|
32
42
|
runtime?: 'direct' | 'iframe';
|
|
33
43
|
/**
|
|
34
|
-
* Window (ms) within which a wallet `chainChanged` is
|
|
35
|
-
* UWC-initiated `switchNetwork` and suppressed.
|
|
44
|
+
* Window (ms) within which a wallet `chainChanged`/`accountsChanged` is
|
|
45
|
+
* treated as the echo of a UWC-initiated `switchNetwork` and suppressed.
|
|
46
|
+
* Default 3000.
|
|
36
47
|
*/
|
|
37
48
|
echoWindowMs?: number;
|
|
38
49
|
/**
|
|
@@ -44,6 +55,7 @@ export interface AttachLifecycleOptions {
|
|
|
44
55
|
*/
|
|
45
56
|
initialSwitch?: {
|
|
46
57
|
chainId: NetworkId;
|
|
58
|
+
address?: string;
|
|
47
59
|
at: number;
|
|
48
60
|
} | undefined;
|
|
49
61
|
now?: () => number;
|
|
@@ -51,19 +63,25 @@ export interface AttachLifecycleOptions {
|
|
|
51
63
|
/**
|
|
52
64
|
* Bridge a connector's PII-safe `WalletLifecycleEvent` stream onto the event bus
|
|
53
65
|
* as `walletAccountChanged` / `walletChainChanged` / `walletDisconnected` /
|
|
54
|
-
* `walletSessionExpired
|
|
66
|
+
* `walletSessionExpired`, AND (separately) forward the connector's real
|
|
67
|
+
* account list to `onAccountsChanged` for session-sync.
|
|
55
68
|
*
|
|
56
|
-
*
|
|
69
|
+
* Three correctness concerns are handled here:
|
|
57
70
|
* - **Echo suppression.** When UWC drives a `switchNetwork`, the wallet emits its
|
|
58
|
-
* own `chainChanged` for the same
|
|
59
|
-
* `networkSwitched` / the switch handoff, so re-emitting it
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* - **Availability is signal.** If the connector can't observe
|
|
63
|
-
* `lifecycleTelemetryUnavailable` ONCE
|
|
64
|
-
*
|
|
71
|
+
* own `chainChanged`/`accountsChanged` for the same change — that's already
|
|
72
|
+
* captured by UWC's `networkSwitched` / the switch handoff, so re-emitting it
|
|
73
|
+
* would double-count. We watch the bus for `networkSwitched` and drop a
|
|
74
|
+
* matching echo of either kind inside `echoWindowMs`.
|
|
75
|
+
* - **Availability is signal, per stream.** If the connector can't observe
|
|
76
|
+
* telemetry lifecycle, we emit `lifecycleTelemetryUnavailable` ONCE — but
|
|
77
|
+
* that signal is specific to the TELEMETRY stream. A connector missing
|
|
78
|
+
* `onLifecycleEvent` but implementing `onAccountsChanged` (e.g. Tron today)
|
|
79
|
+
* still gets real account-sync; the two streams are independently attached.
|
|
80
|
+
* - **Shared emission budget.** Both streams count against the same
|
|
81
|
+
* `MAX_LIFECYCLE_EVENTS_PER_ATTACHMENT` ceiling — a storming provider
|
|
82
|
+
* doesn't get double budget just because two streams exist.
|
|
65
83
|
*
|
|
66
|
-
* @returns a teardown that removes
|
|
84
|
+
* @returns a teardown that removes both connector subscriptions AND the bus watcher.
|
|
67
85
|
*/
|
|
68
86
|
export declare function attachLifecycle(opts: AttachLifecycleOptions): () => void;
|
|
69
87
|
//# sourceMappingURL=lifecycle-bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-bridge.d.ts","sourceRoot":"","sources":["../../src/observability/lifecycle-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,SAAS,EAEV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,mEAAmE;AACnE,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAClC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,MAAM,CAAA;AAEtD,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,YAAY,CAAA;IAC1B
|
|
1
|
+
{"version":3,"file":"lifecycle-bridge.d.ts","sourceRoot":"","sources":["../../src/observability/lifecycle-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,SAAS,EAEV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,mEAAmE;AACnE,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAClC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,MAAM,CAAA;AAEtD,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,YAAY,CAAA;IAC1B;;;;;;OAMG;IACH,SAAS,EACL,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,GACpE,SAAS,CAAA;IACb;;;;;OAKG;IACH,iBAAiB,CAAC,EACd,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,GAC/D,SAAS,CAAA;IACb,mKAAmK;IACnK,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAChD,6EAA6E;IAC7E,UAAU,EAAE,MAAM,gBAAgB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,qFAAqF;IACrF,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC7B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EACV;QAAE,OAAO,EAAE,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GACpD,SAAS,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,IAAI,CAsOxE"}
|
|
@@ -9,22 +9,28 @@ export const MAX_LIFECYCLE_EVENTS_PER_ATTACHMENT = 100;
|
|
|
9
9
|
/**
|
|
10
10
|
* Bridge a connector's PII-safe `WalletLifecycleEvent` stream onto the event bus
|
|
11
11
|
* as `walletAccountChanged` / `walletChainChanged` / `walletDisconnected` /
|
|
12
|
-
* `walletSessionExpired
|
|
12
|
+
* `walletSessionExpired`, AND (separately) forward the connector's real
|
|
13
|
+
* account list to `onAccountsChanged` for session-sync.
|
|
13
14
|
*
|
|
14
|
-
*
|
|
15
|
+
* Three correctness concerns are handled here:
|
|
15
16
|
* - **Echo suppression.** When UWC drives a `switchNetwork`, the wallet emits its
|
|
16
|
-
* own `chainChanged` for the same
|
|
17
|
-
* `networkSwitched` / the switch handoff, so re-emitting it
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* - **Availability is signal.** If the connector can't observe
|
|
21
|
-
* `lifecycleTelemetryUnavailable` ONCE
|
|
22
|
-
*
|
|
17
|
+
* own `chainChanged`/`accountsChanged` for the same change — that's already
|
|
18
|
+
* captured by UWC's `networkSwitched` / the switch handoff, so re-emitting it
|
|
19
|
+
* would double-count. We watch the bus for `networkSwitched` and drop a
|
|
20
|
+
* matching echo of either kind inside `echoWindowMs`.
|
|
21
|
+
* - **Availability is signal, per stream.** If the connector can't observe
|
|
22
|
+
* telemetry lifecycle, we emit `lifecycleTelemetryUnavailable` ONCE — but
|
|
23
|
+
* that signal is specific to the TELEMETRY stream. A connector missing
|
|
24
|
+
* `onLifecycleEvent` but implementing `onAccountsChanged` (e.g. Tron today)
|
|
25
|
+
* still gets real account-sync; the two streams are independently attached.
|
|
26
|
+
* - **Shared emission budget.** Both streams count against the same
|
|
27
|
+
* `MAX_LIFECYCLE_EVENTS_PER_ATTACHMENT` ceiling — a storming provider
|
|
28
|
+
* doesn't get double budget just because two streams exist.
|
|
23
29
|
*
|
|
24
|
-
* @returns a teardown that removes
|
|
30
|
+
* @returns a teardown that removes both connector subscriptions AND the bus watcher.
|
|
25
31
|
*/
|
|
26
32
|
export function attachLifecycle(opts) {
|
|
27
|
-
const { eventManager, subscribe, getRouting } = opts;
|
|
33
|
+
const { eventManager, subscribe, subscribeAccounts, getRouting } = opts;
|
|
28
34
|
const runtime = opts.runtime ?? 'direct';
|
|
29
35
|
const now = opts.now ?? Date.now;
|
|
30
36
|
const echoWindowMs = opts.echoWindowMs ?? 3000;
|
|
@@ -35,121 +41,190 @@ export function attachLifecycle(opts) {
|
|
|
35
41
|
walletId: opts.walletId,
|
|
36
42
|
runtime
|
|
37
43
|
});
|
|
38
|
-
if (!subscribe) {
|
|
44
|
+
if (!subscribe && !subscribeAccounts) {
|
|
39
45
|
// In the production iframe the injected subscription is deliberately not
|
|
40
46
|
// attempted (the provider is a Comlink proxy) — the BRIDGE, not the connector,
|
|
41
|
-
// is why lifecycle is unobservable. On the direct page, a connector with
|
|
42
|
-
//
|
|
47
|
+
// is why lifecycle is unobservable. On the direct page, a connector with
|
|
48
|
+
// neither stream simply has no lifecycle support for this namespace yet.
|
|
43
49
|
emitUnavailable(runtime === 'iframe'
|
|
44
50
|
? 'bridge_subscription_unavailable'
|
|
45
51
|
: 'unsupported_namespace');
|
|
46
52
|
return () => { };
|
|
47
53
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
|
|
54
|
+
let pendingSwitches = opts.initialSwitch
|
|
55
|
+
? [opts.initialSwitch]
|
|
56
|
+
: [];
|
|
57
|
+
const pruneExpired = () => {
|
|
58
|
+
pendingSwitches = pendingSwitches.filter(p => now() - p.at <= echoWindowMs);
|
|
59
|
+
};
|
|
60
|
+
// `awaitingWallet` then `networkSwitched` are usually the START and
|
|
61
|
+
// COMPLETION of the SAME switch — re-arming updates that existing entry
|
|
62
|
+
// (refreshing `at`, adding the resolved address) rather than pushing a
|
|
63
|
+
// duplicate, which would otherwise leave a phantom entry behind after only
|
|
64
|
+
// one of the two is consumed by a single wallet echo.
|
|
65
|
+
const armOrRearm = (partial) => {
|
|
66
|
+
pruneExpired();
|
|
67
|
+
if (partial.chainId !== undefined) {
|
|
68
|
+
const idx = pendingSwitches.findIndex(p => p.chainId === partial.chainId);
|
|
69
|
+
if (idx !== -1) {
|
|
70
|
+
pendingSwitches[idx] = {
|
|
71
|
+
...pendingSwitches[idx],
|
|
72
|
+
...partial,
|
|
73
|
+
at: now()
|
|
74
|
+
};
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
pendingSwitches.push({ ...partial, at: now() });
|
|
79
|
+
};
|
|
57
80
|
const offAwaiting = eventManager.on('awaitingWallet', data => {
|
|
58
81
|
if (data.operation === 'switchNetwork' && data.chainId !== undefined) {
|
|
59
|
-
|
|
82
|
+
armOrRearm({ chainId: data.chainId });
|
|
60
83
|
}
|
|
61
84
|
});
|
|
62
85
|
const offSwitched = eventManager.on('networkSwitched', data => {
|
|
63
|
-
|
|
86
|
+
armOrRearm({ chainId: data.network.id, address: data.address });
|
|
64
87
|
});
|
|
65
88
|
const detachBusWatchers = () => {
|
|
66
89
|
offAwaiting();
|
|
67
90
|
offSwitched();
|
|
68
91
|
};
|
|
92
|
+
// Emission budget for THIS attachment, shared across both streams —
|
|
93
|
+
// suppressed echoes don't spend it.
|
|
94
|
+
let emitted = 0;
|
|
95
|
+
let capNotified = false;
|
|
96
|
+
const overCap = () => {
|
|
97
|
+
if (emitted >= MAX_LIFECYCLE_EVENTS_PER_ATTACHMENT) {
|
|
98
|
+
// Mark the trip ONCE — a silent cap would be indistinguishable from a
|
|
99
|
+
// provider that simply went quiet.
|
|
100
|
+
if (!capNotified) {
|
|
101
|
+
capNotified = true;
|
|
102
|
+
emitUnavailable('emission_cap');
|
|
103
|
+
}
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
return false;
|
|
107
|
+
};
|
|
69
108
|
// Defense-in-depth: a connector whose subscribe THROWS (e.g. a provider whose
|
|
70
109
|
// `.on` rejects an un-proxied handler across the iframe bridge) must degrade to
|
|
71
110
|
// "unavailable", never break the connect path that called us.
|
|
72
111
|
let unsub;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
// connect. Telemetry must never do that.
|
|
83
|
-
try {
|
|
84
|
-
if (emitted >= MAX_LIFECYCLE_EVENTS_PER_ATTACHMENT) {
|
|
85
|
-
// Mark the trip ONCE — a silent cap would be indistinguishable from a
|
|
86
|
-
// provider that simply went quiet.
|
|
87
|
-
if (!capNotified) {
|
|
88
|
-
capNotified = true;
|
|
89
|
-
emitUnavailable('emission_cap');
|
|
90
|
-
}
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const routing = getRouting();
|
|
94
|
-
switch (e.type) {
|
|
95
|
-
case 'accountChanged':
|
|
96
|
-
emitted++;
|
|
97
|
-
eventManager.emit('walletAccountChanged', routing);
|
|
112
|
+
if (subscribe) {
|
|
113
|
+
try {
|
|
114
|
+
unsub = subscribe(e => {
|
|
115
|
+
// The whole body is guarded: wallet SDKs dispatch their listeners
|
|
116
|
+
// unguarded (e.g. TonConnect's bare `forEach`), so a throw here would
|
|
117
|
+
// abort delivery to the wallet's OWN later subscribers, including one
|
|
118
|
+
// resolving a pending connect. Telemetry must never do that.
|
|
119
|
+
try {
|
|
120
|
+
if (overCap())
|
|
98
121
|
return;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
122
|
+
const routing = getRouting();
|
|
123
|
+
switch (e.type) {
|
|
124
|
+
case 'accountChanged':
|
|
125
|
+
emitted++;
|
|
126
|
+
eventManager.emit('walletAccountChanged', routing);
|
|
127
|
+
return;
|
|
128
|
+
case 'chainChanged': {
|
|
129
|
+
pruneExpired();
|
|
130
|
+
const idx = e.chainId !== undefined
|
|
131
|
+
? pendingSwitches.findIndex(p => p.chainId !== undefined && p.chainId === e.chainId)
|
|
132
|
+
: -1;
|
|
133
|
+
if (idx !== -1) {
|
|
134
|
+
// Consume the echo: a UWC switch produces exactly one wallet echo, so
|
|
135
|
+
// a LATER chainChanged to the same chain inside the window is a genuine
|
|
136
|
+
// user-initiated switch-back and must not be suppressed. Only the
|
|
137
|
+
// chain half is consumed — a still-pending address echo (if the
|
|
138
|
+
// switch also changed address format) must still be checked; drop the
|
|
139
|
+
// entry entirely once nothing is left pending on it.
|
|
140
|
+
const entry = pendingSwitches[idx];
|
|
141
|
+
if (entry.address !== undefined) {
|
|
142
|
+
pendingSwitches[idx] = { ...entry, chainId: undefined };
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
pendingSwitches.splice(idx, 1);
|
|
146
|
+
}
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
emitted++;
|
|
150
|
+
eventManager.emit('walletChainChanged', {
|
|
151
|
+
...routing,
|
|
152
|
+
...(e.chainId !== undefined ? { chainId: e.chainId } : {})
|
|
153
|
+
});
|
|
109
154
|
return;
|
|
110
155
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
156
|
+
case 'disconnect':
|
|
157
|
+
emitted++;
|
|
158
|
+
eventManager.emit('walletDisconnected', routing);
|
|
159
|
+
return;
|
|
160
|
+
case 'sessionExpired':
|
|
161
|
+
emitted++;
|
|
162
|
+
eventManager.emit('walletSessionExpired', routing);
|
|
163
|
+
return;
|
|
117
164
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
// Swallowed: better to drop one lifecycle record than to break the
|
|
168
|
+
// wallet's event dispatch.
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
unsub = undefined;
|
|
174
|
+
}
|
|
175
|
+
if (!unsub) {
|
|
176
|
+
// The connector accepted the subscribe call but this session has no
|
|
177
|
+
// observable telemetry surface (returned undefined or threw). Over the
|
|
178
|
+
// bridge, that absence is the bridge's doing, not the provider's.
|
|
179
|
+
emitUnavailable(runtime === 'iframe'
|
|
180
|
+
? 'bridge_subscription_unavailable'
|
|
181
|
+
: 'provider_subscription_unavailable');
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
let unsubAccounts;
|
|
185
|
+
if (subscribeAccounts) {
|
|
186
|
+
try {
|
|
187
|
+
unsubAccounts = subscribeAccounts(accounts => {
|
|
188
|
+
try {
|
|
189
|
+
if (overCap())
|
|
121
190
|
return;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
191
|
+
const primary = accounts[0];
|
|
192
|
+
pruneExpired();
|
|
193
|
+
const idx = accounts.length > 0
|
|
194
|
+
? pendingSwitches.findIndex(p => p.address !== undefined && p.address === primary)
|
|
195
|
+
: -1;
|
|
196
|
+
if (idx !== -1) {
|
|
197
|
+
// Same one-shot consume as the chainChanged echo above, mirrored
|
|
198
|
+
// for the address half.
|
|
199
|
+
const entry = pendingSwitches[idx];
|
|
200
|
+
if (entry.chainId !== undefined) {
|
|
201
|
+
pendingSwitches[idx] = { ...entry, address: undefined };
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
pendingSwitches.splice(idx, 1);
|
|
205
|
+
}
|
|
125
206
|
return;
|
|
207
|
+
}
|
|
208
|
+
emitted++;
|
|
209
|
+
opts.onAccountsChanged?.(accounts);
|
|
126
210
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
unsub = undefined;
|
|
211
|
+
catch {
|
|
212
|
+
// Swallowed: never break the wallet SDK's own listener dispatch.
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
unsubAccounts = undefined;
|
|
218
|
+
}
|
|
136
219
|
}
|
|
137
|
-
|
|
138
|
-
// surface (returned undefined) or threw — treat as "unavailable" and don't
|
|
139
|
-
// leave the bus watchers attached.
|
|
140
|
-
if (!unsub) {
|
|
220
|
+
if (!unsub && !unsubAccounts) {
|
|
141
221
|
detachBusWatchers();
|
|
142
|
-
// `onLifecycleEvent` ran but exposed no live subscription surface for this
|
|
143
|
-
// session (returned undefined or threw). Over the bridge, that absence is the
|
|
144
|
-
// bridge's doing, not the provider's.
|
|
145
|
-
emitUnavailable(runtime === 'iframe'
|
|
146
|
-
? 'bridge_subscription_unavailable'
|
|
147
|
-
: 'provider_subscription_unavailable');
|
|
148
222
|
return () => { };
|
|
149
223
|
}
|
|
150
224
|
return () => {
|
|
151
225
|
detachBusWatchers();
|
|
152
|
-
unsub();
|
|
226
|
+
unsub?.();
|
|
227
|
+
unsubAccounts?.();
|
|
153
228
|
};
|
|
154
229
|
}
|
|
155
230
|
//# sourceMappingURL=lifecycle-bridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-bridge.js","sourceRoot":"","sources":["../../src/observability/lifecycle-bridge.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAA;
|
|
1
|
+
{"version":3,"file":"lifecycle-bridge.js","sourceRoot":"","sources":["../../src/observability/lifecycle-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/observability/telemetry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/observability/telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -308,31 +308,6 @@ function buildTelemetryEvent(name, data, sdkSessionId, now, correlationId) {
|
|
|
308
308
|
error: { type: d.error.type, message: scrubMessage(d.error.message) }
|
|
309
309
|
};
|
|
310
310
|
}
|
|
311
|
-
case 'relayDisconnected': {
|
|
312
|
-
const d = data;
|
|
313
|
-
// The relay socket dropped. Observational, NOT a failure: a drop only
|
|
314
|
-
// matters if a round-trip was in flight — deliberately left without a
|
|
315
|
-
// `failureKind` so it never inflates failure metrics. Pair with
|
|
316
|
-
// `relayReconnected` (same sdkSessionId) for the dead-window duration.
|
|
317
|
-
return {
|
|
318
|
-
...base,
|
|
319
|
-
connectionMode: 'walletConnect',
|
|
320
|
-
source: 'provider',
|
|
321
|
-
...(d.error
|
|
322
|
-
? {
|
|
323
|
-
error: {
|
|
324
|
-
type: d.error.type,
|
|
325
|
-
message: scrubMessage(d.error.message)
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
: {})
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
|
-
case 'relayReconnected': {
|
|
332
|
-
// Socket recovered. Name-only + mode; the diagnostic value is the timestamp
|
|
333
|
-
// relative to the paired `relayDisconnected`.
|
|
334
|
-
return { ...base, connectionMode: 'walletConnect', source: 'provider' };
|
|
335
|
-
}
|
|
336
311
|
case 'walletConnectInitError': {
|
|
337
312
|
const d = data;
|
|
338
313
|
// SignClient.init failed — the WC client never came up. Distinct from
|