@meshconnect/uwc-core 1.7.0 → 1.9.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.
- package/dist/events.d.ts +49 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +5 -1
- package/dist/events.js.map +1 -1
- package/dist/observability/telemetry.d.ts +42 -1
- package/dist/observability/telemetry.d.ts.map +1 -1
- package/dist/observability/telemetry.js +22 -1
- package/dist/observability/telemetry.js.map +1 -1
- package/dist/services/wallet-capabilities-service.d.ts +30 -0
- package/dist/services/wallet-capabilities-service.d.ts.map +1 -1
- package/dist/services/wallet-capabilities-service.js +81 -8
- package/dist/services/wallet-capabilities-service.js.map +1 -1
- package/dist/universal-wallet-connector.d.ts.map +1 -1
- package/dist/universal-wallet-connector.js +10 -1
- package/dist/universal-wallet-connector.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -5
- package/src/events.ts +59 -3
- package/src/observability/telemetry.test.ts +65 -0
- package/src/observability/telemetry.ts +65 -2
- package/src/services/wallet-capabilities-service.test.ts +138 -0
- package/src/services/wallet-capabilities-service.ts +107 -10
- package/src/universal-wallet-connector.ts +12 -1
- package/src/version.ts +1 -1
package/dist/events.d.ts
CHANGED
|
@@ -128,9 +128,22 @@ export interface UWCEventMap {
|
|
|
128
128
|
networkSwitched: {
|
|
129
129
|
network: Network;
|
|
130
130
|
};
|
|
131
|
-
/**
|
|
131
|
+
/**
|
|
132
|
+
* Wallet capabilities were refreshed. `source`/`durationMs` make the
|
|
133
|
+
* coalescing/cache layer prod-verifiable: without them a cache hit and a
|
|
134
|
+
* multi-second wallet RPC emit identical records, so a dashboard can't
|
|
135
|
+
* confirm the dedup is working (cache-hit ratio, RPC latency).
|
|
136
|
+
*/
|
|
132
137
|
capabilitiesUpdated: {
|
|
133
138
|
capabilities: Record<string, EVMCapabilities>;
|
|
139
|
+
/**
|
|
140
|
+
* How this refresh was served: `rpc` = this caller issued the wallet
|
|
141
|
+
* request; `inflight` = joined a concurrent caller's pending request;
|
|
142
|
+
* `cache` = served from the session cache, no wallet round-trip.
|
|
143
|
+
*/
|
|
144
|
+
source: 'cache' | 'inflight' | 'rpc';
|
|
145
|
+
/** This caller's wait for the capabilities result (ms). */
|
|
146
|
+
durationMs: number;
|
|
134
147
|
};
|
|
135
148
|
/**
|
|
136
149
|
* A user-initiated operation failed. Carries optional, telemetry-only
|
|
@@ -349,6 +362,41 @@ export interface UWCEventMap {
|
|
|
349
362
|
/** Duration the page was hidden for THIS hide→show segment (ms). */
|
|
350
363
|
hiddenMs?: number | undefined;
|
|
351
364
|
};
|
|
365
|
+
/**
|
|
366
|
+
* The secondary Solana gather was SKIPPED for a wallet that declares a
|
|
367
|
+
* legacy `solana.injectedId` (ONC-3536 follow-up). Inside such wallets'
|
|
368
|
+
* own in-app browsers (Coinbase/Base Wallet Legacy mode) — top-level dapp
|
|
369
|
+
* deep-link flow or framed embed — any secondary Solana connect after an
|
|
370
|
+
* EVM connect parks the wallet's active namespace on Solana, and the
|
|
371
|
+
* following EVM `eth_sendTransaction` never surfaces an approval sheet
|
|
372
|
+
* (60s `walletTimedOut`, the USDC.base hang). Triage telemetry: confirms
|
|
373
|
+
* the gate fired when retesting the fix. Deduped per injectedId × outcome
|
|
374
|
+
* per connector instance (it can fire twice for one injectedId, once per
|
|
375
|
+
* outcome). Carries the metadata key + discovery/runtime facets only —
|
|
376
|
+
* never an address.
|
|
377
|
+
*/
|
|
378
|
+
secondarySolanaConnectSkipped: {
|
|
379
|
+
/** The `solana.injectedId` metadata key that triggered the skip (e.g. `coinbaseSolana`). */
|
|
380
|
+
injectedId: string;
|
|
381
|
+
/** `connectSuppressed` = gate skipped a would-be connect; `alreadyConnected` = passive check found the provider pre-authorized (no connect made). */
|
|
382
|
+
outcome: 'connectSuppressed' | 'alreadyConnected';
|
|
383
|
+
/** True = wallet discovered via the legacy injected fallback (true "Legacy mode"); false = Wallet Standard. */
|
|
384
|
+
legacyInjected: boolean;
|
|
385
|
+
/** True = skipped in a framed embed; false = top-level in the wallet's in-app browser (dapp deep-link flow). */
|
|
386
|
+
framed: boolean;
|
|
387
|
+
};
|
|
388
|
+
/**
|
|
389
|
+
* Connecting a wallet released live per-namespace state that belonged to a
|
|
390
|
+
* DIFFERENT wallet — the injected connector's wallet-switch guard (see
|
|
391
|
+
* `ConnectionManager.releaseOtherWalletConnections`). Makes the otherwise
|
|
392
|
+
* silent release observable in prod: an unexpected emit (e.g. during a
|
|
393
|
+
* same-wallet reconnect) is the signal the identity comparison broke.
|
|
394
|
+
* Carries only the released namespaces — never an address.
|
|
395
|
+
*/
|
|
396
|
+
walletConnectionsReleased: {
|
|
397
|
+
/** CAIP namespaces whose live state was released (e.g. `['eip155']`). */
|
|
398
|
+
namespaces: Namespace[];
|
|
399
|
+
};
|
|
352
400
|
/**
|
|
353
401
|
* Back-compat catch-all. Fires after every other event above.
|
|
354
402
|
* New code should prefer the specific events.
|
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,CACJ,MAAM,EACN;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,CAChE,GACD,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,iBAAiB,EAAE,IAAI,CAAA;IACvB;;;;OAIG;IACH,gBAAgB,EAAE,IAAI,CAAA;IAEtB;;;;;;;;;OASG;IACH,sBAAsB,EAAE;QACtB,KAAK,EAAE,WAAW,CAAA;KACnB,CAAA;IAED,+BAA+B;IAC/B,UAAU,EAAE;QAAE,cAAc,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAChE,0CAA0C;IAC1C,SAAS,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;IAC/B,4DAA4D;IAC5D,YAAY,EAAE,IAAI,CAAA;IAClB;;;OAGG;IACH,aAAa,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,cAAc,CAAA;KAAE,CAAA;IAE9D,sEAAsE;IACtE,cAAc,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;IAEpC,gEAAgE;IAChE,gBAAgB,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,wBAAwB,EAAE,OAAO,CAAA;KAAE,CAAA;IAC3E,gCAAgC;IAChC,eAAe,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;IAErC
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/events.js
CHANGED
|
@@ -39,7 +39,9 @@ export const TELEMETRY_ONLY_EVENTS = new Set([
|
|
|
39
39
|
'walletSessionExpired',
|
|
40
40
|
'lifecycleTelemetryUnavailable',
|
|
41
41
|
'pageHiddenDuringHandoff',
|
|
42
|
-
'pageVisibleDuringHandoff'
|
|
42
|
+
'pageVisibleDuringHandoff',
|
|
43
|
+
'secondarySolanaConnectSkipped',
|
|
44
|
+
'walletConnectionsReleased'
|
|
43
45
|
]);
|
|
44
46
|
/**
|
|
45
47
|
* Runtime list of every event name. The `Record<UWCEventName, true>` literal
|
|
@@ -78,6 +80,8 @@ const EVENT_NAME_FLAGS = {
|
|
|
78
80
|
lifecycleTelemetryUnavailable: true,
|
|
79
81
|
pageHiddenDuringHandoff: true,
|
|
80
82
|
pageVisibleDuringHandoff: true,
|
|
83
|
+
secondarySolanaConnectSkipped: true,
|
|
84
|
+
walletConnectionsReleased: true,
|
|
81
85
|
change: true
|
|
82
86
|
};
|
|
83
87
|
export const UWC_EVENT_NAMES = Object.keys(EVENT_NAME_FLAGS);
|
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;AAoZV;;;;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,mBAAmB;IACnB,kBAAkB;IAClB,wBAAwB;IACxB,sBAAsB;IACtB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;IACtB,+BAA+B;IAC/B,yBAAyB;IACzB,0BAA0B;IAC1B,+BAA+B;IAC/B,2BAA2B;CAC5B,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,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,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,6BAA6B,EAAE,IAAI;IACnC,yBAAyB,EAAE,IAAI;IAC/B,MAAM,EAAE,IAAI;CACb,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAmB,CAAA"}
|
|
@@ -82,6 +82,21 @@ export interface UWCTelemetryEvent {
|
|
|
82
82
|
* present only for `capabilitiesUpdated`. Feature flags + chain ids — not PII.
|
|
83
83
|
*/
|
|
84
84
|
capabilities?: Record<string, string[]> | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* `capabilitiesUpdated` only: how the refresh was served — `rpc` = a real
|
|
87
|
+
* wallet round-trip, `inflight` = joined a concurrent caller's pending
|
|
88
|
+
* request, `cache` = session cache, no wallet call. Its OWN field (not the
|
|
89
|
+
* error-oriented `source` above) so the two facets can't be conflated.
|
|
90
|
+
* Pair with `durationMs` to chart cache-hit ratio and RPC latency — the
|
|
91
|
+
* prod signal that the capabilities coalescing layer is working.
|
|
92
|
+
*/
|
|
93
|
+
capabilitiesSource?: 'cache' | 'inflight' | 'rpc' | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* `walletConnectionsReleased` only: CAIP namespaces whose live state was
|
|
96
|
+
* released by the injected connector's wallet-switch guard. Namespace names
|
|
97
|
+
* only — never an address.
|
|
98
|
+
*/
|
|
99
|
+
releasedNamespaces?: Namespace[] | undefined;
|
|
85
100
|
/**
|
|
86
101
|
* Per-namespace requested-vs-matched discovery summary, present only on
|
|
87
102
|
* `walletsDetected`. Counts only — never a wallet id or address. `legacyInjected`
|
|
@@ -111,7 +126,12 @@ export interface UWCTelemetryEvent {
|
|
|
111
126
|
missingNamespaces?: string[] | undefined;
|
|
112
127
|
/** `lifecycleTelemetryUnavailable` only: why lifecycle telemetry couldn't attach. */
|
|
113
128
|
reason?: LifecycleUnavailableReason | undefined;
|
|
114
|
-
/**
|
|
129
|
+
/**
|
|
130
|
+
* Direct page vs production iframe. Present on
|
|
131
|
+
* `lifecycleTelemetryUnavailable` and `secondarySolanaConnectSkipped`
|
|
132
|
+
* (there: `iframe` = framed embed, `direct` = top-level in the wallet's
|
|
133
|
+
* in-app browser, i.e. the dapp deep-link flow).
|
|
134
|
+
*/
|
|
115
135
|
runtime?: 'direct' | 'iframe' | undefined;
|
|
116
136
|
/**
|
|
117
137
|
* `error` only: a handoff terminal already reported this failure — this
|
|
@@ -127,6 +147,27 @@ export interface UWCTelemetryEvent {
|
|
|
127
147
|
backgroundCount?: number | undefined;
|
|
128
148
|
/** Handoff terminals, WalletConnect only: relay-socket drops seen while the handoff was pending. */
|
|
129
149
|
relayDropCount?: number | undefined;
|
|
150
|
+
/**
|
|
151
|
+
* `secondarySolanaConnectSkipped` only: the `solana.injectedId` metadata key
|
|
152
|
+
* whose secondary gather the gate acted on (e.g. `coinbaseSolana`) — fires
|
|
153
|
+
* framed or top-level in-app (`runtime` distinguishes). A consumer-configured
|
|
154
|
+
* metadata key, never an address. Length-capped as defense-in-depth since
|
|
155
|
+
* the value originates in catalog metadata.
|
|
156
|
+
*/
|
|
157
|
+
injectedId?: string | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* `secondarySolanaConnectSkipped` only: true when the skipped wallet was
|
|
160
|
+
* discovered via the legacy injected-Solana fallback (true "Legacy mode")
|
|
161
|
+
* rather than the Wallet Standard registry.
|
|
162
|
+
*/
|
|
163
|
+
legacyInjected?: boolean | undefined;
|
|
164
|
+
/**
|
|
165
|
+
* `secondarySolanaConnectSkipped` only: `connectSuppressed` = the gate
|
|
166
|
+
* skipped a would-be connect; `alreadyConnected` = the passive check found
|
|
167
|
+
* the provider pre-authorized, no connect was made — a hang after that is
|
|
168
|
+
* wallet-side state, not the gather.
|
|
169
|
+
*/
|
|
170
|
+
gateOutcome?: 'connectSuppressed' | 'alreadyConnected' | undefined;
|
|
130
171
|
}
|
|
131
172
|
/**
|
|
132
173
|
* Vendor-agnostic telemetry sink. Consumers implement; UWC ships no vendor SDK.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/observability/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,0BAA0B,EAE3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAIxE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/observability/telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export const TELEMETRY_SCHEMA_VERSION = 1;
|
|
|
14
14
|
*/
|
|
15
15
|
const MAX_NETWORK_MISMATCH_IDS = 20;
|
|
16
16
|
const MAX_NETWORK_ID_LENGTH = 64;
|
|
17
|
+
/** Egress cap for `injectedId` (a catalog-metadata window-global key). */
|
|
18
|
+
const MAX_INJECTED_ID_LENGTH = 64;
|
|
17
19
|
function capNetworkMismatch(mismatch) {
|
|
18
20
|
if (!mismatch)
|
|
19
21
|
return undefined;
|
|
@@ -280,7 +282,16 @@ function buildTelemetryEvent(name, data, sdkSessionId, now, correlationId) {
|
|
|
280
282
|
if (enabled.length > 0)
|
|
281
283
|
capabilities[chainId] = enabled;
|
|
282
284
|
}
|
|
283
|
-
return {
|
|
285
|
+
return {
|
|
286
|
+
...base,
|
|
287
|
+
capabilities,
|
|
288
|
+
capabilitiesSource: d.source,
|
|
289
|
+
durationMs: d.durationMs
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
case 'walletConnectionsReleased': {
|
|
293
|
+
const d = data;
|
|
294
|
+
return { ...base, releasedNamespaces: d.namespaces };
|
|
284
295
|
}
|
|
285
296
|
case 'walletsDetected': {
|
|
286
297
|
const d = data;
|
|
@@ -296,6 +307,16 @@ function buildTelemetryEvent(name, data, sdkSessionId, now, correlationId) {
|
|
|
296
307
|
error: { type: d.error.type, message: scrubMessage(d.error.message) }
|
|
297
308
|
};
|
|
298
309
|
}
|
|
310
|
+
case 'secondarySolanaConnectSkipped': {
|
|
311
|
+
const d = data;
|
|
312
|
+
return {
|
|
313
|
+
...base,
|
|
314
|
+
injectedId: d.injectedId.slice(0, MAX_INJECTED_ID_LENGTH),
|
|
315
|
+
legacyInjected: d.legacyInjected,
|
|
316
|
+
gateOutcome: d.outcome,
|
|
317
|
+
runtime: d.framed ? 'iframe' : 'direct'
|
|
318
|
+
};
|
|
319
|
+
}
|
|
299
320
|
case 'pageHiddenDuringHandoff':
|
|
300
321
|
case 'pageVisibleDuringHandoff': {
|
|
301
322
|
// Cast to the visible shape (superset). `hiddenMs` is absent on the hidden
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/observability/telemetry.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAA;AAEzC;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAG,EAAE,CAAA;AACnC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAEhC,SAAS,kBAAkB,CACzB,QAEa;IAEb,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC/B,MAAM,GAAG,GAAG,CAAC,GAAa,EAAE,EAAE,CAC5B,GAAG;SACA,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC;SAClC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAClD,OAAO;QACL,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChD,oBAAoB,EAAE,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KACzD,CAAA;AACH,CAAC;AAkJD;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IAC9E,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAA;IAC9B,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrC,gFAAgF;IAChF,MAAM,SAAS,GACb,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IACrE,IAAI,SAAS;QAAE,OAAO,SAAS,CAAA;IAC/B,IAAI,KAAK,IAAI,SAAS;QAAE,OAAO,QAAQ,CAAA;IACvC,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,cAA8B,EAC9B,QAAkB;IAElB,MAAM,SAAS,GAAG,QAAQ,KAAK,SAAS,CAAA;IACxC,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,UAAU;YACb,2EAA2E;YAC3E,OAAO,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAA;QACxE,KAAK,eAAe;YAClB,OAAO,SAAS;gBACd,CAAC,CAAC,wBAAwB;gBAC1B,CAAC,CAAC,+BAA+B,CAAA;QACrC,KAAK,YAAY;YACf,OAAO,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,4BAA4B,CAAA;QACzE;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,wBAAwB,CAAC,OAAgB;IAIhD,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,iBAAiB,GAA2B,EAAE,CAAA;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,OAAO,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;QAC7D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACzC,IAAI,CAAC,SAAS;YAAE,SAAQ;QACxB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACtB,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CACxD,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3E,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAA;AACvC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAC1B,IAAO,EACP,IAAoB,EACpB,YAAoB,EACpB,GAAW,EACX,aAAsB;IAEtB,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,IAAI,GAAsB;QAC9B,aAAa,EAAE,wBAAwB;QACvC,UAAU,EAAE,gBAAgB;QAC5B,IAAI;QACJ,YAAY;QACZ,SAAS,EAAE,GAAG;QACd,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAA;IAED,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,IAAiC,CAAA;YAC3C,OAAO;gBACL,GAAG,IAAI;gBACP,SAAS,EAAE,SAAS;gBACpB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAA;QACH,CAAC;QACD,KAAK,WAAW,CAAC;QACjB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,IAAgC,CAAA;YAC1C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAA;YACzB,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;YACxE,OAAO;gBACL,GAAG,IAAI;gBACP,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,SAAS;gBACnD,SAAS,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS;gBAC3C,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE;gBAClC,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE;gBAClC,iBAAiB;gBACjB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;aAC1D,CAAA;QACH,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,GAAG,IAAsC,CAAA;YAChD,OAAO;gBACL,GAAG,IAAI;gBACP,SAAS,EAAE,eAAe;gBAC1B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS;gBAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;aACtB,CAAA;QACH,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,oEAAoE;YACpE,MAAM,CAAC,GAAG,IAAoC,CAAA;YAC9C,OAAO,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,CAAA;QACtD,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,CAAC,GAAG,IAA4B,CAAA;YACtC,OAAO;gBACL,GAAG,IAAI;gBACP,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACrE,yEAAyE;gBACzE,qEAAqE;gBACrE,4BAA4B;gBAC5B,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC;gBACtD,cAAc,EAAE,CAAC,CAAC,cAAc;aACjC,CAAA;QACH,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,IAAqC,CAAA;YAC/C,OAAO;gBACL,GAAG,IAAI;gBACP,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;aAC3C,CAAA;QACH,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,GAAG,IAAsC,CAAA;YAChD,OAAO;gBACL,GAAG,IAAI;gBACP,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;gBAC1C,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,cAAc,EAAE,CAAC,CAAC,cAAc;aACjC,CAAA;QACH,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,IAAqC,CAAA;YAC/C,OAAO;gBACL,GAAG,IAAI;gBACP,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;gBAC1C,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACZ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;oBAChE,CAAC,CAAC,SAAS;gBACb,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,cAAc,EAAE,CAAC,CAAC,cAAc;aACjC,CAAA;QACH,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,IAAqC,CAAA;YAC/C,OAAO;gBACL,GAAG,IAAI;gBACP,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;gBAC1C,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,cAAc,EAAE,CAAC,CAAC,cAAc;aACjC,CAAA;QACH,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC,GAAG,IAAmC,CAAA;YAC7C,OAAO;gBACL,GAAG,IAAI;gBACP,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;gBAC1C,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACrE,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,cAAc,EAAE,CAAC,CAAC,cAAc;aACjC,CAAA;QACH,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,IAA0C,CAAA;YACpD,oEAAoE;YACpE,wEAAwE;YACxE,MAAM,YAAY,GAA6B,EAAE,CAAA;YACjD,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;qBACjC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,aAAa,CAAC;qBACxD,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;gBAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;YACzD,CAAC;YACD,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,CAAA;QAClC,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,GAAG,IAAsC,CAAA;YAChD,8EAA8E;YAC9E,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QACxE,CAAC;QACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,IAA4C,CAAA;YACtD,OAAO;gBACL,GAAG,IAAI;gBACP,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;aACtE,CAAA;QACH,CAAC;QACD,KAAK,yBAAyB,CAAC;QAC/B,KAAK,0BAA0B,CAAC,CAAC,CAAC;YAChC,2EAA2E;YAC3E,mDAAmD;YACnD,MAAM,CAAC,GAAG,IAA+C,CAAA;YACzD,OAAO;gBACL,GAAG,IAAI;gBACP,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAA;QACH,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC,GAAG,IAAkC,CAAA;YAC5C,OAAO;gBACL,GAAG,IAAI;gBACP,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,cAAc;gBAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;aACtE,CAAA;QACH,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,IAAiC,CAAA;YAC3C,8EAA8E;YAC9E,6EAA6E;YAC7E,OAAO;gBACL,GAAG,IAAI;gBACP,cAAc,EAAE,eAAe;gBAC/B,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,eAAe;gBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;aACtE,CAAA;QACH,CAAC;QACD,KAAK,mBAAmB,CAAC;QACzB,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,4EAA4E;YAC5E,yEAAyE;YACzE,2EAA2E;YAC3E,4BAA4B;YAC5B,OAAO,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;QACzE,CAAC;QACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,IAA6C,CAAA;YACvD,sEAAsE;YACtE,kFAAkF;YAClF,OAAO;gBACL,GAAG,IAAI;gBACP,cAAc,EAAE,eAAe;gBAC/B,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,oBAAoB;gBACjC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;aACtE,CAAA;QACH,CAAC;QACD,KAAK,sBAAsB,CAAC;QAC5B,KAAK,oBAAoB,CAAC;QAC1B,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,GAAG,IAA2C,CAAA;YACrD,OAAO;gBACL,GAAG,IAAI;gBACP,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAA;QACH,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,GAAG,IAAyC,CAAA;YACnD,OAAO;gBACL,GAAG,IAAI;gBACP,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAA;QACH,CAAC;QACD,KAAK,+BAA+B,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,IAAoD,CAAA;YAC9D,OAAO;gBACL,GAAG,IAAI;gBACP,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAA;QACH,CAAC;QACD;YACE,qEAAqE;YACrE,wBAAwB;YACxB,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAwB;IAChD,MAAM,MAAM,GAAG,KAA2C,CAAA;IAC1D,MAAM,GAAG,GAA4B,EAAE,CAAA;IACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAC3C,CAAC;IACD,OAAO,GAAmC,CAAA;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAO,EACP,IAAoB,EACpB,YAAoB,EACpB,GAAW,EACX,aAAsB;IAEtB,OAAO,gBAAgB,CACrB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,CAAC,CAClE,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/observability/telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,37 @@ export declare class WalletCapabilitiesService {
|
|
|
7
7
|
private connectors;
|
|
8
8
|
private sessionManager;
|
|
9
9
|
private eventManager;
|
|
10
|
+
/**
|
|
11
|
+
* In-flight `connector.getWalletCapabilities` promise per cache key, so
|
|
12
|
+
* concurrent callers share ONE wallet RPC instead of each issuing their own.
|
|
13
|
+
* Why this matters: consumers commonly trigger a capabilities fetch from UI
|
|
14
|
+
* state (per rendered component, per session change), fanning N identical
|
|
15
|
+
* calls at once. MetaMask processes `wallet_getCapabilities` slowly (~1s
|
|
16
|
+
* each, observed) AND serializes dapp requests behind it, so an uncoalesced
|
|
17
|
+
* flood queues for ~10s and delays every subsequent RPC — measured as a 5s+
|
|
18
|
+
* `eth_accounts` stall on reconnect. The connector-level 3s timeout doesn't
|
|
19
|
+
* help: racing past a request can't cancel it wallet-side.
|
|
20
|
+
*/
|
|
21
|
+
private readonly inFlightFetches;
|
|
22
|
+
/** Settled results per cache key; empty results expire (see EMPTY_RESULT_RETRY_MS). */
|
|
23
|
+
private readonly resultCache;
|
|
10
24
|
constructor(networks: Network[], connectors: Map<ConnectionMode, Connector>, sessionManager: SessionManager, eventManager: EventManager);
|
|
25
|
+
/**
|
|
26
|
+
* Fetch capabilities through the coalescing/caching layer. The key includes
|
|
27
|
+
* the connection mode, the active wallet id, and the address, so switching
|
|
28
|
+
* wallet, account, or mode naturally misses the cache — the wallet id
|
|
29
|
+
* matters because the same address can live in two different wallets (one
|
|
30
|
+
* seed imported into both), whose capability surfaces differ; `networks` is
|
|
31
|
+
* constructor-fixed and needs no key part. The result promise never
|
|
32
|
+
* rejects — failures resolve to {} (preserving the previous inline
|
|
33
|
+
* behavior), which also guarantees in-flight cleanup runs.
|
|
34
|
+
*
|
|
35
|
+
* `source` reports how THIS caller was served (`cache` / `inflight` /
|
|
36
|
+
* `rpc`) and rides the `capabilitiesUpdated` emit — the prod signal that
|
|
37
|
+
* the coalescing layer works (a flood should show one `rpc` and N-1
|
|
38
|
+
* `inflight`/`cache` records, not N slow `rpc`s).
|
|
39
|
+
*/
|
|
40
|
+
private fetchCapabilities;
|
|
11
41
|
getWalletCapabilities(address: string, activeNetwork?: Network, options?: ServiceOptions): Promise<void>;
|
|
12
42
|
}
|
|
13
43
|
//# sourceMappingURL=wallet-capabilities-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-capabilities-service.d.ts","sourceRoot":"","sources":["../../src/services/wallet-capabilities-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,SAAS,EAEV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"wallet-capabilities-service.d.ts","sourceRoot":"","sources":["../../src/services/wallet-capabilities-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,SAAS,EAEV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAc1D,qBAAa,yBAAyB;IAwBlC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,YAAY;IA1BtB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG7B;IAEH,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGzB;gBAGO,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY;IAGpC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,iBAAiB;IA4CnB,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,OAAO,EACvB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;CAsEjB"}
|
|
@@ -1,14 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How long an EMPTY capabilities result is served from cache before a re-fetch
|
|
3
|
+
* is allowed. Empty is ambiguous: it means either "wallet doesn't support
|
|
4
|
+
* wallet_getCapabilities" (stable — could be cached forever) or "the fetch
|
|
5
|
+
* failed/timed out" (transient — caching it forever would freeze capabilities
|
|
6
|
+
* at {} for the whole session). A short TTL serves both: repeat UI triggers
|
|
7
|
+
* stay coalesced/cached in the window that matters, while a transient failure
|
|
8
|
+
* self-heals on a later trigger. Non-empty results don't expire — a wallet's
|
|
9
|
+
* capability surface doesn't change mid-session.
|
|
10
|
+
*/
|
|
11
|
+
const EMPTY_RESULT_RETRY_MS = 30_000;
|
|
1
12
|
export class WalletCapabilitiesService {
|
|
2
13
|
networks;
|
|
3
14
|
connectors;
|
|
4
15
|
sessionManager;
|
|
5
16
|
eventManager;
|
|
17
|
+
/**
|
|
18
|
+
* In-flight `connector.getWalletCapabilities` promise per cache key, so
|
|
19
|
+
* concurrent callers share ONE wallet RPC instead of each issuing their own.
|
|
20
|
+
* Why this matters: consumers commonly trigger a capabilities fetch from UI
|
|
21
|
+
* state (per rendered component, per session change), fanning N identical
|
|
22
|
+
* calls at once. MetaMask processes `wallet_getCapabilities` slowly (~1s
|
|
23
|
+
* each, observed) AND serializes dapp requests behind it, so an uncoalesced
|
|
24
|
+
* flood queues for ~10s and delays every subsequent RPC — measured as a 5s+
|
|
25
|
+
* `eth_accounts` stall on reconnect. The connector-level 3s timeout doesn't
|
|
26
|
+
* help: racing past a request can't cancel it wallet-side.
|
|
27
|
+
*/
|
|
28
|
+
inFlightFetches = new Map();
|
|
29
|
+
/** Settled results per cache key; empty results expire (see EMPTY_RESULT_RETRY_MS). */
|
|
30
|
+
resultCache = new Map();
|
|
6
31
|
constructor(networks, connectors, sessionManager, eventManager) {
|
|
7
32
|
this.networks = networks;
|
|
8
33
|
this.connectors = connectors;
|
|
9
34
|
this.sessionManager = sessionManager;
|
|
10
35
|
this.eventManager = eventManager;
|
|
11
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Fetch capabilities through the coalescing/caching layer. The key includes
|
|
39
|
+
* the connection mode, the active wallet id, and the address, so switching
|
|
40
|
+
* wallet, account, or mode naturally misses the cache — the wallet id
|
|
41
|
+
* matters because the same address can live in two different wallets (one
|
|
42
|
+
* seed imported into both), whose capability surfaces differ; `networks` is
|
|
43
|
+
* constructor-fixed and needs no key part. The result promise never
|
|
44
|
+
* rejects — failures resolve to {} (preserving the previous inline
|
|
45
|
+
* behavior), which also guarantees in-flight cleanup runs.
|
|
46
|
+
*
|
|
47
|
+
* `source` reports how THIS caller was served (`cache` / `inflight` /
|
|
48
|
+
* `rpc`) and rides the `capabilitiesUpdated` emit — the prod signal that
|
|
49
|
+
* the coalescing layer works (a flood should show one `rpc` and N-1
|
|
50
|
+
* `inflight`/`cache` records, not N slow `rpc`s).
|
|
51
|
+
*/
|
|
52
|
+
fetchCapabilities(connectionMode, walletId, fetch, address) {
|
|
53
|
+
const key = `${connectionMode}:${walletId ?? ''}:${address.toLowerCase()}`;
|
|
54
|
+
const cached = this.resultCache.get(key);
|
|
55
|
+
if (cached) {
|
|
56
|
+
const isEmpty = Object.keys(cached.capabilities).length === 0;
|
|
57
|
+
if (!isEmpty || Date.now() - cached.fetchedAt < EMPTY_RESULT_RETRY_MS) {
|
|
58
|
+
return { source: 'cache', result: Promise.resolve(cached.capabilities) };
|
|
59
|
+
}
|
|
60
|
+
// Empty and past its retry window — fall through to a fresh fetch.
|
|
61
|
+
}
|
|
62
|
+
const pending = this.inFlightFetches.get(key);
|
|
63
|
+
if (pending) {
|
|
64
|
+
return { source: 'inflight', result: pending };
|
|
65
|
+
}
|
|
66
|
+
const fetchPromise = (async () => {
|
|
67
|
+
try {
|
|
68
|
+
return await fetch();
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return {};
|
|
72
|
+
}
|
|
73
|
+
})()
|
|
74
|
+
.then(capabilities => {
|
|
75
|
+
this.resultCache.set(key, { capabilities, fetchedAt: Date.now() });
|
|
76
|
+
return capabilities;
|
|
77
|
+
})
|
|
78
|
+
.finally(() => {
|
|
79
|
+
this.inFlightFetches.delete(key);
|
|
80
|
+
});
|
|
81
|
+
this.inFlightFetches.set(key, fetchPromise);
|
|
82
|
+
return { source: 'rpc', result: fetchPromise };
|
|
83
|
+
}
|
|
12
84
|
async getWalletCapabilities(address, activeNetwork, options) {
|
|
13
85
|
options?.signal?.throwIfAborted();
|
|
14
86
|
let activeWalletCapabilities = {};
|
|
@@ -24,13 +96,12 @@ export class WalletCapabilitiesService {
|
|
|
24
96
|
const activeConnector = this.connectors.get(session.connectionMode);
|
|
25
97
|
if (activeConnector &&
|
|
26
98
|
typeof activeConnector.getWalletCapabilities === 'function') {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
99
|
+
const fetchStarted = Date.now();
|
|
100
|
+
const { source, result } = this.fetchCapabilities(session.connectionMode, session.activeWallet?.id, () => activeConnector.getWalletCapabilities(address, this.networks), address);
|
|
101
|
+
const capabilities = await result;
|
|
102
|
+
// THIS caller's wait — for an 'inflight' join that's the remaining RPC
|
|
103
|
+
// time, for 'cache' ~0, for 'rpc' the full wallet round-trip.
|
|
104
|
+
const durationMs = Date.now() - fetchStarted;
|
|
34
105
|
options?.signal?.throwIfAborted();
|
|
35
106
|
// keep only supported networks
|
|
36
107
|
activeWalletCapabilities = Object.fromEntries(Object.entries(capabilities).filter(([networkId, _]) => this.networks.some(n => n.id === networkId)));
|
|
@@ -49,7 +120,9 @@ export class WalletCapabilitiesService {
|
|
|
49
120
|
});
|
|
50
121
|
}
|
|
51
122
|
this.eventManager.emit('capabilitiesUpdated', {
|
|
52
|
-
capabilities: activeWalletCapabilities
|
|
123
|
+
capabilities: activeWalletCapabilities,
|
|
124
|
+
source,
|
|
125
|
+
durationMs
|
|
53
126
|
});
|
|
54
127
|
this.eventManager.emit('sessionChanged', {
|
|
55
128
|
session: this.sessionManager.getSession()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-capabilities-service.js","sourceRoot":"","sources":["../../src/services/wallet-capabilities-service.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,yBAAyB;
|
|
1
|
+
{"version":3,"file":"wallet-capabilities-service.js","sourceRoot":"","sources":["../../src/services/wallet-capabilities-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal-wallet-connector.d.ts","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,OAAO,EACP,cAAc,EACd,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAOhB,kBAAkB,EAClB,iBAAiB,EAEjB,eAAe,EACf,aAAa,EACb,eAAe,EACf,QAAQ,EACR,MAAM,EACP,MAAM,wBAAwB,CAAA;AAI/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAkB1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAgB,MAAM,UAAU,CAAA;AAK5E;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAA;IAInB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;IACvC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwC;IAC/D,OAAO,CAAC,MAAM,CAAC,aAAa,CAAI;IAChC,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAQ;IAEtD,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,yBAAyB,CAA2B;IAC5D,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,MAAM,CAAe;IAC7B,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,uBAAuB,CAAQ;IACvC,iFAAiF;IACjF,OAAO,CAAC,gBAAgB,CAA0B;IAElD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,wBAAwB;IAYhE,sFAAsF;IACtF,MAAM,CAAC,aAAa,IAAI,IAAI;gBAMhB,MAAM,EAAE,SAAS;gBAE3B,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,cAAc,EAAE,EACzB,sBAAsB,CAAC,EAAE,OAAO,EAChC,mBAAmB,CAAC,EAAE,mBAAmB,EACzC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,mBAAmB,CAAC,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"universal-wallet-connector.d.ts","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -167,7 +167,16 @@ export class UniversalWalletConnector {
|
|
|
167
167
|
type: 'unknown',
|
|
168
168
|
message: `legacy injected-Solana provider at "${info.injectedId}" for ${info.walletName} is not a valid Solana provider`
|
|
169
169
|
}
|
|
170
|
-
})
|
|
170
|
+
}),
|
|
171
|
+
// Triage telemetry (ONC-3536 follow-up): the secondary Solana gather
|
|
172
|
+
// gate was active for a legacy-`injectedId` wallet inside the wallet's
|
|
173
|
+
// own browser (framed embed or top-level in-app / dapp deep-link flow)
|
|
174
|
+
// so an EVM send can't be parked on the Solana namespace (Coinbase
|
|
175
|
+
// Legacy-mode hang).
|
|
176
|
+
onSecondarySolanaConnectSkipped: info => this.eventManager.emit('secondarySolanaConnectSkipped', info),
|
|
177
|
+
// The wallet-switch guard released a different wallet's live state —
|
|
178
|
+
// surface it so the otherwise-silent release is observable in prod.
|
|
179
|
+
onWalletConnectionsReleased: info => this.eventManager.emit('walletConnectionsReleased', info)
|
|
171
180
|
});
|
|
172
181
|
this.connectors.set('injected', this.injectedConnector);
|
|
173
182
|
if (configuredTonConnectConfig) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal-wallet-connector.js","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"universal-wallet-connector.js","sourceRoot":"","sources":["../src/universal-wallet-connector.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACd,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAsB,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAGvE,8EAA8E;AAC9E,MAAM,kCAAkC,GAAG,MAAM,CAAA;AAwDjD,MAAM,OAAO,wBAAwB;IAC3B,MAAM,CAAC,QAAQ,GAAoC,IAAI,CAAA;IACvD,MAAM,CAAC,aAAa,GAAG,CAAC,CAAA;IACxB,MAAM,CAAC,+BAA+B,GAAG,KAAK,CAAA;IAE9C,cAAc,CAAgB;IAC9B,YAAY,CAAc;IAC1B,iBAAiB,CAAmB;IACpC,oBAAoB,CAAsB;IAC1C,gBAAgB,CAAkB;IAClC,kBAAkB,CAAoB;IACtC,yBAAyB,CAA2B;IACpD,UAAU,CAAgC;IAC1C,iBAAiB,CAAmB;IACpC,OAAO,CAAkB;IACzB,sBAAsB,CAAS;IAC/B,iBAAiB,GAAG,KAAK,CAAA;IACzB,aAAa,CAAe;IAC5B,MAAM,CAAe;IAC7B,qEAAqE;IACpD,YAAY,GAAW,UAAU,EAAE,CAAA;IAC5C,uBAAuB,CAAQ;IACvC,iFAAiF;IACzE,gBAAgB,CAA0B;IAElD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,MAAkB;QACnC,IAAI,wBAAwB,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,wBAAwB,CAAC,QAAQ,CAAA;QAC1C,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,gHAAgH,CACjH,CAAA;QACH,CAAC;QACD,OAAO,IAAI,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,sFAAsF;IACtF,MAAM,CAAC,aAAa;QAClB,wBAAwB,CAAC,QAAQ,GAAG,IAAI,CAAA;QACxC,wBAAwB,CAAC,aAAa,GAAG,CAAC,CAAA;QAC1C,wBAAwB,CAAC,+BAA+B,GAAG,KAAK,CAAA;IAClE,CAAC;IAWD,YACE,gBAAuC,EACvC,UAA4B,EAAE,EAC9B,sBAAsB,GAAG,KAAK,EAC9B,mBAAyC,EACzC,gBAAmC,EACnC,mBAAyC;QAEzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAA;QACH,CAAC;QAED,IAAI,MAAiB,CAAA;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG;gBACP,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO;gBACP,sBAAsB;aACvB,CAAA;YACD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;YAClD,CAAC;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;YAC5C,CAAC;YACD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;YAClD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,gBAAgB,CAAA;QAC3B,CAAC;QAED,MAAM,EACJ,QAAQ,EACR,OAAO,EAAE,iBAAiB,GAAG,EAAE,EAC/B,sBAAsB,EAAE,gCAAgC,GAAG,KAAK,EAChE,mBAAmB,EAAE,6BAA6B,EAClD,gBAAgB,EAAE,0BAA0B,EAC5C,mBAAmB,EAAE,6BAA6B,EACnD,GAAG,MAAM,CAAA;QAEV,2EAA2E;QAC3E,8EAA8E;QAC9E,2CAA2C;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;QACtC,IAAI,CAAC,uBAAuB;YAC1B,MAAM,CAAC,uBAAuB,IAAI,kCAAkC,CAAA;QACtE,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;YACzB,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM;YAChC,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,0EAA0E;YAC1E,uCAAuC;YACvC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC1D,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,2EAA2E;YAC3E,oEAAoE;YACpE,4EAA4E;YAC5E,yEAAyE;YACzE,6EAA6E;YAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAA;YAChC,MAAM,gBAAgB,GACpB,OAAO,GAAG,KAAK,UAAU;gBACvB,CAAC,CAAC,GAAG,EAAE;oBACH,IAAI,CAAC;wBACH,OAAO,GAAG,EAAE,IAAI,SAAS,CAAA;oBAC3B,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,SAAS,CAAA;oBAClB,CAAC;gBACH,CAAC;gBACH,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAA;YACf,IAAI,CAAC,gBAAgB,GAAG,eAAe,CACrC,IAAI,CAAC,YAAY,EACjB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,YAAY,EACjB,gBAAgB,EAChB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,MAAM,CACZ,CAAA;QACH,CAAC;QAED,iDAAiD;QACjD,wBAAwB,CAAC,aAAa,EAAE,CAAA;QACxC,IACE,wBAAwB,CAAC,aAAa,GAAG,CAAC;YAC1C,CAAC,wBAAwB,CAAC,+BAA+B,EACzD,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wEAAwE,wBAAwB,CAAC,aAAa,eAAe;gBAC3H,kEAAkE;gBAClE,uFAAuF;gBACvF,oGAAoG;gBACpG,2JAA2J,CAC9J,CAAA;YACD,wBAAwB,CAAC,+BAA+B,GAAG,IAAI,CAAA;QACjE,CAAC;QAED,oEAAoE;QACpE,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAA;QACH,CAAC;QACD,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAA;QACH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAA;QAChC,IAAI,CAAC,sBAAsB,GAAG,gCAAgC,CAAA;QAE9D,+BAA+B;QAC/B,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAElD,qCAAqC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC;YAC7C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,eAAe,EAAE,IAAI,CAAC,OAAO;YAC7B,gBAAgB,EAAE,0BAA0B;YAC5C,mBAAmB,EAAE,6BAA6B;YAClD,QAAQ;YACR,qEAAqE;YACrE,wDAAwD;YACxD,aAAa,EAAE,IAAI,CAAC,EAAE,CACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE;gBACpC,SAAS,EAAE,IAAI,CAAC,SAAsB;gBACtC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aAClD,CAAC;YACJ,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,4EAA4E;YAC5E,4EAA4E;YAC5E,6DAA6D;YAC7D,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBAC9C,SAAS,EAAE,QAAQ;gBACnB,cAAc,EAAE,UAAU;gBAC1B,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,uCAAuC,IAAI,CAAC,UAAU,SAAS,IAAI,CAAC,UAAU,iCAAiC;iBACzH;aACF,CAAC;YACJ,qEAAqE;YACrE,uEAAuE;YACvE,uEAAuE;YACvE,mEAAmE;YACnE,qBAAqB;YACrB,+BAA+B,EAAE,IAAI,CAAC,EAAE,CACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,+BAA+B,EAAE,IAAI,CAAC;YAC/D,qEAAqE;YACrE,oEAAoE;YACpE,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC;SAC5D,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAEvD,IAAI,0BAA0B,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,YAAY,EACZ,IAAI,mBAAmB,CAAC,0BAA0B,CAAC,CACpD,CAAA;QACH,CAAC;QAED,yDAAyD;QACzD,IAAI,6BAA6B,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,eAAe,EACf,IAAI,sBAAsB,CACxB,6BAA6B,EAC7B,IAAI,CAAC,aAAa,EAClB;gBACE,yEAAyE;gBACzE,2DAA2D;gBAC3D,YAAY,EAAE,CAAC,KAAc,EAAE,EAAE,CAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;oBACnC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;iBAC5B,CAAC;gBACJ,2EAA2E;gBAC3E,qEAAqE;gBACrE,WAAW,EAAE,CAAC,KAAc,EAAE,EAAE,CAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAC/C,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;iBAC5B,CAAC;gBACJ,0EAA0E;gBAC1E,iEAAiE;gBACjE,iBAAiB,EAAE,GAAG,EAAE,CACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC;gBACxD,kEAAkE;gBAClE,4CAA4C;gBAC5C,gBAAgB,EAAE,GAAG,EAAE,CACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;aACxD,CACF,CACF,CAAA;QACH,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;QAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAC5C,QAAQ,EACR,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,gCAAgC,EAChC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,uBAAuB,CAC7B,CAAA;QACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAClD,QAAQ,EACR,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,gCAAgC,EAChC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,uBAAuB,CAC7B,CAAA;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAC1C,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,gCAAgC,EAChC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,uBAAuB,CAC7B,CAAA;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAC9C,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,gCAAgC,EAChC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,uBAAuB,CAC7B,CAAA;QACD,IAAI,CAAC,yBAAyB,GAAG,IAAI,yBAAyB,CAC5D,QAAQ,EACR,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,YAAY,CAClB,CAAA;QAED,yDAAyD;QACzD,wEAAwE;QACxE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC;YACvC,wBAAwB,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC1C,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC,yBAAyB,EAAE,CAAA;IAClC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB;QACrC,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;YAEpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB;oBAC1C,CAAC,CAAC,MAAM,CAAC,iCAAiC;oBAC1C,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAA;gBAEpC,IAAI,QAAQ,EAAE,iBAAiB,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;wBACnD,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACpB,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,0DAA0D;YAC1D,qEAAqE;YACrE,mEAAmE;YACnE,kEAAkE;YAClE,qBAAqB;YACrB,MAAM,cAAc,GAAoB,EAAE,CAAA;YAC1C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,KAAK,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC1D,IAAI,OAAO,SAAS,CAAC,mBAAmB,KAAK,UAAU;wBAAE,SAAQ;oBACjE,cAAc,CAAC,IAAI,CACjB,OAAO,CAAC,OAAO,EAAE;yBACd,IAAI,CAAC,GAAG,EAAE,CACT,SAAS,CAAC,mBAAoB,CAC5B,SAAsB,EACtB,IAAI,CAAC,OAAO,CACb,CACF;yBACA,IAAI,CAAC,QAAQ,CAAC,EAAE;wBACf,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;4BACzB,IAAI,CAAC,mBAAmB,CAAC,SAAsB,EAAE,CAAC,CAAC,CAAA;wBACrD,CAAC;oBACH,CAAC,CAAC;yBACD,KAAK,CAAC,KAAK,CAAC,EAAE;wBACb,6DAA6D;wBAC7D,kEAAkE;wBAClE,+DAA+D;wBAC/D,6DAA6D;wBAC7D,oBAAoB;wBACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;4BAC9C,SAAS,EAAE,SAAsB;4BACjC,cAAc;4BACd,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;yBAC5B,CAAC,CAAA;oBACJ,CAAC,CAAC,CACL,CAAA;gBACH,CAAC;YACH,CAAC;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAEjC,yEAAyE;YACzE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAElD,6BAA6B;YAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;YAE7B,yEAAyE;YACzE,2EAA2E;YAC3E,yCAAyC;YACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;aAC/C,CAAC,CAAA;YACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;YAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CACzB,SAAoB,EACpB,QAOC;QAED,IAAI,MAAkC,CAAA;QAEtC,MAAM,YAAY,GAAG,CAAC,CAAiB,EAAE,EAAE,CACzC,IAAI,CAAC,sBAAsB;YACzB,CAAC,CAAC,CAAC,CAAC,iCAAiC;YACrC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAEjC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,CACF,YAAY,CACV,CAAC,CACF,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE;gBACvD,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAC9B,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,CACF,YAAY,CACV,CAAC,CACF,EAAE,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE;gBAC/D,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAC9B,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,oCAAoC;YACpC,0EAA0E;YAC1E,2EAA2E;YAC3E,0DAA0D;YAC1D,8CAA8C;YAC9C,mEAAmE;YACnE,8DAA8D;YAC9D,MAAM,YAAY,GAAG,QAAkC,CAAA;YACvD,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC7B,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE;oBAAE,OAAO,IAAI,CAAA;gBAC3C,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,CAAA;gBACvE,IAAI,CAAC,UAAU;oBAAE,OAAO,KAAK,CAAA;gBAC7B,IACE,YAAY,CAAC,UAAU;oBACvB,UAAU,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,EAClE,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,OAAO,CACL,YAAY,CAAC,IAAI;oBACjB,QAAQ,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACvD,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,QAAiC,CAAA;YACrD,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,CACF,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,WAAW;gBACpD,WAAW,CAAC,WAAW,CAC1B,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAC1D,CAAA;QACH,CAAC;QAED,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACrC,IAAI,CAAC,QAAQ,EAAE,iBAAiB;YAAE,OAAM;QAExC,MAAM,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,CAAC,UAAU;YAAE,OAAM;QAEvB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,UAGT,CAAA;YACD,MAAM,CAAC,GAAG,QAAqC,CAAA;YAC/C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,cAAc,GAAG;gBACjB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,UAGT,CAAA;YACD,MAAM,CAAC,GAAG,QAAoC,CAAA;YAC9C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,cAAc,GAAG;gBACjB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,qEAAqE;gBACrE,2DAA2D;gBAC3D,GAAG,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,IAAI;oBACpC,cAAc,EAAE,CAAC,CAAC,cAAc;iBACjC,CAAC;aACH,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,UAGT,CAAA;YACD,MAAM,CAAC,GAAG,QAAkC,CAAA;YAC5C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACnD,CAAC;aAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,UAGT,CAAA;YACD,MAAM,CAAC,GAAG,QAAiC,CAAA;YAC3C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC,CAAC,cAAc,GAAG;gBACjB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CACxB,UAAuB;QAKvB,MAAM,YAAY,GAAG,CAAC,CAAiB,EAAE,EAAE,CACzC,IAAI,CAAC,sBAAsB;YACzB,CAAC,CAAC,CAAC,CAAC,iCAAiC;YACrC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAEjC,MAAM,OAAO,GAGT,EAAE,CAAA;QACN,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,GAAG,CAAC,CAAA;YACjB,IAAI,OAAO,GAAG,CAAC,CAAA;YACf,yEAAyE;YACzE,qEAAqE;YACrE,wEAAwE;YACxE,IAAI,cAAc,GAAG,CAAC,CAAA;YACtB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,CACtD,SAAsB,CAMX,CAAA;gBACb,IAAI,CAAC,MAAM;oBAAE,SAAQ;gBACrB,SAAS,EAAE,CAAA;gBACX,IAAI,MAAM,CAAC,SAAS;oBAAE,OAAO,EAAE,CAAA;gBAC/B,IAAI,MAAM,CAAC,cAAc,EAAE,cAAc;oBAAE,cAAc,EAAE,CAAA;YAC7D,CAAC;YACD,OAAO,CAAC,SAAS,CAAC,GAAG;gBACnB,SAAS;gBACT,OAAO;gBACP,GAAG,CAAC,cAAc,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;aAC9C,CAAA;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;IACzC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,iBAAiB,CAAA;IAC/B,CAAC;IAED,+BAA+B;IAE/B,mEAAmE;IACnE,EAAE,CACA,KAAQ,EACR,QAA6B;QAE7B,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,wEAAwE;IACxE,IAAI,CACF,KAAQ,EACR,QAA6B;QAE7B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED,GAAG,CAAyB,KAAQ,EAAE,QAA6B;QACjE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,QAAoB;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;SAC1C,CAAA;IACH,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAA;IAC5C,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,cAA8B,EAC9B,QAAgB,EAChB,SAAqB,EACrB,OAA0B;QAE1B,IAAI,CAAC;YACH,uEAAuE;YACvE,2EAA2E;YAC3E,gDAAgD;YAChD,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAClC,cAAc,EACd,QAAQ,EACR,SAAS,EACT,OAAO,CACR,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YACjD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YACtD,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,MAAM,mBAAmB,GAAG;gBAC1B,GAAG,IAAI,GAAG,CACR,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,IAAI,EAAE,CAClE,CACF;aACF,CAAA;YACD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,OAAO,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAA;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YACpD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,SAAoB,EACpB,OAA0B;QAE1B,4EAA4E;QAC5E,MAAM,iBAAiB,GACrB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAA;QAC3D,IAAI,CAAC;YACH,uEAAuE;YACvE,2DAA2D;YAC3D,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACjE,0EAA0E;YAC1E,2EAA2E;YAC3E,uEAAuE;YACvE,MAAM,aAAa,GACjB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAA;YAC3D,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,iBAAiB,EAAE,CAAC;gBACvE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAA;YAC5C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YACvD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,4BAA4B;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAA;IACpD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,OAAe,EACf,OAA0B;QAE1B,IAAI,CAAC;YACH,sEAAsE;YACtE,uEAAuE;YACvE,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YACrD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CAAC,SAA0B;QAC5C,IAAI,CAAC;YACH,gEAAgE;YAChE,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;YACtC,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,OAA2B,EAC3B,OAA0B;QAE1B,IAAI,CAAC;YACH,wEAAwE;YACxE,uEAAuE;YACvE,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YACzD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,YAAwB;QAClD,IAAI,CAAC;YACH,kEAAkE;YAClE,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAC7D,YAAY,CACb,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAA;YAC9C,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,qBAAqB,CACzB,OAAe,EACf,aAAuB,EACvB,OAA0B;QAE1B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,qBAAqB,CAC/D,OAAO,EACP,aAAa,EACb,OAAO,CACR,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YAC/D,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,yBAAyB,CACvB,cAA8B,EAC9B,QAAgB;QAEhB,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;YACvC,2FAA2F;YAC3F,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC;gBACpC,MAAM,CAAC,qBAAqB,KAAK,SAAS,CAC3C,CAAA;QACH,CAAC;QAED,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YAClC,uDAAuD;YACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB;gBAC1C,CAAC,CAAC,MAAM,CAAC,iCAAiC;gBAC1C,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAA;YAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,KAAK,CAAA;YACd,CAAC;YAED,+CAA+C;YAC/C,MAAM,qBAAqB,GAAG,QAAQ,CAAC,iBAAiB;gBACtD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAC5C,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAC3C;gBACH,CAAC,CAAC,KAAK,CAAA;YAET,mEAAmE;YACnE,OAAO,qBAAqB,CAAA;QAC9B,CAAC;QAED,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;gBACjC,MAAM,CAAC,kBAAkB,KAAK,SAAS,CACxC,CAAA;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,2BAA2B;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAChD,OAAO,OAAO,CAAC,wBAAwB,CAAA;IACzC,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAe;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAA;QACzB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;QACjC,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,yCAAyC;QACzC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAA;QAC1C,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAA;QACrC,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,2CAA2C;QAC3C,IAAI,wBAAwB,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC/C,wBAAwB,CAAC,aAAa,EAAE,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,4BAA4B;IAEpB,SAAS,CACf,KAAc,EACd,SAAuB,EACvB,MAAoB;QAEpB,sEAAsE;QACtE,yEAAyE;QACzE,8DAA8D;QAC9D,oEAAoE;QACpE,4EAA4E;QAC5E,kEAAkE;QAClE,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YAC3C,OAAM;QACR,CAAC;QACD,4EAA4E;QAC5E,kEAAkE;QAClE,2EAA2E;QAC3E,oEAAoE;QACpE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE;YAC9B,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;YAC3B,SAAS;YACT,SAAS;YACT,WAAW;YACX,MAAM;YACN,yEAAyE;YACzE,uEAAuE;YACvE,kCAAkC;YAClC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YAC1D,GAAG,CAAC,KAAK,YAAY,oBAAoB,IAAI;gBAC3C,eAAe,EAAE;oBACf,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;iBACjD;aACF,CAAC;SACH,CAAC,CAAA;IACJ,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const UWC_CORE_VERSION = "1.
|
|
1
|
+
export declare const UWC_CORE_VERSION = "1.9.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshconnect/uwc-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Core functionality for Universal Wallet Connector",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"src"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@meshconnect/uwc-injected-connector": "0.
|
|
20
|
-
"@meshconnect/uwc-ton-connector": "0.7.
|
|
21
|
-
"@meshconnect/uwc-types": "0.
|
|
22
|
-
"@meshconnect/uwc-wallet-connect-connector": "0.11.
|
|
19
|
+
"@meshconnect/uwc-injected-connector": "0.19.0",
|
|
20
|
+
"@meshconnect/uwc-ton-connector": "0.7.6",
|
|
21
|
+
"@meshconnect/uwc-types": "0.23.0",
|
|
22
|
+
"@meshconnect/uwc-wallet-connect-connector": "0.11.4"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "^5.9.3"
|
package/src/events.ts
CHANGED
|
@@ -149,8 +149,23 @@ export interface UWCEventMap {
|
|
|
149
149
|
/** Network switch succeeded. */
|
|
150
150
|
networkSwitched: { network: Network }
|
|
151
151
|
|
|
152
|
-
/**
|
|
153
|
-
|
|
152
|
+
/**
|
|
153
|
+
* Wallet capabilities were refreshed. `source`/`durationMs` make the
|
|
154
|
+
* coalescing/cache layer prod-verifiable: without them a cache hit and a
|
|
155
|
+
* multi-second wallet RPC emit identical records, so a dashboard can't
|
|
156
|
+
* confirm the dedup is working (cache-hit ratio, RPC latency).
|
|
157
|
+
*/
|
|
158
|
+
capabilitiesUpdated: {
|
|
159
|
+
capabilities: Record<string, EVMCapabilities>
|
|
160
|
+
/**
|
|
161
|
+
* How this refresh was served: `rpc` = this caller issued the wallet
|
|
162
|
+
* request; `inflight` = joined a concurrent caller's pending request;
|
|
163
|
+
* `cache` = served from the session cache, no wallet round-trip.
|
|
164
|
+
*/
|
|
165
|
+
source: 'cache' | 'inflight' | 'rpc'
|
|
166
|
+
/** This caller's wait for the capabilities result (ms). */
|
|
167
|
+
durationMs: number
|
|
168
|
+
}
|
|
154
169
|
|
|
155
170
|
/**
|
|
156
171
|
* A user-initiated operation failed. Carries optional, telemetry-only
|
|
@@ -376,6 +391,43 @@ export interface UWCEventMap {
|
|
|
376
391
|
hiddenMs?: number | undefined
|
|
377
392
|
}
|
|
378
393
|
|
|
394
|
+
/**
|
|
395
|
+
* The secondary Solana gather was SKIPPED for a wallet that declares a
|
|
396
|
+
* legacy `solana.injectedId` (ONC-3536 follow-up). Inside such wallets'
|
|
397
|
+
* own in-app browsers (Coinbase/Base Wallet Legacy mode) — top-level dapp
|
|
398
|
+
* deep-link flow or framed embed — any secondary Solana connect after an
|
|
399
|
+
* EVM connect parks the wallet's active namespace on Solana, and the
|
|
400
|
+
* following EVM `eth_sendTransaction` never surfaces an approval sheet
|
|
401
|
+
* (60s `walletTimedOut`, the USDC.base hang). Triage telemetry: confirms
|
|
402
|
+
* the gate fired when retesting the fix. Deduped per injectedId × outcome
|
|
403
|
+
* per connector instance (it can fire twice for one injectedId, once per
|
|
404
|
+
* outcome). Carries the metadata key + discovery/runtime facets only —
|
|
405
|
+
* never an address.
|
|
406
|
+
*/
|
|
407
|
+
secondarySolanaConnectSkipped: {
|
|
408
|
+
/** The `solana.injectedId` metadata key that triggered the skip (e.g. `coinbaseSolana`). */
|
|
409
|
+
injectedId: string
|
|
410
|
+
/** `connectSuppressed` = gate skipped a would-be connect; `alreadyConnected` = passive check found the provider pre-authorized (no connect made). */
|
|
411
|
+
outcome: 'connectSuppressed' | 'alreadyConnected'
|
|
412
|
+
/** True = wallet discovered via the legacy injected fallback (true "Legacy mode"); false = Wallet Standard. */
|
|
413
|
+
legacyInjected: boolean
|
|
414
|
+
/** True = skipped in a framed embed; false = top-level in the wallet's in-app browser (dapp deep-link flow). */
|
|
415
|
+
framed: boolean
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Connecting a wallet released live per-namespace state that belonged to a
|
|
420
|
+
* DIFFERENT wallet — the injected connector's wallet-switch guard (see
|
|
421
|
+
* `ConnectionManager.releaseOtherWalletConnections`). Makes the otherwise
|
|
422
|
+
* silent release observable in prod: an unexpected emit (e.g. during a
|
|
423
|
+
* same-wallet reconnect) is the signal the identity comparison broke.
|
|
424
|
+
* Carries only the released namespaces — never an address.
|
|
425
|
+
*/
|
|
426
|
+
walletConnectionsReleased: {
|
|
427
|
+
/** CAIP namespaces whose live state was released (e.g. `['eip155']`). */
|
|
428
|
+
namespaces: Namespace[]
|
|
429
|
+
}
|
|
430
|
+
|
|
379
431
|
/**
|
|
380
432
|
* Back-compat catch-all. Fires after every other event above.
|
|
381
433
|
* New code should prefer the specific events.
|
|
@@ -407,7 +459,9 @@ export const TELEMETRY_ONLY_EVENTS: ReadonlySet<UWCEventName> = new Set([
|
|
|
407
459
|
'walletSessionExpired',
|
|
408
460
|
'lifecycleTelemetryUnavailable',
|
|
409
461
|
'pageHiddenDuringHandoff',
|
|
410
|
-
'pageVisibleDuringHandoff'
|
|
462
|
+
'pageVisibleDuringHandoff',
|
|
463
|
+
'secondarySolanaConnectSkipped',
|
|
464
|
+
'walletConnectionsReleased'
|
|
411
465
|
])
|
|
412
466
|
|
|
413
467
|
export type UWCEventName = keyof UWCEventMap
|
|
@@ -452,6 +506,8 @@ const EVENT_NAME_FLAGS: Record<UWCEventName, true> = {
|
|
|
452
506
|
lifecycleTelemetryUnavailable: true,
|
|
453
507
|
pageHiddenDuringHandoff: true,
|
|
454
508
|
pageVisibleDuringHandoff: true,
|
|
509
|
+
secondarySolanaConnectSkipped: true,
|
|
510
|
+
walletConnectionsReleased: true,
|
|
455
511
|
change: true
|
|
456
512
|
}
|
|
457
513
|
|
|
@@ -225,6 +225,37 @@ describe('normalizeEvent', () => {
|
|
|
225
225
|
expect(out.platform).toBe('mobile')
|
|
226
226
|
})
|
|
227
227
|
|
|
228
|
+
it('carries the serve source and duration on capabilitiesUpdated', () => {
|
|
229
|
+
const out = normalizeEvent(
|
|
230
|
+
'capabilitiesUpdated',
|
|
231
|
+
{
|
|
232
|
+
capabilities: {
|
|
233
|
+
'eip155:8453': { atomicBatching: { status: 'supported' } }
|
|
234
|
+
},
|
|
235
|
+
source: 'inflight',
|
|
236
|
+
durationMs: 812
|
|
237
|
+
},
|
|
238
|
+
SDK_SESSION,
|
|
239
|
+
NOW
|
|
240
|
+
)
|
|
241
|
+
// `capabilitiesSource` is its own field — never conflated with the
|
|
242
|
+
// error-oriented `source` facet.
|
|
243
|
+
expect(out.capabilitiesSource).toBe('inflight')
|
|
244
|
+
expect('source' in out).toBe(false)
|
|
245
|
+
expect(out.durationMs).toBe(812)
|
|
246
|
+
expect(out.capabilities).toEqual({ 'eip155:8453': ['atomicBatching'] })
|
|
247
|
+
})
|
|
248
|
+
|
|
249
|
+
it('carries released namespaces on walletConnectionsReleased', () => {
|
|
250
|
+
const out = normalizeEvent(
|
|
251
|
+
'walletConnectionsReleased',
|
|
252
|
+
{ namespaces: ['eip155', 'solana'] },
|
|
253
|
+
SDK_SESSION,
|
|
254
|
+
NOW
|
|
255
|
+
)
|
|
256
|
+
expect(out.releasedNamespaces).toEqual(['eip155', 'solana'])
|
|
257
|
+
})
|
|
258
|
+
|
|
228
259
|
it('collapses noisy/unknown events to name only', () => {
|
|
229
260
|
const out = normalizeEvent('ready', undefined, SDK_SESSION, NOW)
|
|
230
261
|
expect(out).toEqual({
|
|
@@ -481,6 +512,40 @@ describe('normalizeEvent', () => {
|
|
|
481
512
|
expect(out.error?.message).toBe('bridge unreachable')
|
|
482
513
|
})
|
|
483
514
|
|
|
515
|
+
it('carries injectedId + legacyInjected for secondarySolanaConnectSkipped, length-capped (ONC-3536)', () => {
|
|
516
|
+
const out = normalizeEvent(
|
|
517
|
+
'secondarySolanaConnectSkipped',
|
|
518
|
+
{
|
|
519
|
+
injectedId: 'coinbaseSolana',
|
|
520
|
+
outcome: 'connectSuppressed',
|
|
521
|
+
legacyInjected: true,
|
|
522
|
+
framed: false
|
|
523
|
+
},
|
|
524
|
+
SDK_SESSION,
|
|
525
|
+
NOW
|
|
526
|
+
)
|
|
527
|
+
expect(out.injectedId).toBe('coinbaseSolana')
|
|
528
|
+
expect(out.legacyInjected).toBe(true)
|
|
529
|
+
expect(out.gateOutcome).toBe('connectSuppressed')
|
|
530
|
+
expect(out.runtime).toBe('direct')
|
|
531
|
+
|
|
532
|
+
const capped = normalizeEvent(
|
|
533
|
+
'secondarySolanaConnectSkipped',
|
|
534
|
+
{
|
|
535
|
+
injectedId: 'x'.repeat(200),
|
|
536
|
+
outcome: 'alreadyConnected',
|
|
537
|
+
legacyInjected: false,
|
|
538
|
+
framed: true
|
|
539
|
+
},
|
|
540
|
+
SDK_SESSION,
|
|
541
|
+
NOW
|
|
542
|
+
)
|
|
543
|
+
expect(capped.injectedId).toHaveLength(64)
|
|
544
|
+
expect(capped.legacyInjected).toBe(false)
|
|
545
|
+
expect(capped.gateOutcome).toBe('alreadyConnected')
|
|
546
|
+
expect(capped.runtime).toBe('iframe')
|
|
547
|
+
})
|
|
548
|
+
|
|
484
549
|
it('normalizes lifecycle events with routing only, no address (P2)', () => {
|
|
485
550
|
const acct = normalizeEvent(
|
|
486
551
|
'walletAccountChanged',
|
|
@@ -31,6 +31,9 @@ export const TELEMETRY_SCHEMA_VERSION = 1
|
|
|
31
31
|
const MAX_NETWORK_MISMATCH_IDS = 20
|
|
32
32
|
const MAX_NETWORK_ID_LENGTH = 64
|
|
33
33
|
|
|
34
|
+
/** Egress cap for `injectedId` (a catalog-metadata window-global key). */
|
|
35
|
+
const MAX_INJECTED_ID_LENGTH = 64
|
|
36
|
+
|
|
34
37
|
function capNetworkMismatch(
|
|
35
38
|
mismatch:
|
|
36
39
|
| { walletNetworkIds: string[]; configuredNetworkIds: string[] }
|
|
@@ -123,6 +126,21 @@ export interface UWCTelemetryEvent {
|
|
|
123
126
|
* present only for `capabilitiesUpdated`. Feature flags + chain ids — not PII.
|
|
124
127
|
*/
|
|
125
128
|
capabilities?: Record<string, string[]> | undefined
|
|
129
|
+
/**
|
|
130
|
+
* `capabilitiesUpdated` only: how the refresh was served — `rpc` = a real
|
|
131
|
+
* wallet round-trip, `inflight` = joined a concurrent caller's pending
|
|
132
|
+
* request, `cache` = session cache, no wallet call. Its OWN field (not the
|
|
133
|
+
* error-oriented `source` above) so the two facets can't be conflated.
|
|
134
|
+
* Pair with `durationMs` to chart cache-hit ratio and RPC latency — the
|
|
135
|
+
* prod signal that the capabilities coalescing layer is working.
|
|
136
|
+
*/
|
|
137
|
+
capabilitiesSource?: 'cache' | 'inflight' | 'rpc' | undefined
|
|
138
|
+
/**
|
|
139
|
+
* `walletConnectionsReleased` only: CAIP namespaces whose live state was
|
|
140
|
+
* released by the injected connector's wallet-switch guard. Namespace names
|
|
141
|
+
* only — never an address.
|
|
142
|
+
*/
|
|
143
|
+
releasedNamespaces?: Namespace[] | undefined
|
|
126
144
|
/**
|
|
127
145
|
* Per-namespace requested-vs-matched discovery summary, present only on
|
|
128
146
|
* `walletsDetected`. Counts only — never a wallet id or address. `legacyInjected`
|
|
@@ -153,7 +171,12 @@ export interface UWCTelemetryEvent {
|
|
|
153
171
|
missingNamespaces?: string[] | undefined
|
|
154
172
|
/** `lifecycleTelemetryUnavailable` only: why lifecycle telemetry couldn't attach. */
|
|
155
173
|
reason?: LifecycleUnavailableReason | undefined
|
|
156
|
-
/**
|
|
174
|
+
/**
|
|
175
|
+
* Direct page vs production iframe. Present on
|
|
176
|
+
* `lifecycleTelemetryUnavailable` and `secondarySolanaConnectSkipped`
|
|
177
|
+
* (there: `iframe` = framed embed, `direct` = top-level in the wallet's
|
|
178
|
+
* in-app browser, i.e. the dapp deep-link flow).
|
|
179
|
+
*/
|
|
157
180
|
runtime?: 'direct' | 'iframe' | undefined
|
|
158
181
|
/**
|
|
159
182
|
* `error` only: a handoff terminal already reported this failure — this
|
|
@@ -169,6 +192,27 @@ export interface UWCTelemetryEvent {
|
|
|
169
192
|
backgroundCount?: number | undefined
|
|
170
193
|
/** Handoff terminals, WalletConnect only: relay-socket drops seen while the handoff was pending. */
|
|
171
194
|
relayDropCount?: number | undefined
|
|
195
|
+
/**
|
|
196
|
+
* `secondarySolanaConnectSkipped` only: the `solana.injectedId` metadata key
|
|
197
|
+
* whose secondary gather the gate acted on (e.g. `coinbaseSolana`) — fires
|
|
198
|
+
* framed or top-level in-app (`runtime` distinguishes). A consumer-configured
|
|
199
|
+
* metadata key, never an address. Length-capped as defense-in-depth since
|
|
200
|
+
* the value originates in catalog metadata.
|
|
201
|
+
*/
|
|
202
|
+
injectedId?: string | undefined
|
|
203
|
+
/**
|
|
204
|
+
* `secondarySolanaConnectSkipped` only: true when the skipped wallet was
|
|
205
|
+
* discovered via the legacy injected-Solana fallback (true "Legacy mode")
|
|
206
|
+
* rather than the Wallet Standard registry.
|
|
207
|
+
*/
|
|
208
|
+
legacyInjected?: boolean | undefined
|
|
209
|
+
/**
|
|
210
|
+
* `secondarySolanaConnectSkipped` only: `connectSuppressed` = the gate
|
|
211
|
+
* skipped a would-be connect; `alreadyConnected` = the passive check found
|
|
212
|
+
* the provider pre-authorized, no connect was made — a hang after that is
|
|
213
|
+
* wallet-side state, not the gather.
|
|
214
|
+
*/
|
|
215
|
+
gateOutcome?: 'connectSuppressed' | 'alreadyConnected' | undefined
|
|
172
216
|
}
|
|
173
217
|
|
|
174
218
|
/**
|
|
@@ -460,7 +504,16 @@ function buildTelemetryEvent<K extends UWCEventName>(
|
|
|
460
504
|
.map(([feature]) => feature)
|
|
461
505
|
if (enabled.length > 0) capabilities[chainId] = enabled
|
|
462
506
|
}
|
|
463
|
-
return {
|
|
507
|
+
return {
|
|
508
|
+
...base,
|
|
509
|
+
capabilities,
|
|
510
|
+
capabilitiesSource: d.source,
|
|
511
|
+
durationMs: d.durationMs
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
case 'walletConnectionsReleased': {
|
|
515
|
+
const d = data as UWCEventMap['walletConnectionsReleased']
|
|
516
|
+
return { ...base, releasedNamespaces: d.namespaces }
|
|
464
517
|
}
|
|
465
518
|
case 'walletsDetected': {
|
|
466
519
|
const d = data as UWCEventMap['walletsDetected']
|
|
@@ -476,6 +529,16 @@ function buildTelemetryEvent<K extends UWCEventName>(
|
|
|
476
529
|
error: { type: d.error.type, message: scrubMessage(d.error.message) }
|
|
477
530
|
}
|
|
478
531
|
}
|
|
532
|
+
case 'secondarySolanaConnectSkipped': {
|
|
533
|
+
const d = data as UWCEventMap['secondarySolanaConnectSkipped']
|
|
534
|
+
return {
|
|
535
|
+
...base,
|
|
536
|
+
injectedId: d.injectedId.slice(0, MAX_INJECTED_ID_LENGTH),
|
|
537
|
+
legacyInjected: d.legacyInjected,
|
|
538
|
+
gateOutcome: d.outcome,
|
|
539
|
+
runtime: d.framed ? 'iframe' : 'direct'
|
|
540
|
+
}
|
|
541
|
+
}
|
|
479
542
|
case 'pageHiddenDuringHandoff':
|
|
480
543
|
case 'pageVisibleDuringHandoff': {
|
|
481
544
|
// Cast to the visible shape (superset). `hiddenMs` is absent on the hidden
|
|
@@ -281,6 +281,144 @@ describe('WalletCapabilitiesService', () => {
|
|
|
281
281
|
})
|
|
282
282
|
})
|
|
283
283
|
|
|
284
|
+
it('should coalesce concurrent calls into a single connector fetch', async () => {
|
|
285
|
+
let resolveFetch!: (value: Record<string, EVMCapabilities>) => void
|
|
286
|
+
const fetchPromise = new Promise<Record<string, EVMCapabilities>>(
|
|
287
|
+
resolve => {
|
|
288
|
+
resolveFetch = resolve
|
|
289
|
+
}
|
|
290
|
+
)
|
|
291
|
+
mockConnector.getWalletCapabilities = vi
|
|
292
|
+
.fn()
|
|
293
|
+
.mockReturnValue(fetchPromise)
|
|
294
|
+
|
|
295
|
+
const first = service.getWalletCapabilities('0x123')
|
|
296
|
+
const second = service.getWalletCapabilities('0x123')
|
|
297
|
+
|
|
298
|
+
resolveFetch({
|
|
299
|
+
'eip155:1': { atomicBatching: { supported: true } } as EVMCapabilities
|
|
300
|
+
})
|
|
301
|
+
await Promise.all([first, second])
|
|
302
|
+
|
|
303
|
+
expect(mockConnector.getWalletCapabilities).toHaveBeenCalledTimes(1)
|
|
304
|
+
// Both callers still get their session update.
|
|
305
|
+
expect(sessionManager.updateSession).toHaveBeenCalledTimes(2)
|
|
306
|
+
})
|
|
307
|
+
|
|
308
|
+
it('should stamp capabilitiesUpdated with how each caller was served (rpc / inflight / cache)', async () => {
|
|
309
|
+
const emitted: Array<{ source: string; durationMs: number }> = []
|
|
310
|
+
eventManager.on('capabilitiesUpdated', e =>
|
|
311
|
+
emitted.push({ source: e.source, durationMs: e.durationMs })
|
|
312
|
+
)
|
|
313
|
+
|
|
314
|
+
let resolveFetch!: (value: Record<string, EVMCapabilities>) => void
|
|
315
|
+
const fetchPromise = new Promise<Record<string, EVMCapabilities>>(
|
|
316
|
+
resolve => {
|
|
317
|
+
resolveFetch = resolve
|
|
318
|
+
}
|
|
319
|
+
)
|
|
320
|
+
mockConnector.getWalletCapabilities = vi
|
|
321
|
+
.fn()
|
|
322
|
+
.mockReturnValue(fetchPromise)
|
|
323
|
+
|
|
324
|
+
const first = service.getWalletCapabilities('0x123') // issues the RPC
|
|
325
|
+
const second = service.getWalletCapabilities('0x123') // joins in-flight
|
|
326
|
+
resolveFetch({
|
|
327
|
+
'eip155:1': { atomicBatching: { supported: true } } as EVMCapabilities
|
|
328
|
+
})
|
|
329
|
+
await Promise.all([first, second])
|
|
330
|
+
|
|
331
|
+
await service.getWalletCapabilities('0x123') // served from cache
|
|
332
|
+
|
|
333
|
+
expect(emitted.map(e => e.source)).toEqual(['rpc', 'inflight', 'cache'])
|
|
334
|
+
for (const e of emitted) {
|
|
335
|
+
expect(typeof e.durationMs).toBe('number')
|
|
336
|
+
expect(e.durationMs).toBeGreaterThanOrEqual(0)
|
|
337
|
+
}
|
|
338
|
+
})
|
|
339
|
+
|
|
340
|
+
it('should serve a non-empty result from cache on subsequent calls', async () => {
|
|
341
|
+
mockConnector.getWalletCapabilities = vi.fn().mockResolvedValue({
|
|
342
|
+
'eip155:1': { atomicBatching: { supported: true } } as EVMCapabilities
|
|
343
|
+
})
|
|
344
|
+
|
|
345
|
+
await service.getWalletCapabilities('0x123')
|
|
346
|
+
await service.getWalletCapabilities('0x123')
|
|
347
|
+
|
|
348
|
+
expect(mockConnector.getWalletCapabilities).toHaveBeenCalledTimes(1)
|
|
349
|
+
expect(sessionManager.updateSession).toHaveBeenCalledTimes(2)
|
|
350
|
+
})
|
|
351
|
+
|
|
352
|
+
it('should fetch separately per wallet even for the same address', async () => {
|
|
353
|
+
mockConnector.getWalletCapabilities = vi.fn().mockResolvedValue({
|
|
354
|
+
'eip155:1': { atomicBatching: { supported: true } } as EVMCapabilities
|
|
355
|
+
})
|
|
356
|
+
|
|
357
|
+
const sessionFor = (walletId: string) => ({
|
|
358
|
+
address: '0x123',
|
|
359
|
+
connectionMode: 'injected' as ConnectionMode,
|
|
360
|
+
activeWallet: { id: walletId },
|
|
361
|
+
chainId: 'eip155:1',
|
|
362
|
+
networkId: 'eip155:1'
|
|
363
|
+
})
|
|
364
|
+
|
|
365
|
+
sessionManager.getSession = vi
|
|
366
|
+
.fn()
|
|
367
|
+
.mockReturnValue(sessionFor('metamask'))
|
|
368
|
+
await service.getWalletCapabilities('0x123')
|
|
369
|
+
|
|
370
|
+
// Same address now lives in a different wallet (same seed imported) —
|
|
371
|
+
// its capability surface may differ, so the cache must not be shared.
|
|
372
|
+
sessionManager.getSession = vi.fn().mockReturnValue(sessionFor('rabby'))
|
|
373
|
+
await service.getWalletCapabilities('0x123')
|
|
374
|
+
|
|
375
|
+
expect(mockConnector.getWalletCapabilities).toHaveBeenCalledTimes(2)
|
|
376
|
+
})
|
|
377
|
+
|
|
378
|
+
it('should fetch separately per address', async () => {
|
|
379
|
+
mockConnector.getWalletCapabilities = vi.fn().mockResolvedValue({
|
|
380
|
+
'eip155:1': { atomicBatching: { supported: true } } as EVMCapabilities
|
|
381
|
+
})
|
|
382
|
+
|
|
383
|
+
await service.getWalletCapabilities('0x123')
|
|
384
|
+
await service.getWalletCapabilities('0xabc')
|
|
385
|
+
|
|
386
|
+
expect(mockConnector.getWalletCapabilities).toHaveBeenCalledTimes(2)
|
|
387
|
+
})
|
|
388
|
+
|
|
389
|
+
it('should cache an empty result briefly, then allow a re-fetch', async () => {
|
|
390
|
+
vi.useFakeTimers()
|
|
391
|
+
try {
|
|
392
|
+
// A rejection resolves to {} — the transient-failure shape.
|
|
393
|
+
mockConnector.getWalletCapabilities = vi
|
|
394
|
+
.fn()
|
|
395
|
+
.mockRejectedValueOnce(new Error('timed out'))
|
|
396
|
+
.mockResolvedValue({
|
|
397
|
+
'eip155:1': {
|
|
398
|
+
atomicBatching: { supported: true }
|
|
399
|
+
} as EVMCapabilities
|
|
400
|
+
})
|
|
401
|
+
|
|
402
|
+
await service.getWalletCapabilities('0x123')
|
|
403
|
+
// Within the retry window: served from cache, no second RPC.
|
|
404
|
+
await service.getWalletCapabilities('0x123')
|
|
405
|
+
expect(mockConnector.getWalletCapabilities).toHaveBeenCalledTimes(1)
|
|
406
|
+
|
|
407
|
+
// Past the retry window: the empty result is stale — re-fetch.
|
|
408
|
+
vi.setSystemTime(Date.now() + 31_000)
|
|
409
|
+
await service.getWalletCapabilities('0x123')
|
|
410
|
+
expect(mockConnector.getWalletCapabilities).toHaveBeenCalledTimes(2)
|
|
411
|
+
expect(sessionManager.updateSession).toHaveBeenLastCalledWith({
|
|
412
|
+
activeWalletCapabilities: {
|
|
413
|
+
'eip155:1': { atomicBatching: { supported: true } }
|
|
414
|
+
},
|
|
415
|
+
activeNetworkWalletCapabilities: null
|
|
416
|
+
})
|
|
417
|
+
} finally {
|
|
418
|
+
vi.useRealTimers()
|
|
419
|
+
}
|
|
420
|
+
})
|
|
421
|
+
|
|
284
422
|
it('should handle multiple connectors but use only the active one', async () => {
|
|
285
423
|
const mockConnector1 = {
|
|
286
424
|
getWalletCapabilities: vi.fn().mockResolvedValue({
|
|
@@ -8,7 +8,41 @@ import type { SessionManager } from '../managers/session-manager'
|
|
|
8
8
|
import type { EventManager } from '../managers/event-manager'
|
|
9
9
|
import type { ServiceOptions } from './connection-service'
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* How long an EMPTY capabilities result is served from cache before a re-fetch
|
|
13
|
+
* is allowed. Empty is ambiguous: it means either "wallet doesn't support
|
|
14
|
+
* wallet_getCapabilities" (stable — could be cached forever) or "the fetch
|
|
15
|
+
* failed/timed out" (transient — caching it forever would freeze capabilities
|
|
16
|
+
* at {} for the whole session). A short TTL serves both: repeat UI triggers
|
|
17
|
+
* stay coalesced/cached in the window that matters, while a transient failure
|
|
18
|
+
* self-heals on a later trigger. Non-empty results don't expire — a wallet's
|
|
19
|
+
* capability surface doesn't change mid-session.
|
|
20
|
+
*/
|
|
21
|
+
const EMPTY_RESULT_RETRY_MS = 30_000
|
|
22
|
+
|
|
11
23
|
export class WalletCapabilitiesService {
|
|
24
|
+
/**
|
|
25
|
+
* In-flight `connector.getWalletCapabilities` promise per cache key, so
|
|
26
|
+
* concurrent callers share ONE wallet RPC instead of each issuing their own.
|
|
27
|
+
* Why this matters: consumers commonly trigger a capabilities fetch from UI
|
|
28
|
+
* state (per rendered component, per session change), fanning N identical
|
|
29
|
+
* calls at once. MetaMask processes `wallet_getCapabilities` slowly (~1s
|
|
30
|
+
* each, observed) AND serializes dapp requests behind it, so an uncoalesced
|
|
31
|
+
* flood queues for ~10s and delays every subsequent RPC — measured as a 5s+
|
|
32
|
+
* `eth_accounts` stall on reconnect. The connector-level 3s timeout doesn't
|
|
33
|
+
* help: racing past a request can't cancel it wallet-side.
|
|
34
|
+
*/
|
|
35
|
+
private readonly inFlightFetches = new Map<
|
|
36
|
+
string,
|
|
37
|
+
Promise<Record<string, EVMCapabilities>>
|
|
38
|
+
>()
|
|
39
|
+
|
|
40
|
+
/** Settled results per cache key; empty results expire (see EMPTY_RESULT_RETRY_MS). */
|
|
41
|
+
private readonly resultCache = new Map<
|
|
42
|
+
string,
|
|
43
|
+
{ capabilities: Record<string, EVMCapabilities>; fetchedAt: number }
|
|
44
|
+
>()
|
|
45
|
+
|
|
12
46
|
constructor(
|
|
13
47
|
private networks: Network[],
|
|
14
48
|
private connectors: Map<ConnectionMode, Connector>,
|
|
@@ -16,6 +50,65 @@ export class WalletCapabilitiesService {
|
|
|
16
50
|
private eventManager: EventManager
|
|
17
51
|
) {}
|
|
18
52
|
|
|
53
|
+
/**
|
|
54
|
+
* Fetch capabilities through the coalescing/caching layer. The key includes
|
|
55
|
+
* the connection mode, the active wallet id, and the address, so switching
|
|
56
|
+
* wallet, account, or mode naturally misses the cache — the wallet id
|
|
57
|
+
* matters because the same address can live in two different wallets (one
|
|
58
|
+
* seed imported into both), whose capability surfaces differ; `networks` is
|
|
59
|
+
* constructor-fixed and needs no key part. The result promise never
|
|
60
|
+
* rejects — failures resolve to {} (preserving the previous inline
|
|
61
|
+
* behavior), which also guarantees in-flight cleanup runs.
|
|
62
|
+
*
|
|
63
|
+
* `source` reports how THIS caller was served (`cache` / `inflight` /
|
|
64
|
+
* `rpc`) and rides the `capabilitiesUpdated` emit — the prod signal that
|
|
65
|
+
* the coalescing layer works (a flood should show one `rpc` and N-1
|
|
66
|
+
* `inflight`/`cache` records, not N slow `rpc`s).
|
|
67
|
+
*/
|
|
68
|
+
private fetchCapabilities(
|
|
69
|
+
connectionMode: ConnectionMode,
|
|
70
|
+
walletId: string | undefined,
|
|
71
|
+
fetch: () => Promise<Record<string, EVMCapabilities>>,
|
|
72
|
+
address: string
|
|
73
|
+
): {
|
|
74
|
+
source: 'cache' | 'inflight' | 'rpc'
|
|
75
|
+
result: Promise<Record<string, EVMCapabilities>>
|
|
76
|
+
} {
|
|
77
|
+
const key = `${connectionMode}:${walletId ?? ''}:${address.toLowerCase()}`
|
|
78
|
+
|
|
79
|
+
const cached = this.resultCache.get(key)
|
|
80
|
+
if (cached) {
|
|
81
|
+
const isEmpty = Object.keys(cached.capabilities).length === 0
|
|
82
|
+
if (!isEmpty || Date.now() - cached.fetchedAt < EMPTY_RESULT_RETRY_MS) {
|
|
83
|
+
return { source: 'cache', result: Promise.resolve(cached.capabilities) }
|
|
84
|
+
}
|
|
85
|
+
// Empty and past its retry window — fall through to a fresh fetch.
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const pending = this.inFlightFetches.get(key)
|
|
89
|
+
if (pending) {
|
|
90
|
+
return { source: 'inflight', result: pending }
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const fetchPromise = (async () => {
|
|
94
|
+
try {
|
|
95
|
+
return await fetch()
|
|
96
|
+
} catch {
|
|
97
|
+
return {}
|
|
98
|
+
}
|
|
99
|
+
})()
|
|
100
|
+
.then(capabilities => {
|
|
101
|
+
this.resultCache.set(key, { capabilities, fetchedAt: Date.now() })
|
|
102
|
+
return capabilities
|
|
103
|
+
})
|
|
104
|
+
.finally(() => {
|
|
105
|
+
this.inFlightFetches.delete(key)
|
|
106
|
+
})
|
|
107
|
+
|
|
108
|
+
this.inFlightFetches.set(key, fetchPromise)
|
|
109
|
+
return { source: 'rpc', result: fetchPromise }
|
|
110
|
+
}
|
|
111
|
+
|
|
19
112
|
async getWalletCapabilities(
|
|
20
113
|
address: string,
|
|
21
114
|
activeNetwork?: Network,
|
|
@@ -43,15 +136,17 @@ export class WalletCapabilitiesService {
|
|
|
43
136
|
activeConnector &&
|
|
44
137
|
typeof activeConnector.getWalletCapabilities === 'function'
|
|
45
138
|
) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
139
|
+
const fetchStarted = Date.now()
|
|
140
|
+
const { source, result } = this.fetchCapabilities(
|
|
141
|
+
session.connectionMode,
|
|
142
|
+
session.activeWallet?.id,
|
|
143
|
+
() => activeConnector.getWalletCapabilities!(address, this.networks),
|
|
144
|
+
address
|
|
145
|
+
)
|
|
146
|
+
const capabilities = await result
|
|
147
|
+
// THIS caller's wait — for an 'inflight' join that's the remaining RPC
|
|
148
|
+
// time, for 'cache' ~0, for 'rpc' the full wallet round-trip.
|
|
149
|
+
const durationMs = Date.now() - fetchStarted
|
|
55
150
|
|
|
56
151
|
options?.signal?.throwIfAborted()
|
|
57
152
|
|
|
@@ -79,7 +174,9 @@ export class WalletCapabilitiesService {
|
|
|
79
174
|
}
|
|
80
175
|
|
|
81
176
|
this.eventManager.emit('capabilitiesUpdated', {
|
|
82
|
-
capabilities: activeWalletCapabilities
|
|
177
|
+
capabilities: activeWalletCapabilities,
|
|
178
|
+
source,
|
|
179
|
+
durationMs
|
|
83
180
|
})
|
|
84
181
|
this.eventManager.emit('sessionChanged', {
|
|
85
182
|
session: this.sessionManager.getSession()
|
|
@@ -309,7 +309,18 @@ export class UniversalWalletConnector {
|
|
|
309
309
|
type: 'unknown',
|
|
310
310
|
message: `legacy injected-Solana provider at "${info.injectedId}" for ${info.walletName} is not a valid Solana provider`
|
|
311
311
|
}
|
|
312
|
-
})
|
|
312
|
+
}),
|
|
313
|
+
// Triage telemetry (ONC-3536 follow-up): the secondary Solana gather
|
|
314
|
+
// gate was active for a legacy-`injectedId` wallet inside the wallet's
|
|
315
|
+
// own browser (framed embed or top-level in-app / dapp deep-link flow)
|
|
316
|
+
// so an EVM send can't be parked on the Solana namespace (Coinbase
|
|
317
|
+
// Legacy-mode hang).
|
|
318
|
+
onSecondarySolanaConnectSkipped: info =>
|
|
319
|
+
this.eventManager.emit('secondarySolanaConnectSkipped', info),
|
|
320
|
+
// The wallet-switch guard released a different wallet's live state —
|
|
321
|
+
// surface it so the otherwise-silent release is observable in prod.
|
|
322
|
+
onWalletConnectionsReleased: info =>
|
|
323
|
+
this.eventManager.emit('walletConnectionsReleased', info)
|
|
313
324
|
})
|
|
314
325
|
this.connectors.set('injected', this.injectedConnector)
|
|
315
326
|
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated from package.json by scripts/generate-version.mjs — do not edit.
|
|
2
|
-
export const UWC_CORE_VERSION = '1.
|
|
2
|
+
export const UWC_CORE_VERSION = '1.9.0'
|