@pimlico/alto 0.0.3 → 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 (247) 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 +2302 -22
  4. package/esm/cli/config/bundler.js +32 -4
  5. package/esm/cli/config/bundler.js.map +1 -1
  6. package/esm/cli/config/options.js +59 -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 +39 -4
  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 +70 -26
  47. package/esm/mempool/mempool.js.map +1 -1
  48. package/esm/mempool/reputationManager.js +7 -3
  49. package/esm/mempool/reputationManager.js.map +1 -1
  50. package/esm/rpc/EntryPointSimulationsV07.d.ts +7 -3
  51. package/esm/rpc/EntryPointSimulationsV07.js +12 -9
  52. package/esm/rpc/EntryPointSimulationsV07.js.map +1 -1
  53. package/esm/rpc/gasEstimation.d.ts +3 -3
  54. package/esm/rpc/gasEstimation.js +23 -14
  55. package/esm/rpc/gasEstimation.js.map +1 -1
  56. package/esm/rpc/nonceQueuer.d.ts +4 -1
  57. package/esm/rpc/nonceQueuer.js +9 -3
  58. package/esm/rpc/nonceQueuer.js.map +1 -1
  59. package/esm/rpc/rpcHandler.d.ts +53 -3
  60. package/esm/rpc/rpcHandler.js +150 -238
  61. package/esm/rpc/rpcHandler.js.map +1 -1
  62. package/esm/rpc/server.d.ts +2 -1
  63. package/esm/rpc/server.js +10 -1
  64. package/esm/rpc/server.js.map +1 -1
  65. package/esm/rpc/validation/SafeValidator.d.ts +5 -8
  66. package/esm/rpc/validation/SafeValidator.js +51 -208
  67. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  68. package/esm/rpc/validation/TracerResultParserV07.js +6 -2
  69. package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
  70. package/esm/rpc/validation/UnsafeValidator.d.ts +7 -3
  71. package/esm/rpc/validation/UnsafeValidator.js +52 -48
  72. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  73. package/esm/rpc/validation/tracer.js +1 -0
  74. package/esm/rpc/validation/tracer.js.map +1 -1
  75. package/esm/types/contracts/EntryPointSimulations.d.ts +0 -1
  76. package/esm/types/contracts/EntryPointSimulations.js +1941 -2
  77. package/esm/types/contracts/EntryPointSimulations.js.map +1 -1
  78. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  79. package/esm/types/contracts/PimlicoEntryPointSimulations.js +1 -1
  80. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  81. package/esm/types/schemas.d.ts +1029 -333
  82. package/esm/types/schemas.js +94 -20
  83. package/esm/types/schemas.js.map +1 -1
  84. package/esm/types/utils.d.ts +1 -1
  85. package/esm/types/validation.js +7 -2
  86. package/esm/types/validation.js.map +1 -1
  87. package/esm/utils/bigInt.d.ts +1 -0
  88. package/esm/utils/bigInt.js +4 -0
  89. package/esm/utils/bigInt.js.map +1 -1
  90. package/esm/utils/helpers.d.ts +1 -0
  91. package/esm/utils/helpers.js +6 -0
  92. package/esm/utils/helpers.js.map +1 -1
  93. package/esm/utils/index.d.ts +0 -3
  94. package/esm/utils/index.js +0 -3
  95. package/esm/utils/index.js.map +1 -1
  96. package/esm/utils/metrics.d.ts +4 -0
  97. package/esm/utils/metrics.js +29 -1
  98. package/esm/utils/metrics.js.map +1 -1
  99. package/esm/utils/rpc-reply.d.ts +1 -1
  100. package/esm/utils/rpc-reply.js +2 -1
  101. package/esm/utils/rpc-reply.js.map +1 -1
  102. package/esm/utils/userop.d.ts +66 -6
  103. package/esm/utils/userop.js +182 -95
  104. package/esm/utils/userop.js.map +1 -1
  105. package/esm/utils/validation.d.ts +1 -1
  106. package/esm/utils/validation.js +9 -13
  107. package/esm/utils/validation.js.map +1 -1
  108. package/lib/cli/alto.js +0 -4
  109. package/lib/cli/alto.js.map +1 -1
  110. package/lib/cli/config/bundler.d.ts +2302 -22
  111. package/lib/cli/config/bundler.js +31 -3
  112. package/lib/cli/config/bundler.js.map +1 -1
  113. package/lib/cli/config/options.js +59 -4
  114. package/lib/cli/config/options.js.map +1 -1
  115. package/lib/cli/customTransport.js +5 -1
  116. package/lib/cli/customTransport.js.map +1 -1
  117. package/lib/cli/handler.js +38 -3
  118. package/lib/cli/handler.js.map +1 -1
  119. package/lib/cli/instrumentation.js +2 -2
  120. package/lib/cli/instrumentation.js.map +1 -1
  121. package/lib/cli/setupServer.d.ts +2 -1
  122. package/lib/cli/setupServer.js +52 -28
  123. package/lib/cli/setupServer.js.map +1 -1
  124. package/lib/executor/executor.d.ts +7 -14
  125. package/lib/executor/executor.js +138 -128
  126. package/lib/executor/executor.js.map +1 -1
  127. package/lib/executor/executorManager.d.ts +58 -4
  128. package/lib/executor/executorManager.js +204 -50
  129. package/lib/executor/executorManager.js.map +1 -1
  130. package/lib/executor/senderManager.d.ts +2 -1
  131. package/lib/executor/senderManager.js +3 -0
  132. package/lib/executor/senderManager.js.map +1 -1
  133. package/lib/executor/utilityWalletMonitor.d.ts +15 -0
  134. package/lib/executor/utilityWalletMonitor.js +42 -0
  135. package/lib/executor/utilityWalletMonitor.js.map +1 -0
  136. package/lib/executor/utils.d.ts +1 -2
  137. package/lib/executor/utils.js +48 -37
  138. package/lib/executor/utils.js.map +1 -1
  139. package/lib/handlers/compressionHandler.js.map +1 -0
  140. package/lib/handlers/eventManager.d.ts +21 -0
  141. package/lib/handlers/eventManager.js +196 -0
  142. package/lib/handlers/eventManager.js.map +1 -0
  143. package/{esm/utils → lib/handlers}/gasPriceManager.d.ts +19 -5
  144. package/lib/{utils → handlers}/gasPriceManager.js +58 -13
  145. package/lib/handlers/gasPriceManager.js.map +1 -0
  146. package/lib/handlers/index.d.ts +4 -0
  147. package/lib/handlers/index.js +20 -0
  148. package/lib/handlers/index.js.map +1 -0
  149. package/lib/mempool/index.d.ts +0 -1
  150. package/lib/mempool/index.js +0 -1
  151. package/lib/mempool/index.js.map +1 -1
  152. package/lib/mempool/mempool.d.ts +4 -2
  153. package/lib/mempool/mempool.js +70 -26
  154. package/lib/mempool/mempool.js.map +1 -1
  155. package/lib/mempool/reputationManager.js +7 -3
  156. package/lib/mempool/reputationManager.js.map +1 -1
  157. package/lib/rpc/EntryPointSimulationsV07.d.ts +7 -3
  158. package/lib/rpc/EntryPointSimulationsV07.js +13 -9
  159. package/lib/rpc/EntryPointSimulationsV07.js.map +1 -1
  160. package/lib/rpc/gasEstimation.d.ts +3 -3
  161. package/lib/rpc/gasEstimation.js +23 -14
  162. package/lib/rpc/gasEstimation.js.map +1 -1
  163. package/lib/rpc/nonceQueuer.d.ts +4 -1
  164. package/lib/rpc/nonceQueuer.js +9 -3
  165. package/lib/rpc/nonceQueuer.js.map +1 -1
  166. package/lib/rpc/rpcHandler.d.ts +53 -3
  167. package/lib/rpc/rpcHandler.js +147 -258
  168. package/lib/rpc/rpcHandler.js.map +1 -1
  169. package/lib/rpc/server.d.ts +2 -1
  170. package/lib/rpc/server.js +10 -1
  171. package/lib/rpc/server.js.map +1 -1
  172. package/lib/rpc/validation/SafeValidator.d.ts +5 -8
  173. package/lib/rpc/validation/SafeValidator.js +50 -207
  174. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  175. package/lib/rpc/validation/TracerResultParserV07.js +6 -2
  176. package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
  177. package/lib/rpc/validation/UnsafeValidator.d.ts +7 -3
  178. package/lib/rpc/validation/UnsafeValidator.js +52 -48
  179. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  180. package/lib/rpc/validation/tracer.js +1 -0
  181. package/lib/rpc/validation/tracer.js.map +1 -1
  182. package/lib/types/contracts/EntryPointSimulations.d.ts +0 -1
  183. package/lib/types/contracts/EntryPointSimulations.js +1942 -3
  184. package/lib/types/contracts/EntryPointSimulations.js.map +1 -1
  185. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  186. package/lib/types/contracts/PimlicoEntryPointSimulations.js +2 -2
  187. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  188. package/lib/types/schemas.d.ts +1029 -333
  189. package/lib/types/schemas.js +93 -19
  190. package/lib/types/schemas.js.map +1 -1
  191. package/lib/types/utils.d.ts +1 -1
  192. package/lib/types/validation.js +7 -2
  193. package/lib/types/validation.js.map +1 -1
  194. package/lib/utils/bigInt.d.ts +1 -0
  195. package/lib/utils/bigInt.js +6 -1
  196. package/lib/utils/bigInt.js.map +1 -1
  197. package/lib/utils/helpers.d.ts +1 -0
  198. package/lib/utils/helpers.js +8 -1
  199. package/lib/utils/helpers.js.map +1 -1
  200. package/lib/utils/index.d.ts +0 -3
  201. package/lib/utils/index.js +0 -3
  202. package/lib/utils/index.js.map +1 -1
  203. package/lib/utils/metrics.d.ts +4 -0
  204. package/lib/utils/metrics.js +29 -1
  205. package/lib/utils/metrics.js.map +1 -1
  206. package/lib/utils/rpc-reply.d.ts +1 -1
  207. package/lib/utils/rpc-reply.js +2 -1
  208. package/lib/utils/rpc-reply.js.map +1 -1
  209. package/lib/utils/userop.d.ts +66 -6
  210. package/lib/utils/userop.js +184 -95
  211. package/lib/utils/userop.js.map +1 -1
  212. package/lib/utils/validation.d.ts +1 -1
  213. package/lib/utils/validation.js +9 -36
  214. package/lib/utils/validation.js.map +1 -1
  215. package/package.json +16 -14
  216. package/esm/executor/test/utils.d.ts +0 -13
  217. package/esm/executor/test/utils.js +0 -75
  218. package/esm/executor/test/utils.js.map +0 -1
  219. package/esm/mempool/nullMempool.d.ts +0 -15
  220. package/esm/mempool/nullMempool.js +0 -36
  221. package/esm/mempool/nullMempool.js.map +0 -1
  222. package/esm/types/test/validationTestErrors.d.ts +0 -3
  223. package/esm/types/test/validationTestErrors.js +0 -229
  224. package/esm/types/test/validationTestErrors.js.map +0 -1
  225. package/esm/utils/compressionHandler.js.map +0 -1
  226. package/esm/utils/gasPriceManager.js.map +0 -1
  227. package/esm/utils/test.d.ts +0 -17
  228. package/esm/utils/test.js +0 -130
  229. package/esm/utils/test.js.map +0 -1
  230. package/lib/executor/test/utils.d.ts +0 -13
  231. package/lib/executor/test/utils.js +0 -81
  232. package/lib/executor/test/utils.js.map +0 -1
  233. package/lib/mempool/nullMempool.d.ts +0 -15
  234. package/lib/mempool/nullMempool.js +0 -40
  235. package/lib/mempool/nullMempool.js.map +0 -1
  236. package/lib/types/test/validationTestErrors.d.ts +0 -3
  237. package/lib/types/test/validationTestErrors.js +0 -232
  238. package/lib/types/test/validationTestErrors.js.map +0 -1
  239. package/lib/utils/compressionHandler.js.map +0 -1
  240. package/lib/utils/gasPriceManager.js.map +0 -1
  241. package/lib/utils/test.d.ts +0 -17
  242. package/lib/utils/test.js +0 -161
  243. package/lib/utils/test.js.map +0 -1
  244. /package/esm/{utils → handlers}/compressionHandler.d.ts +0 -0
  245. /package/esm/{utils → handlers}/compressionHandler.js +0 -0
  246. /package/lib/{utils → handlers}/compressionHandler.d.ts +0 -0
  247. /package/lib/{utils → handlers}/compressionHandler.js +0 -0
