@meshconnect/uwc-core 1.0.3 → 1.1.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.
Files changed (121) hide show
  1. package/README.md +247 -76
  2. package/dist/events.d.ts +241 -5
  3. package/dist/events.d.ts.map +1 -1
  4. package/dist/events.js +77 -1
  5. package/dist/events.js.map +1 -1
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/logger/create-logger.d.ts +32 -0
  11. package/dist/logger/create-logger.d.ts.map +1 -0
  12. package/dist/logger/create-logger.js +79 -0
  13. package/dist/logger/create-logger.js.map +1 -0
  14. package/dist/managers/event-manager.d.ts.map +1 -1
  15. package/dist/managers/event-manager.js +5 -1
  16. package/dist/managers/event-manager.js.map +1 -1
  17. package/dist/observability/connect-observer.d.ts +33 -0
  18. package/dist/observability/connect-observer.d.ts.map +1 -0
  19. package/dist/observability/connect-observer.js +115 -0
  20. package/dist/observability/connect-observer.js.map +1 -0
  21. package/dist/observability/focus-tracker.d.ts +42 -0
  22. package/dist/observability/focus-tracker.d.ts.map +1 -0
  23. package/dist/observability/focus-tracker.js +57 -0
  24. package/dist/observability/focus-tracker.js.map +1 -0
  25. package/dist/observability/instrument-handoff.d.ts +54 -0
  26. package/dist/observability/instrument-handoff.d.ts.map +1 -0
  27. package/dist/observability/instrument-handoff.js +173 -0
  28. package/dist/observability/instrument-handoff.js.map +1 -0
  29. package/dist/observability/lifecycle-bridge.d.ts +69 -0
  30. package/dist/observability/lifecycle-bridge.d.ts.map +1 -0
  31. package/dist/observability/lifecycle-bridge.js +155 -0
  32. package/dist/observability/lifecycle-bridge.js.map +1 -0
  33. package/dist/observability/scrub.d.ts +31 -0
  34. package/dist/observability/scrub.d.ts.map +1 -0
  35. package/dist/observability/scrub.js +167 -0
  36. package/dist/observability/scrub.js.map +1 -0
  37. package/dist/observability/telemetry.d.ts +157 -0
  38. package/dist/observability/telemetry.d.ts.map +1 -0
  39. package/dist/observability/telemetry.js +373 -0
  40. package/dist/observability/telemetry.js.map +1 -0
  41. package/dist/services/connection-service.d.ts +23 -1
  42. package/dist/services/connection-service.d.ts.map +1 -1
  43. package/dist/services/connection-service.js +128 -19
  44. package/dist/services/connection-service.js.map +1 -1
  45. package/dist/services/network-switch-service.d.ts +2 -1
  46. package/dist/services/network-switch-service.d.ts.map +1 -1
  47. package/dist/services/network-switch-service.js +45 -16
  48. package/dist/services/network-switch-service.js.map +1 -1
  49. package/dist/services/signature-service.d.ts +14 -7
  50. package/dist/services/signature-service.d.ts.map +1 -1
  51. package/dist/services/signature-service.js +56 -58
  52. package/dist/services/signature-service.js.map +1 -1
  53. package/dist/services/transaction-service.d.ts +19 -5
  54. package/dist/services/transaction-service.d.ts.map +1 -1
  55. package/dist/services/transaction-service.js +55 -38
  56. package/dist/services/transaction-service.js.map +1 -1
  57. package/dist/universal-wallet-connector.d.ts +56 -1
  58. package/dist/universal-wallet-connector.d.ts.map +1 -1
  59. package/dist/universal-wallet-connector.js +207 -110
  60. package/dist/universal-wallet-connector.js.map +1 -1
  61. package/dist/utils/id.d.ts +2 -0
  62. package/dist/utils/id.d.ts.map +1 -0
  63. package/dist/utils/id.js +41 -0
  64. package/dist/utils/id.js.map +1 -0
  65. package/dist/utils/resolve-session-provider.d.ts +10 -0
  66. package/dist/utils/resolve-session-provider.d.ts.map +1 -0
  67. package/dist/utils/resolve-session-provider.js +21 -0
  68. package/dist/utils/resolve-session-provider.js.map +1 -0
  69. package/dist/utils/to-wallet-error.d.ts +35 -0
  70. package/dist/utils/to-wallet-error.d.ts.map +1 -0
  71. package/dist/utils/to-wallet-error.js +130 -0
  72. package/dist/utils/to-wallet-error.js.map +1 -0
  73. package/dist/utils/validate-wallet-session.d.ts +15 -0
  74. package/dist/utils/validate-wallet-session.d.ts.map +1 -0
  75. package/dist/utils/validate-wallet-session.js +29 -0
  76. package/dist/utils/validate-wallet-session.js.map +1 -0
  77. package/dist/version.d.ts +2 -0
  78. package/dist/version.d.ts.map +1 -0
  79. package/dist/version.js +3 -0
  80. package/dist/version.js.map +1 -0
  81. package/package.json +6 -6
  82. package/src/events.ts +326 -14
  83. package/src/index.ts +10 -0
  84. package/src/logger/create-logger.test.ts +126 -0
  85. package/src/logger/create-logger.ts +112 -0
  86. package/src/managers/event-manager.test.ts +55 -0
  87. package/src/managers/event-manager.ts +5 -1
  88. package/src/observability/connect-observer.test.ts +214 -0
  89. package/src/observability/connect-observer.ts +128 -0
  90. package/src/observability/focus-tracker.test.ts +191 -0
  91. package/src/observability/focus-tracker.ts +96 -0
  92. package/src/observability/instrument-handoff.test.ts +397 -0
  93. package/src/observability/instrument-handoff.ts +231 -0
  94. package/src/observability/lifecycle-bridge.test.ts +398 -0
  95. package/src/observability/lifecycle-bridge.ts +216 -0
  96. package/src/observability/scrub.test.ts +183 -0
  97. package/src/observability/scrub.ts +174 -0
  98. package/src/observability/telemetry.test.ts +549 -0
  99. package/src/observability/telemetry.ts +546 -0
  100. package/src/services/connection-service.test.ts +261 -1
  101. package/src/services/connection-service.ts +167 -38
  102. package/src/services/network-switch-service.test.ts +51 -1
  103. package/src/services/network-switch-service.ts +56 -24
  104. package/src/services/signature-service.test.ts +181 -76
  105. package/src/services/signature-service.ts +75 -85
  106. package/src/services/transaction-service.test.ts +270 -69
  107. package/src/services/transaction-service.ts +74 -51
  108. package/src/universal-wallet-connector.instrumentation-guard.test.ts +199 -0
  109. package/src/universal-wallet-connector.observability.test.ts +610 -0
  110. package/src/universal-wallet-connector.test.ts +27 -146
  111. package/src/universal-wallet-connector.ts +279 -142
  112. package/src/utils/id.test.ts +15 -0
  113. package/src/utils/id.ts +48 -0
  114. package/src/utils/resolve-session-provider.test.ts +54 -0
  115. package/src/utils/resolve-session-provider.ts +25 -0
  116. package/src/utils/to-wallet-error.test.ts +181 -0
  117. package/src/utils/to-wallet-error.ts +152 -0
  118. package/src/utils/validate-wallet-session.test.ts +77 -0
  119. package/src/utils/validate-wallet-session.ts +40 -0
  120. package/src/version.test.ts +11 -0
  121. package/src/version.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"connection-service.js","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-service.js","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,10 @@ export declare class NetworkSwitchService {
