@meshconnect/uwc-core 1.0.1-snapshot.c7e65ce → 1.0.2
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/README.md +66 -211
- package/dist/events.d.ts +2 -69
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -40
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/managers/event-manager.d.ts.map +1 -1
- package/dist/managers/event-manager.js +1 -5
- package/dist/managers/event-manager.js.map +1 -1
- package/dist/services/connection-service.d.ts +1 -2
- package/dist/services/connection-service.d.ts.map +1 -1
- package/dist/services/connection-service.js +15 -35
- package/dist/services/connection-service.js.map +1 -1
- package/dist/services/network-switch-service.d.ts +1 -2
- package/dist/services/network-switch-service.d.ts.map +1 -1
- package/dist/services/network-switch-service.js +15 -33
- package/dist/services/network-switch-service.js.map +1 -1
- package/dist/universal-wallet-connector.d.ts +2 -51
- package/dist/universal-wallet-connector.d.ts.map +1 -1
- package/dist/universal-wallet-connector.js +61 -163
- package/dist/universal-wallet-connector.js.map +1 -1
- package/package.json +5 -5
- package/src/events.ts +1 -114
- package/src/index.ts +0 -6
- package/src/managers/event-manager.test.ts +0 -25
- package/src/managers/event-manager.ts +1 -5
- package/src/services/connection-service.test.ts +1 -66
- package/src/services/connection-service.ts +32 -54
- package/src/services/network-switch-service.test.ts +1 -51
- package/src/services/network-switch-service.ts +23 -43
- package/src/universal-wallet-connector.ts +71 -244
- package/dist/logger/create-logger.d.ts +0 -32
- package/dist/logger/create-logger.d.ts.map +0 -1
- package/dist/logger/create-logger.js +0 -69
- package/dist/logger/create-logger.js.map +0 -1
- package/dist/observability/connect-observer.d.ts +0 -22
- package/dist/observability/connect-observer.d.ts.map +0 -1
- package/dist/observability/connect-observer.js +0 -60
- package/dist/observability/connect-observer.js.map +0 -1
- package/dist/observability/instrument-handoff.d.ts +0 -39
- package/dist/observability/instrument-handoff.d.ts.map +0 -1
- package/dist/observability/instrument-handoff.js +0 -86
- package/dist/observability/instrument-handoff.js.map +0 -1
- package/dist/observability/scrub.d.ts +0 -30
- package/dist/observability/scrub.d.ts.map +0 -1
- package/dist/observability/scrub.js +0 -135
- package/dist/observability/scrub.js.map +0 -1
- package/dist/observability/telemetry.d.ts +0 -77
- package/dist/observability/telemetry.d.ts.map +0 -1
- package/dist/observability/telemetry.js +0 -138
- package/dist/observability/telemetry.js.map +0 -1
- package/dist/utils/id.d.ts +0 -2
- package/dist/utils/id.d.ts.map +0 -1
- package/dist/utils/id.js +0 -41
- package/dist/utils/id.js.map +0 -1
- package/dist/utils/to-wallet-error.d.ts +0 -16
- package/dist/utils/to-wallet-error.d.ts.map +0 -1
- package/dist/utils/to-wallet-error.js +0 -33
- package/dist/utils/to-wallet-error.js.map +0 -1
- package/src/logger/create-logger.test.ts +0 -111
- package/src/logger/create-logger.ts +0 -101
- package/src/observability/connect-observer.test.ts +0 -100
- package/src/observability/connect-observer.ts +0 -71
- package/src/observability/instrument-handoff.test.ts +0 -150
- package/src/observability/instrument-handoff.ts +0 -122
- package/src/observability/scrub.test.ts +0 -109
- package/src/observability/scrub.ts +0 -142
- package/src/observability/telemetry.test.ts +0 -134
- package/src/observability/telemetry.ts +0 -211
- package/src/universal-wallet-connector.observability.test.ts +0 -265
- package/src/utils/id.test.ts +0 -15
- package/src/utils/id.ts +0 -48
- package/src/utils/to-wallet-error.ts +0 -36
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { WalletConnectorError } from '@meshconnect/uwc-types';
|
|
1
2
|
import { InjectedConnector } from '@meshconnect/uwc-injected-connector';
|
|
2
3
|
import { WalletConnectConnector } from '@meshconnect/uwc-wallet-connect-connector';
|
|
3
4
|
import { TonConnectConnector } from '@meshconnect/uwc-ton-connector';
|
|
@@ -9,13 +10,6 @@ import { SignatureService } from './services/signature-service';
|
|
|
9
10
|
import { TransactionService } from './services/transaction-service';
|
|
10
11
|
import { WalletCapabilitiesService } from './services/wallet-capabilities-service';
|
|
11
12
|
import { createNetworkRpcMap } from './utils/network-rpc-utils';
|
|
12
|
-
import { generateId } from './utils/id';
|
|
13
|
-
import { toWalletError, isAbortError } from './utils/to-wallet-error';
|
|
14
|
-
import { createLogger } from './logger/create-logger';
|
|
15
|
-
import { connectObserver } from './observability/connect-observer';
|
|
16
|
-
import { instrumentHandoff } from './observability/instrument-handoff';
|
|
17
|
-
/** Default observational wallet-response deadline (ms). Matches TON's 60s. */
|
|
18
|
-
const DEFAULT_WALLET_RESPONSE_TIMEOUT_MS = 60_000;
|
|
19
13
|
export class UniversalWalletConnector {
|
|
20
14
|
static instance = null;
|
|
21
15
|
static instanceCount = 0;
|
|
@@ -33,12 +27,6 @@ export class UniversalWalletConnector {
|
|
|
33
27
|
usingIntegratedBrowser;
|
|
34
28
|
detectionComplete = false;
|
|
35
29
|
networkRpcMap;
|
|
36
|
-
logger;
|
|
37
|
-
/** Per-instance correlation id stamped on every telemetry record. */
|
|
38
|
-
sdkSessionId = generateId();
|
|
39
|
-
walletResponseTimeoutMs;
|
|
40
|
-
/** Tears down the observer subscriptions; set only when an observer is wired. */
|
|
41
|
-
observerTeardown;
|
|
42
30
|
/**
|
|
43
31
|
* Recommended entry point: returns the shared instance, creating it on the
|
|
44
32
|
* first call. Subsequent calls ignore the `config` argument — use
|
|
@@ -84,41 +72,12 @@ export class UniversalWalletConnector {
|
|
|
84
72
|
config = networksOrConfig;
|
|
85
73
|
}
|
|
86
74
|
const { networks, wallets: configuredWallets = [], usingIntegratedBrowser: configuredUsingIntegratedBrowser = false, walletConnectConfig: configuredWalletConnectConfig, tonConnectConfig: configuredTonConnectConfig, tronConnectorConfig: configuredTronConnectorConfig } = config;
|
|
87
|
-
// Observability seam — wire the event bus, logger, and (optional) observer
|
|
88
|
-
// FIRST so even construction-time logs/events are captured. `sdkSessionId` is
|
|
89
|
-
// already assigned as a field initializer.
|
|
90
|
-
this.eventManager = new EventManager();
|
|
91
|
-
this.walletResponseTimeoutMs =
|
|
92
|
-
config.walletResponseTimeoutMs ?? DEFAULT_WALLET_RESPONSE_TIMEOUT_MS;
|
|
93
|
-
this.logger = createLogger({
|
|
94
|
-
level: config.logLevel ?? 'warn',
|
|
95
|
-
sink: config.logger,
|
|
96
|
-
// Pre-gate tap → typed `log` event → observer.onLog. Fires for all levels
|
|
97
|
-
// regardless of the console threshold.
|
|
98
|
-
onLog: (level, message, args) => this.eventManager.emit('log', { level, message, args })
|
|
99
|
-
});
|
|
100
|
-
if (config.observer) {
|
|
101
|
-
// Resolve the correlation id per-event. A consumer can align it to their
|
|
102
|
-
// own session key (e.g. link_sess_id); the generated `sdkSessionId` is the
|
|
103
|
-
// always-available fallback if none is supplied or a getter misbehaves.
|
|
104
|
-
const cid = config.correlationId;
|
|
105
|
-
const getCorrelationId = typeof cid === 'function'
|
|
106
|
-
? () => {
|
|
107
|
-
try {
|
|
108
|
-
return cid() || this.sdkSessionId;
|
|
109
|
-
}
|
|
110
|
-
catch {
|
|
111
|
-
return this.sdkSessionId;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
: () => cid ?? this.sdkSessionId;
|
|
115
|
-
this.observerTeardown = connectObserver(this.eventManager, config.observer, getCorrelationId);
|
|
116
|
-
}
|
|
117
75
|
// Track instance creation and warn on duplicates
|
|
118
76
|
UniversalWalletConnector.instanceCount++;
|
|
119
77
|
if (UniversalWalletConnector.instanceCount > 1 &&
|
|
120
78
|
!UniversalWalletConnector.hasWarnedAboutMultipleInstances) {
|
|
121
|
-
|
|
79
|
+
// eslint-disable-next-line no-console
|
|
80
|
+
console.error(`⚠️ WARNING: Multiple instances of UniversalWalletConnector detected (${UniversalWalletConnector.instanceCount} instances). ` +
|
|
122
81
|
'This can lead to state inconsistencies and unexpected behavior. ' +
|
|
123
82
|
'Please ensure you create only one instance and reuse it throughout your application. ' +
|
|
124
83
|
'Use UniversalWalletConnector.getInstance(config) instead of `new` to guarantee a single instance. ' +
|
|
@@ -151,8 +110,9 @@ export class UniversalWalletConnector {
|
|
|
151
110
|
this.connectors.set('walletConnect', new WalletConnectConnector(configuredWalletConnectConfig, this.networkRpcMap));
|
|
152
111
|
}
|
|
153
112
|
this.sessionManager = new SessionManager();
|
|
154
|
-
this.
|
|
155
|
-
this.
|
|
113
|
+
this.eventManager = new EventManager();
|
|
114
|
+
this.connectionService = new ConnectionService(networks, this.wallets, this.sessionManager, this.connectors, configuredUsingIntegratedBrowser, this.eventManager);
|
|
115
|
+
this.networkSwitchService = new NetworkSwitchService(networks, this.sessionManager, this.connectors, configuredUsingIntegratedBrowser, this.eventManager);
|
|
156
116
|
this.signatureService = new SignatureService(this.sessionManager, this.connectors);
|
|
157
117
|
this.transactionService = new TransactionService(this.sessionManager, this.connectors);
|
|
158
118
|
this.walletCapabilitiesService = new WalletCapabilitiesService(networks, this.connectors, this.sessionManager, this.eventManager);
|
|
@@ -351,9 +311,6 @@ export class UniversalWalletConnector {
|
|
|
351
311
|
}
|
|
352
312
|
async connect(connectionMode, walletId, networkId, options) {
|
|
353
313
|
try {
|
|
354
|
-
// Hand-off instrumentation lives in ConnectionService.connect (emitted
|
|
355
|
-
// after validation, at the real wallet boundary) — not here, so pre-wallet
|
|
356
|
-
// validation failures don't pollute the funnel.
|
|
357
314
|
await this.connectionService.connect(connectionMode, walletId, networkId, options);
|
|
358
315
|
}
|
|
359
316
|
catch (error) {
|
|
@@ -375,8 +332,6 @@ export class UniversalWalletConnector {
|
|
|
375
332
|
}
|
|
376
333
|
async switchNetwork(networkId, options) {
|
|
377
334
|
try {
|
|
378
|
-
// Hand-off instrumentation lives in NetworkSwitchService.switchNetwork
|
|
379
|
-
// (emitted after validation, at the real wallet boundary).
|
|
380
335
|
await this.networkSwitchService.switchNetwork(networkId, options);
|
|
381
336
|
}
|
|
382
337
|
catch (error) {
|
|
@@ -402,25 +357,23 @@ export class UniversalWalletConnector {
|
|
|
402
357
|
throw new Error('No active connection');
|
|
403
358
|
}
|
|
404
359
|
try {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
return await this.signatureService.signMessage(message, provider, options);
|
|
423
|
-
});
|
|
360
|
+
// Get the provider from the active wallet based on connection mode
|
|
361
|
+
let provider;
|
|
362
|
+
if (session.connectionMode === 'injected') {
|
|
363
|
+
provider = this.usingIntegratedBrowser
|
|
364
|
+
? session.activeWallet.integratedBrowserInjectedProvider
|
|
365
|
+
: session.activeWallet.extensionInjectedProvider;
|
|
366
|
+
}
|
|
367
|
+
else if (session.connectionMode === 'walletConnect') {
|
|
368
|
+
provider = session.activeWallet.walletConnectProvider;
|
|
369
|
+
}
|
|
370
|
+
else if (session.connectionMode === 'tonConnect') {
|
|
371
|
+
return await this.signatureService.signMessage(message, undefined, options);
|
|
372
|
+
}
|
|
373
|
+
if (!provider) {
|
|
374
|
+
throw new Error('No provider available for the active wallet');
|
|
375
|
+
}
|
|
376
|
+
return await this.signatureService.signMessage(message, provider, options);
|
|
424
377
|
}
|
|
425
378
|
catch (error) {
|
|
426
379
|
this.emitError(error, 'signMessage');
|
|
@@ -446,26 +399,18 @@ export class UniversalWalletConnector {
|
|
|
446
399
|
if (session.connectionMode === 'tonConnect') {
|
|
447
400
|
throw new Error('signTypedData is not supported for TON wallets');
|
|
448
401
|
}
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
throw new Error('No provider available for the active wallet');
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
return await this.signatureService.signTypedData(typedData, provider);
|
|
463
|
-
});
|
|
464
|
-
}
|
|
465
|
-
catch (error) {
|
|
466
|
-
this.emitError(error, 'signTypedData');
|
|
467
|
-
throw error;
|
|
402
|
+
// Resolve the injected provider from the active wallet. WalletConnect
|
|
403
|
+
// resolves its own provider inside the connector, so it stays undefined here.
|
|
404
|
+
let provider;
|
|
405
|
+
if (session.connectionMode === 'injected') {
|
|
406
|
+
provider = this.usingIntegratedBrowser
|
|
407
|
+
? session.activeWallet.integratedBrowserInjectedProvider
|
|
408
|
+
: session.activeWallet.extensionInjectedProvider;
|
|
409
|
+
if (!provider) {
|
|
410
|
+
throw new Error('No provider available for the active wallet');
|
|
411
|
+
}
|
|
468
412
|
}
|
|
413
|
+
return await this.signatureService.signTypedData(typedData, provider);
|
|
469
414
|
}
|
|
470
415
|
/**
|
|
471
416
|
* Send a transaction with the connected wallet
|
|
@@ -482,25 +427,23 @@ export class UniversalWalletConnector {
|
|
|
482
427
|
throw new Error('No active connection');
|
|
483
428
|
}
|
|
484
429
|
try {
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
return await this.transactionService.sendTransaction(request, provider, options);
|
|
503
|
-
});
|
|
430
|
+
// Get the provider from the active wallet based on connection mode
|
|
431
|
+
let provider;
|
|
432
|
+
if (session.connectionMode === 'injected') {
|
|
433
|
+
provider = this.usingIntegratedBrowser
|
|
434
|
+
? session.activeWallet.integratedBrowserInjectedProvider
|
|
435
|
+
: session.activeWallet.extensionInjectedProvider;
|
|
436
|
+
}
|
|
437
|
+
else if (session.connectionMode === 'walletConnect') {
|
|
438
|
+
provider = session.activeWallet.walletConnectProvider;
|
|
439
|
+
}
|
|
440
|
+
else if (session.connectionMode === 'tonConnect') {
|
|
441
|
+
return await this.transactionService.sendTransaction(request, undefined, options);
|
|
442
|
+
}
|
|
443
|
+
if (!provider) {
|
|
444
|
+
throw new Error('No provider available for the active wallet');
|
|
445
|
+
}
|
|
446
|
+
return await this.transactionService.sendTransaction(request, provider, options);
|
|
504
447
|
}
|
|
505
448
|
catch (error) {
|
|
506
449
|
this.emitError(error, 'sendTransaction');
|
|
@@ -525,13 +468,7 @@ export class UniversalWalletConnector {
|
|
|
525
468
|
if (!connector?.signSolanaTransactionBytes) {
|
|
526
469
|
throw new Error(`signSolanaTransaction is not supported for connection mode "${session.connectionMode}"`);
|
|
527
470
|
}
|
|
528
|
-
|
|
529
|
-
return await this.instrument(this.sessionHandoffContext('signSolanaTransaction', session), () => connector.signSolanaTransactionBytes(serializedTx));
|
|
530
|
-
}
|
|
531
|
-
catch (error) {
|
|
532
|
-
this.emitError(error, 'signSolanaTransaction');
|
|
533
|
-
throw error;
|
|
534
|
-
}
|
|
471
|
+
return await connector.signSolanaTransactionBytes(serializedTx);
|
|
535
472
|
}
|
|
536
473
|
/**
|
|
537
474
|
* Fetch wallet capabilities for the connected wallet
|
|
@@ -591,60 +528,21 @@ export class UniversalWalletConnector {
|
|
|
591
528
|
const session = this.sessionManager.getSession();
|
|
592
529
|
return session.activeWalletCapabilities;
|
|
593
530
|
}
|
|
594
|
-
/**
|
|
595
|
-
* Set the console log threshold at runtime (e.g. from a support toggle). The
|
|
596
|
-
* global `window.UWC_DEBUG` override still takes precedence for ad-hoc triage.
|
|
597
|
-
*/
|
|
598
|
-
setLogLevel(level) {
|
|
599
|
-
this.logger.setLevel(level);
|
|
600
|
-
}
|
|
601
|
-
/**
|
|
602
|
-
* Release observer subscriptions and clear all event listeners. Call on full
|
|
603
|
-
* teardown / logout to avoid leaking listeners across connector lifecycles.
|
|
604
|
-
*/
|
|
605
|
-
dispose() {
|
|
606
|
-
this.observerTeardown?.();
|
|
607
|
-
this.observerTeardown = undefined;
|
|
608
|
-
this.eventManager.clearAllListeners();
|
|
609
|
-
// Full teardown: if this was the shared singleton, clear the static refs too
|
|
610
|
-
// so a later getInstance()/new starts clean — otherwise getInstance() would
|
|
611
|
-
// hand back this now-listener-less instance, and the instance-count warning
|
|
612
|
-
// would mis-fire on the next construction.
|
|
613
|
-
if (UniversalWalletConnector.instance === this) {
|
|
614
|
-
UniversalWalletConnector.resetInstance();
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
531
|
// ---- private helpers ----
|
|
618
|
-
/** Instrument a wallet-boundary op (emits awaitingWallet + a terminal). */
|
|
619
|
-
instrument(context, fn) {
|
|
620
|
-
return instrumentHandoff({
|
|
621
|
-
eventManager: this.eventManager,
|
|
622
|
-
timeoutMs: this.walletResponseTimeoutMs
|
|
623
|
-
}, context, fn);
|
|
624
|
-
}
|
|
625
|
-
/** Build handoff routing facets from the active session (no address). */
|
|
626
|
-
sessionHandoffContext(operation, session) {
|
|
627
|
-
return {
|
|
628
|
-
operation,
|
|
629
|
-
connectionMode: session.connectionMode ?? 'injected',
|
|
630
|
-
walletId: session.activeWallet?.id,
|
|
631
|
-
namespace: session.activeNetwork?.namespace,
|
|
632
|
-
chainId: session.activeNetwork?.id ?? undefined
|
|
633
|
-
};
|
|
634
|
-
}
|
|
635
532
|
emitError(error, operation) {
|
|
636
533
|
// Intentional cancellations (AbortSignal.throwIfAborted, fetch abort,
|
|
637
534
|
// DOMException) should NOT surface as wallet errors — the caller already
|
|
638
|
-
// knows it asked to abort.
|
|
639
|
-
|
|
640
|
-
// every runtime) is skipped consistently on both paths.
|
|
641
|
-
if (isAbortError(error)) {
|
|
535
|
+
// knows it asked to abort. Skip emission so error telemetry stays clean.
|
|
536
|
+
if (error instanceof Error && error.name === 'AbortError') {
|
|
642
537
|
return;
|
|
643
538
|
}
|
|
644
|
-
|
|
645
|
-
error:
|
|
646
|
-
|
|
647
|
-
|
|
539
|
+
const walletError = error instanceof WalletConnectorError
|
|
540
|
+
? { type: error.type, message: error.message }
|
|
541
|
+
: {
|
|
542
|
+
type: 'unknown',
|
|
543
|
+
message: error instanceof Error ? error.message : String(error)
|
|
544
|
+
};
|
|
545
|
+
this.eventManager.emit('error', { error: walletError, operation });
|
|
648
546
|
}
|
|
649
547
|
}
|
|
650
548
|
//# sourceMappingURL=universal-wallet-connector.js.map
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshconnect/uwc-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
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.15.
|
|
20
|
-
"@meshconnect/uwc-ton-connector": "0.6.6
|
|
21
|
-
"@meshconnect/uwc-types": "0.16.1
|
|
22
|
-
"@meshconnect/uwc-wallet-connect-connector": "0.6.4
|
|
19
|
+
"@meshconnect/uwc-injected-connector": "0.15.3",
|
|
20
|
+
"@meshconnect/uwc-ton-connector": "0.6.6",
|
|
21
|
+
"@meshconnect/uwc-types": "0.16.1",
|
|
22
|
+
"@meshconnect/uwc-wallet-connect-connector": "0.6.4"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "^5.9.3"
|
package/src/events.ts
CHANGED
|
@@ -4,12 +4,7 @@ import type {
|
|
|
4
4
|
WalletMetadata,
|
|
5
5
|
ConnectionMode,
|
|
6
6
|
WalletError,
|
|
7
|
-
EVMCapabilities
|
|
8
|
-
LogLevel,
|
|
9
|
-
WalletFlowType,
|
|
10
|
-
Platform,
|
|
11
|
-
Namespace,
|
|
12
|
-
NetworkId
|
|
7
|
+
EVMCapabilities
|
|
13
8
|
} from '@meshconnect/uwc-types'
|
|
14
9
|
|
|
15
10
|
/**
|
|
@@ -20,9 +15,7 @@ export type UWCOperation =
|
|
|
20
15
|
| 'disconnect'
|
|
21
16
|
| 'switchNetwork'
|
|
22
17
|
| 'signMessage'
|
|
23
|
-
| 'signTypedData'
|
|
24
18
|
| 'sendTransaction'
|
|
25
|
-
| 'signSolanaTransaction'
|
|
26
19
|
| 'getWalletCapabilities'
|
|
27
20
|
| 'initialize'
|
|
28
21
|
|
|
@@ -67,69 +60,6 @@ export interface UWCEventMap {
|
|
|
67
60
|
/** A user-initiated operation failed. */
|
|
68
61
|
error: { error: WalletError; operation: UWCOperation }
|
|
69
62
|
|
|
70
|
-
// ---- Observability (telemetry-only; see TELEMETRY_ONLY_EVENTS) -------------
|
|
71
|
-
// These describe what happened, not a state change, so they intentionally do
|
|
72
|
-
// NOT cascade to the legacy `change` channel (which drives React re-renders).
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* A line emitted through the internal `Logger`. Fires for ALL levels regardless
|
|
76
|
-
* of the console threshold so an observer can capture `debug`/`info` even when
|
|
77
|
-
* the console is quiet. `args` is scrubbed before reaching `observer.onLog`.
|
|
78
|
-
*/
|
|
79
|
-
log: { level: LogLevel; message: string; args: unknown[] }
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Emitted immediately BEFORE control is handed to the wallet for a boundary op
|
|
83
|
-
* (the moment the blind window opens). Pair with exactly one terminal event via
|
|
84
|
-
* `handoffId`. Carries no signing payload and no address — only routing facets.
|
|
85
|
-
*/
|
|
86
|
-
awaitingWallet: {
|
|
87
|
-
operation: UWCOperation
|
|
88
|
-
connectionMode: ConnectionMode
|
|
89
|
-
walletId?: string | undefined
|
|
90
|
-
/** CAIP namespace (eip155 | solana | tron | tvm …) — not an address. */
|
|
91
|
-
namespace?: Namespace | undefined
|
|
92
|
-
/** CAIP chain id (e.g. `eip155:1`) — not an address. */
|
|
93
|
-
chainId?: NetworkId | undefined
|
|
94
|
-
handoffId: string
|
|
95
|
-
/** Derived, best-effort flow taxonomy (heuristic — see deriveWalletFlowType). */
|
|
96
|
-
walletFlowType: WalletFlowType
|
|
97
|
-
/** Coarse runtime surface (heuristic — see derivePlatform). */
|
|
98
|
-
platform: Platform
|
|
99
|
-
timestamp: number
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/** The wallet resolved the op successfully. Closes a handoff. */
|
|
103
|
-
walletSucceeded: {
|
|
104
|
-
handoffId: string
|
|
105
|
-
operation: UWCOperation
|
|
106
|
-
durationMs: number
|
|
107
|
-
}
|
|
108
|
-
/** The user explicitly rejected (4001 / WalletError.type === 'rejected'). Closes a handoff. */
|
|
109
|
-
walletRejected: {
|
|
110
|
-
handoffId: string
|
|
111
|
-
operation: UWCOperation
|
|
112
|
-
durationMs: number
|
|
113
|
-
}
|
|
114
|
-
/** The op failed for any non-rejection reason. Closes a handoff. */
|
|
115
|
-
walletFailed: {
|
|
116
|
-
handoffId: string
|
|
117
|
-
operation: UWCOperation
|
|
118
|
-
durationMs: number
|
|
119
|
-
error: WalletError
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Side marker: the deadline passed with the op still pending. OBSERVATIONAL —
|
|
123
|
-
* it does NOT reject, abort, or mutate state; the wallet may still complete and
|
|
124
|
-
* produce the real terminal. Never fires for an op that settled before the
|
|
125
|
-
* deadline. Not itself a terminal.
|
|
126
|
-
*/
|
|
127
|
-
walletTimedOut: {
|
|
128
|
-
handoffId: string
|
|
129
|
-
operation: UWCOperation
|
|
130
|
-
durationMs: number
|
|
131
|
-
}
|
|
132
|
-
|
|
133
63
|
/**
|
|
134
64
|
* Back-compat catch-all. Fires after every other event above.
|
|
135
65
|
* New code should prefer the specific events.
|
|
@@ -137,50 +67,7 @@ export interface UWCEventMap {
|
|
|
137
67
|
change: void
|
|
138
68
|
}
|
|
139
69
|
|
|
140
|
-
/**
|
|
141
|
-
* Events that describe telemetry rather than a state change. `EventManager.emit`
|
|
142
|
-
* skips the legacy `change` cascade for these so high-frequency logging / handoff
|
|
143
|
-
* instrumentation can't trigger React re-renders through `subscribe()`.
|
|
144
|
-
*/
|
|
145
|
-
export const TELEMETRY_ONLY_EVENTS: ReadonlySet<UWCEventName> = new Set([
|
|
146
|
-
'log',
|
|
147
|
-
'awaitingWallet',
|
|
148
|
-
'walletSucceeded',
|
|
149
|
-
'walletRejected',
|
|
150
|
-
'walletFailed',
|
|
151
|
-
'walletTimedOut'
|
|
152
|
-
])
|
|
153
|
-
|
|
154
70
|
export type UWCEventName = keyof UWCEventMap
|
|
155
71
|
export type UWCEventListener<K extends UWCEventName> = (
|
|
156
72
|
data: UWCEventMap[K]
|
|
157
73
|
) => void
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Runtime list of every event name. The `Record<UWCEventName, true>` literal
|
|
161
|
-
* forces this to stay exhaustive — adding an event to `UWCEventMap` without
|
|
162
|
-
* listing it here is a compile error — so the observer bridge can never silently
|
|
163
|
-
* drop a new event.
|
|
164
|
-
*/
|
|
165
|
-
const EVENT_NAME_FLAGS: Record<UWCEventName, true> = {
|
|
166
|
-
ready: true,
|
|
167
|
-
walletsDetected: true,
|
|
168
|
-
connecting: true,
|
|
169
|
-
connected: true,
|
|
170
|
-
disconnected: true,
|
|
171
|
-
connectionUri: true,
|
|
172
|
-
sessionChanged: true,
|
|
173
|
-
networkSwitching: true,
|
|
174
|
-
networkSwitched: true,
|
|
175
|
-
capabilitiesUpdated: true,
|
|
176
|
-
error: true,
|
|
177
|
-
log: true,
|
|
178
|
-
awaitingWallet: true,
|
|
179
|
-
walletSucceeded: true,
|
|
180
|
-
walletRejected: true,
|
|
181
|
-
walletFailed: true,
|
|
182
|
-
walletTimedOut: true,
|
|
183
|
-
change: true
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
export const UWC_EVENT_NAMES = Object.keys(EVENT_NAME_FLAGS) as UWCEventName[]
|
package/src/index.ts
CHANGED
|
@@ -9,10 +9,4 @@ export type {
|
|
|
9
9
|
UWCEventListener,
|
|
10
10
|
UWCOperation
|
|
11
11
|
} from './events'
|
|
12
|
-
export {
|
|
13
|
-
createLogger,
|
|
14
|
-
type ManagedLogger,
|
|
15
|
-
type CreateLoggerOptions
|
|
16
|
-
} from './logger/create-logger'
|
|
17
|
-
export type { UWCObserver, UWCTelemetryEvent } from './observability/telemetry'
|
|
18
12
|
export { toBaseUnits } from './utils/to-base-units'
|
|
@@ -140,30 +140,5 @@ describe('EventManager', () => {
|
|
|
140
140
|
eventManager.emit('change', undefined)
|
|
141
141
|
expect(count).toBe(1)
|
|
142
142
|
})
|
|
143
|
-
|
|
144
|
-
it('telemetry-only events do NOT cascade to the legacy change channel', () => {
|
|
145
|
-
let changeCount = 0
|
|
146
|
-
eventManager.subscribe(() => {
|
|
147
|
-
changeCount++
|
|
148
|
-
})
|
|
149
|
-
eventManager.emit('log', { level: 'debug', message: 'x', args: [] })
|
|
150
|
-
eventManager.emit('walletTimedOut', {
|
|
151
|
-
handoffId: 'h',
|
|
152
|
-
operation: 'signMessage',
|
|
153
|
-
durationMs: 1
|
|
154
|
-
})
|
|
155
|
-
// Neither should have triggered a re-render via `change`.
|
|
156
|
-
expect(changeCount).toBe(0)
|
|
157
|
-
})
|
|
158
|
-
|
|
159
|
-
it('state-change events still cascade to change alongside telemetry events', () => {
|
|
160
|
-
let changeCount = 0
|
|
161
|
-
eventManager.subscribe(() => {
|
|
162
|
-
changeCount++
|
|
163
|
-
})
|
|
164
|
-
eventManager.emit('log', { level: 'debug', message: 'x', args: [] })
|
|
165
|
-
eventManager.emit('disconnected', undefined)
|
|
166
|
-
expect(changeCount).toBe(1)
|
|
167
|
-
})
|
|
168
143
|
})
|
|
169
144
|
})
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { UWCEventMap, UWCEventName, UWCEventListener } from '../events'
|
|
2
|
-
import { TELEMETRY_ONLY_EVENTS } from '../events'
|
|
3
2
|
|
|
4
3
|
type LegacyListener = () => void
|
|
5
4
|
type UntypedListener = (data: unknown) => void
|
|
@@ -47,10 +46,7 @@ export class EventManager {
|
|
|
47
46
|
|
|
48
47
|
emit<K extends UWCEventName>(event: K, data: UWCEventMap[K]): void {
|
|
49
48
|
this.dispatch(event, data)
|
|
50
|
-
|
|
51
|
-
// happened, not a state change — don't cascade them to `change`, or every
|
|
52
|
-
// log line would trigger a React re-render via legacy `subscribe()`.
|
|
53
|
-
if (event !== 'change' && !TELEMETRY_ONLY_EVENTS.has(event)) {
|
|
49
|
+
if (event !== 'change') {
|
|
54
50
|
this.dispatch('change', undefined as UWCEventMap['change'])
|
|
55
51
|
}
|
|
56
52
|
}
|