@@ -1,8 +1,8 @@
1
1
  import { RpcError, gasStationResult } from "../types/index.js";
2
- import { maxBigInt, minBigInt } from "./index.js";
2
+ import { maxBigInt, minBigInt } from "../utils/index.js";
3
3
  import * as sentry from "@sentry/node";
4
4
  import { parseGwei } from "viem";
5
- import * as chains from "viem/chains";
5
+ import { celo, celoAlfajores, dfk, avalanche, polygon, polygonMumbai } from "viem/chains";
6
6
  var ChainId;
7
7
  (function (ChainId) {
8
8
  ChainId[ChainId["Goerli"] = 5] = "Goerli";
@@ -31,13 +31,34 @@ export class GasPriceManager {
31
31
  queueMaxPriorityFeePerGas = []; // Store pairs of [price, timestamp]
32
32
  maxQueueSize;
33
33
  gasBumpMultiplier;
34
- constructor(chain, publicClient, legacyTransactions, logger, gasBumpMultiplier, gasPriceTimeValidityInSeconds = 10) {
34
+ gasPriceRefreshIntervalInSeconds;
35
+ chainType;
36
+ constructor(chain, publicClient, legacyTransactions, logger, gasBumpMultiplier, gasPriceTimeValidityInSeconds, gasPriceRefreshIntervalInSeconds, chainType) {
35
37
  this.maxQueueSize = gasPriceTimeValidityInSeconds;
36
38
  this.chain = chain;
37
39
  this.publicClient = publicClient;
38
40
  this.legacyTransactions = legacyTransactions;
39
41
  this.logger = logger;
40
42
  this.gasBumpMultiplier = gasBumpMultiplier;
43
+ this.gasPriceRefreshIntervalInSeconds = gasPriceRefreshIntervalInSeconds;
44
+ this.chainType = chainType;
45
+ // Periodically update gas prices if specified
46
+ if (this.gasPriceRefreshIntervalInSeconds > 0) {
47
+ setInterval(() => {
48
+ if (this.legacyTransactions === false) {
49
+ this.updateBaseFee();
50
+ }
51
+ this.updateGasPrice();
52
+ }, this.gasPriceRefreshIntervalInSeconds * 1000);
53
+ }
54
+ }
55
+ init() {
56
+ return Promise.all([
57
+ this.updateGasPrice(),
58
+ this.legacyTransactions === false
59
+ ? this.updateBaseFee()
60
+ : Promise.resolve()
61
+ ]);
41
62
  }
42
63
  getDefaultGasFee(chainId) {
43
64
  switch (chainId) {
@@ -70,15 +91,14 @@ export class GasPriceManager {
70
91
  maxFeePerGas: (maxFeePerGas * bumpAmount) / 100n,
71
92
  maxPriorityFeePerGas: (maxPriorityFeePerGas * bumpAmount) / 100n
72
93
  };
73
- if (this.chain.id === chains.celo.id ||
74
- this.chain.id === chains.celoAlfajores.id) {
94
+ if (this.chain.id === celo.id || this.chain.id === celoAlfajores.id) {
75
95
  const maxFee = maxBigInt(result.maxFeePerGas, result.maxPriorityFeePerGas);
76
96
  return {
77
97
  maxFeePerGas: maxFee,
78
98
  maxPriorityFeePerGas: maxFee
79
99
  };
80
100
  }
81
- if (this.chain.id === chains.dfk.id) {
101
+ if (this.chain.id === dfk.id) {
82
102
  const maxFeePerGas = maxBigInt(5000000000n, result.maxFeePerGas);
83
103
  const maxPriorityFeePerGas = maxBigInt(5000000000n, result.maxPriorityFeePerGas);
84
104
  return {
@@ -87,7 +107,7 @@ export class GasPriceManager {
87
107
  };
88
108
  }
89
109
  // set a minimum maxPriorityFee & maxFee to 1.5gwei on avalanche (because eth_maxPriorityFeePerGas returns 0)
90
- if (this.chain.id === chains.avalanche.id) {
110
+ if (this.chain.id === avalanche.id) {
91
111
  const maxFeePerGas = maxBigInt(parseGwei("1.5"), result.maxFeePerGas);
92
112
  const maxPriorityFeePerGas = maxBigInt(parseGwei("1.5"), result.maxPriorityFeePerGas);
93
113
  return {
@@ -256,8 +276,8 @@ export class GasPriceManager {
256
276
  async innerGetGasPrice() {
257
277
  let maxFeePerGas = 0n;
258
278
  let maxPriorityFeePerGas = 0n;
259
- if (this.chain.id === chains.polygon.id ||
260
- this.chain.id === chains.polygonMumbai.id) {
279
+ if (this.chain.id === polygon.id ||
280
+ this.chain.id === polygonMumbai.id) {
261
281
  const polygonEstimate = await this.getPolygonGasPriceParameters();
262
282
  if (polygonEstimate) {
263
283
  const gasPrice = this.bumpTheGasPrice({
@@ -289,7 +309,7 @@ export class GasPriceManager {
289
309
  maxPriorityFeePerGas: maxBigInt(gasPrice.maxPriorityFeePerGas, maxPriorityFeePerGas)
290
310
  };
291
311
  }
292
- async getBaseFee() {
312
+ async updateBaseFee() {
293
313
  const latestBlock = await this.publicClient.getBlock();
294
314
  if (latestBlock.baseFeePerGas === null) {
295
315
  throw new RpcError("block does not have baseFeePerGas");
@@ -298,7 +318,17 @@ export class GasPriceManager {
298
318
  this.saveBaseFeePerGas(baseFee, Date.now());
299
319
  return baseFee;
300
320
  }
301
- async getGasPrice() {
321
+ getBaseFee() {
322
+ if (this.legacyTransactions) {
323
+ throw new RpcError("baseFee is not available for legacy transactions");
324
+ }
325
+ if (this.gasPriceRefreshIntervalInSeconds === 0) {
326
+ return this.updateBaseFee();
327
+ }
328
+ const { baseFeePerGas } = this.queueBaseFeePerGas[this.queueBaseFeePerGas.length - 1];
329
+ return baseFeePerGas;
330
+ }
331
+ async updateGasPrice() {
302
332
  const gasPrice = await this.innerGetGasPrice();
303
333
  this.saveGasPrice({
304
334
  maxFeePerGas: gasPrice.maxFeePerGas,
@@ -306,6 +336,17 @@ export class GasPriceManager {
306
336
  }, Date.now());
307
337
  return gasPrice;
308
338
  }
339
+ getGasPrice() {
340
+ if (this.gasPriceRefreshIntervalInSeconds === 0) {
341
+ return this.updateGasPrice();
342
+ }
343
+ const { maxPriorityFeePerGas } = this.queueMaxPriorityFeePerGas[this.queueMaxPriorityFeePerGas.length - 1];
344
+ const { maxFeePerGas } = this.queueMaxFeePerGas[this.queueMaxFeePerGas.length - 1];
345
+ return {
346
+ maxFeePerGas,
347
+ maxPriorityFeePerGas
348
+ };
349
+ }
309
350
  async getMaxBaseFeePerGas() {
310
351
  if (this.queueBaseFeePerGas.length === 0) {
311
352
  await this.getBaseFee();
@@ -325,8 +366,12 @@ export class GasPriceManager {
325
366
  return this.queueMaxPriorityFeePerGas.reduce((acc, cur) => minBigInt(cur.maxPriorityFeePerGas, acc), this.queueMaxPriorityFeePerGas[0].maxPriorityFeePerGas);
326
367
  }
327
368
  async validateGasPrice(gasPrice) {
328
- const lowestMaxFeePerGas = await this.getMinMaxFeePerGas();
329
- const lowestMaxPriorityFeePerGas = await this.getMinMaxPriorityFeePerGas();
369
+ let lowestMaxFeePerGas = await this.getMinMaxFeePerGas();
370
+ let lowestMaxPriorityFeePerGas = await this.getMinMaxPriorityFeePerGas();
371
+ if (this.chainType === "hedera") {
372
+ lowestMaxFeePerGas /= 10n ** 9n;
373
+ lowestMaxPriorityFeePerGas /= 10n ** 9n;
374
+ }
330
375
  if (gasPrice.maxFeePerGas < lowestMaxFeePerGas) {
331
376
  throw new RpcError(`maxFeePerGas must be at least ${lowestMaxFeePerGas} (current maxFeePerGas: ${gasPrice.maxFeePerGas}) - use pimlico_getUserOperationGasPrice to get the current gas price`);
332
377
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gasPriceManager.js","sourceRoot":"","sources":["../../handlers/gasPriceManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./compressionHandler.js";
2
+ export * from "./gasPriceManager.js";
3
+ export * from "./eventManager.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,4 @@
1
+ export * from "./compressionHandler.js";
2
+ export * from "./gasPriceManager.js";
3
+ export * from "./eventManager.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA"}
@@ -1,5 +1,4 @@
1
1
  export * from "./mempool.js";
2
2
  export * from "./monitoring.js";
3
3
  export * from "./reputationManager.js";
4
- export * from "./nullMempool.js";
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,4 @@
1
1
  export * from "./mempool.js";
2
2
  export * from "./monitoring.js";
3
3
  export * from "./reputationManager.js";
4
- export * from "./nullMempool.js";
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../mempool/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../mempool/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA"}
@@ -2,6 +2,7 @@ import type { Metrics } from "../utils/index.js";
2
2
  import { type InterfaceValidator, type MempoolUserOperation, type ReferencedCodeHashes, type StorageMap, type SubmittedUserOperation, type TransactionInfo, type UserOperation, type UserOperationInfo } from "../types/index.js";
3
3
  import type { HexData32 } from "../types/index.js";
4
4
  import type { Logger } from "../utils/index.js";
5
+ import type { EventManager } from "../handlers/index.js";
5
6
  import { type Address, type Chain, type PublicClient, type Transport } from "viem";
6
7
  import type { Monitor } from "./monitoring.js";
7
8
  import { type InterfaceReputationManager } from "./reputationManager.js";
@@ -17,7 +18,8 @@ export declare class MemoryMempool {
17
18
  private parallelUserOpsMaxSize;
18
19
  private queuedUserOpsMaxSize;
19
20
  private onlyUniqueSendersPerBundle;
20
- constructor(monitor: Monitor, reputationManager: InterfaceReputationManager, validator: InterfaceValidator, publicClient: PublicClient<Transport, Chain>, safeMode: boolean, logger: Logger, metrics: Metrics, parallelUserOpsMaxSize: number, queuedUserOpsMaxSize: number, onlyUniqueSendersPerBundle: boolean, throttledEntityBundleCount?: number);
21
+ private eventManager;
22
+ constructor(monitor: Monitor, reputationManager: InterfaceReputationManager, validator: InterfaceValidator, publicClient: PublicClient<Transport, Chain>, safeMode: boolean, logger: Logger, metrics: Metrics, parallelUserOpsMaxSize: number, queuedUserOpsMaxSize: number, onlyUniqueSendersPerBundle: boolean, eventManager: EventManager, throttledEntityBundleCount?: number);
21
23
  replaceSubmitted(userOperation: UserOperationInfo, transactionInfo: TransactionInfo): void;
22
24
  markSubmitted(userOpHash: `0x${string}`, transactionInfo: TransactionInfo): void;
23
25
  dumpOutstanding(): UserOperationInfo[];
@@ -31,7 +33,7 @@ export declare class MemoryMempool {
31
33
  paymasters: Set<Address>;
32
34
  factories: Set<Address>;
33
35
  };
34
- add(mempoolUserOperation: MempoolUserOperation, entryPoint: Address, referencedContracts?: ReferencedCodeHashes): boolean;
36
+ add(mempoolUserOperation: MempoolUserOperation, entryPoint: Address, referencedContracts?: ReferencedCodeHashes): [boolean, string];
35
37
  shouldSkip(opInfo: UserOperationInfo, paymasterDeposit: {
36
38
  [paymaster: string]: bigint;
37
39
  }, stakedEntityCount: {
@@ -18,7 +18,8 @@ export class MemoryMempool {
18
18
  parallelUserOpsMaxSize;
19
19
  queuedUserOpsMaxSize;
20
20
  onlyUniqueSendersPerBundle;
21
- constructor(monitor, reputationManager, validator, publicClient, safeMode, logger, metrics, parallelUserOpsMaxSize, queuedUserOpsMaxSize, onlyUniqueSendersPerBundle, throttledEntityBundleCount) {
21
+ eventManager;
22
+ constructor(monitor, reputationManager, validator, publicClient, safeMode, logger, metrics, parallelUserOpsMaxSize, queuedUserOpsMaxSize, onlyUniqueSendersPerBundle, eventManager, throttledEntityBundleCount) {
22
23
  this.reputationManager = reputationManager;
23
24
  this.monitor = monitor;
24
25
  this.validator = validator;
@@ -30,6 +31,7 @@ export class MemoryMempool {
30
31
  this.queuedUserOpsMaxSize = queuedUserOpsMaxSize;
31
32
  this.onlyUniqueSendersPerBundle = onlyUniqueSendersPerBundle;
32
33
  this.throttledEntityBundleCount = throttledEntityBundleCount ?? 4;
34
+ this.eventManager = eventManager;
33
35
  }
34
36
  replaceSubmitted(userOperation, transactionInfo) {
35
37
  const op = this.store
@@ -136,26 +138,63 @@ export class MemoryMempool {
136
138
  // In case of concurrent requests
137
139
  add(mempoolUserOperation, entryPoint, referencedContracts) {
138
140
  const op = deriveUserOperation(mempoolUserOperation);
141
+ const opHash = getUserOperationHash(op, entryPoint, this.publicClient.chain.id);
139
142
  const outstandingOps = [...this.store.dumpOutstanding()];
140
143
  const processedOrSubmittedOps = [
141
144
  ...this.store.dumpProcessing(),
142
- ...this.store.dumpSubmitted().map((sop) => sop.userOperation)
145
+ ...this.store
146
+ .dumpSubmitted()
147
+ .map(({ userOperation }) => userOperation)
143
148
  ];
144
- if (processedOrSubmittedOps.find((uo) => {
145
- const userOperation = deriveUserOperation(uo.mempoolUserOperation);
149
+ if (processedOrSubmittedOps.find(({ mempoolUserOperation }) => {
150
+ const userOperation = deriveUserOperation(mempoolUserOperation);
146
151
  return (userOperation.sender === op.sender &&
147
152
  userOperation.nonce === op.nonce);
148
153
  })) {
149
- return false;
154
+ return [
155
+ false,
156
+ "AA25 invalid account nonce: User operation is already in mempool and getting processed with same nonce and sender"
157
+ ];
150
158
  }
151
159
  this.reputationManager.updateUserOperationSeenStatus(op, entryPoint);
152
- const oldUserOp = outstandingOps.find((uo) => {
153
- const userOperation = deriveUserOperation(uo.mempoolUserOperation);
154
- return (userOperation.sender === op.sender &&
155
- userOperation.nonce === op.nonce);
160
+ const oldUserOp = [...outstandingOps, ...processedOrSubmittedOps].find(({ mempoolUserOperation }) => {
161
+ const userOperation = deriveUserOperation(mempoolUserOperation);
162
+ const isSameSender = userOperation.sender === op.sender;
163
+ if (isSameSender && userOperation.nonce === op.nonce) {
164
+ return true;
165
+ }
166
+ // Check if there is already a userOperation with initCode + same sender (stops rejected ops due to AA10).
167
+ if (isVersion06(userOperation) &&
168
+ isVersion06(op) &&
169
+ op.initCode &&
170
+ op.initCode !== "0x") {
171
+ return (isSameSender &&
172
+ userOperation.initCode &&
173
+ userOperation.initCode !== "0x");
174
+ }
175
+ // Check if there is already a userOperation with factory + same sender (stops rejected ops due to AA10).
176
+ if (isVersion07(userOperation) &&
177
+ isVersion07(op) &&
178
+ op.factory &&
179
+ op.factory !== "0x") {
180
+ return (isSameSender &&
181
+ userOperation.factory &&
182
+ userOperation.factory !== "0x");
183
+ }
184
+ return false;
156
185
  });
186
+ const isOldUserOpProcessingOrSubmitted = processedOrSubmittedOps.some((op) => op.userOperationHash === oldUserOp?.userOperationHash);
157
187
  if (oldUserOp) {
158
188
  const oldOp = deriveUserOperation(oldUserOp.mempoolUserOperation);
189
+ let reason = "AA10 sender already constructed: A conflicting userOperation with initCode for this sender is already in the mempool. bump the gas price by minimum 10%";
190
+ if (oldOp.nonce === op.nonce) {
191
+ reason =
192
+ "AA25 invalid account nonce: User operation already present in mempool, bump the gas price by minimum 10%";
193
+ }
194
+ // if oldOp is already in processing or submitted mempool, we can't replace it so early exit.
195
+ if (isOldUserOpProcessingOrSubmitted) {
196
+ return [false, reason];
197
+ }
159
198
  const oldMaxPriorityFeePerGas = oldOp.maxPriorityFeePerGas;
160
199
  const newMaxPriorityFeePerGas = op.maxPriorityFeePerGas;
161
200
  const oldMaxFeePerGas = oldOp.maxFeePerGas;
@@ -165,48 +204,52 @@ export class MemoryMempool {
165
204
  if (newMaxPriorityFeePerGas <
166
205
  oldMaxPriorityFeePerGas + incrementMaxPriorityFeePerGas ||
167
206
  newMaxFeePerGas < oldMaxFeePerGas + incrementMaxFeePerGas) {
168
- return false;
207
+ return [false, reason];
169
208
  }
170
209
  this.store.removeOutstanding(oldUserOp.userOperationHash);
171
210
  }
172
211
  // Check if mempool already includes max amount of parallel user operations
173
- const parallellUserOperationsCount = this.store
212
+ const parallelUserOperationsCount = this.store
174
213
  .dumpOutstanding()
175
214
  .filter((userOpInfo) => {
176
215
  const userOp = deriveUserOperation(userOpInfo.mempoolUserOperation);
177
216
  return userOp.sender === op.sender;
178
- })
179
- .length;
180
- if (parallellUserOperationsCount > this.parallelUserOpsMaxSize) {
181
- return false;
217
+ }).length;
218
+ if (parallelUserOperationsCount > this.parallelUserOpsMaxSize) {
219
+ return [
220
+ false,
221
+ "AA25 invalid account nonce: Maximum number of parallel user operations for that is allowed for this sender reached"
222
+ ];
182
223
  }
183
224
  // Check if mempool already includes max amount of queued user operations
184
- const [nonceKey,] = getNonceKeyAndValue(op.nonce);
225
+ const [nonceKey] = getNonceKeyAndValue(op.nonce);
185
226
  const queuedUserOperationsCount = this.store
186
227
  .dumpOutstanding()
187
228
  .filter((userOpInfo) => {
188
229
  const userOp = deriveUserOperation(userOpInfo.mempoolUserOperation);
189
- const [opNonceKey,] = getNonceKeyAndValue(userOp.nonce);
190
- return (userOp.sender === op.sender && opNonceKey === nonceKey);
191
- })
192
- .length;
230
+ const [opNonceKey] = getNonceKeyAndValue(userOp.nonce);
231
+ return userOp.sender === op.sender && opNonceKey === nonceKey;
232
+ }).length;
193
233
  if (queuedUserOperationsCount > this.queuedUserOpsMaxSize) {
194
- return false;
234
+ return [
235
+ false,
236
+ "AA25 invalid account nonce: Maximum number of queued user operations reached for this sender and nonce key"
237
+ ];
195
238
  }
196
- const hash = getUserOperationHash(op, entryPoint, this.publicClient.chain.id);
197
239
  this.store.addOutstanding({
198
240
  mempoolUserOperation,
199
241
  entryPoint: entryPoint,
200
- userOperationHash: hash,
242
+ userOperationHash: opHash,
201
243
  firstSubmitted: oldUserOp ? oldUserOp.firstSubmitted : Date.now(),
202
244
  lastReplaced: Date.now(),
203
245
  referencedContracts
204
246
  });
205
- this.monitor.setUserOperationStatus(hash, {
247
+ this.monitor.setUserOperationStatus(opHash, {
206
248
  status: "not_submitted",
207
249
  transactionHash: null
208
250
  });
209
- return true;
251
+ this.eventManager.emitAddedToMempool(opHash);
252
+ return [true, ""];
210
253
  }
211
254
  // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <explanation>
212
255
  async shouldSkip(opInfo, paymasterDeposit, stakedEntityCount, knownEntities, senders, storageMap) {
@@ -383,8 +426,9 @@ export class MemoryMempool {
383
426
  if (aUserOp.sender === bUserOp.sender) {
384
427
  const [aNonceKey, aNonceValue] = getNonceKeyAndValue(aUserOp.nonce);
385
428
  const [bNonceKey, bNonceValue] = getNonceKeyAndValue(bUserOp.nonce);
386
- if (aNonceKey === bNonceKey)
429
+ if (aNonceKey === bNonceKey) {
387
430
  return Number(aNonceValue - bNonceValue);
431
+ }
388
432
  return Number(aNonceKey - bNonceKey);
389
433
  }
390
434
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"mempool.js","sourceRoot":"","sources":["../../mempool/mempool.ts"],"names":[],"mappings":"AACA,4DAA4D;AAC5D,mDAAmD;AACnD,sDAAsD;AACtD,OAAO,EACH,gBAAgB,EAIhB,QAAQ,EAMR,gBAAgB,EAEhB,mBAAmB,EACnB,gBAAgB,EACnB,MAAM,aAAa,CAAA;AAGpB,OAAO,EACH,wCAAwC,EACxC,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAKH,UAAU,EACV,WAAW,EACd,MAAM,MAAM,CAAA;AAEb,OAAO,EAEH,kBAAkB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,MAAM,OAAO,aAAa;IACd,OAAO,CAAS;IAChB,YAAY,CAAgC;IAC5C,iBAAiB,CAA4B;IAC7C,KAAK,CAAa;IAClB,0BAA0B,CAAQ;IAClC,MAAM,CAAQ;IACd,SAAS,CAAoB;IAC7B,QAAQ,CAAS;IACjB,sBAAsB,CAAQ;IAC9B,oBAAoB,CAAQ;IAC5B,0BAA0B,CAAS;IAE3C,YACI,OAAgB,EAChB,iBAA6C,EAC7C,SAA6B,EAC7B,YAA4C,EAC5C,QAAiB,EACjB,MAAc,EACd,OAAgB,EAChB,sBAA8B,EAC9B,oBAA4B,EAC5B,0BAAmC,EACnC,0BAAmC;QAEnC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC7C,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;QACpD,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAChD,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAA;QAC5D,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,IAAI,CAAC,CAAA;IACrE,CAAC;IAED,gBAAgB,CACZ,aAAgC,EAChC,eAAgC;QAEhC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK;aAChB,aAAa,EAAE;aACf,IAAI,CACD,CAAC,EAAE,EAAE,EAAE,CACH,EAAE,CAAC,aAAa,CAAC,iBAAiB;YAClC,aAAa,CAAC,iBAAiB,CACtC,CAAA;QACL,IAAI,EAAE,EAAE,CAAC;YACL,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;YAC3D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;gBACpB,aAAa;gBACb,eAAe;aAClB,CAAC,CAAA;YACF,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAC/B,aAAa,CAAC,iBAAiB,EAC/B;gBACI,MAAM,EAAE,WAAW;gBACnB,eAAe,EAAE,eAAe,CAAC,eAAe;aACnD,CACJ,CAAA;QACL,CAAC;IACL,CAAC;IAED,aAAa,CACT,UAAyB,EACzB,eAAgC;QAEhC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK;aAChB,cAAc,EAAE;aAChB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,iBAAiB,KAAK,UAAU,CAAC,CAAA;QACtD,IAAI,EAAE,EAAE,CAAC;YACL,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACvC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;gBACpB,aAAa,EAAE,EAAE;gBACjB,eAAe;aAClB,CAAC,CAAA;YACF,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE;gBAC5C,MAAM,EAAE,WAAW;gBACnB,eAAe,EAAE,eAAe,CAAC,eAAe;aACnD,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAA;IACvC,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAA;IACtC,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAA;IACrC,CAAC;IAED,eAAe,CAAC,UAAyB;QACrC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;IAC1C,CAAC;IAED,gBAAgB,CAAC,UAAyB;QACtC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,gCAAgC,CAAC,EAAiB;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAM;QACV,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAE7C,IACI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;YACvC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EACxC,CAAC;YACC,MAAM,IAAI,QAAQ,CACd,uBAAuB,EAAE,CAAC,MAAM,+EAA+E,EAC/G,gBAAgB,CAAC,gBAAgB,CACpC,CAAA;QACL,CAAC;QAED,IAAI,SAAS,GAAmB,IAAI,CAAA;QACpC,IAAI,OAAO,GAAmB,IAAI,CAAA;QAElC,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,SAAS,GAAG,wCAAwC,CAChD,EAAE,CAAC,gBAAgB,CACtB,CAAA;YAED,OAAO,GAAG,wCAAwC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;QACnE,CAAC;QAED,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,SAAS,GAAG,EAAE,CAAC,SAAS,CAAA;YACxB,OAAO,GAAG,EAAE,CAAC,OAAO,CAAA;QACxB,CAAC;QAED,IAAI,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,QAAQ,CACd,kBAAkB,SAAS,kGAAkG,EAC7H,gBAAgB,CAAC,gBAAgB,CACpC,CAAA;QACL,CAAC;QACD,IAAI,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,QAAQ,CACd,gBAAgB,OAAO,kGAAkG,EACzH,gBAAgB,CAAC,gBAAgB,CACpC,CAAA;QACL,CAAC;IACL,CAAC;IAED,gBAAgB;QAKZ,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAA;QAEhD,MAAM,QAAQ,GAIV;YACA,MAAM,EAAE,IAAI,GAAG,EAAE;YACjB,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,SAAS,EAAE,IAAI,GAAG,EAAE;SACvB,CAAA;QAED,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;YAC9D,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;YAE9B,MAAM,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;YAEnC,MAAM,SAAS,GAAG,WAAW;gBACzB,CAAC,CAAC,wCAAwC,CAAC,EAAE,CAAC,gBAAgB,CAAC;gBAC/D,CAAC,CAAC,EAAE,CAAC,SAAS,CAAA;YAElB,IAAI,SAAS,EAAE,CAAC;gBACZ,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACtC,CAAC;YAED,MAAM,OAAO,GAAG,WAAW;gBACvB,CAAC,CAAC,wCAAwC,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACvD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAA;YAEhB,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,6DAA6D;IAC7D,iCAAiC;IACjC,GAAG,CACC,oBAA0C,EAC1C,UAAmB,EACnB,mBAA0C;QAE1C,MAAM,EAAE,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,CAAA;QAEpD,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAA;QAExD,MAAM,uBAAuB,GAAG;YAC5B,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAC9B,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;SAChE,CAAA;QAED,IACI,uBAAuB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;YAChC,MAAM,aAAa,GAAG,mBAAmB,CACrC,EAAE,CAAC,oBAAoB,CAC1B,CAAA;YACD,OAAO,CACH,aAAa,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;gBAClC,aAAa,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CACnC,CAAA;QACL,CAAC,CAAC,EACJ,CAAC;YACC,OAAO,KAAK,CAAA;QAChB,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;QACpE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;YACzC,MAAM,aAAa,GAAG,mBAAmB,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAA;YAClE,OAAO,CACH,aAAa,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;gBAClC,aAAa,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CACnC,CAAA;QACL,CAAC,CAAC,CAAA;QACF,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;YACjE,MAAM,uBAAuB,GAAG,KAAK,CAAC,oBAAoB,CAAA;YAC1D,MAAM,uBAAuB,GAAG,EAAE,CAAC,oBAAoB,CAAA;YACvD,MAAM,eAAe,GAAG,KAAK,CAAC,YAAY,CAAA;YAC1C,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAA;YAEvC,MAAM,6BAA6B,GAC/B,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YACxD,MAAM,qBAAqB,GACvB,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAEhD,IACI,uBAAuB;gBACnB,uBAAuB,GAAG,6BAA6B;gBAC3D,eAAe,GAAG,eAAe,GAAG,qBAAqB,EAC3D,CAAC;gBACC,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QAC7D,CAAC;QAED,2EAA2E;QAC3E,MAAM,4BAA4B,GAAG,IAAI,CAAC,KAAK;aAC1C,eAAe,EAAE;aACjB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;YACnE,OAAO,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,CAAA;QACtC,CAAC,CAAC;aACD,MAAM,CAAA;QAEX,IAAI,4BAA4B,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,yEAAyE;QACzE,MAAM,CAAC,QAAQ,EAAE,GAAG,mBAAmB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,yBAAyB,GAAG,IAAI,CAAC,KAAK;aACvC,eAAe,EAAE;aACjB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;YACnE,MAAM,CAAC,UAAU,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAExD,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,IAAI,UAAU,KAAK,QAAQ,CAAC,CAAC;QACpE,CAAC,CAAC;aACD,MAAM,CAAA;QAEX,IAAI,yBAAyB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,GAAG,oBAAoB,CAC7B,EAAE,EACF,UAAU,EACV,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAC7B,CAAA;QAED,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YACtB,oBAAoB;YACpB,UAAU,EAAE,UAAU;YACtB,iBAAiB,EAAE,IAAI;YACvB,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACjE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;YACxB,mBAAmB;SACtB,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE;YACtC,MAAM,EAAE,eAAe;YACvB,eAAe,EAAE,IAAI;SACxB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACf,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,UAAU,CACZ,MAAyB,EACzB,gBAAiD,EACjD,iBAA6C,EAC7C,aAIC,EACD,OAAoB,EACpB,UAAsB;QAatB,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO;gBACH,IAAI,EAAE,KAAK;gBACX,gBAAgB;gBAChB,iBAAiB;gBACjB,aAAa;gBACb,OAAO;gBACP,UAAU;aACb,CAAA;QACL,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;QAEnC,MAAM,SAAS,GAAG,WAAW;YACzB,CAAC,CAAC,wCAAwC,CAAC,EAAE,CAAC,gBAAgB,CAAC;YAC/D,CAAC,CAAC,EAAE,CAAC,SAAS,CAAA;QAClB,MAAM,OAAO,GAAG,WAAW;YACvB,CAAC,CAAC,wCAAwC,CAAC,EAAE,CAAC,QAAQ,CAAC;YACvD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAA;QAChB,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CACpD,MAAM,CAAC,UAAU,EACjB,SAAS,CACZ,CAAA;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAClD,MAAM,CAAC,UAAU,EACjB,OAAO,CACV,CAAA;QAED,IACI,eAAe,KAAK,kBAAkB,CAAC,MAAM;YAC7C,aAAa,KAAK,kBAAkB,CAAC,MAAM,EAC7C,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;YACtD,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,gBAAgB;gBAChB,iBAAiB;gBACjB,aAAa;gBACb,OAAO;gBACP,UAAU;aACb,CAAA;QACL,CAAC;QAED,IACI,eAAe,KAAK,kBAAkB,CAAC,SAAS;YAChD,SAAS;YACT,iBAAiB,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,0BAA0B,EACjE,CAAC;YACC,IAAI,CAAC,MAAM,CAAC,KAAK,CACb;gBACI,SAAS;gBACT,MAAM,EAAE,MAAM,CAAC,iBAAiB;aACnC,EACD,6BAA6B,CAChC,CAAA;YACD,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,gBAAgB;gBAChB,iBAAiB;gBACjB,aAAa;gBACb,OAAO;gBACP,UAAU;aACb,CAAA;QACL,CAAC;QAED,IACI,aAAa,KAAK,kBAAkB,CAAC,SAAS;YAC9C,OAAO;YACP,iBAAiB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,0BAA0B,EAC/D,CAAC;YACC,IAAI,CAAC,MAAM,CAAC,KAAK,CACb;gBACI,OAAO;gBACP,MAAM,EAAE,MAAM,CAAC,iBAAiB;aACnC,EACD,2BAA2B,CAC9B,CAAA;YACD,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,gBAAgB;gBAChB,iBAAiB;gBACjB,aAAa;gBACb,OAAO;gBACP,UAAU;aACb,CAAA;QACL,CAAC;QAGD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CACb;gBACI,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,MAAM,EAAE,MAAM,CAAC,iBAAiB;aACnC,EACD,mDAAmD,CACtD,CAAA;YACD,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,gBAAgB;gBAChB,iBAAiB;gBACjB,aAAa;gBACb,OAAO;gBACP,UAAU;aACb,CAAA;QACL,CAAC;QAED,IAAI,gBAA+D,CAAA;QAEnE,IAAI,CAAC;YACD,IAAI,oBAAoB,GAAoB,EAAE,CAAA;YAE9C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YACpF,CAAC;YAED,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CACzD,KAAK,EACL,EAAE,EACF,oBAAoB,EACpB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,mBAAmB,CAC7B,CAAA;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CACb;gBACI,MAAM,EAAE,MAAM,CAAC,iBAAiB;gBAChC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aAC3B,EACD,sBAAsB,CACzB,CAAA;YACD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;YACtD,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,gBAAgB;gBAChB,iBAAiB;gBACjB,aAAa;gBACb,OAAO;gBACP,UAAU;aACb,CAAA;QACL,CAAC;QAED,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;YACpE,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;YAE1C,IAAI,OAAO,KAAK,EAAE,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CACb;oBACI,cAAc;oBACd,MAAM,EAAE,MAAM,CAAC,iBAAiB;iBACnC,EACD,yBAAyB,CAC5B,CAAA;gBACD,OAAO;oBACH,IAAI,EAAE,IAAI;oBACV,gBAAgB;oBAChB,iBAAiB;oBACjB,aAAa;oBACb,OAAO;oBACP,UAAU;iBACb,CAAA;YACL,CAAC;QACL,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,gBAAgB,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,kBAAkB,GAAG,WAAW,CAAC;oBACnC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB;oBACtD,OAAO,EAAE,MAAM,CAAC,UAAU;oBAC1B,MAAM,EAAE;wBACJ,MAAM,EAAE,IAAI,CAAC,YAAY;qBAC5B;iBACJ,CAAC,CAAA;gBACF,gBAAgB,CAAC,SAAS,CAAC;oBACvB,MAAM,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;YAC5D,CAAC;YACD,IACI,gBAAgB,CAAC,SAAS,CAAC;gBAC3B,gBAAgB,CAAC,UAAU,CAAC,OAAO,EACrC,CAAC;gBACC,IAAI,CAAC,MAAM,CAAC,KAAK,CACb;oBACI,SAAS;oBACT,MAAM,EAAE,MAAM,CAAC,iBAAiB;iBACnC,EACD,8FAA8F,CACjG,CAAA;gBACD,OAAO;oBACH,IAAI,EAAE,IAAI;oBACV,gBAAgB;oBAChB,iBAAiB;oBACjB,aAAa;oBACb,OAAO;oBACP,UAAU;iBACb,CAAA;YACL,CAAC;YACD,iBAAiB,CAAC,SAAS,CAAC;gBACxB,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YAC3C,gBAAgB,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAA;QACtE,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QAEtB,OAAO;YACH,IAAI,EAAE,KAAK;YACX,gBAAgB;YAChB,iBAAiB;YACjB,aAAa;YACb,OAAO;YACP,UAAU;SACb,CAAA;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CACT,WAAmB,EACnB,MAAe;QAEf,MAAM,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAA;QAEtE,oCAAoC;QACpC,gEAAgE;QAChE,2CAA2C;QAC3C,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAE5D,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpC,MAAM,CAAC,SAAS,EAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnE,MAAM,CAAC,SAAS,EAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAEnE,IAAI,SAAS,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;gBAEtE,OAAO,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;YACzC,CAAC;YAED,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAA;QAEF,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,MAAM,GAAwB,EAAE,CAAA;QAEtC,oEAAoE;QACpE,IAAI,gBAAgB,GAAoC,EAAE,CAAA;QAC1D,gFAAgF;QAChF,IAAI,iBAAiB,GAA+B,EAAE,CAAA;QACtD,8CAA8C;QAC9C,IAAI,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;QAC/B,IAAI,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAE3C,IAAI,UAAU,GAAe,EAAE,CAAA;QAE/B,KAAK,MAAM,MAAM,IAAI,yBAAyB,EAAE,CAAC;YAC7C,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;YAC3D,OAAO;gBACH,EAAE,CAAC,YAAY;oBACf,EAAE,CAAC,oBAAoB,GAAG,EAAE;oBAC5B,EAAE,CAAC,kBAAkB,CAAA;YACzB,IAAI,OAAO,GAAG,WAAW,IAAI,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;gBACrD,MAAK;YACT,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CACpC,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,UAAU,CACb,CAAA;YACD,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAA;YAC9C,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAA;YAChD,aAAa,GAAG,UAAU,CAAC,aAAa,CAAA;YACxC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;YAC5B,UAAU,GAAG,UAAU,CAAC,UAAU,CAAA;YAElC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClB,SAAQ;YACZ,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAA;YACrD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;YACtD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACnB,QAAQ,EAAE,CAAA;QACd,CAAC;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,GAAG,CAAC,MAAiB;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK;aACzB,eAAe,EAAE;aACjB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,iBAAiB,KAAK,MAAM,CAAC,CAAA;QAClD,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,mBAAmB,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;aACvB,aAAa,EAAE;aACf,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,KAAK,MAAM,CAAC,CAAA;QAChE,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,mBAAmB,CACtB,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAC/C,CAAA;QACL,CAAC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAED,mEAAmE;IACnE,wDAAwD;IACxD,0EAA0E;IAC1E,KAAK,CAAC,uBAAuB,CACzB,aAA4B,EAC5B,UAAmB,EACnB,kBAA2B;QAE3B,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,EAAE,uBAAuB,CAAC,GAAG,mBAAmB,CAC3D,aAAa,CAAC,KAAK,CACtB,CAAA;QAED,IAAI,iBAAiB,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;QAE1C,IAAI,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,GAAG,kBAAkB,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CACzD,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,EAChC;gBACI,QAAQ,EAAE,QAAQ;aACrB,CACJ,CAAA;YAED,iBAAiB,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK;aACzB,eAAe,EAAE;aACjB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;aACzE,MAAM,CAAC,CAAC,EAAiB,EAAE,EAAE;YAC1B,MAAM,CAAC,UAAU,EAAC,YAAY,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAEhE,OAAO,CACH,EAAE,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;gBAClC,UAAU,KAAK,QAAQ;gBACvB,YAAY,IAAI,iBAAiB;gBACjC,YAAY,GAAG,uBAAuB,CACzC,CAAC;QACN,CAAC,CAAC,CAAA;QAEN,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,CAAC,EAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,EAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAEpD,OAAO,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAA;QAEF,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IACnC,CAAC;CACJ"}
1
+ {"version":3,"file":"mempool.js","sourceRoot":"","sources":["../../mempool/mempool.ts"],"names":[],"mappings":"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"}
@@ -114,7 +114,9 @@ export class ReputationManager {
114
114
  }));
115
115
  }
116
116
  clear() {
117
- this.entries = {};
117
+ for (const entryPoint of Object.keys(this.entries)) {
118
+ this.entries[entryPoint] = {};
119
+ }
118
120
  this.entityCount = {};
119
121
  }
120
122
  clearEntityCount() {
@@ -162,13 +164,14 @@ export class ReputationManager {
162
164
  return this.entityCount[address] ?? 0;
163
165
  }
164
166
  increaseSeen(entryPoint, address) {
165
- const entry = this.entries[entryPoint][address];
167
+ let entry = this.entries[entryPoint][address];
166
168
  if (!entry) {
167
169
  this.entries[entryPoint][address] = {
168
170
  address,
169
171
  opsSeen: 0n,
170
172
  opsIncluded: 0n
171
173
  };
174
+ entry = this.entries[entryPoint][address];
172
175
  }
173
176
  entry.opsSeen++;
174
177
  }
@@ -212,13 +215,14 @@ export class ReputationManager {
212
215
  }
213
216
  }
214
217
  updateIncludedStatus(entryPoint, address) {
215
- const entry = this.entries[entryPoint][address];
218
+ let entry = this.entries[entryPoint][address];
216
219
  if (!entry) {
217
220
  this.entries[entryPoint][address] = {
218
221
  address,
219
222
  opsSeen: 0n,
220
223
  opsIncluded: 0n
221
224
  };
225
+ entry = this.entries[entryPoint][address];
222
226
  }
223
227
  entry.opsIncluded++;
224
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reputationManager.js","sourceRoot":"","sources":["../../mempool/reputationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reputationManager.js","sourceRoot":"","sources":["../../mempool/reputationManager.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { Hex } from "viem";
2
2
  import { type Address, type PublicClient } from "viem";
3
- import { ExecutionErrors, ValidationErrors, type StateOverrides, type UserOperationV07 } from "../types/index.js";
3
+ import { ExecutionErrors, ValidationErrors, type StateOverrides, type UserOperationV07, type ValidationResultV07 } from "../types/index.js";
4
4
  export declare function parseFailedOpWithRevert(data: Hex): string;
5
- export declare function simulateHandleOp(userOperation: UserOperationV07, entryPoint: Address, publicClient: PublicClient, replacedEntryPoint: boolean, targetAddress: Address, targetCallData: Hex, entryPointSimulationsAddress: Address, stateOverride?: StateOverrides): Promise<{
5
+ export declare function simulateHandleOp(userOperation: UserOperationV07, entryPoint: Address, publicClient: PublicClient, replacedEntryPoint: boolean, targetAddress: Address, targetCallData: Hex, entryPointSimulationsAddress: Address, blockTagSupport: boolean, utilityWalletAddress: Address, stateOverride?: StateOverrides): Promise<{
6
6
  readonly result: "failed";
7
7
  readonly data: string;
8
8
  readonly code: ExecutionErrors;
@@ -22,7 +22,11 @@ export declare function simulateHandleOp(userOperation: UserOperationV07, entryP
22
22
  };
23
23
  readonly code?: undefined;
24
24
  }>;
25
- export declare function simulateValidation(userOperation: UserOperationV07, queuedUserOperations: UserOperationV07[], entryPoint: Address, publicClient: PublicClient, entryPointSimulationsAddress: Address): Promise<{
25
+ export declare function getSimulateValidationResult(errorData: Hex): {
26
+ status: "failed" | "validation";
27
+ data: ValidationResultV07 | Hex | string;
28
+ };
29
+ export declare function simulateValidation(userOperation: UserOperationV07, queuedUserOperations: UserOperationV07[], entryPoint: Address, publicClient: PublicClient, entryPointSimulationsAddress: Address, blockTagSupport: boolean, utilityWalletAddress: Address): Promise<{
26
30
  simulateValidationResult: {
27
31
  status: "validation" | "failed";
28
32
  data: string | {