8
8
  private connectors;
9
9
  private usingIntegratedBrowser;
10
10
  private eventManager;
11
+ private walletResponseTimeoutMs;
11
12
  private isLoading;
12
13
  private isWaitingForUserApproval;
13
- constructor(networks: Network[], sessionManager: SessionManager, connectors: Map<ConnectionMode, Connector>, usingIntegratedBrowser: boolean, eventManager: EventManager);
14
+ constructor(networks: Network[], sessionManager: SessionManager, connectors: Map<ConnectionMode, Connector>, usingIntegratedBrowser: boolean, eventManager: EventManager, walletResponseTimeoutMs: number);
14
15
  getLoadingState(): {
15
16
  isLoading: boolean;
16
17
  isWaitingForUserApproval: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"network-switch-service.d.ts","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EAMf,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;AAE1D,qBAAa,oBAAoB;IAK7B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IARtB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,wBAAwB,CAAQ;gBAG9B,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,YAAY;IAGpC,eAAe;;;;IAOT,aAAa,CACjB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAwIhB,OAAO,CAAC,uBAAuB;CAyChC"}
1
+ {"version":3,"file":"network-switch-service.d.ts","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EAMf,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;AAG1D,qBAAa,oBAAoB;IAK7B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,uBAAuB;IAVjC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,wBAAwB,CAAQ;gBAG9B,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,YAAY,EAE1B,uBAAuB,EAAE,MAAM;IAGzC,eAAe;;;;IAOT,aAAa,CACjB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAqKhB,OAAO,CAAC,uBAAuB;CAyChC"}
@@ -1,17 +1,22 @@
1
+ import { instrumentHandoff } from '../observability/instrument-handoff';
1
2
  export class NetworkSwitchService {
2
3
  networks;
3
4
  sessionManager;
4
5
  connectors;
5
6
  usingIntegratedBrowser;
6
7
  eventManager;
8
+ walletResponseTimeoutMs;
7
9
  isLoading = false;
8
10
  isWaitingForUserApproval = false;
9
- constructor(networks, sessionManager, connectors, usingIntegratedBrowser, eventManager) {
11
+ constructor(networks, sessionManager, connectors, usingIntegratedBrowser, eventManager,
12
+ // Observational wallet-response deadline for the handoff timeout marker.
13
+ walletResponseTimeoutMs) {
10
14
  this.networks = networks;
11
15
  this.sessionManager = sessionManager;
12
16
  this.connectors = connectors;
13
17
  this.usingIntegratedBrowser = usingIntegratedBrowser;
14
18
  this.eventManager = eventManager;
19
+ this.walletResponseTimeoutMs = walletResponseTimeoutMs;
15
20
  }
16
21
  getLoadingState() {
17
22
  return {
@@ -40,7 +45,13 @@ export class NetworkSwitchService {
40
45
  if (!session.connectionMode) {
41
46
  throw new Error('No connection mode found in session');
42
47
  }
43
- // Get the provider for the current connection mode
48
+ // Get the provider for the current connection mode.
49
+ // NOTE: deliberately NOT `resolveSessionProvider` (utils) — this
50
+ // pre-existing dispatch groups `tonConnect` with `injected` (a TON switch
51
+ // only proceeds when the wallet also carries injected-provider metadata,
52
+ // whose `supportedNetworkIds` gate below relies on), while the shared
53
+ // helper yields undefined for TON. Unifying them changes TON switch
54
+ // behaviour and needs its own change.
44
55
  let provider;
45
56
  if (session.connectionMode === 'injected' ||
46
57
  session.connectionMode === 'tonConnect') {
@@ -67,6 +78,9 @@ export class NetworkSwitchService {
67
78
  }
68
79
  // Determine if user approval is required based on wallet metadata
69
80
  const requiresApproval = this.checkIfApprovalRequired(currentWallet, network, session.activeNetwork);
81
+ // A no-op switch (target chain already active) still hands off to the wallet
82
+ // on some connectors; flag it so the funnel can separate it from real switches.
83
+ const targetAlreadyActive = networkId === session.activeNetwork?.id;
70
84
  try {
71
85
  // Set loading states
72
86
  this.isLoading = true;
@@ -75,20 +89,35 @@ export class NetworkSwitchService {
75
89
  isLoading: true,
76
90
  isWaitingForUserApproval: requiresApproval
77
91
  });
78
- // Perform the network switch and get the new address
79
- // Pass the appropriate provider based on connection mode
80
- let result;
81
- if ((session.connectionMode === 'injected' ||
82
- session.connectionMode === 'tonConnect') &&
83
- provider) {
84
- result = await activeConnector.switchNetwork(network, provider);
85
- }
86
- else if (session.connectionMode === 'walletConnect' && provider) {
87
- result = await activeConnector.switchNetwork(network, provider);
88
- }
89
- else {
90
- result = await activeConnector.switchNetwork(network);
91
- }
92
+ // Perform the network switch and get the new address. Instrument the
93
+ // wallet hand-off HERE after validation + the `networkSwitching` emit —
94
+ // so `awaitingWallet` marks the real wallet boundary; pre-wallet validation
95
+ // failures throw above and never enter the funnel.
96
+ // Pass the appropriate provider based on connection mode.
97
+ const result = await instrumentHandoff({
98
+ eventManager: this.eventManager,
99
+ timeoutMs: this.walletResponseTimeoutMs,
100
+ signal: options?.signal
101
+ }, {
102
+ operation: 'switchNetwork',
103
+ connectionMode: session.connectionMode,
104
+ walletId: currentWallet.id,
105
+ namespace: network.namespace,
106
+ chainId: network.id,
107
+ targetAlreadyActive
108
+ }, async () => {
109
+ if ((session.connectionMode === 'injected' ||
110
+ session.connectionMode === 'tonConnect') &&
111
+ provider) {
112
+ return await activeConnector.switchNetwork(network, provider);
113
+ }
114
+ else if (session.connectionMode === 'walletConnect' && provider) {
115
+ return await activeConnector.switchNetwork(network, provider);
116
+ }
117
+ else {
118
+ return await activeConnector.switchNetwork(network);
119
+ }
120
+ });
92
121
  options?.signal?.throwIfAborted();
93
122
  // Filter available addresses to only include those for configured networks
94
123
  const filteredAvailableAddresses = result.availableAddresses
@@ -1 +1 @@
1
- {"version":3,"file":"network-switch-service.js","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network-switch-service.js","sourceRoot":"","sources":["../../src/services/network-switch-service.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,35 @@
1
- import type { ConnectionMode, Connector, SupportedProvider, SignatureType, EIP712TypedData } from '@meshconnect/uwc-types';
1
+ import type { ConnectionMode, Connector, SignatureType, EIP712TypedData } from '@meshconnect/uwc-types';
2
2
  import type { SessionManager } from '../managers/session-manager';
3
+ import type { EventManager } from '../managers/event-manager';
3
4
  import type { ServiceOptions } from './connection-service';
4
5
  /**
5
- * Service for handling signature operations across different connector types
6
+ * Service for handling signature operations across different connector types.
7
+ *
8
+ * Owns the WHOLE wallet-boundary op — validation (session guards, connector
9
+ * capability, provider resolution) BEFORE the funnel, then the instrumented
10
+ * connector call — the same layering as ConnectionService / NetworkSwitchService,
11
+ * so a pre-wallet failure never emits an `awaitingWallet`/terminal pair.
6
12
  */
7
13
  export declare class SignatureService {
8
14
  private sessionManager;
9
15
  private connectors;
10
- constructor(sessionManager: SessionManager, connectors: Map<ConnectionMode, Connector>);
16
+ private usingIntegratedBrowser;
17
+ private eventManager;
18
+ private walletResponseTimeoutMs;
19
+ constructor(sessionManager: SessionManager, connectors: Map<ConnectionMode, Connector>, usingIntegratedBrowser: boolean, eventManager: EventManager, walletResponseTimeoutMs: number);
11
20
  /**
12
21
  * Sign a message with the currently connected wallet
13
22
  * @param message The message to sign
14
- * @param provider The wallet provider to use for signing (required for injected connector)
15
23
  * @param options Optional cancellation signal
16
24
  * @returns A promise that resolves to the signature
17
25
  */
18
- signMessage(message: string, provider?: SupportedProvider, options?: ServiceOptions): Promise<SignatureType>;
26
+ signMessage(message: string, options?: ServiceOptions): Promise<SignatureType>;
19
27
  /**
20
28
  * Sign EIP-712 typed structured data with the currently connected wallet.
21
29
  * EVM-only (eip155); routes by connection mode. Throws for tonConnect.
22
30
  * @param typedData The EIP-712 typed data to sign
23
- * @param provider The wallet provider (required for the injected connector)
24
31
  * @returns A promise that resolves to the 65-byte hex signature
25
32
  */
26
- signTypedData(typedData: EIP712TypedData, provider?: SupportedProvider): Promise<string>;
33
+ signTypedData(typedData: EIP712TypedData): Promise<string>;
27
34
  }
28
35
  //# sourceMappingURL=signature-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signature-service.d.ts","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EAIT,iBAAiB,EACjB,aAAa,EACb,eAAe,EAChB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;GAEG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;gBADV,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;IAGpD;;;;;;OAMG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAwDzB;;;;;;OAMG;IACG,aAAa,CACjB,SAAS,EAAE,eAAe,EAC1B,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,MAAM,CAAC;CA0CnB"}
1
+ {"version":3,"file":"signature-service.d.ts","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EAIT,aAAa,EACb,eAAe,EAChB,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;AAW1D;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,uBAAuB;gBALvB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,YAAY,EAE1B,uBAAuB,EAAE,MAAM;IAGzC;;;;;OAKG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAqCzB;;;;;OAKG;IACG,aAAa,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;CAuCjE"}
@@ -1,59 +1,58 @@
1
+ import { instrumentHandoff, sessionHandoffContext } from '../observability/instrument-handoff';
2
+ import { resolveSessionProvider } from '../utils/resolve-session-provider';
3
+ import { validateWalletSession, getSessionConnector } from '../utils/validate-wallet-session';
1
4
  /**
2
- * Service for handling signature operations across different connector types
5
+ * Service for handling signature operations across different connector types.
6
+ *
7
+ * Owns the WHOLE wallet-boundary op — validation (session guards, connector
8
+ * capability, provider resolution) BEFORE the funnel, then the instrumented
9
+ * connector call — the same layering as ConnectionService / NetworkSwitchService,
10
+ * so a pre-wallet failure never emits an `awaitingWallet`/terminal pair.
3
11
  */
4
12
  export class SignatureService {
5
13
  sessionManager;
6
14
  connectors;
7
- constructor(sessionManager, connectors) {
15
+ usingIntegratedBrowser;
16
+ eventManager;
17
+ walletResponseTimeoutMs;
18
+ constructor(sessionManager, connectors, usingIntegratedBrowser, eventManager,
19
+ // Observational wallet-response deadline for the handoff timeout marker.
20
+ walletResponseTimeoutMs) {
8
21
  this.sessionManager = sessionManager;
9
22
  this.connectors = connectors;
23
+ this.usingIntegratedBrowser = usingIntegratedBrowser;
24
+ this.eventManager = eventManager;
25
+ this.walletResponseTimeoutMs = walletResponseTimeoutMs;
10
26
  }
11
27
  /**
12
28
  * Sign a message with the currently connected wallet
13
29
  * @param message The message to sign
14
- * @param provider The wallet provider to use for signing (required for injected connector)
15
30
  * @param options Optional cancellation signal
16
31
  * @returns A promise that resolves to the signature
17
32
  */
18
- async signMessage(message, provider, options) {
33
+ async signMessage(message, options) {
19
34
  options?.signal?.throwIfAborted();
20
- const session = this.sessionManager.getSession();
21
- if (!session.connectionMode) {
22
- throw new Error('No active connection');
23
- }
24
- if (!session.activeAddress) {
25
- throw new Error('No active wallet address');
26
- }
27
- // Get the appropriate connector
28
- const connector = this.connectors.get(session.connectionMode);
29
- if (!connector) {
30
- throw new Error(`No connector found for connection mode: ${session.connectionMode}`);
31
- }
32
- // Check if the connector supports signing
35
+ const session = validateWalletSession(this.sessionManager, {
36
+ requireAddress: true
37
+ });
38
+ const connector = getSessionConnector(this.connectors, session);
33
39
  if (!connector.signMessage) {
34
40
  throw new Error(`Connector does not support message signing`);
35
41
  }
36
- // Call the connector's signMessage method with the appropriate provider
37
- let signature;
38
- if (session.connectionMode === 'injected') {
39
- if (!provider) {
40
- throw new Error('Provider is required for injected connector');
41
- }
42
- signature = await connector.signMessage(message, provider);
43
- }
44
- else if (session.connectionMode === 'tonConnect') {
45
- signature = await connector.signMessage(message);
46
- }
47
- else if (session.connectionMode === 'walletConnect') {
48
- if (!provider) {
49
- throw new Error('Provider is required for WalletConnect connector');
50
- }
51
- signature = await connector.signMessage(message, provider);
52
- }
53
- else {
54
- // For other connectors that might not need the provider
55
- signature = await connector.signMessage(message);
56
- }
42
+ // Validation, not wallet work a missing provider must not enter the funnel.
43
+ // undefined only for tonConnect, whose connector resolves its own provider.
44
+ const provider = resolveSessionProvider(session, this.usingIntegratedBrowser);
45
+ const signature = await instrumentHandoff({
46
+ eventManager: this.eventManager,
47
+ timeoutMs: this.walletResponseTimeoutMs,
48
+ signal: options?.signal
49
+ }, sessionHandoffContext('signMessage', session),
50
+ // tonConnect resolves undefined and keeps its message-only call shape.
51
+ () => provider === undefined
52
+ ? connector.signMessage(message)
53
+ : connector.signMessage(message, provider));
54
+ // AFTER the funnel: the wallet settled, so its truthful terminal is already
55
+ // recorded; an abort that raced completion still rejects the caller here.
57
56
  options?.signal?.throwIfAborted();
58
57
  return signature;
59
58
  }
@@ -61,34 +60,33 @@ export class SignatureService {
61
60
  * Sign EIP-712 typed structured data with the currently connected wallet.
62
61
  * EVM-only (eip155); routes by connection mode. Throws for tonConnect.
63
62
  * @param typedData The EIP-712 typed data to sign
64
- * @param provider The wallet provider (required for the injected connector)
65
63
  * @returns A promise that resolves to the 65-byte hex signature
66
64
  */
67
- async signTypedData(typedData, provider) {
68
- const session = this.sessionManager.getSession();
69
- if (!session.connectionMode) {
70
- throw new Error('No active connection');
71
- }
72
- if (!session.activeAddress) {
73
- throw new Error('No active wallet address');
74
- }
75
- const connector = this.connectors.get(session.connectionMode);
76
- if (!connector) {
77
- throw new Error(`No connector found for connection mode: ${session.connectionMode}`);
65
+ async signTypedData(typedData) {
66
+ const session = validateWalletSession(this.sessionManager, {
67
+ requireAddress: true
68
+ });
69
+ const connector = getSessionConnector(this.connectors, session);
70
+ // TON first: TonConnectConnector has no signTypedData, so the capability
71
+ // guard would otherwise shadow this branch with the generic message.
72
+ if (session.connectionMode === 'tonConnect') {
73
+ throw new Error('signTypedData is not supported for TON wallets');
78
74
  }
79
75
  if (!connector.signTypedData) {
80
76
  throw new Error(`Connector does not support typed data signing`);
81
77
  }
78
+ // Only the injected path resolves (and validates) a provider — WalletConnect
79
+ // resolves its own inside the connector.
80
+ let provider;
82
81
  if (session.connectionMode === 'injected') {
83
- if (!provider) {
84
- throw new Error('Provider is required for injected connector');
85
- }
86
- return await connector.signTypedData(typedData, provider);
87
- }
88
- if (session.connectionMode === 'walletConnect') {
89
- return await connector.signTypedData(typedData);
82
+ provider = resolveSessionProvider(session, this.usingIntegratedBrowser);
90
83
  }
91
- throw new Error(`signTypedData is not supported for connection mode: ${session.connectionMode}`);
84
+ return await instrumentHandoff({
85
+ eventManager: this.eventManager,
86
+ timeoutMs: this.walletResponseTimeoutMs
87
+ }, sessionHandoffContext('signTypedData', session), () => session.connectionMode === 'injected'
88
+ ? connector.signTypedData(typedData, provider)
89
+ : connector.signTypedData(typedData));
92
90
  }
93
91
  }
94
92
  //# sourceMappingURL=signature-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signature-service.js","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signature-service.js","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,34 @@
1
- import type { ConnectionMode, Connector, SupportedProvider, TransactionRequest, TransactionResult } from '@meshconnect/uwc-types';
1
+ import type { ConnectionMode, Connector, TransactionRequest, TransactionResult } from '@meshconnect/uwc-types';
2
2
  import type { SessionManager } from '../managers/session-manager';
3
+ import type { EventManager } from '../managers/event-manager';
3
4
  import type { ServiceOptions } from './connection-service';
4
5
  /**
5
- * Service for handling transaction operations across different connector types
6
+ * Service for handling transaction operations across different connector types.
7
+ *
8
+ * Owns the WHOLE wallet-boundary op — validation (session guards, connector
9
+ * capability, provider resolution) BEFORE the funnel, then the instrumented
10
+ * connector call — the same layering as ConnectionService / NetworkSwitchService,
11
+ * so a pre-wallet failure never emits an `awaitingWallet`/terminal pair.
6
12
  */
7
13
  export declare class TransactionService {
8
14
  private sessionManager;
9
15
  private connectors;
10
- constructor(sessionManager: SessionManager, connectors: Map<ConnectionMode, Connector>);
16
+ private usingIntegratedBrowser;
17
+ private eventManager;
18
+ private walletResponseTimeoutMs;
19
+ constructor(sessionManager: SessionManager, connectors: Map<ConnectionMode, Connector>, usingIntegratedBrowser: boolean, eventManager: EventManager, walletResponseTimeoutMs: number);
11
20
  /**
12
21
  * Send a transaction with the currently connected wallet
13
22
  * @param request The transaction request parameters
14
- * @param provider The wallet provider to use for sending (required for injected connector)
15
23
  * @param options Optional cancellation signal
16
24
  * @returns A promise that resolves to the transaction result
17
25
  */
18
- sendTransaction(request: TransactionRequest, provider?: SupportedProvider, options?: ServiceOptions): Promise<TransactionResult>;
26
+ sendTransaction(request: TransactionRequest, options?: ServiceOptions): Promise<TransactionResult>;
27
+ /**
28
+ * Sign a Solana tx without broadcasting (raw bytes in/out). Routes to the
29
+ * active connector's optional `signSolanaTransactionBytes`; the capability
30
+ * check is validation and stays OUTSIDE the funnel.
31
+ */
32
+ signSolanaTransactionBytes(serializedTx: Uint8Array): Promise<Uint8Array>;
19
33
  }
20
34
  //# sourceMappingURL=transaction-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EAIT,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;GAEG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;gBADV,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;IAGpD;;;;;;OAMG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,iBAAiB,CAAC;CAuD9B"}
1
+ {"version":3,"file":"transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EAClB,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;AAW1D;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,uBAAuB;gBALvB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,YAAY,EAE1B,uBAAuB,EAAE,MAAM;IAGzC;;;;;OAKG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,iBAAiB,CAAC;IAqC7B;;;;OAIG;IACG,0BAA0B,CAC9B,YAAY,EAAE,UAAU,GACvB,OAAO,CAAC,UAAU,CAAC;CAqBvB"}
@@ -1,61 +1,78 @@
1
+ import { instrumentHandoff, sessionHandoffContext } from '../observability/instrument-handoff';
2
+ import { resolveSessionProvider } from '../utils/resolve-session-provider';
3
+ import { validateWalletSession, getSessionConnector } from '../utils/validate-wallet-session';
1
4
  /**
2
- * Service for handling transaction operations across different connector types
5
+ * Service for handling transaction operations across different connector types.
6
+ *
7
+ * Owns the WHOLE wallet-boundary op — validation (session guards, connector
8
+ * capability, provider resolution) BEFORE the funnel, then the instrumented
9
+ * connector call — the same layering as ConnectionService / NetworkSwitchService,
10
+ * so a pre-wallet failure never emits an `awaitingWallet`/terminal pair.
3
11
  */
4
12
  export class TransactionService {
5
13
  sessionManager;
6
14
  connectors;
7
- constructor(sessionManager, connectors) {
15
+ usingIntegratedBrowser;
16
+ eventManager;
17
+ walletResponseTimeoutMs;
18
+ constructor(sessionManager, connectors, usingIntegratedBrowser, eventManager,
19
+ // Observational wallet-response deadline for the handoff timeout marker.
20
+ walletResponseTimeoutMs) {
8
21
  this.sessionManager = sessionManager;
9
22
  this.connectors = connectors;
23
+ this.usingIntegratedBrowser = usingIntegratedBrowser;
24
+ this.eventManager = eventManager;
25
+ this.walletResponseTimeoutMs = walletResponseTimeoutMs;
10
26
  }
11
27
  /**
12
28
  * Send a transaction with the currently connected wallet
13
29
  * @param request The transaction request parameters
14
- * @param provider The wallet provider to use for sending (required for injected connector)
15
30
  * @param options Optional cancellation signal
16
31
  * @returns A promise that resolves to the transaction result
17
32
  */
18
- async sendTransaction(request, provider, options) {
33
+ async sendTransaction(request, options) {
19
34
  options?.signal?.throwIfAborted();
20
- const session = this.sessionManager.getSession();
21
- if (!session.connectionMode) {
22
- throw new Error('No active connection');
23
- }
24
- if (!session.activeAddress) {
25
- throw new Error('No active wallet address');
26
- }
27
- // Get the appropriate connector
28
- const connector = this.connectors.get(session.connectionMode);
29
- if (!connector) {
30
- throw new Error(`No connector found for connection mode: ${session.connectionMode}`);
31
- }
32
- // Check if the connector supports transactions
35
+ const session = validateWalletSession(this.sessionManager, {
36
+ requireAddress: true
37
+ });
38
+ const connector = getSessionConnector(this.connectors, session);
33
39
  if (!connector.sendTransaction) {
34
40
  throw new Error(`Connector does not support transactions`);
35
41
  }
36
- // Call the connector's sendTransaction method with the appropriate provider
37
- let result;
38
- if (session.connectionMode === 'injected') {
39
- if (!provider) {
40
- throw new Error('Provider is required for injected connector');
41
- }
42
- result = await connector.sendTransaction(request, provider);
43
- }
44
- else if (session.connectionMode === 'tonConnect') {
45
- result = await connector.sendTransaction(request);
46
- }
47
- else if (session.connectionMode === 'walletConnect') {
48
- if (!provider) {
49
- throw new Error('Provider is required for WalletConnect connector');
50
- }
51
- result = await connector.sendTransaction(request, provider);
52
- }
53
- else {
54
- // For other connectors that might not need the provider
55
- result = await connector.sendTransaction(request);
56
- }
42
+ // Validation, not wallet work a missing provider must not enter the funnel.
43
+ // undefined only for tonConnect, whose connector resolves its own provider.
44
+ const provider = resolveSessionProvider(session, this.usingIntegratedBrowser);
45
+ const result = await instrumentHandoff({
46
+ eventManager: this.eventManager,
47
+ timeoutMs: this.walletResponseTimeoutMs,
48
+ signal: options?.signal
49
+ }, sessionHandoffContext('sendTransaction', session),
50
+ // tonConnect resolves undefined and keeps its request-only call shape.
51
+ () => provider === undefined
52
+ ? connector.sendTransaction(request)
53
+ : connector.sendTransaction(request, provider));
54
+ // AFTER the funnel: the tx already broadcast, so its truthful terminal is
55
+ // recorded; an abort that raced completion still rejects the caller here.
57
56
  options?.signal?.throwIfAborted();
58
57
  return result;
59
58
  }
59
+ /**
60
+ * Sign a Solana tx without broadcasting (raw bytes in/out). Routes to the
61
+ * active connector's optional `signSolanaTransactionBytes`; the capability
62
+ * check is validation and stays OUTSIDE the funnel.
63
+ */
64
+ async signSolanaTransactionBytes(serializedTx) {
65
+ const session = validateWalletSession(this.sessionManager, {
66
+ requireAddress: false
67
+ });
68
+ const connector = this.connectors.get(session.connectionMode);
69
+ if (!connector?.signSolanaTransactionBytes) {
70
+ throw new Error(`signSolanaTransaction is not supported for connection mode "${session.connectionMode}"`);
71
+ }
72
+ return await instrumentHandoff({
73
+ eventManager: this.eventManager,
74
+ timeoutMs: this.walletResponseTimeoutMs
75
+ }, sessionHandoffContext('signSolanaTransaction', session), () => connector.signSolanaTransactionBytes(serializedTx));
76
+ }
60
77
  }
61
78
  //# sourceMappingURL=transaction-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-service.js","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAEnB;IACA;IAFV,YACU,cAA8B,EAC9B,UAA0C;QAD1C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgC;IACjD,CAAC;IAEJ;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACnB,OAA2B,EAC3B,QAA4B,EAC5B,OAAwB;QAExB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAEhD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;QAED,gCAAgC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,CAAC,cAAc,EAAE,CACpE,CAAA;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;QAED,4EAA4E;QAC5E,IAAI,MAAyB,CAAA;QAC7B,IAAI,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAChE,CAAC;YACD,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CACtC,OAAO,EACP,QAEqC,CACtC,CAAA;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;YACnD,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACnD,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,KAAK,eAAe,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;YACrE,CAAC;YACD,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CACtC,OAAO,EACP,QAAiC,CAClC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACnD,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"transaction-service.js","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AASA,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,kCAAkC,CAAA;AAEzC;;;;;;;GAOG;AACH,MAAM,OAAO,kBAAkB;IAEnB;IACA;IACA;IACA;IAEA;IANV,YACU,cAA8B,EAC9B,UAA0C,EAC1C,sBAA+B,EAC/B,YAA0B;IAClC,yEAAyE;IACjE,uBAA+B;QAL/B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgC;QAC1C,2BAAsB,GAAtB,sBAAsB,CAAS;QAC/B,iBAAY,GAAZ,YAAY,CAAc;QAE1B,4BAAuB,GAAvB,uBAAuB,CAAQ;IACtC,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,OAA2B,EAC3B,OAAwB;QAExB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QACjC,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE;YACzD,cAAc,EAAE,IAAI;SACrB,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC/D,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;QAED,8EAA8E;QAC9E,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,sBAAsB,CACrC,OAAO,EACP,IAAI,CAAC,sBAAsB,CAC5B,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;YACE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,uBAAuB;YACvC,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,EACD,qBAAqB,CAAC,iBAAiB,EAAE,OAAO,CAAC;QACjD,uEAAuE;QACvE,GAAG,EAAE,CACH,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,SAAS,CAAC,eAAgB,CAAC,OAAO,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC,eAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CACpD,CAAA;QACD,0EAA0E;QAC1E,0EAA0E;QAC1E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,0BAA0B,CAC9B,YAAwB;QAExB,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE;YACzD,cAAc,EAAE,KAAK;SACtB,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,cAAe,CAAC,CAAA;QAC9D,IAAI,CAAC,SAAS,EAAE,0BAA0B,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,+DAA+D,OAAO,CAAC,cAAc,GAAG,CACzF,CAAA;QACH,CAAC;QAED,OAAO,MAAM,iBAAiB,CAC5B;YACE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,uBAAuB;SACxC,EACD,qBAAqB,CAAC,uBAAuB,EAAE,OAAO,CAAC,EACvD,GAAG,EAAE,CAAC,SAAS,CAAC,0BAA2B,CAAC,YAAY,CAAC,CAC1D,CAAA;IACH,CAAC;CACF"}