@pimlico/alto 0.0.4 → 0.0.5

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 (227) hide show
  1. package/esm/cli/alto.js +0 -4
  2. package/esm/cli/alto.js.map +1 -1
  3. package/esm/cli/config/bundler.d.ts +2296 -22
  4. package/esm/cli/config/bundler.js +31 -4
  5. package/esm/cli/config/bundler.js.map +1 -1
  6. package/esm/cli/config/options.js +53 -4
  7. package/esm/cli/config/options.js.map +1 -1
  8. package/esm/cli/customTransport.js +5 -1
  9. package/esm/cli/customTransport.js.map +1 -1
  10. package/esm/cli/handler.js +14 -3
  11. package/esm/cli/handler.js.map +1 -1
  12. package/esm/cli/instrumentation.js +2 -2
  13. package/esm/cli/instrumentation.js.map +1 -1
  14. package/esm/cli/setupServer.d.ts +2 -1
  15. package/esm/cli/setupServer.js +51 -27
  16. package/esm/cli/setupServer.js.map +1 -1
  17. package/esm/executor/executor.d.ts +7 -14
  18. package/esm/executor/executor.js +139 -128
  19. package/esm/executor/executor.js.map +1 -1
  20. package/esm/executor/executorManager.d.ts +58 -4
  21. package/esm/executor/executorManager.js +206 -52
  22. package/esm/executor/executorManager.js.map +1 -1
  23. package/esm/executor/senderManager.d.ts +2 -1
  24. package/esm/executor/senderManager.js +3 -0
  25. package/esm/executor/senderManager.js.map +1 -1
  26. package/esm/executor/utilityWalletMonitor.d.ts +15 -0
  27. package/esm/executor/utilityWalletMonitor.js +38 -0
  28. package/esm/executor/utilityWalletMonitor.js.map +1 -0
  29. package/esm/executor/utils.d.ts +1 -2
  30. package/esm/executor/utils.js +49 -38
  31. package/esm/executor/utils.js.map +1 -1
  32. package/esm/handlers/compressionHandler.js.map +1 -0
  33. package/esm/handlers/eventManager.d.ts +21 -0
  34. package/esm/handlers/eventManager.js +166 -0
  35. package/esm/handlers/eventManager.js.map +1 -0
  36. package/{lib/utils → esm/handlers}/gasPriceManager.d.ts +19 -5
  37. package/esm/{utils → handlers}/gasPriceManager.js +58 -13
  38. package/esm/handlers/gasPriceManager.js.map +1 -0
  39. package/esm/handlers/index.d.ts +4 -0
  40. package/esm/handlers/index.js +4 -0
  41. package/esm/handlers/index.js.map +1 -0
  42. package/esm/mempool/index.d.ts +0 -1
  43. package/esm/mempool/index.js +0 -1
  44. package/esm/mempool/index.js.map +1 -1
  45. package/esm/mempool/mempool.d.ts +4 -2
  46. package/esm/mempool/mempool.js +65 -19
  47. package/esm/mempool/mempool.js.map +1 -1
  48. package/esm/rpc/EntryPointSimulationsV07.d.ts +2 -2
  49. package/esm/rpc/EntryPointSimulationsV07.js +10 -7
  50. package/esm/rpc/EntryPointSimulationsV07.js.map +1 -1
  51. package/esm/rpc/gasEstimation.d.ts +3 -3
  52. package/esm/rpc/gasEstimation.js +22 -17
  53. package/esm/rpc/gasEstimation.js.map +1 -1
  54. package/esm/rpc/nonceQueuer.d.ts +4 -1
  55. package/esm/rpc/nonceQueuer.js +9 -3
  56. package/esm/rpc/nonceQueuer.js.map +1 -1
  57. package/esm/rpc/rpcHandler.d.ts +53 -3
  58. package/esm/rpc/rpcHandler.js +132 -231
  59. package/esm/rpc/rpcHandler.js.map +1 -1
  60. package/esm/rpc/server.d.ts +2 -1
  61. package/esm/rpc/server.js +6 -1
  62. package/esm/rpc/server.js.map +1 -1
  63. package/esm/rpc/validation/SafeValidator.d.ts +3 -2
  64. package/esm/rpc/validation/SafeValidator.js +2 -2
  65. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  66. package/esm/rpc/validation/UnsafeValidator.d.ts +5 -2
  67. package/esm/rpc/validation/UnsafeValidator.js +10 -6
  68. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  69. package/esm/rpc/validation/tracer.js +1 -0
  70. package/esm/rpc/validation/tracer.js.map +1 -1
  71. package/esm/types/schemas.d.ts +1029 -333
  72. package/esm/types/schemas.js +94 -20
  73. package/esm/types/schemas.js.map +1 -1
  74. package/esm/types/utils.d.ts +1 -1
  75. package/esm/types/validation.js +7 -2
  76. package/esm/types/validation.js.map +1 -1
  77. package/esm/utils/bigInt.d.ts +1 -0
  78. package/esm/utils/bigInt.js +4 -0
  79. package/esm/utils/bigInt.js.map +1 -1
  80. package/esm/utils/helpers.d.ts +1 -0
  81. package/esm/utils/helpers.js +6 -0
  82. package/esm/utils/helpers.js.map +1 -1
  83. package/esm/utils/index.d.ts +0 -3
  84. package/esm/utils/index.js +0 -3
  85. package/esm/utils/index.js.map +1 -1
  86. package/esm/utils/metrics.d.ts +4 -0
  87. package/esm/utils/metrics.js +29 -1
  88. package/esm/utils/metrics.js.map +1 -1
  89. package/esm/utils/rpc-reply.d.ts +1 -1
  90. package/esm/utils/rpc-reply.js +2 -1
  91. package/esm/utils/rpc-reply.js.map +1 -1
  92. package/esm/utils/userop.d.ts +66 -6
  93. package/esm/utils/userop.js +183 -96
  94. package/esm/utils/userop.js.map +1 -1
  95. package/esm/utils/validation.d.ts +1 -1
  96. package/esm/utils/validation.js +9 -13
  97. package/esm/utils/validation.js.map +1 -1
  98. package/lib/cli/alto.js +0 -4
  99. package/lib/cli/alto.js.map +1 -1
  100. package/lib/cli/config/bundler.d.ts +2296 -22
  101. package/lib/cli/config/bundler.js +30 -3
  102. package/lib/cli/config/bundler.js.map +1 -1
  103. package/lib/cli/config/options.js +53 -4
  104. package/lib/cli/config/options.js.map +1 -1
  105. package/lib/cli/customTransport.js +5 -1
  106. package/lib/cli/customTransport.js.map +1 -1
  107. package/lib/cli/handler.js +13 -2
  108. package/lib/cli/handler.js.map +1 -1
  109. package/lib/cli/instrumentation.js +2 -2
  110. package/lib/cli/instrumentation.js.map +1 -1
  111. package/lib/cli/setupServer.d.ts +2 -1
  112. package/lib/cli/setupServer.js +52 -28
  113. package/lib/cli/setupServer.js.map +1 -1
  114. package/lib/executor/executor.d.ts +7 -14
  115. package/lib/executor/executor.js +138 -128
  116. package/lib/executor/executor.js.map +1 -1
  117. package/lib/executor/executorManager.d.ts +58 -4
  118. package/lib/executor/executorManager.js +204 -50
  119. package/lib/executor/executorManager.js.map +1 -1
  120. package/lib/executor/senderManager.d.ts +2 -1
  121. package/lib/executor/senderManager.js +3 -0
  122. package/lib/executor/senderManager.js.map +1 -1
  123. package/lib/executor/utilityWalletMonitor.d.ts +15 -0
  124. package/lib/executor/utilityWalletMonitor.js +42 -0
  125. package/lib/executor/utilityWalletMonitor.js.map +1 -0
  126. package/lib/executor/utils.d.ts +1 -2
  127. package/lib/executor/utils.js +48 -37
  128. package/lib/executor/utils.js.map +1 -1
  129. package/lib/handlers/compressionHandler.js.map +1 -0
  130. package/lib/handlers/eventManager.d.ts +21 -0
  131. package/lib/handlers/eventManager.js +196 -0
  132. package/lib/handlers/eventManager.js.map +1 -0
  133. package/{esm/utils → lib/handlers}/gasPriceManager.d.ts +19 -5
  134. package/lib/{utils → handlers}/gasPriceManager.js +58 -13
  135. package/lib/handlers/gasPriceManager.js.map +1 -0
  136. package/lib/handlers/index.d.ts +4 -0
  137. package/lib/handlers/index.js +20 -0
  138. package/lib/handlers/index.js.map +1 -0
  139. package/lib/mempool/index.d.ts +0 -1
  140. package/lib/mempool/index.js +0 -1
  141. package/lib/mempool/index.js.map +1 -1
  142. package/lib/mempool/mempool.d.ts +4 -2
  143. package/lib/mempool/mempool.js +65 -19
  144. package/lib/mempool/mempool.js.map +1 -1
  145. package/lib/rpc/EntryPointSimulationsV07.d.ts +2 -2
  146. package/lib/rpc/EntryPointSimulationsV07.js +10 -7
  147. package/lib/rpc/EntryPointSimulationsV07.js.map +1 -1
  148. package/lib/rpc/gasEstimation.d.ts +3 -3
  149. package/lib/rpc/gasEstimation.js +22 -17
  150. package/lib/rpc/gasEstimation.js.map +1 -1
  151. package/lib/rpc/nonceQueuer.d.ts +4 -1
  152. package/lib/rpc/nonceQueuer.js +9 -3
  153. package/lib/rpc/nonceQueuer.js.map +1 -1
  154. package/lib/rpc/rpcHandler.d.ts +53 -3
  155. package/lib/rpc/rpcHandler.js +129 -251
  156. package/lib/rpc/rpcHandler.js.map +1 -1
  157. package/lib/rpc/server.d.ts +2 -1
  158. package/lib/rpc/server.js +6 -1
  159. package/lib/rpc/server.js.map +1 -1
  160. package/lib/rpc/validation/SafeValidator.d.ts +3 -2
  161. package/lib/rpc/validation/SafeValidator.js +2 -2
  162. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  163. package/lib/rpc/validation/UnsafeValidator.d.ts +5 -2
  164. package/lib/rpc/validation/UnsafeValidator.js +33 -6
  165. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  166. package/lib/rpc/validation/tracer.js +1 -0
  167. package/lib/rpc/validation/tracer.js.map +1 -1
  168. package/lib/types/schemas.d.ts +1029 -333
  169. package/lib/types/schemas.js +93 -19
  170. package/lib/types/schemas.js.map +1 -1
  171. package/lib/types/utils.d.ts +1 -1
  172. package/lib/types/validation.js +7 -2
  173. package/lib/types/validation.js.map +1 -1
  174. package/lib/utils/bigInt.d.ts +1 -0
  175. package/lib/utils/bigInt.js +6 -1
  176. package/lib/utils/bigInt.js.map +1 -1
  177. package/lib/utils/helpers.d.ts +1 -0
  178. package/lib/utils/helpers.js +8 -1
  179. package/lib/utils/helpers.js.map +1 -1
  180. package/lib/utils/index.d.ts +0 -3
  181. package/lib/utils/index.js +0 -3
  182. package/lib/utils/index.js.map +1 -1
  183. package/lib/utils/metrics.d.ts +4 -0
  184. package/lib/utils/metrics.js +29 -1
  185. package/lib/utils/metrics.js.map +1 -1
  186. package/lib/utils/rpc-reply.d.ts +1 -1
  187. package/lib/utils/rpc-reply.js +2 -1
  188. package/lib/utils/rpc-reply.js.map +1 -1
  189. package/lib/utils/userop.d.ts +66 -6
  190. package/lib/utils/userop.js +208 -96
  191. package/lib/utils/userop.js.map +1 -1
  192. package/lib/utils/validation.d.ts +1 -1
  193. package/lib/utils/validation.js +9 -36
  194. package/lib/utils/validation.js.map +1 -1
  195. package/package.json +15 -14
  196. package/esm/executor/test/utils.d.ts +0 -13
  197. package/esm/executor/test/utils.js +0 -75
  198. package/esm/executor/test/utils.js.map +0 -1
  199. package/esm/mempool/nullMempool.d.ts +0 -15
  200. package/esm/mempool/nullMempool.js +0 -36
  201. package/esm/mempool/nullMempool.js.map +0 -1
  202. package/esm/types/test/validationTestErrors.d.ts +0 -3
  203. package/esm/types/test/validationTestErrors.js +0 -229
  204. package/esm/types/test/validationTestErrors.js.map +0 -1
  205. package/esm/utils/compressionHandler.js.map +0 -1
  206. package/esm/utils/gasPriceManager.js.map +0 -1
  207. package/esm/utils/test.d.ts +0 -17
  208. package/esm/utils/test.js +0 -130
  209. package/esm/utils/test.js.map +0 -1
  210. package/lib/executor/test/utils.d.ts +0 -13
  211. package/lib/executor/test/utils.js +0 -81
  212. package/lib/executor/test/utils.js.map +0 -1
  213. package/lib/mempool/nullMempool.d.ts +0 -15
  214. package/lib/mempool/nullMempool.js +0 -40
  215. package/lib/mempool/nullMempool.js.map +0 -1
  216. package/lib/types/test/validationTestErrors.d.ts +0 -3
  217. package/lib/types/test/validationTestErrors.js +0 -232
  218. package/lib/types/test/validationTestErrors.js.map +0 -1
  219. package/lib/utils/compressionHandler.js.map +0 -1
  220. package/lib/utils/gasPriceManager.js.map +0 -1
  221. package/lib/utils/test.d.ts +0 -17
  222. package/lib/utils/test.js +0 -161
  223. package/lib/utils/test.js.map +0 -1
  224. /package/esm/{utils → handlers}/compressionHandler.d.ts +0 -0
  225. /package/esm/{utils → handlers}/compressionHandler.js +0 -0
  226. /package/lib/{utils → handlers}/compressionHandler.d.ts +0 -0
  227. /package/lib/{utils → handlers}/compressionHandler.js +0 -0
@@ -1,9 +1,7 @@
1
- import { EntryPointV06Abi, EntryPointV07Abi, IOpInflatorAbi, RpcError, ValidationErrors, bundlerGetStakeStatusResponseSchema, deriveUserOperation, logSchema, receiptSchema } from "../types/index.js";
2
- import { calcPreVerificationGas, calcVerificationGasAndCallGasLimit, getNonceKeyAndValue, getUserOperationHash, isVersion06, isVersion07, maxBigInt, toUnpackedUserOperation } from "../utils/index.js";
3
- import { TransactionNotFoundError, TransactionReceiptNotFoundError, decodeFunctionData, getAbiItem, getAddress, getContract, encodeEventTopics, zeroAddress, decodeEventLog, parseAbi, slice, toFunctionSelector } from "viem";
4
- import * as chains from "viem/chains";
5
- import { z } from "zod";
6
- import { fromZodError } from "zod-validation-error";
1
+ import { EntryPointV06Abi, EntryPointV07Abi, IOpInflatorAbi, RpcError, ValidationErrors, bundlerGetStakeStatusResponseSchema, deriveUserOperation } from "../types/index.js";
2
+ import { calcPreVerificationGas, calcVerificationGasAndCallGasLimit, getAAError, getNonceKeyAndValue, getUserOperationHash, isVersion06, isVersion07, maxBigInt, parseUserOperationReceipt, toUnpackedUserOperation } from "../utils/index.js";
3
+ import { TransactionNotFoundError, decodeFunctionData, getAbiItem, getAddress, getContract, slice, toFunctionSelector } from "viem";
4
+ import { base, baseSepolia, optimism } from "viem/chains";
7
5
  export class RpcHandler {
8
6
  entryPoints;
9
7
  publicClient;
@@ -27,7 +25,9 @@ export class RpcHandler {
27
25
  gasPriceManager;
28
26
  gasPriceMultipliers;
29
27
  paymasterGasLimitMultiplier;
30
- constructor(entryPoints, publicClient, validator, mempool, executor, monitor, nonceQueuer, executorManager, reputationManager, usingTenderly, rpcMaxBlockRange, logger, metrics, enableDebugEndpoints, compressionHandler, legacyTransactions, gasPriceManager, gasPriceMultipliers, chainType, paymasterGasLimitMultiplier, dangerousSkipUserOperationValidation = false) {
28
+ eventManager;
29
+ enableInstantBundlingEndpoint;
30
+ constructor(entryPoints, publicClient, validator, mempool, executor, monitor, nonceQueuer, executorManager, reputationManager, usingTenderly, rpcMaxBlockRange, logger, metrics, enableDebugEndpoints, compressionHandler, legacyTransactions, gasPriceManager, gasPriceMultipliers, chainType, paymasterGasLimitMultiplier, eventManager, enableInstantBundlingEndpoint, dangerousSkipUserOperationValidation = false) {
31
31
  this.entryPoints = entryPoints;
32
32
  this.publicClient = publicClient;
33
33
  this.validator = validator;
@@ -51,6 +51,8 @@ export class RpcHandler {
51
51
  this.chainType = chainType;
52
52
  this.gasPriceManager = gasPriceManager;
53
53
  this.paymasterGasLimitMultiplier = paymasterGasLimitMultiplier;
54
+ this.enableInstantBundlingEndpoint = enableInstantBundlingEndpoint;
55
+ this.eventManager = eventManager;
54
56
  }
55
57
  async handleMethod(request, apiVersion) {
56
58
  // call the method with the params
@@ -141,6 +143,47 @@ export class RpcHandler {
141
143
  method,
142
144
  result: await this.pimlico_sendCompressedUserOperation(apiVersion, ...request.params)
143
145
  };
146
+ case "pimlico_sendUserOperationNow":
147
+ return {
148
+ method,
149
+ result: await this.pimlico_sendUserOperationNow(apiVersion, ...request.params)
150
+ };
151
+ }
152
+ }
153
+ ensureEntryPointIsSupported(entryPoint) {
154
+ if (!this.entryPoints.includes(entryPoint)) {
155
+ throw new Error(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
156
+ }
157
+ }
158
+ ensureDebugEndpointsAreEnabled(methodName) {
159
+ if (!this.enableDebugEndpoints) {
160
+ throw new RpcError(`${methodName} is only available in development environment`);
161
+ }
162
+ }
163
+ async preMempoolChecks(opHash, userOperation, apiVersion, entryPoint) {
164
+ if (this.legacyTransactions &&
165
+ userOperation.maxFeePerGas !== userOperation.maxPriorityFeePerGas) {
166
+ const reason = "maxPriorityFeePerGas must equal maxFeePerGas on chains that don't support EIP-1559";
167
+ this.eventManager.emitFailedValidation(opHash, reason);
168
+ throw new RpcError(reason);
169
+ }
170
+ if (apiVersion !== "v1") {
171
+ await this.gasPriceManager.validateGasPrice({
172
+ maxFeePerGas: userOperation.maxFeePerGas,
173
+ maxPriorityFeePerGas: userOperation.maxPriorityFeePerGas
174
+ });
175
+ }
176
+ if (userOperation.verificationGasLimit < 10000n) {
177
+ const reason = "verificationGasLimit must be at least 10000";
178
+ this.eventManager.emitFailedValidation(opHash, reason);
179
+ throw new RpcError(reason);
180
+ }
181
+ this.logger.trace({ userOperation, entryPoint }, "beginning validation");
182
+ if (userOperation.preVerificationGas === 0n ||
183
+ userOperation.verificationGasLimit === 0n) {
184
+ const reason = "user operation gas limits must be larger than 0";
185
+ this.eventManager.emitFailedValidation(opHash, reason);
186
+ throw new RpcError(reason);
144
187
  }
145
188
  }
146
189
  eth_chainId() {
@@ -150,10 +193,7 @@ export class RpcHandler {
150
193
  return this.entryPoints;
151
194
  }
152
195
  async eth_estimateUserOperationGas(apiVersion, userOperation, entryPoint, stateOverrides) {
153
- // check if entryPoint is supported, if not throw
154
- if (!this.entryPoints.includes(entryPoint)) {
155
- throw new Error(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
156
- }
196
+ this.ensureEntryPointIsSupported(entryPoint);
157
197
  if (userOperation.maxFeePerGas === 0n) {
158
198
  throw new RpcError("user operation max fee per gas must be larger than 0 during gas estimation");
159
199
  }
@@ -163,14 +203,9 @@ export class RpcHandler {
163
203
  userOperation.preVerificationGas = 1000000n;
164
204
  userOperation.verificationGasLimit = 10000000n;
165
205
  userOperation.callGasLimit = 10000000n;
166
- if (this.chainId === chains.base.id) {
206
+ if (this.chainId === base.id) {
167
207
  userOperation.verificationGasLimit = 5000000n;
168
208
  }
169
- if (this.chainId === chains.celoAlfajores.id ||
170
- this.chainId === chains.celo.id) {
171
- userOperation.verificationGasLimit = 1000000n;
172
- userOperation.callGasLimit = 1000000n;
173
- }
174
209
  if (isVersion07(userOperation)) {
175
210
  userOperation.paymasterPostOpGasLimit = 2000000n;
176
211
  userOperation.paymasterVerificationGasLimit = 5000000n;
@@ -221,12 +256,10 @@ export class RpcHandler {
221
256
  paymasterPostOpGasLimit =
222
257
  (paymasterPostOpGasLimit * multiplier) / 100n;
223
258
  }
224
- if (this.chainId === chains.base.id ||
225
- this.chainId === chains.baseSepolia.id) {
259
+ if (this.chainId === base.id || this.chainId === baseSepolia.id) {
226
260
  callGasLimit += 10000n;
227
261
  }
228
- if (this.chainId === chains.base.id ||
229
- this.chainId === chains.optimism.id) {
262
+ if (this.chainId === base.id || this.chainId === optimism.id) {
230
263
  callGasLimit = maxBigInt(callGasLimit, 120000n);
231
264
  }
232
265
  if (userOperation.callData === "0x") {
@@ -256,10 +289,11 @@ export class RpcHandler {
256
289
  };
257
290
  }
258
291
  async eth_sendUserOperation(apiVersion, userOperation, entryPoint) {
292
+ const hash = getUserOperationHash(userOperation, entryPoint, this.chainId);
293
+ this.eventManager.emitReceived(hash);
259
294
  let status = "rejected";
260
295
  try {
261
296
  status = await this.addToMempoolIfValid(userOperation, entryPoint, apiVersion);
262
- const hash = getUserOperationHash(userOperation, entryPoint, this.chainId);
263
297
  return hash;
264
298
  }
265
299
  catch (error) {
@@ -362,211 +396,53 @@ export class RpcHandler {
362
396
  };
363
397
  return result;
364
398
  }
365
- async eth_getUserOperationReceipt(userOperationHash) {
366
- const userOperationEventAbiItem = getAbiItem({
367
- abi: EntryPointV06Abi,
368
- name: "UserOperationEvent"
369
- });
370
- let fromBlock = undefined;
371
- let toBlock = undefined;
372
- if (this.rpcMaxBlockRange !== undefined) {
373
- const latestBlock = await this.publicClient.getBlockNumber();
374
- fromBlock = latestBlock - BigInt(this.rpcMaxBlockRange);
375
- if (fromBlock < 0n) {
376
- fromBlock = 0n;
377
- }
378
- toBlock = "latest";
379
- }
380
- const filterResult = await this.publicClient.getLogs({
381
- address: this.entryPoints,
382
- event: userOperationEventAbiItem,
383
- fromBlock,
384
- toBlock,
385
- args: {
386
- userOpHash: userOperationHash
387
- }
388
- });
389
- if (filterResult.length === 0) {
390
- return null;
391
- }
392
- const userOperationEvent = filterResult[0];
393
- // throw if any of the members of userOperationEvent are undefined
394
- if (userOperationEvent.args.actualGasCost === undefined ||
395
- userOperationEvent.args.sender === undefined ||
396
- userOperationEvent.args.nonce === undefined ||
397
- userOperationEvent.args.userOpHash === undefined ||
398
- userOperationEvent.args.success === undefined ||
399
- userOperationEvent.args.paymaster === undefined ||
400
- userOperationEvent.args.actualGasUsed === undefined) {
401
- throw new Error("userOperationEvent has undefined members");
402
- }
403
- const txHash = userOperationEvent.transactionHash;
404
- if (txHash === null) {
405
- // transaction pending
406
- return null;
407
- }
408
- const getTransactionReceipt = async (txHash) => {
409
- while (true) {
410
- try {
411
- return await this.publicClient.getTransactionReceipt({
412
- hash: txHash
413
- });
414
- }
415
- catch (e) {
416
- if (e instanceof TransactionReceiptNotFoundError) {
417
- continue;
418
- }
419
- throw e;
420
- }
421
- }
422
- };
423
- const receipt = await getTransactionReceipt(txHash);
424
- const logs = receipt.logs;
425
- if (logs.some((log) => log.blockHash === null ||
426
- log.blockNumber === null ||
427
- log.transactionIndex === null ||
428
- log.transactionHash === null ||
429
- log.logIndex === null ||
430
- log.topics.length === 0)) {
431
- // transaction pending
432
- return null;
433
- }
434
- const userOperationRevertReasonAbi = parseAbi([
435
- "event UserOperationRevertReason(bytes32 indexed userOpHash, address indexed sender, uint256 nonce, bytes revertReason)"
436
- ]);
437
- const userOperationRevertReasonTopicEvent = encodeEventTopics({
438
- abi: userOperationRevertReasonAbi
439
- })[0];
440
- let entryPoint = zeroAddress;
441
- let revertReason = undefined;
442
- let startIndex = -1;
443
- let endIndex = -1;
444
- logs.forEach((log, index) => {
445
- if (log?.topics[0] === userOperationEvent.topics[0]) {
446
- // process UserOperationEvent
447
- if (log.topics[1] === userOperationEvent.topics[1]) {
448
- // it's our userOpHash. save as end of logs array
449
- endIndex = index;
450
- entryPoint = log.address;
451
- }
452
- else if (endIndex === -1) {
453
- // it's a different hash. remember it as beginning index, but only if we didn't find our end index yet.
454
- startIndex = index;
455
- }
456
- }
457
- if (log?.topics[0] === userOperationRevertReasonTopicEvent) {
458
- // process UserOperationRevertReason
459
- if (log.topics[1] === userOperationEvent.topics[1]) {
460
- // it's our userOpHash. capture revert reason.
461
- const decodedLog = decodeEventLog({
462
- abi: userOperationRevertReasonAbi,
463
- data: log.data,
464
- topics: log.topics
465
- });
466
- revertReason = decodedLog.args.revertReason;
467
- }
468
- }
469
- });
470
- if (endIndex === -1) {
471
- throw new Error("fatal: no UserOperationEvent in logs");
472
- }
473
- const filteredLogs = logs.slice(startIndex + 1, endIndex);
474
- const logsParsing = z.array(logSchema).safeParse(filteredLogs);
475
- if (!logsParsing.success) {
476
- const err = fromZodError(logsParsing.error);
477
- throw err;
478
- }
479
- const receiptParsing = receiptSchema.safeParse({
480
- ...receipt,
481
- status: receipt.status === "success" ? 1 : 0
482
- });
483
- if (!receiptParsing.success) {
484
- const err = fromZodError(receiptParsing.error);
485
- throw err;
486
- }
487
- let paymaster = userOperationEvent.args.paymaster;
488
- paymaster = paymaster === zeroAddress ? undefined : paymaster;
489
- const userOperationReceipt = {
490
- userOpHash: userOperationHash,
491
- entryPoint,
492
- sender: userOperationEvent.args.sender,
493
- nonce: userOperationEvent.args.nonce,
494
- paymaster,
495
- actualGasUsed: userOperationEvent.args.actualGasUsed,
496
- actualGasCost: userOperationEvent.args.actualGasCost,
497
- success: userOperationEvent.args.success,
498
- reason: revertReason,
499
- logs: logsParsing.data,
500
- receipt: receiptParsing.data
501
- };
502
- return userOperationReceipt;
399
+ eth_getUserOperationReceipt(userOperationHash) {
400
+ return this.executorManager.getUserOperationReceipt(userOperationHash);
503
401
  }
504
402
  debug_bundler_clearState() {
505
- if (!this.enableDebugEndpoints) {
506
- throw new RpcError("debug_bundler_clearState is only available in development environment");
507
- }
403
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_clearState");
508
404
  this.mempool.clear();
509
405
  this.reputationManager.clear();
510
406
  return "ok";
511
407
  }
512
408
  debug_bundler_clearMempool() {
513
- if (!this.enableDebugEndpoints) {
514
- throw new RpcError("debug_bundler_clearMempool is only available in development environment");
515
- }
409
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_clearMempool");
516
410
  this.mempool.clear();
517
411
  this.reputationManager.clearEntityCount();
518
412
  return "ok";
519
413
  }
520
414
  async debug_bundler_dumpMempool(entryPoint) {
521
- if (!this.enableDebugEndpoints) {
522
- throw new RpcError("debug_bundler_dumpMempool is only available in development environment");
523
- }
524
- if (!this.entryPoints.includes(entryPoint)) {
525
- throw new RpcError(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
526
- }
415
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_dumpMempool");
416
+ this.ensureEntryPointIsSupported(entryPoint);
527
417
  return this.mempool
528
418
  .dumpOutstanding()
529
419
  .map((userOpInfo) => deriveUserOperation(userOpInfo.mempoolUserOperation));
530
420
  }
531
421
  async debug_bundler_sendBundleNow() {
532
- if (!this.enableDebugEndpoints) {
533
- throw new RpcError("debug_bundler_sendBundleNow is only available in development environment");
534
- }
422
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_sendBundleNow");
535
423
  const transactions = await this.executorManager.bundleNow();
536
424
  return transactions[0];
537
425
  }
538
426
  debug_bundler_setBundlingMode(bundlingMode) {
539
- if (!this.enableDebugEndpoints) {
540
- throw new RpcError("debug_bundler_setBundlingMode is only available in development environment");
541
- }
427
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_setBundlingMode");
542
428
  this.executorManager.setBundlingMode(bundlingMode);
543
429
  return "ok";
544
430
  }
545
431
  debug_bundler_dumpReputation(entryPoint) {
546
- if (!this.enableDebugEndpoints) {
547
- throw new RpcError("debug_bundler_setRe is only available in development environment");
548
- }
549
- if (!this.entryPoints.includes(entryPoint)) {
550
- throw new RpcError(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
551
- }
432
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_setReputation");
433
+ this.ensureEntryPointIsSupported(entryPoint);
552
434
  return this.reputationManager.dumpReputations(entryPoint);
553
435
  }
554
436
  async debug_bundler_getStakeStatus(address, entryPoint) {
555
- if (!this.enableDebugEndpoints) {
556
- throw new RpcError("debug_bundler_getStakeStatus is only available in development environment");
557
- }
558
- if (!this.entryPoints.includes(entryPoint)) {
559
- throw new RpcError(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
560
- }
437
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_getStakeStatus");
438
+ this.ensureEntryPointIsSupported(entryPoint);
561
439
  return bundlerGetStakeStatusResponseSchema.parse({
562
440
  method: "debug_bundler_getStakeStatus",
563
441
  result: await this.reputationManager.getStakeStatus(entryPoint, address)
564
442
  }).result;
565
443
  }
566
444
  debug_bundler_setReputation(args) {
567
- if (!this.enableDebugEndpoints) {
568
- throw new RpcError("debug_bundler_setReputation is only available in development environment");
569
- }
445
+ this.ensureDebugEndpointsAreEnabled("debug_bundler_setReputation");
570
446
  this.reputationManager.setReputation(args[1], args[0]);
571
447
  return "ok";
572
448
  }
@@ -574,57 +450,44 @@ export class RpcHandler {
574
450
  return this.monitor.getUserOperationStatus(userOperationHash);
575
451
  }
576
452
  async pimlico_getUserOperationGasPrice() {
577
- const gasPrice = await this.gasPriceManager.getGasPrice();
453
+ let { maxFeePerGas, maxPriorityFeePerGas } = await this.gasPriceManager.getGasPrice();
454
+ if (this.chainType === "hedera") {
455
+ maxFeePerGas /= 10n ** 9n;
456
+ maxPriorityFeePerGas /= 10n ** 9n;
457
+ }
578
458
  const { slow, standard, fast } = this.gasPriceMultipliers;
579
459
  return {
580
460
  slow: {
581
- maxFeePerGas: (gasPrice.maxFeePerGas * slow) / 100n,
582
- maxPriorityFeePerGas: (gasPrice.maxPriorityFeePerGas * slow) / 100n
461
+ maxFeePerGas: (maxFeePerGas * slow) / 100n,
462
+ maxPriorityFeePerGas: (maxPriorityFeePerGas * slow) / 100n
583
463
  },
584
464
  standard: {
585
- maxFeePerGas: (gasPrice.maxFeePerGas * standard) / 100n,
586
- maxPriorityFeePerGas: (gasPrice.maxPriorityFeePerGas * standard) / 100n
465
+ maxFeePerGas: (maxFeePerGas * standard) / 100n,
466
+ maxPriorityFeePerGas: (maxPriorityFeePerGas * standard) / 100n
587
467
  },
588
468
  fast: {
589
- maxFeePerGas: (gasPrice.maxFeePerGas * fast) / 100n,
590
- maxPriorityFeePerGas: (gasPrice.maxPriorityFeePerGas * fast) / 100n
469
+ maxFeePerGas: (maxFeePerGas * fast) / 100n,
470
+ maxPriorityFeePerGas: (maxPriorityFeePerGas * fast) / 100n
591
471
  }
592
472
  };
593
473
  }
594
474
  // check if we want to bundle userOperation. If yes, add to mempool
595
475
  async addToMempoolIfValid(op, entryPoint, apiVersion) {
476
+ this.ensureEntryPointIsSupported(entryPoint);
596
477
  const userOperation = deriveUserOperation(op);
597
- if (!this.entryPoints.includes(entryPoint)) {
598
- throw new RpcError(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
599
- }
600
- if (this.chainId === chains.celoAlfajores.id ||
601
- this.chainId === chains.celo.id) {
602
- if (userOperation.maxFeePerGas !==
603
- userOperation.maxPriorityFeePerGas) {
604
- throw new RpcError("maxPriorityFeePerGas must equal maxFeePerGas on Celo chains");
605
- }
606
- }
607
- if (apiVersion !== "v1") {
608
- await this.gasPriceManager.validateGasPrice({
609
- maxFeePerGas: userOperation.maxFeePerGas,
610
- maxPriorityFeePerGas: userOperation.maxPriorityFeePerGas
611
- });
612
- }
613
- if (userOperation.verificationGasLimit < 10000n) {
614
- throw new RpcError("verificationGasLimit must be at least 10000");
615
- }
616
- this.logger.trace({ userOperation, entryPoint }, "beginning validation");
617
- if (userOperation.preVerificationGas === 0n ||
618
- userOperation.verificationGasLimit === 0n) {
619
- throw new RpcError("user operation gas limits must be larger than 0");
620
- }
478
+ const opHash = getUserOperationHash(userOperation, entryPoint, this.chainId);
479
+ await this.preMempoolChecks(opHash, userOperation, apiVersion, entryPoint);
621
480
  const currentNonceValue = await this.getNonceValue(userOperation, entryPoint);
622
481
  const [, userOperationNonceValue] = getNonceKeyAndValue(userOperation.nonce);
623
482
  if (userOperationNonceValue < currentNonceValue) {
624
- throw new RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", ValidationErrors.InvalidFields);
483
+ const reason = "UserOperation failed validation with reason: AA25 invalid account nonce";
484
+ this.eventManager.emitFailedValidation(opHash, reason, "AA25");
485
+ throw new RpcError(reason, ValidationErrors.InvalidFields);
625
486
  }
626
487
  if (userOperationNonceValue > currentNonceValue + 10n) {
627
- throw new RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", ValidationErrors.InvalidFields);
488
+ const reason = "UserOperation failed validaiton with reason: AA25 invalid account nonce";
489
+ this.eventManager.emitFailedValidation(opHash, reason, "AA25");
490
+ throw new RpcError(reason, ValidationErrors.InvalidFields);
628
491
  }
629
492
  let queuedUserOperations = [];
630
493
  if (userOperationNonceValue > currentNonceValue &&
@@ -634,9 +497,10 @@ export class RpcHandler {
634
497
  if (userOperationNonceValue ===
635
498
  currentNonceValue + BigInt(queuedUserOperations.length)) {
636
499
  if (this.dangerousSkipUserOperationValidation) {
637
- const success = this.mempool.add(op, entryPoint);
500
+ const [success, errorReason] = this.mempool.add(op, entryPoint);
638
501
  if (!success) {
639
- throw new RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", ValidationErrors.InvalidFields);
502
+ this.eventManager.emitFailedValidation(opHash, errorReason, getAAError(errorReason));
503
+ throw new RpcError(`UserOperation reverted during simulation with reason: ${errorReason}`, ValidationErrors.InvalidFields);
640
504
  }
641
505
  }
642
506
  else {
@@ -646,9 +510,10 @@ export class RpcHandler {
646
510
  const validationResult = await this.validator.validateUserOperation(apiVersion !== "v1", userOperation, queuedUserOperations, entryPoint);
647
511
  await this.reputationManager.checkReputation(userOperation, entryPoint, validationResult);
648
512
  await this.mempool.checkEntityMultipleRoleViolation(userOperation);
649
- const success = this.mempool.add(op, entryPoint, validationResult.referencedContracts);
513
+ const [success, errorReason] = this.mempool.add(op, entryPoint, validationResult.referencedContracts);
650
514
  if (!success) {
651
- throw new RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", ValidationErrors.InvalidFields);
515
+ this.eventManager.emitFailedValidation(opHash, errorReason, getAAError(errorReason));
516
+ throw new RpcError(`UserOperation reverted during simulation with reason: ${errorReason}`, ValidationErrors.InvalidFields);
652
517
  }
653
518
  return "added";
654
519
  }
@@ -656,10 +521,47 @@ export class RpcHandler {
656
521
  this.nonceQueuer.add(op, entryPoint);
657
522
  return "queued";
658
523
  }
524
+ async pimlico_sendUserOperationNow(apiVersion, userOperation, entryPoint) {
525
+ if (!this.enableInstantBundlingEndpoint) {
526
+ throw new RpcError("pimlico_sendUserOperationNow endpoint is not enabled", ValidationErrors.InvalidFields);
527
+ }
528
+ this.ensureEntryPointIsSupported(entryPoint);
529
+ const opHash = getUserOperationHash(userOperation, entryPoint, this.chainId);
530
+ await this.preMempoolChecks(opHash, userOperation, apiVersion, entryPoint);
531
+ const result = (await this.executor.bundle(entryPoint, [userOperation]))[0];
532
+ if (result.status === "failure") {
533
+ const { userOpHash, reason } = result.error;
534
+ this.monitor.setUserOperationStatus(userOpHash, {
535
+ status: "rejected",
536
+ transactionHash: null
537
+ });
538
+ this.logger.warn({
539
+ userOperation: JSON.stringify(result.error.userOperation, (_k, v) => (typeof v === "bigint" ? v.toString() : v)),
540
+ userOpHash,
541
+ reason
542
+ }, "user operation rejected");
543
+ this.metrics.userOperationsSubmitted
544
+ .labels({ status: "failed" })
545
+ .inc();
546
+ const { error } = result;
547
+ throw new RpcError(`userOperation reverted during simulation with reason: ${error.reason}`);
548
+ }
549
+ const res = result;
550
+ // wait for receipt
551
+ const receipt = await this.publicClient.waitForTransactionReceipt({
552
+ hash: res.value.transactionInfo.transactionHash,
553
+ pollingInterval: 100
554
+ });
555
+ const userOperationReceipt = parseUserOperationReceipt(opHash, receipt);
556
+ return userOperationReceipt;
557
+ }
659
558
  async pimlico_sendCompressedUserOperation(apiVersion, compressedCalldata, inflatorAddress, entryPoint) {
559
+ const receivedTimestamp = Date.now();
660
560
  let status = "rejected";
661
561
  try {
662
562
  const { inflatedOp, inflatorId } = await this.validateAndInflateCompressedUserOperation(inflatorAddress, compressedCalldata);
563
+ const hash = getUserOperationHash(inflatedOp, entryPoint, this.chainId);
564
+ this.eventManager.emitReceived(hash, receivedTimestamp);
663
565
  const compressedUserOp = {
664
566
  compressedCalldata,
665
567
  inflatedOp,
@@ -668,7 +570,6 @@ export class RpcHandler {
668
570
  };
669
571
  // check userOps inputs.
670
572
  status = await this.addToMempoolIfValid(compressedUserOp, entryPoint, apiVersion);
671
- const hash = getUserOperationHash(inflatedOp, entryPoint, this.chainId);
672
573
  return hash;
673
574
  }
674
575
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../../rpc/rpcHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../../rpc/rpcHandler.ts"],"names":[],"mappings":"AAiBA,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,mCAAmC,EACnC,mBAAmB,EA0BtB,MAAM,aAAa,CAAA;AAOpB,OAAO,EACH,sBAAsB,EACtB,kCAAkC,EAClC,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,SAAS,EACT,yBAAyB,EACzB,uBAAuB,EAC1B,MAAM,aAAa,CAAA;AACpB,OAAO,EACH,wBAAwB,EACxB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,WAAW,EAMX,KAAK,EACL,kBAAkB,EACrB,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AA6BzD,MAAM,OAAO,UAAU;IACnB,WAAW,CAAW;IACtB,YAAY,CAAgC;IAC5C,SAAS,CAAoB;IAC7B,OAAO,CAAe;IACtB,QAAQ,CAAU;IAClB,OAAO,CAAS;IAChB,WAAW,CAAa;IACxB,aAAa,CAAS;IACtB,gBAAgB,CAAoB;IACpC,MAAM,CAAQ;IACd,OAAO,CAAS;IAChB,OAAO,CAAQ;IACf,SAAS,CAAW;IACpB,oBAAoB,CAAS;IAC7B,eAAe,CAAiB;IAChC,iBAAiB,CAA4B;IAC7C,kBAAkB,CAA2B;IAC7C,kBAAkB,CAAS;IAC3B,oCAAoC,CAAS;IAC7C,eAAe,CAAiB;IAChC,mBAAmB,CAAqB;IACxC,2BAA2B,CAAQ;IACnC,YAAY,CAAc;IAC1B,6BAA6B,CAAS;IAEtC,YACI,WAAsB,EACtB,YAA4C,EAC5C,SAA6B,EAC7B,OAAsB,EACtB,QAAkB,EAClB,OAAgB,EAChB,WAAwB,EACxB,eAAgC,EAChC,iBAA6C,EAC7C,aAAsB,EACtB,gBAAoC,EACpC,MAAc,EACd,OAAgB,EAChB,oBAA6B,EAC7B,kBAA6C,EAC7C,kBAA2B,EAC3B,eAAgC,EAChC,mBAAwC,EACxC,SAAoB,EACpB,2BAAmC,EACnC,YAA0B,EAC1B,6BAAsC,EACtC,oCAAoC,GAAG,KAAK;QAE5C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAChD,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAA;QACpC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,oCAAoC;YACrC,oCAAoC,CAAA;QACxC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,2BAA2B,GAAG,2BAA2B,CAAA;QAC9D,IAAI,CAAC,6BAA6B,GAAG,6BAA6B,CAAA;QAClE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,YAAY,CACd,OAAuB,EACvB,UAAsB;QAEtB,kCAAkC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC7B,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,aAAa;gBACd,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;iBAC9C,CAAA;YACL,KAAK,0BAA0B;gBAC3B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;iBAC3D,CAAA;YACL,KAAK,8BAA8B;gBAC/B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,MAAM,IAAI,CAAC,4BAA4B,CAC3C,UAAU,EACV,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CACpB;iBACJ,CAAA;YACL,KAAK,uBAAuB;gBACxB,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,MAAM,IAAI,CAAC,qBAAqB,CACpC,UAAU,EACV,GAAG,OAAO,CAAC,MAAM,CACpB;iBACJ,CAAA;YACL,KAAK,4BAA4B;gBAC7B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,MAAM,IAAI,CAAC,0BAA0B,CACzC,GAAG,OAAO,CAAC,MAAM,CACpB;iBACJ,CAAA;YACL,KAAK,6BAA6B;gBAC9B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,MAAM,IAAI,CAAC,2BAA2B,CAC1C,GAAG,OAAO,CAAC,MAAM,CACpB;iBACJ,CAAA;YACL,KAAK,4BAA4B;gBAC7B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,IAAI,CAAC,0BAA0B,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;iBAC7D,CAAA;YACL,KAAK,0BAA0B;gBAC3B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;iBAC3D,CAAA;YACL,KAAK,2BAA2B;gBAC5B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,MAAM,IAAI,CAAC,yBAAyB,CACxC,GAAG,OAAO,CAAC,MAAM,CACpB;iBACJ,CAAA;YACL,KAAK,6BAA6B;gBAC9B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,MAAM,IAAI,CAAC,2BAA2B,CAC1C,GAAG,OAAO,CAAC,MAAM,CACpB;iBACJ,CAAA;YACL,KAAK,+BAA+B;gBAChC,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,IAAI,CAAC,6BAA6B,CACtC,GAAG,OAAO,CAAC,MAAM,CACpB;iBACJ,CAAA;YACL,KAAK,6BAA6B;gBAC9B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC;iBAC3D,CAAA;YACL,KAAK,8BAA8B;gBAC/B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,IAAI,CAAC,4BAA4B,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;iBAC/D,CAAA;YACL,KAAK,8BAA8B;gBAC/B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,MAAM,IAAI,CAAC,4BAA4B,CAC3C,GAAG,OAAO,CAAC,MAAM,CACpB;iBACJ,CAAA;YACL,KAAK,gCAAgC;gBACjC,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,IAAI,CAAC,8BAA8B,CACvC,GAAG,OAAO,CAAC,MAAM,CACpB;iBACJ,CAAA;YACL,KAAK,kCAAkC;gBACnC,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,MAAM,IAAI,CAAC,gCAAgC,CAC/C,GAAG,OAAO,CAAC,MAAM,CACpB;iBACJ,CAAA;YACL,KAAK,qCAAqC;gBACtC,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,MAAM,IAAI,CAAC,mCAAmC,CAClD,UAAU,EACV,GAAG,OAAO,CAAC,MAAM,CACpB;iBACJ,CAAA;YACL,KAAK,8BAA8B;gBAC/B,OAAO;oBACH,MAAM;oBACN,MAAM,EAAE,MAAM,IAAI,CAAC,4BAA4B,CAC3C,UAAU,EACV,GAAG,OAAO,CAAC,MAAM,CACpB;iBACJ,CAAA;QACT,CAAC;IACL,CAAC;IAED,2BAA2B,CAAC,UAAmB;QAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACX,cAAc,UAAU,0CAA0C,IAAI,CAAC,WAAW,CAAC,IAAI,CACnF,IAAI,CACP,EAAE,CACN,CAAA;QACL,CAAC;IACL,CAAC;IAED,8BAA8B,CAAC,UAAkB;QAC7C,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC7B,MAAM,IAAI,QAAQ,CACd,GAAG,UAAU,+CAA+C,CAC/D,CAAA;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAClB,MAAW,EACX,aAA4B,EAC5B,UAAsB,EACtB,UAAmB;QAEnB,IACI,IAAI,CAAC,kBAAkB;YACvB,aAAa,CAAC,YAAY,KAAK,aAAa,CAAC,oBAAoB,EACnE,CAAC;YACC,MAAM,MAAM,GACR,oFAAoF,CAAA;YACxF,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACtD,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;gBACxC,YAAY,EAAE,aAAa,CAAC,YAAY;gBACxC,oBAAoB,EAAE,aAAa,CAAC,oBAAoB;aAC3D,CAAC,CAAA;QACN,CAAC;QAED,IAAI,aAAa,CAAC,oBAAoB,GAAG,MAAM,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,6CAA6C,CAAA;YAC5D,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACtD,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,sBAAsB,CAAC,CAAA;QAExE,IACI,aAAa,CAAC,kBAAkB,KAAK,EAAE;YACvC,aAAa,CAAC,oBAAoB,KAAK,EAAE,EAC3C,CAAC;YACC,MAAM,MAAM,GAAG,iDAAiD,CAAA;YAChE,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACtD,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;IACL,CAAC;IAED,WAAW;QACP,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,wBAAwB;QACpB,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,4BAA4B,CAC9B,UAAsB,EACtB,aAA4B,EAC5B,UAAmB,EACnB,cAA+B;QAE/B,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAA;QAE5C,IAAI,aAAa,CAAC,YAAY,KAAK,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,QAAQ,CACd,4EAA4E,CAC/E,CAAA;QACL,CAAC;QACD,MAAM,kBAAkB,GACpB,CAAC,CAAC,MAAM,sBAAsB,CAC1B,IAAI,CAAC,YAAY,EACjB,aAAa,EACb,UAAU,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,eAAe,EACpB,KAAK,CACR,CAAC;YACE,IAAI,CAAC;YACT,IAAI,CAAA;QAER,aAAa,CAAC,kBAAkB,GAAG,QAAU,CAAA;QAC7C,aAAa,CAAC,oBAAoB,GAAG,SAAW,CAAA;QAChD,aAAa,CAAC,YAAY,GAAG,SAAW,CAAA;QAExC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3B,aAAa,CAAC,oBAAoB,GAAG,QAAU,CAAA;QACnD,CAAC;QAED,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,aAAa,CAAC,uBAAuB,GAAG,QAAU,CAAA;YAClD,aAAa,CAAC,6BAA6B,GAAG,QAAU,CAAA;QAC5D,CAAC;QAED,4CAA4C;QAC5C,yEAAyE;QACzE,qEAAqE;QACrE,uCAAuC;QACvC,aAAa,CAAC,oBAAoB,GAAG,aAAa,CAAC,YAAY,CAAA;QAE/D,8BAA8B;QAC9B,4FAA4F;QAC5F,qGAAqG;QACrG,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,aAAa,CAC9C,aAAa,EACb,UAAU,CACb,CAAA;QACD,MAAM,CAAC,EAAE,uBAAuB,CAAC,GAAG,mBAAmB,CACnD,aAAa,CAAC,KAAK,CACtB,CAAA;QAED,IAAI,oBAAoB,GAAoB,EAAE,CAAA;QAC9C,IAAI,uBAAuB,GAAG,iBAAiB,EAAE,CAAC;YAC9C,MAAM,IAAI,QAAQ,CACd,kFAAkF,EAClF,gBAAgB,CAAC,aAAa,CACjC,CAAA;QACL,CAAC;QACD,IAAI,uBAAuB,GAAG,iBAAiB,EAAE,CAAC;YAC9C,yDAAyD;YACzD,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,QAAQ,CACd,kFAAkF,EAClF,gBAAgB,CAAC,aAAa,CACjC,CAAA;YACL,CAAC;YAED,oBAAoB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAC7D,aAAa,EACb,UAAU,EACV,iBAAiB,CACpB,CAAA;YAED,IACI,uBAAuB;gBACvB,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,EACzD,CAAC;gBACC,MAAM,IAAI,QAAQ,CACd,kFAAkF,EAClF,gBAAgB,CAAC,aAAa,CACjC,CAAA;YACL,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC3D,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,cAAc,CACjB,CAAA;QAED,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,GACtC,kCAAkC,CAC9B,aAAa,EACb,eAAe,CAAC,IAAI,CAAC,eAAe,EACpC,IAAI,CAAC,OAAO,EACZ,eAAe,CAAC,IAAI,CAAC,cAAc,CACtC,CAAA;QAEL,IAAI,6BAA6B,GAAG,EAAE,CAAA;QACtC,IAAI,uBAAuB,GAAG,EAAE,CAAA;QAEhC,IACI,WAAW,CAAC,aAAa,CAAC;YAC1B,aAAa,CAAC,SAAS,KAAK,IAAI;YAChC,+BAA+B;gBAC3B,eAAe,CAAC,IAAI,CAAC,eAAe;YACxC,yBAAyB,IAAI,eAAe,CAAC,IAAI,CAAC,eAAe,EACnE,CAAC;YACC,6BAA6B;gBACzB,eAAe,CAAC,IAAI,CAAC,eAAe;qBAC/B,6BAA6B,IAAI,EAAE,CAAA;YAC5C,uBAAuB;gBACnB,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,uBAAuB;oBAC5D,EAAE,CAAA;YAEN,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAA;YAEnD,6BAA6B;gBACzB,CAAC,6BAA6B,GAAG,UAAU,CAAC,GAAG,IAAI,CAAA;YAEvD,uBAAuB;gBACnB,CAAC,uBAAuB,GAAG,UAAU,CAAC,GAAG,IAAI,CAAA;QACrD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,EAAE,EAAE,CAAC;YAC9D,YAAY,IAAI,MAAO,CAAA;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;YAC3D,YAAY,GAAG,SAAS,CAAC,YAAY,EAAE,OAAQ,CAAC,CAAA;QACpD,CAAC;QAED,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAClC,YAAY,GAAG,EAAE,CAAA;QACrB,CAAC;QAED,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACH,kBAAkB;gBAClB,oBAAoB;gBACpB,YAAY;gBACZ,6BAA6B;gBAC7B,uBAAuB;aAC1B,CAAA;QACL,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO;gBACH,kBAAkB;gBAClB,oBAAoB;gBACpB,YAAY;aACf,CAAA;QACL,CAAC;QAED,OAAO;YACH,kBAAkB;YAClB,eAAe,EAAE,oBAAoB;YACrC,oBAAoB;YACpB,YAAY;SACf,CAAA;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CACvB,UAAsB,EACtB,aAA4B,EAC5B,UAAmB;QAEnB,MAAM,IAAI,GAAG,oBAAoB,CAC7B,aAAa,EACb,UAAU,EACV,IAAI,CAAC,OAAO,CACf,CAAA;QACD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEpC,IAAI,MAAM,GAAoC,UAAU,CAAA;QACxD,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACnC,aAAa,EACb,UAAU,EACV,UAAU,CACb,CAAA;YAED,OAAO,IAAI,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,UAAU,CAAA;YACnB,MAAM,KAAK,CAAA;QACf,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,sBAAsB;iBAC9B,MAAM,CAAC;gBACJ,MAAM;gBACN,IAAI,EAAE,SAAS;aAClB,CAAC;iBACD,GAAG,EAAE,CAAA;QACd,CAAC;IACL,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC5B,iBAA4B;QAE5B,MAAM,yBAAyB,GAAG,UAAU,CAAC;YACzC,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,oBAAoB;SAC7B,CAAC,CAAA;QAEF,IAAI,SAAS,GAAuB,SAAS,CAAA;QAC7C,IAAI,OAAO,GAAyB,SAAS,CAAA;QAC7C,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAA;YAC5D,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YACvD,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;gBACjB,SAAS,GAAG,EAAE,CAAA;YAClB,CAAC;YACD,OAAO,GAAG,QAAQ,CAAA;QACtB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,KAAK,EAAE,yBAAyB;YAChC,SAAS;YACT,OAAO;YACP,IAAI,EAAE;gBACF,UAAU,EAAE,iBAAiB;aAChC;SACJ,CAAC,CAAA;QAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAA;QACf,CAAC;QAED,MAAM,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,kBAAkB,CAAC,eAAe,CAAA;QACjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,sBAAsB;YACtB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,EACxB,MAAiB,EACG,EAAE;YACtB,IAAI,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YACnE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,wBAAwB,EAAE,CAAC;oBACxC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAA;gBACjC,CAAC;gBAED,MAAM,CAAC,CAAA;YACX,CAAC;QACL,CAAC,CAAA;QAED,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACT,OAAO,IAAI,CAAA;QACf,CAAC;QAED,IAAI,EAAuC,CAAA;QAC3C,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,kBAAkB,CAAC;gBAC/B,GAAG,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC;gBAC/C,IAAI,EAAE,EAAE,CAAC,KAAK;aACjB,CAAC,CAAA;YAEF,IAAI,OAAO,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAA;YACf,CAAC;YAED,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CACpB,CAAC,EAA0C,EAAE,EAAE,CAC3C,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,IAAI,CAAC,MAAM;gBAC5C,EAAE,CAAC,KAAK,KAAK,kBAAkB,CAAC,IAAI,CAAC,KAAK,CACjD,CAAA;YAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAA;YACf,CAAC;YAED,MAAM,mBAAmB,GAAG,UAAU,CAAC;gBACnC,GAAG,EAAE,gBAAgB;gBACrB,IAAI,EAAE,WAAW;aACpB,CAAC,CAAA;YACF,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;YAEpE,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,oBAAoB,EAAE,CAAC;gBACjD,EAAE,GAAG,uBAAuB,CAAC,OAA8B,CAAC,CAAA;YAChE,CAAC;iBAAM,CAAC;gBACJ,EAAE,GAAG,OAA2B,CAAA;YACpC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAA;QACf,CAAC;QAED,MAAM,MAAM,GAAyC;YACjD,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,eAAe,EAAE,MAAM;YACvB,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,IAAI;YAC/B,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;SAC5C,CAAA;QAED,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,2BAA2B,CACvB,iBAA4B;QAE5B,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;IAC1E,CAAC;IAED,wBAAwB;QACpB,IAAI,CAAC,8BAA8B,CAAC,0BAA0B,CAAC,CAAA;QAE/D,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAA;QAC9B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,0BAA0B;QACtB,IAAI,CAAC,8BAA8B,CAAC,4BAA4B,CAAC,CAAA;QAEjE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;QACzC,OAAO,IAAI,CAAA;IACf,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC3B,UAAmB;QAEnB,IAAI,CAAC,8BAA8B,CAAC,2BAA2B,CAAC,CAAA;QAChE,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAA;QAE5C,OAAO,IAAI,CAAC,OAAO;aACd,eAAe,EAAE;aACjB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAChB,mBAAmB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CACvD,CAAA;IACT,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC7B,IAAI,CAAC,8BAA8B,CAAC,6BAA6B,CAAC,CAAA;QAElE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAA;QAC3D,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,6BAA6B,CACzB,YAA0B;QAE1B,IAAI,CAAC,8BAA8B,CAAC,+BAA+B,CAAC,CAAA;QAEpE,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,4BAA4B,CACxB,UAAmB;QAEnB,IAAI,CAAC,8BAA8B,CAAC,6BAA6B,CAAC,CAAA;QAClE,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAA;QAE5C,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,4BAA4B,CAC9B,OAAgB,EAChB,UAAmB;QAEnB,IAAI,CAAC,8BAA8B,CAAC,8BAA8B,CAAC,CAAA;QACnE,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAA;QAE5C,OAAO,mCAAmC,CAAC,KAAK,CAAC;YAC7C,MAAM,EAAE,8BAA8B;YACtC,MAAM,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAC/C,UAAU,EACV,OAAO,CACV;SACJ,CAAC,CAAC,MAAM,CAAA;IACb,CAAC;IAED,2BAA2B,CACvB,IAAwC;QAExC,IAAI,CAAC,8BAA8B,CAAC,6BAA6B,CAAC,CAAA;QAElE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,8BAA8B,CAC1B,iBAA4B;QAE5B,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,gCAAgC;QAClC,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAE,GACtC,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAA;QAE5C,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9B,YAAY,IAAI,GAAG,IAAI,EAAE,CAAA;YACzB,oBAAoB,IAAI,GAAG,IAAI,EAAE,CAAA;QACrC,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAA;QAEzD,OAAO;YACH,IAAI,EAAE;gBACF,YAAY,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,IAAI;gBAC1C,oBAAoB,EAAE,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,IAAI;aAC7D;YACD,QAAQ,EAAE;gBACN,YAAY,EAAE,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAI;gBAC9C,oBAAoB,EAAE,CAAC,oBAAoB,GAAG,QAAQ,CAAC,GAAG,IAAI;aACjE;YACD,IAAI,EAAE;gBACF,YAAY,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,IAAI;gBAC1C,oBAAoB,EAAE,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,IAAI;aAC7D;SACJ,CAAA;IACL,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,mBAAmB,CACrB,EAAwB,EACxB,UAAmB,EACnB,UAAsB;QAEtB,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAA;QAE5C,MAAM,aAAa,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,oBAAoB,CAC/B,aAAa,EACb,UAAU,EACV,IAAI,CAAC,OAAO,CACf,CAAA;QAED,MAAM,IAAI,CAAC,gBAAgB,CACvB,MAAM,EACN,aAAa,EACb,UAAU,EACV,UAAU,CACb,CAAA;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,aAAa,CAC9C,aAAa,EACb,UAAU,CACb,CAAA;QACD,MAAM,CAAC,EAAE,uBAAuB,CAAC,GAAG,mBAAmB,CACnD,aAAa,CAAC,KAAK,CACtB,CAAA;QAED,IAAI,uBAAuB,GAAG,iBAAiB,EAAE,CAAC;YAC9C,MAAM,MAAM,GACR,yEAAyE,CAAA;YAC7E,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;YAC9D,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAC9D,CAAC;QACD,IAAI,uBAAuB,GAAG,iBAAiB,GAAG,GAAG,EAAE,CAAC;YACpD,MAAM,MAAM,GACR,yEAAyE,CAAA;YAC7E,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;YAC9D,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,oBAAoB,GAAoB,EAAE,CAAA;QAC9C,IACI,uBAAuB,GAAG,iBAAiB;YAC3C,WAAW,CAAC,aAAa,CAAC,EAC5B,CAAC;YACC,oBAAoB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAC7D,aAAa,EACb,UAAU,EACV,iBAAiB,CACpB,CAAA;QACL,CAAC;QAED,IACI,uBAAuB;YACvB,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,EACzD,CAAC;YACC,IAAI,IAAI,CAAC,oCAAoC,EAAE,CAAC;gBAC5C,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;gBAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAClC,MAAM,EACN,WAAW,EACX,UAAU,CAAC,WAAW,CAAC,CAC1B,CAAA;oBACD,MAAM,IAAI,QAAQ,CACd,yDAAyD,WAAW,EAAE,EACtE,gBAAgB,CAAC,aAAa,CACjC,CAAA;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAC3C,aAAa,EACb,UAAU,CACb,CAAA;gBACL,CAAC;gBAED,MAAM,gBAAgB,GAClB,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CACtC,UAAU,KAAK,IAAI,EACnB,aAAa,EACb,oBAAoB,EACpB,UAAU,CACb,CAAA;gBAEL,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACxC,aAAa,EACb,UAAU,EACV,gBAAgB,CACnB,CAAA;gBAED,MAAM,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAC/C,aAAa,CAChB,CAAA;gBAED,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAC3C,EAAE,EACF,UAAU,EACV,gBAAgB,CAAC,mBAAmB,CACvC,CAAA;gBAED,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAClC,MAAM,EACN,WAAW,EACX,UAAU,CAAC,WAAW,CAAC,CAC1B,CAAA;oBACD,MAAM,IAAI,QAAQ,CACd,yDAAyD,WAAW,EAAE,EACtE,gBAAgB,CAAC,aAAa,CACjC,CAAA;gBACL,CAAC;gBACD,OAAO,OAAO,CAAA;YAClB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;QACpC,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAC9B,UAAsB,EACtB,aAA4B,EAC5B,UAAmB;QAEnB,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACtC,MAAM,IAAI,QAAQ,CACd,sDAAsD,EACtD,gBAAgB,CAAC,aAAa,CACjC,CAAA;QACL,CAAC;QAED,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAA;QAE5C,MAAM,MAAM,GAAG,oBAAoB,CAC/B,aAAa,EACb,UAAU,EACV,IAAI,CAAC,OAAO,CACf,CAAA;QAED,MAAM,IAAI,CAAC,gBAAgB,CACvB,MAAM,EACN,aAAa,EACb,UAAU,EACV,UAAU,CACb,CAAA;QAED,MAAM,MAAM,GAAG,CACX,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,CAC1D,CAAC,CAAC,CAAC,CAAA;QAEJ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAA;YAC3C,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE;gBAC5C,MAAM,EAAE,UAAU;gBAClB,eAAe,EAAE,IAAI;aACxB,CAAC,CAAA;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ;gBACI,aAAa,EAAE,IAAI,CAAC,SAAS,CACzB,MAAM,CAAC,KAAK,CAAC,aAAa,EAC1B,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACxD;gBACD,UAAU;gBACV,MAAM;aACT,EACD,yBAAyB,CAC5B,CAAA;YACD,IAAI,CAAC,OAAO,CAAC,uBAAuB;iBAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;iBAC5B,GAAG,EAAE,CAAA;YAEV,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;YACxB,MAAM,IAAI,QAAQ,CACd,yDAAyD,KAAK,CAAC,MAAM,EAAE,CAC1E,CAAA;QACL,CAAC;QAED,MAAM,GAAG,GAAG,MAMX,CAAA;QAED,mBAAmB;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;YAC9D,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,eAAe;YAC/C,eAAe,EAAE,GAAG;SACvB,CAAC,CAAA;QAEF,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAEvE,OAAO,oBAAoB,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,mCAAmC,CACrC,UAAsB,EACtB,kBAAuB,EACvB,eAAwB,EACxB,UAAmB;QAEnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACpC,IAAI,MAAM,GAAoC,UAAU,CAAA;QACxD,IAAI,CAAC;YACD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAC5B,MAAM,IAAI,CAAC,yCAAyC,CAChD,eAAe,EACf,kBAAkB,CACrB,CAAA;YAEL,MAAM,IAAI,GAAG,oBAAoB,CAC7B,UAAU,EACV,UAAU,EACV,IAAI,CAAC,OAAO,CACf,CAAA;YAED,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;YAEvD,MAAM,gBAAgB,GAA4B;gBAC9C,kBAAkB;gBAClB,UAAU;gBACV,eAAe;gBACf,UAAU;aACb,CAAA;YAED,wBAAwB;YACxB,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACnC,gBAAgB,EAChB,UAAU,EACV,UAAU,CACb,CAAA;YAED,OAAO,IAAI,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,UAAU,CAAA;YACnB,MAAM,KAAK,CAAA;QACf,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,sBAAsB;iBAC9B,MAAM,CAAC;gBACJ,MAAM;gBACN,IAAI,EAAE,YAAY;aACrB,CAAC;iBACD,GAAG,EAAE,CAAA;QACd,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,yCAAyC,CACnD,eAAwB,EACxB,kBAAuB;QAEvB,0DAA0D;QAC1D,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,QAAQ,CAAC,wBAAwB,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,UAAU,GACZ,MAAM,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CACjD,eAAe,EACf,IAAI,CAAC,YAAY,CACpB,CAAA;QAEL,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,QAAQ,CACd,YAAY,eAAe,oBAAoB,EAC/C,gBAAgB,CAAC,aAAa,CACjC,CAAA;QACL,CAAC;QAED,uCAAuC;QACvC,MAAM,gBAAgB,GAAG,WAAW,CAAC;YACjC,OAAO,EAAE,eAAe;YACxB,GAAG,EAAE,cAAc;YACnB,MAAM,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,YAAY;aAC5B;SACJ,CAAC,CAAA;QAEF,IAAI,UAAyB,CAAA;QAC7B,IAAI,CAAC;YACD,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7C,kBAAkB;aACrB,CAAC,CAAA;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,IAAI,QAAQ,CACd,YAAY,eAAe,+BAA+B,kBAAkB,YAAY,CAAC,EAAE,EAC3F,gBAAgB,CAAC,aAAa,CACjC,CAAA;QACL,CAAC;QAED,uDAAuD;QACvD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAA;QAE/D,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,QAAQ,CACd,aAAa,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,4CAA4C,EACrG,gBAAgB,CAAC,aAAa,CACjC,CAAA;QACL,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,aAA4B,EAAE,UAAmB;QACjE,MAAM,kBAAkB,GAAG,WAAW,CAAC;YACnC,OAAO,EAAE,UAAU;YACnB,GAAG,EAAE,WAAW,CAAC,aAAa,CAAC;gBAC3B,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,gBAAgB;YACtB,MAAM,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,YAAY;aAC5B;SACJ,CAAC,CAAA;QAEF,MAAM,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAE3D,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CACzD,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,EAChC;YACI,QAAQ,EAAE,QAAQ;SACrB,CACJ,CAAA;QAED,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAA;QAElE,OAAO,iBAAiB,CAAA;IAC5B,CAAC;CACJ"}
@@ -19,7 +19,8 @@ export declare class Server {
19
19
  private metrics;
20
20
  private apiVersions;
21
21
  private defaultApiVersion;
22
- constructor(rpcEndpoint: IRpcEndpoint, apiVersions: ApiVersion[], defaultApiVersion: ApiVersion, port: number, requestTimeout: number | undefined, websocketMaxPayloadSize: number, websocketEnabled: boolean, logger: Logger, registry: Registry, metrics: Metrics);
22
+ private supportedRpcMethods;
23
+ constructor(rpcEndpoint: IRpcEndpoint, apiVersions: ApiVersion[], defaultApiVersion: ApiVersion, port: number, requestTimeout: number | undefined, websocketMaxPayloadSize: number, websocketEnabled: boolean, logger: Logger, registry: Registry, metrics: Metrics, supportedRpcMethods: string[] | null);
23
24
  start(): void;
24
25
  stop(): Promise<void>;
25
26
  healthCheck(_request: FastifyRequest, reply: FastifyReply): Promise<void>;