@pimlico/alto 0.0.0-main.20250428T212302 → 0.0.0-main.20250429T151930

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 (386) hide show
  1. package/contracts/EIP712.sol/EIP712.json +1 -0
  2. package/contracts/ERC165.sol/ERC165.json +1 -0
  3. package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -0
  4. package/contracts/EntryPoint.sol/EntryPoint.json +1 -0
  5. package/contracts/EntryPointCodeOverride.sol/EntryPointCodeOverride.json +1 -0
  6. package/contracts/EntryPointSimulations.sol/EntryPointSimulations.json +1 -0
  7. package/contracts/Exec.sol/Exec.json +1 -0
  8. package/contracts/IAccount.sol/IAccount.json +1 -0
  9. package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -0
  10. package/contracts/IAggregator.sol/IAggregator.json +1 -0
  11. package/contracts/IERC165.sol/IERC165.json +1 -0
  12. package/contracts/IERC5267.sol/IERC5267.json +1 -0
  13. package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -0
  14. package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -0
  15. package/contracts/INonceManager.sol/INonceManager.json +1 -0
  16. package/contracts/IPaymaster.sol/IPaymaster.json +1 -0
  17. package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -0
  18. package/contracts/IStakeManager.sol/IStakeManager.json +1 -0
  19. package/contracts/Math.sol/Math.json +1 -0
  20. package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -0
  21. package/contracts/NonceManager.sol/NonceManager.json +1 -0
  22. package/contracts/Panic.sol/Panic.json +1 -0
  23. package/contracts/PimlicoEntryPointSimulationsV7.sol/PimlicoEntryPointSimulationsV7.json +1 -0
  24. package/contracts/PimlicoEntryPointSimulationsV8.sol/PimlicoEntryPointSimulationsV8.json +1 -0
  25. package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
  26. package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -0
  27. package/contracts/SafeCast.sol/SafeCast.json +1 -0
  28. package/contracts/SenderCreator.sol/SenderCreator.json +1 -0
  29. package/contracts/ShortStrings.sol/ShortStrings.json +1 -0
  30. package/contracts/SignedMath.sol/SignedMath.json +1 -0
  31. package/contracts/StakeManager.sol/StakeManager.json +1 -0
  32. package/contracts/StorageSlot.sol/StorageSlot.json +1 -0
  33. package/contracts/Strings.sol/Strings.json +1 -0
  34. package/contracts/TransientSlot.sol/TransientSlot.json +1 -0
  35. package/contracts/UserOperation.sol/UserOperationLib.json +1 -0
  36. package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -0
  37. package/contracts/build-info/0c52dc19c74a9a932ddddcca463ce398.json +1 -0
  38. package/contracts/build-info/a1d9af887789a0ade8ffbc8b045f0780.json +1 -0
  39. package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
  40. package/esm/cli/deploySimulationsContract.js +14 -5
  41. package/esm/cli/deploySimulationsContract.js.map +1 -1
  42. package/esm/cli/handler.js +4 -0
  43. package/esm/cli/handler.js.map +1 -1
  44. package/package.json +2 -1
  45. package/lib/cli/alto.d.ts +0 -7
  46. package/lib/cli/alto.js +0 -141
  47. package/lib/cli/alto.js.map +0 -1
  48. package/lib/cli/config/bundler.d.ts +0 -2872
  49. package/lib/cli/config/bundler.js +0 -242
  50. package/lib/cli/config/bundler.js.map +0 -1
  51. package/lib/cli/config/index.d.ts +0 -3
  52. package/lib/cli/config/index.js +0 -19
  53. package/lib/cli/config/index.js.map +0 -1
  54. package/lib/cli/config/options.d.ts +0 -13
  55. package/lib/cli/config/options.js +0 -587
  56. package/lib/cli/config/options.js.map +0 -1
  57. package/lib/cli/customTransport.d.ts +0 -14
  58. package/lib/cli/customTransport.js +0 -94
  59. package/lib/cli/customTransport.js.map +0 -1
  60. package/lib/cli/deploySimulationsContract.d.ts +0 -13
  61. package/lib/cli/deploySimulationsContract.js +0 -100
  62. package/lib/cli/deploySimulationsContract.js.map +0 -1
  63. package/lib/cli/handler.d.ts +0 -3
  64. package/lib/cli/handler.js +0 -157
  65. package/lib/cli/handler.js.map +0 -1
  66. package/lib/cli/index.d.ts +0 -4
  67. package/lib/cli/index.js +0 -20
  68. package/lib/cli/index.js.map +0 -1
  69. package/lib/cli/instrumentation.d.ts +0 -2
  70. package/lib/cli/instrumentation.js +0 -47
  71. package/lib/cli/instrumentation.js.map +0 -1
  72. package/lib/cli/parseArgs.d.ts +0 -8
  73. package/lib/cli/parseArgs.js +0 -25
  74. package/lib/cli/parseArgs.js.map +0 -1
  75. package/lib/cli/setupServer.d.ts +0 -13
  76. package/lib/cli/setupServer.js +0 -266
  77. package/lib/cli/setupServer.js.map +0 -1
  78. package/lib/cli/util.d.ts +0 -22
  79. package/lib/cli/util.js +0 -34
  80. package/lib/cli/util.js.map +0 -1
  81. package/lib/createConfig.d.ts +0 -16
  82. package/lib/createConfig.js +0 -13
  83. package/lib/createConfig.js.map +0 -1
  84. package/lib/executor/executor.d.ts +0 -65
  85. package/lib/executor/executor.js +0 -301
  86. package/lib/executor/executor.js.map +0 -1
  87. package/lib/executor/executorManager.d.ts +0 -108
  88. package/lib/executor/executorManager.js +0 -702
  89. package/lib/executor/executorManager.js.map +0 -1
  90. package/lib/executor/fastlane.d.ts +0 -9
  91. package/lib/executor/fastlane.js +0 -41
  92. package/lib/executor/fastlane.js.map +0 -1
  93. package/lib/executor/filterOpsAndEStimateGas.d.ts +0 -29
  94. package/lib/executor/filterOpsAndEStimateGas.js +0 -225
  95. package/lib/executor/filterOpsAndEStimateGas.js.map +0 -1
  96. package/lib/executor/index.d.ts +0 -5
  97. package/lib/executor/index.js +0 -21
  98. package/lib/executor/index.js.map +0 -1
  99. package/lib/executor/senderManager/createMemorySenderManager.d.ts +0 -8
  100. package/lib/executor/senderManager/createMemorySenderManager.js +0 -45
  101. package/lib/executor/senderManager/createMemorySenderManager.js.map +0 -1
  102. package/lib/executor/senderManager/createRedisSenderManager.d.ts +0 -8
  103. package/lib/executor/senderManager/createRedisSenderManager.js +0 -85
  104. package/lib/executor/senderManager/createRedisSenderManager.js.map +0 -1
  105. package/lib/executor/senderManager/flushOnStartUp.d.ts +0 -9
  106. package/lib/executor/senderManager/flushOnStartUp.js +0 -37
  107. package/lib/executor/senderManager/flushOnStartUp.js.map +0 -1
  108. package/lib/executor/senderManager/index.d.ts +0 -15
  109. package/lib/executor/senderManager/index.js +0 -25
  110. package/lib/executor/senderManager/index.js.map +0 -1
  111. package/lib/executor/senderManager/validateAndRefill.d.ts +0 -11
  112. package/lib/executor/senderManager/validateAndRefill.js +0 -115
  113. package/lib/executor/senderManager/validateAndRefill.js.map +0 -1
  114. package/lib/executor/utilityWalletMonitor.d.ts +0 -19
  115. package/lib/executor/utilityWalletMonitor.js +0 -42
  116. package/lib/executor/utilityWalletMonitor.js.map +0 -1
  117. package/lib/executor/utils.d.ts +0 -34
  118. package/lib/executor/utils.js +0 -167
  119. package/lib/executor/utils.js.map +0 -1
  120. package/lib/handlers/arbitrumGasPriceManager.d.ts +0 -14
  121. package/lib/handlers/arbitrumGasPriceManager.js +0 -39
  122. package/lib/handlers/arbitrumGasPriceManager.js.map +0 -1
  123. package/lib/handlers/eventManager.d.ts +0 -29
  124. package/lib/handlers/eventManager.js +0 -225
  125. package/lib/handlers/eventManager.js.map +0 -1
  126. package/lib/handlers/gasPriceManager.d.ts +0 -36
  127. package/lib/handlers/gasPriceManager.js +0 -391
  128. package/lib/handlers/gasPriceManager.js.map +0 -1
  129. package/lib/handlers/index.d.ts +0 -3
  130. package/lib/handlers/index.js +0 -19
  131. package/lib/handlers/index.js.map +0 -1
  132. package/lib/handlers/mantleGasPriceManager.d.ts +0 -23
  133. package/lib/handlers/mantleGasPriceManager.js +0 -44
  134. package/lib/handlers/mantleGasPriceManager.js.map +0 -1
  135. package/lib/handlers/optimismManager.d.ts +0 -10
  136. package/lib/handlers/optimismManager.js +0 -21
  137. package/lib/handlers/optimismManager.js.map +0 -1
  138. package/lib/index.d.ts +0 -2
  139. package/lib/index.js +0 -4
  140. package/lib/index.js.map +0 -1
  141. package/lib/mempool/index.d.ts +0 -4
  142. package/lib/mempool/index.js +0 -20
  143. package/lib/mempool/index.js.map +0 -1
  144. package/lib/mempool/mempool.d.ts +0 -191
  145. package/lib/mempool/mempool.js +0 -499
  146. package/lib/mempool/mempool.js.map +0 -1
  147. package/lib/mempool/monitoring.d.ts +0 -14
  148. package/lib/mempool/monitoring.js +0 -101
  149. package/lib/mempool/monitoring.js.map +0 -1
  150. package/lib/mempool/reputationManager.d.ts +0 -121
  151. package/lib/mempool/reputationManager.js +0 -472
  152. package/lib/mempool/reputationManager.js.map +0 -1
  153. package/lib/rpc/createMethodHandler.d.ts +0 -31
  154. package/lib/rpc/createMethodHandler.js +0 -34
  155. package/lib/rpc/createMethodHandler.js.map +0 -1
  156. package/lib/rpc/estimation/gasEstimationHandler.d.ts +0 -30
  157. package/lib/rpc/estimation/gasEstimationHandler.js +0 -50
  158. package/lib/rpc/estimation/gasEstimationHandler.js.map +0 -1
  159. package/lib/rpc/estimation/gasEstimationsV06.d.ts +0 -19
  160. package/lib/rpc/estimation/gasEstimationsV06.js +0 -148
  161. package/lib/rpc/estimation/gasEstimationsV06.js.map +0 -1
  162. package/lib/rpc/estimation/gasEstimationsV07.d.ts +0 -101
  163. package/lib/rpc/estimation/gasEstimationsV07.js +0 -727
  164. package/lib/rpc/estimation/gasEstimationsV07.js.map +0 -1
  165. package/lib/rpc/estimation/types.d.ts +0 -120
  166. package/lib/rpc/estimation/types.js +0 -125
  167. package/lib/rpc/estimation/types.js.map +0 -1
  168. package/lib/rpc/index.d.ts +0 -4
  169. package/lib/rpc/index.js +0 -20
  170. package/lib/rpc/index.js.map +0 -1
  171. package/lib/rpc/methods/debug_bundler_clearReputation.d.ts +0 -22
  172. package/lib/rpc/methods/debug_bundler_clearReputation.js +0 -15
  173. package/lib/rpc/methods/debug_bundler_clearReputation.js.map +0 -1
  174. package/lib/rpc/methods/debug_bundler_clearState.d.ts +0 -22
  175. package/lib/rpc/methods/debug_bundler_clearState.js +0 -16
  176. package/lib/rpc/methods/debug_bundler_clearState.js.map +0 -1
  177. package/lib/rpc/methods/debug_bundler_dumpMempool.d.ts +0 -973
  178. package/lib/rpc/methods/debug_bundler_dumpMempool.js +0 -16
  179. package/lib/rpc/methods/debug_bundler_dumpMempool.js.map +0 -1
  180. package/lib/rpc/methods/debug_bundler_dumpReputation.d.ts +0 -57
  181. package/lib/rpc/methods/debug_bundler_dumpReputation.js +0 -16
  182. package/lib/rpc/methods/debug_bundler_dumpReputation.js.map +0 -1
  183. package/lib/rpc/methods/debug_bundler_getStakeStatus.d.ts +0 -79
  184. package/lib/rpc/methods/debug_bundler_getStakeStatus.js +0 -25
  185. package/lib/rpc/methods/debug_bundler_getStakeStatus.js.map +0 -1
  186. package/lib/rpc/methods/debug_bundler_sendBundleNow.d.ts +0 -22
  187. package/lib/rpc/methods/debug_bundler_sendBundleNow.js +0 -15
  188. package/lib/rpc/methods/debug_bundler_sendBundleNow.js.map +0 -1
  189. package/lib/rpc/methods/debug_bundler_setBundlingMode.d.ts +0 -22
  190. package/lib/rpc/methods/debug_bundler_setBundlingMode.js +0 -16
  191. package/lib/rpc/methods/debug_bundler_setBundlingMode.js.map +0 -1
  192. package/lib/rpc/methods/debug_bundler_setReputation.d.ts +0 -46
  193. package/lib/rpc/methods/debug_bundler_setReputation.js +0 -16
  194. package/lib/rpc/methods/debug_bundler_setReputation.js.map +0 -1
  195. package/lib/rpc/methods/eth_chainId.d.ts +0 -22
  196. package/lib/rpc/methods/eth_chainId.js +0 -13
  197. package/lib/rpc/methods/eth_chainId.js.map +0 -1
  198. package/lib/rpc/methods/eth_estimateUserOperationGas.d.ts +0 -1891
  199. package/lib/rpc/methods/eth_estimateUserOperationGas.js +0 -26
  200. package/lib/rpc/methods/eth_estimateUserOperationGas.js.map +0 -1
  201. package/lib/rpc/methods/eth_getUserOperationByHash.d.ts +0 -1775
  202. package/lib/rpc/methods/eth_getUserOperationByHash.js +0 -101
  203. package/lib/rpc/methods/eth_getUserOperationByHash.js.map +0 -1
  204. package/lib/rpc/methods/eth_getUserOperationReceipt.d.ts +0 -412
  205. package/lib/rpc/methods/eth_getUserOperationReceipt.js +0 -14
  206. package/lib/rpc/methods/eth_getUserOperationReceipt.js.map +0 -1
  207. package/lib/rpc/methods/eth_sendUserOperation.d.ts +0 -878
  208. package/lib/rpc/methods/eth_sendUserOperation.js +0 -44
  209. package/lib/rpc/methods/eth_sendUserOperation.js.map +0 -1
  210. package/lib/rpc/methods/eth_supportedEntryPoints.d.ts +0 -22
  211. package/lib/rpc/methods/eth_supportedEntryPoints.js +0 -13
  212. package/lib/rpc/methods/eth_supportedEntryPoints.js.map +0 -1
  213. package/lib/rpc/methods/index.d.ts +0 -3
  214. package/lib/rpc/methods/index.js +0 -44
  215. package/lib/rpc/methods/index.js.map +0 -1
  216. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.d.ts +0 -131
  217. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js +0 -33
  218. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js.map +0 -1
  219. package/lib/rpc/methods/pimlico_getUserOperationStatus.d.ts +0 -43
  220. package/lib/rpc/methods/pimlico_getUserOperationStatus.js +0 -14
  221. package/lib/rpc/methods/pimlico_getUserOperationStatus.js.map +0 -1
  222. package/lib/rpc/methods/pimlico_sendUserOperationNow.d.ts +0 -1268
  223. package/lib/rpc/methods/pimlico_sendUserOperationNow.js +0 -55
  224. package/lib/rpc/methods/pimlico_sendUserOperationNow.js.map +0 -1
  225. package/lib/rpc/rpcHandler.d.ts +0 -75
  226. package/lib/rpc/rpcHandler.js +0 -391
  227. package/lib/rpc/rpcHandler.js.map +0 -1
  228. package/lib/rpc/server.d.ts +0 -26
  229. package/lib/rpc/server.js +0 -283
  230. package/lib/rpc/server.js.map +0 -1
  231. package/lib/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
  232. package/lib/rpc/validation/BundlerCollectorTracerV06.js +0 -262
  233. package/lib/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
  234. package/lib/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
  235. package/lib/rpc/validation/BundlerCollectorTracerV07.js +0 -261
  236. package/lib/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
  237. package/lib/rpc/validation/SafeValidator.d.ts +0 -51
  238. package/lib/rpc/validation/SafeValidator.js +0 -327
  239. package/lib/rpc/validation/SafeValidator.js.map +0 -1
  240. package/lib/rpc/validation/TracerResultParserV06.d.ts +0 -13
  241. package/lib/rpc/validation/TracerResultParserV06.js +0 -582
  242. package/lib/rpc/validation/TracerResultParserV06.js.map +0 -1
  243. package/lib/rpc/validation/TracerResultParserV07.d.ts +0 -33
  244. package/lib/rpc/validation/TracerResultParserV07.js +0 -599
  245. package/lib/rpc/validation/TracerResultParserV07.js.map +0 -1
  246. package/lib/rpc/validation/UnsafeValidator.d.ts +0 -97
  247. package/lib/rpc/validation/UnsafeValidator.js +0 -303
  248. package/lib/rpc/validation/UnsafeValidator.js.map +0 -1
  249. package/lib/rpc/validation/index.d.ts +0 -3
  250. package/lib/rpc/validation/index.js +0 -19
  251. package/lib/rpc/validation/index.js.map +0 -1
  252. package/lib/rpc/validation/tracer.d.ts +0 -125
  253. package/lib/rpc/validation/tracer.js +0 -112
  254. package/lib/rpc/validation/tracer.js.map +0 -1
  255. package/lib/store/createMemoryOutstandingStore.d.ts +0 -28
  256. package/lib/store/createMemoryOutstandingStore.js +0 -236
  257. package/lib/store/createMemoryOutstandingStore.js.map +0 -1
  258. package/lib/store/createMempoolStore.d.ts +0 -8
  259. package/lib/store/createMempoolStore.js +0 -199
  260. package/lib/store/createMempoolStore.js.map +0 -1
  261. package/lib/store/createRedisOutstandingStore.d.ts +0 -27
  262. package/lib/store/createRedisOutstandingStore.js +0 -349
  263. package/lib/store/createRedisOutstandingStore.js.map +0 -1
  264. package/lib/store/createRedisStore.d.ts +0 -9
  265. package/lib/store/createRedisStore.js +0 -138
  266. package/lib/store/createRedisStore.js.map +0 -1
  267. package/lib/store/createStore.d.ts +0 -6
  268. package/lib/store/createStore.js +0 -70
  269. package/lib/store/createStore.js.map +0 -1
  270. package/lib/store/index.d.ts +0 -81
  271. package/lib/store/index.js +0 -6
  272. package/lib/store/index.js.map +0 -1
  273. package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +0 -32
  274. package/lib/types/contracts/ArbitrumL1FeeAbi.js +0 -45
  275. package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +0 -1
  276. package/lib/types/contracts/CallEngine.d.ts +0 -28
  277. package/lib/types/contracts/CallEngine.js +0 -40
  278. package/lib/types/contracts/CallEngine.js.map +0 -1
  279. package/lib/types/contracts/CodeHashGetter.d.ts +0 -37
  280. package/lib/types/contracts/CodeHashGetter.js +0 -48
  281. package/lib/types/contracts/CodeHashGetter.js.map +0 -1
  282. package/lib/types/contracts/EntryPoint.d.ts +0 -1789
  283. package/lib/types/contracts/EntryPoint.js +0 -2307
  284. package/lib/types/contracts/EntryPoint.js.map +0 -1
  285. package/lib/types/contracts/EntryPointSimulationsV6.d.ts +0 -34
  286. package/lib/types/contracts/EntryPointSimulationsV6.js +0 -51
  287. package/lib/types/contracts/EntryPointSimulationsV6.js.map +0 -1
  288. package/lib/types/contracts/EntryPointSimulationsV7.d.ts +0 -2076
  289. package/lib/types/contracts/EntryPointSimulationsV7.js +0 -2678
  290. package/lib/types/contracts/EntryPointSimulationsV7.js.map +0 -1
  291. package/lib/types/contracts/IAccountExecute.d.ts +0 -53
  292. package/lib/types/contracts/IAccountExecute.js +0 -71
  293. package/lib/types/contracts/IAccountExecute.js.map +0 -1
  294. package/lib/types/contracts/IPaymaster.d.ts +0 -3
  295. package/lib/types/contracts/IPaymaster.js +0 -120
  296. package/lib/types/contracts/IPaymaster.js.map +0 -1
  297. package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +0 -219
  298. package/lib/types/contracts/MantleBvmGasPriceOracle.js +0 -180
  299. package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +0 -1
  300. package/lib/types/contracts/OpL1FeeAbi.d.ts +0 -114
  301. package/lib/types/contracts/OpL1FeeAbi.js +0 -77
  302. package/lib/types/contracts/OpL1FeeAbi.js.map +0 -1
  303. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -25
  304. package/lib/types/contracts/PimlicoEntryPointSimulations.js +0 -42
  305. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
  306. package/lib/types/contracts/SenderCreator.d.ts +0 -4
  307. package/lib/types/contracts/SenderCreator.js +0 -26
  308. package/lib/types/contracts/SenderCreator.js.map +0 -1
  309. package/lib/types/contracts/SimpleAccountFactory.d.ts +0 -57
  310. package/lib/types/contracts/SimpleAccountFactory.js +0 -79
  311. package/lib/types/contracts/SimpleAccountFactory.js.map +0 -1
  312. package/lib/types/contracts/TestOpcodesAccount.d.ts +0 -4
  313. package/lib/types/contracts/TestOpcodesAccount.js +0 -284
  314. package/lib/types/contracts/TestOpcodesAccount.js.map +0 -1
  315. package/lib/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
  316. package/lib/types/contracts/TestOpcodesAccountFactory.js +0 -26
  317. package/lib/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
  318. package/lib/types/contracts/TestStorageAccount.d.ts +0 -4
  319. package/lib/types/contracts/TestStorageAccount.js +0 -316
  320. package/lib/types/contracts/TestStorageAccount.js.map +0 -1
  321. package/lib/types/contracts/index.d.ts +0 -17
  322. package/lib/types/contracts/index.js +0 -33
  323. package/lib/types/contracts/index.js.map +0 -1
  324. package/lib/types/gasPrice.d.ts +0 -110
  325. package/lib/types/gasPrice.js +0 -55
  326. package/lib/types/gasPrice.js.map +0 -1
  327. package/lib/types/index.d.ts +0 -11
  328. package/lib/types/index.js +0 -27
  329. package/lib/types/index.js.map +0 -1
  330. package/lib/types/interfaces.d.ts +0 -58
  331. package/lib/types/interfaces.js +0 -3
  332. package/lib/types/interfaces.js.map +0 -1
  333. package/lib/types/mempool.d.ts +0 -60
  334. package/lib/types/mempool.js +0 -11
  335. package/lib/types/mempool.js.map +0 -1
  336. package/lib/types/schemas.d.ts +0 -20785
  337. package/lib/types/schemas.js +0 -679
  338. package/lib/types/schemas.js.map +0 -1
  339. package/lib/types/utils.d.ts +0 -25
  340. package/lib/types/utils.js +0 -35
  341. package/lib/types/utils.js.map +0 -1
  342. package/lib/types/validation.d.ts +0 -14327
  343. package/lib/types/validation.js +0 -312
  344. package/lib/types/validation.js.map +0 -1
  345. package/lib/utils/asyncTimeout.d.ts +0 -5
  346. package/lib/utils/asyncTimeout.js +0 -51
  347. package/lib/utils/asyncTimeout.js.map +0 -1
  348. package/lib/utils/bigInt.d.ts +0 -8
  349. package/lib/utils/bigInt.js +0 -24
  350. package/lib/utils/bigInt.js.map +0 -1
  351. package/lib/utils/eip7702.d.ts +0 -4
  352. package/lib/utils/eip7702.js +0 -21
  353. package/lib/utils/eip7702.js.map +0 -1
  354. package/lib/utils/fastify-rpc-decorators.d.ts +0 -19
  355. package/lib/utils/fastify-rpc-decorators.js +0 -23
  356. package/lib/utils/fastify-rpc-decorators.js.map +0 -1
  357. package/lib/utils/helpers.d.ts +0 -15
  358. package/lib/utils/helpers.js +0 -59
  359. package/lib/utils/helpers.js.map +0 -1
  360. package/lib/utils/index.d.ts +0 -9
  361. package/lib/utils/index.js +0 -24
  362. package/lib/utils/index.js.map +0 -1
  363. package/lib/utils/logger.d.ts +0 -6
  364. package/lib/utils/logger.js +0 -85
  365. package/lib/utils/logger.js.map +0 -1
  366. package/lib/utils/metrics.d.ts +0 -29
  367. package/lib/utils/metrics.js +0 -199
  368. package/lib/utils/metrics.js.map +0 -1
  369. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +0 -6
  370. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js +0 -57
  371. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +0 -1
  372. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +0 -7
  373. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js +0 -105
  374. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js.map +0 -1
  375. package/lib/utils/minMaxQueue/index.d.ts +0 -12
  376. package/lib/utils/minMaxQueue/index.js +0 -16
  377. package/lib/utils/minMaxQueue/index.js.map +0 -1
  378. package/lib/utils/rpc-reply.d.ts +0 -16
  379. package/lib/utils/rpc-reply.js +0 -41
  380. package/lib/utils/rpc-reply.js.map +0 -1
  381. package/lib/utils/userop.d.ts +0 -138
  382. package/lib/utils/userop.js +0 -620
  383. package/lib/utils/userop.js.map +0 -1
  384. package/lib/utils/validation.d.ts +0 -76
  385. package/lib/utils/validation.js +0 -491
  386. package/lib/utils/validation.js.map +0 -1
@@ -1,112 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.getTracerBodyString = exports.debug_traceTransaction = exports.execAndTrace = exports.debug_traceCall = void 0;
27
- const sentry = __importStar(require("@sentry/node"));
28
- const viem_1 = require("viem");
29
- // eslint-disable-next-line @typescript-eslint/naming-convention
30
- async function debug_traceCall(client, tx, options
31
- // biome-ignore lint/suspicious/noExplicitAny: it's a generic type
32
- ) {
33
- const traceOptions = tracer2string(options);
34
- const ret = await client
35
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
- // @ts-ignore
37
- .request({
38
- method: "debug_traceCall",
39
- params: [(0, viem_1.formatTransactionRequest)(tx), "latest", traceOptions]
40
- })
41
- .catch((e) => {
42
- if (e instanceof Error) {
43
- // console.log("ex=", e.message)
44
- // console.log(
45
- // "tracer=",
46
- // traceOptions.tracer
47
- // ?.toString()
48
- // .split("\n")
49
- // .map((line, index) => `${index + 1}: ${line}`)
50
- // .join("\n")
51
- // )
52
- throw e;
53
- }
54
- sentry.captureException(e);
55
- });
56
- // console.log("ret=", ret)
57
- return ret;
58
- }
59
- exports.debug_traceCall = debug_traceCall;
60
- // a hack for network that doesn't have traceCall: mine the transaction, and use debug_traceTransaction
61
- function execAndTrace(_walletClient, _tx, _options) {
62
- //const hash = await walletClient.sendTransaction(tx)
63
- throw new Error("not implemented");
64
- //return await debug_traceTransaction(walletClient, hash, options)
65
- }
66
- exports.execAndTrace = execAndTrace;
67
- // eslint-disable-next-line @typescript-eslint/naming-convention
68
- async function debug_traceTransaction(client, hash, options) {
69
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
70
- // @ts-ignore
71
- const ret = await client.request({
72
- method: "debug_traceTransaction",
73
- params: [hash, tracer2string(options)]
74
- });
75
- // const tx = await provider.getTransaction(hash)
76
- // return applyTracer(tx, ret, options)
77
- return ret;
78
- }
79
- exports.debug_traceTransaction = debug_traceTransaction;
80
- /**
81
- * extract the body of "LogTracerFunc".
82
- * note that we extract the javascript body, even if the function was created as typescript
83
- * @param func
84
- */
85
- function getTracerBodyString(func) {
86
- const tracerFunc = func.toString();
87
- // function must return a plain object:
88
- // function xyz() { return {...}; }
89
- const regexp = /function \w+\s*\(\s*\)\s*{\s*return\s*(\{[\s\S]+\});?\s*\}\s*$/; // (\{[\s\S]+\}); \} $/
90
- const match = tracerFunc.match(regexp);
91
- if (match === null) {
92
- throw new Error("Not a simple method returning value");
93
- }
94
- let ret = match[1];
95
- ret = ret
96
- // .replace(/\/\/.*\n/g,'\n')
97
- // .replace(/\n\s*\n/g, '\n')
98
- .replace(/\b(?:const|let)\b/g, "");
99
- // console.log('== tracer source',ret.split('\n').map((line,index)=>`${index}: ${line}`).join('\n'))
100
- return ret;
101
- }
102
- exports.getTracerBodyString = getTracerBodyString;
103
- function tracer2string(options) {
104
- if (typeof options.tracer === "function") {
105
- return {
106
- ...options,
107
- tracer: getTracerBodyString(options.tracer)
108
- };
109
- }
110
- return options;
111
- }
112
- //# sourceMappingURL=tracer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../../rpc/validation/tracer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qDAAsC;AACtC,+BAQa;AAab,gEAAgE;AACzD,KAAK,UAAU,eAAe,CACjC,MAAmC,EACnC,EAAsB,EACtB,OAA2D;AAC3D,kEAAkE;;IAElE,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,GAAG,GAAG,MAAM,MAAM;QACpB,6DAA6D;QAC7D,aAAa;SACZ,OAAO,CAAC;QACL,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,CAAC,IAAA,+BAAwB,EAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC;KACjE,CAAC;SACD,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;QAClB,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;YACrB,gCAAgC;YAChC,eAAe;YACf,iBAAiB;YACjB,0BAA0B;YAC1B,uBAAuB;YACvB,uBAAuB;YACvB,yDAAyD;YACzD,sBAAsB;YACtB,IAAI;YACJ,MAAM,CAAC,CAAA;QACX,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IACN,2BAA2B;IAC3B,OAAO,GAAG,CAAA;AACd,CAAC;AA/BD,0CA+BC;AAED,uGAAuG;AACvG,SAAgB,YAAY,CACxB,aAAsD,EACtD,GAAuB,EACvB,QAAsB;IAEtB,qDAAqD;IACrD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAClC,kEAAkE;AACtE,CAAC;AARD,oCAQC;AAED,gEAAgE;AACzD,KAAK,UAAU,sBAAsB,CACxC,MAAmC,EACnC,IAAY,EACZ,OAAqB;IAErB,6DAA6D;IAC7D,aAAa;IACb,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;KACzC,CAAC,CAAA;IACF,iDAAiD;IACjD,uCAAuC;IACvC,OAAO,GAAG,CAAA;AACd,CAAC;AAdD,wDAcC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAmB;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;IAClC,uCAAuC;IACvC,oCAAoC;IACpC,MAAM,MAAM,GACR,gEAAgE,CAAA,CAAC,uBAAuB;IAC5F,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAEtC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAClB,GAAG,GAAG,GAAG;QACL,6BAA6B;QAC7B,6BAA6B;SAC5B,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAA;IACtC,oGAAoG;IACpG,OAAO,GAAG,CAAA;AACd,CAAC;AAlBD,kDAkBC;AAED,SAAS,aAAa,CAAC,OAAqB;IACxC,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO;YACH,GAAG,OAAO;YACV,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC;SAC9C,CAAA;IACL,CAAC;IACD,OAAO,OAAO,CAAA;AAClB,CAAC"}
@@ -1,28 +0,0 @@
1
- import { AltoConfig } from "../createConfig.js";
2
- import { HexData32, UserOpInfo, UserOperation } from "../types/index.js";
3
- import { ConflictingOutstandingType, OutstandingStore } from "./index.js";
4
- export declare class MemoryOutstanding implements OutstandingStore {
5
- private config;
6
- private pendingOps;
7
- private priorityQueue;
8
- private logger;
9
- constructor(config: AltoConfig);
10
- private dump;
11
- private addToPriorityQueue;
12
- validateQueuedLimit(userOp: UserOperation): boolean;
13
- validateParallelLimit(userOp: UserOperation): boolean;
14
- popConflicting(userOp: UserOperation): Promise<ConflictingOutstandingType>;
15
- contains(userOpHash: HexData32): Promise<boolean>;
16
- peek(): Promise<UserOpInfo | undefined>;
17
- pop(): Promise<UserOpInfo | undefined>;
18
- add(userOpInfo: UserOpInfo): Promise<void>;
19
- getQueuedUserOps(userOp: UserOperation): Promise<UserOperation[]>;
20
- remove(userOpHash: HexData32): Promise<boolean>;
21
- dumpLocal(): Promise<UserOpInfo[]>;
22
- clear(): Promise<void>;
23
- findConflicting(userOp: UserOperation): Promise<ConflictingOutstandingType>;
24
- }
25
- export declare const createMemoryOutstandingQueue: ({ config }: {
26
- config: AltoConfig;
27
- }) => OutstandingStore;
28
- //# sourceMappingURL=createMemoryOutstandingStore.d.ts.map
@@ -1,236 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMemoryOutstandingQueue = exports.MemoryOutstanding = void 0;
4
- const userop_1 = require("../utils/userop.js");
5
- const senderNonceSlot = (userOp) => {
6
- const sender = userOp.sender;
7
- const [nonceKey] = (0, userop_1.getNonceKeyAndSequence)(userOp.nonce);
8
- return `${sender}-${nonceKey}`;
9
- };
10
- class MemoryOutstanding {
11
- config;
12
- pendingOps = new Map();
13
- priorityQueue = [];
14
- logger;
15
- constructor(config) {
16
- this.config = config;
17
- this.logger = config.getLogger({ module: "memory-outstanding-queue" }, {
18
- level: config.logLevel
19
- });
20
- }
21
- dump() {
22
- return [...Array.from(this.pendingOps.values()).flat()];
23
- }
24
- // Adds userOp to queue and maintains sorting by gas price.
25
- addToPriorityQueue(userOpInfo) {
26
- this.priorityQueue.push(userOpInfo);
27
- this.priorityQueue.sort((a, b) => {
28
- const userOpA = a.userOp;
29
- const userOpB = b.userOp;
30
- return Number(userOpA.maxFeePerGas - userOpB.maxFeePerGas);
31
- });
32
- }
33
- validateQueuedLimit(userOp) {
34
- const outstandingOps = this.dump();
35
- const parallelUserOperationsCount = outstandingOps.filter((userOpInfo) => {
36
- const { userOp: mempoolUserOp } = userOpInfo;
37
- return mempoolUserOp.sender === userOp.sender;
38
- }).length;
39
- if (parallelUserOperationsCount > this.config.mempoolMaxParallelOps) {
40
- return false;
41
- }
42
- return true;
43
- }
44
- validateParallelLimit(userOp) {
45
- const outstandingOps = this.dump();
46
- const [nonceKey] = (0, userop_1.getNonceKeyAndSequence)(userOp.nonce);
47
- const queuedUserOperationsCount = outstandingOps.filter((userOpInfo) => {
48
- const { userOp: mempoolUserOp } = userOpInfo;
49
- const [opNonceKey] = (0, userop_1.getNonceKeyAndSequence)(mempoolUserOp.nonce);
50
- return (mempoolUserOp.sender === userOp.sender &&
51
- opNonceKey === nonceKey);
52
- }).length;
53
- if (queuedUserOperationsCount > this.config.mempoolMaxQueuedOps) {
54
- return false;
55
- }
56
- return true;
57
- }
58
- async popConflicting(userOp) {
59
- const outstandingOps = this.dump();
60
- let conflictingReason = undefined;
61
- for (const userOpInfo of outstandingOps) {
62
- const { userOp: mempoolUserOp } = userOpInfo;
63
- const isSameSender = mempoolUserOp.sender === userOp.sender;
64
- if (isSameSender && mempoolUserOp.nonce === userOp.nonce) {
65
- this.remove(userOpInfo.userOpHash);
66
- conflictingReason = {
67
- reason: "conflicting_nonce",
68
- userOpInfo
69
- };
70
- break;
71
- }
72
- const isConflictingV6Deployment = (0, userop_1.isVersion06)(userOp) &&
73
- (0, userop_1.isVersion06)(mempoolUserOp) &&
74
- userOp.initCode &&
75
- userOp.initCode !== "0x" &&
76
- mempoolUserOp.initCode &&
77
- mempoolUserOp.initCode !== "0x" &&
78
- isSameSender;
79
- const isConflictingV7Deployment = (0, userop_1.isVersion07)(userOp) &&
80
- (0, userop_1.isVersion07)(mempoolUserOp) &&
81
- userOp.factory &&
82
- userOp.factory !== "0x" &&
83
- mempoolUserOp.factory &&
84
- mempoolUserOp.factory !== "0x" &&
85
- isSameSender;
86
- const isConflictingDeployment = isConflictingV6Deployment || isConflictingV7Deployment;
87
- if (isConflictingDeployment) {
88
- this.remove(userOpInfo.userOpHash);
89
- conflictingReason = {
90
- reason: "conflicting_deployment",
91
- userOpInfo
92
- };
93
- break;
94
- }
95
- }
96
- return conflictingReason;
97
- }
98
- async contains(userOpHash) {
99
- for (const userOpInfos of this.pendingOps.values()) {
100
- if (userOpInfos.some((info) => info.userOpHash === userOpHash)) {
101
- return true;
102
- }
103
- }
104
- return false;
105
- }
106
- async peek() {
107
- if (this.priorityQueue.length === 0) {
108
- return undefined;
109
- }
110
- return this.priorityQueue[0];
111
- }
112
- async pop() {
113
- const userOpInfo = this.priorityQueue.shift();
114
- if (!userOpInfo) {
115
- return undefined;
116
- }
117
- const pendingOpsSlot = senderNonceSlot(userOpInfo.userOp);
118
- const backlogOps = this.pendingOps.get(pendingOpsSlot);
119
- // This should never throw.
120
- if (!backlogOps?.shift()) {
121
- throw new Error("FATAL: No pending userOps for sender");
122
- }
123
- // Move next pending userOp into priorityQueue if exist.
124
- if (backlogOps.length > 0) {
125
- this.addToPriorityQueue(backlogOps[0]);
126
- }
127
- // Cleanup.
128
- if (backlogOps.length === 0) {
129
- this.pendingOps.delete(pendingOpsSlot);
130
- }
131
- return userOpInfo;
132
- }
133
- async add(userOpInfo) {
134
- const { userOp, userOpHash } = userOpInfo;
135
- const [nonceKey] = (0, userop_1.getNonceKeyAndSequence)(userOp.nonce);
136
- const pendingOpsSlot = senderNonceSlot(userOp);
137
- const backlogOps = this.pendingOps.get(pendingOpsSlot) ||
138
- this.pendingOps.set(pendingOpsSlot, []).get(pendingOpsSlot);
139
- // Note: the userOpInfo is always added to backlogOps, because we are pushing to a reference
140
- backlogOps.push(userOpInfo);
141
- backlogOps
142
- .map((sop) => sop.userOp)
143
- .sort((a, b) => {
144
- const [, aNonceSeq] = (0, userop_1.getNonceKeyAndSequence)(a.nonce);
145
- const [, bNonceSeq] = (0, userop_1.getNonceKeyAndSequence)(b.nonce);
146
- return Number(aNonceSeq) - Number(bNonceSeq);
147
- });
148
- const lowestUserOpHash = backlogOps[0].userOpHash;
149
- // If lowest, remove any existing userOp with same sender and nonceKey and add current userOp to priorityQueue.
150
- if (lowestUserOpHash === userOpHash) {
151
- this.priorityQueue = this.priorityQueue.filter((userOpInfo) => {
152
- const pendingUserOp = userOpInfo.userOp;
153
- const isSameSender = pendingUserOp.sender === userOp.sender;
154
- const isSameNonceKey = (0, userop_1.getNonceKeyAndSequence)(pendingUserOp.nonce)[0] === nonceKey;
155
- return !(isSameSender && isSameNonceKey);
156
- });
157
- this.addToPriorityQueue(userOpInfo);
158
- }
159
- }
160
- async getQueuedUserOps(userOp) {
161
- const [nonceKey, nonceSequence] = (0, userop_1.getNonceKeyAndSequence)(userOp.nonce);
162
- const outstandingOps = this.dump();
163
- const outstanding = outstandingOps.filter((userOpInfo) => {
164
- const { userOp: mempoolUserOp } = userOpInfo;
165
- const [mempoolNonceKey, mempoolNonceSequence] = (0, userop_1.getNonceKeyAndSequence)(mempoolUserOp.nonce);
166
- let isPaymasterSame = false;
167
- if ((0, userop_1.isVersion07)(userOp) && (0, userop_1.isVersion07)(mempoolUserOp)) {
168
- isPaymasterSame =
169
- mempoolUserOp.paymaster === userOp.paymaster &&
170
- !(mempoolUserOp.sender === userOp.sender &&
171
- mempoolNonceKey === nonceKey &&
172
- mempoolNonceSequence === nonceSequence) &&
173
- userOp.paymaster !== null;
174
- }
175
- // Filter operations with the same sender and nonce key
176
- // but with a lower nonce sequence
177
- return ((mempoolUserOp.sender === userOp.sender &&
178
- mempoolNonceKey === nonceKey &&
179
- mempoolNonceSequence < nonceSequence) ||
180
- isPaymasterSame);
181
- });
182
- return outstanding
183
- .sort((a, b) => {
184
- const aUserOp = a.userOp;
185
- const bUserOp = b.userOp;
186
- const [, aNonceValue] = (0, userop_1.getNonceKeyAndSequence)(aUserOp.nonce);
187
- const [, bNonceValue] = (0, userop_1.getNonceKeyAndSequence)(bUserOp.nonce);
188
- return Number(aNonceValue - bNonceValue);
189
- })
190
- .map((userOpInfo) => userOpInfo.userOp);
191
- }
192
- async remove(userOpHash) {
193
- const priorityQueueIndex = this.priorityQueue.findIndex((info) => info.userOpHash === userOpHash);
194
- if (priorityQueueIndex === -1) {
195
- this.logger.info("tried to remove non-existent user op from mempool");
196
- return false;
197
- }
198
- const userOpInfo = this.priorityQueue[priorityQueueIndex];
199
- const pendingOpsSlot = senderNonceSlot(userOpInfo.userOp);
200
- // Remove from priority queue
201
- this.priorityQueue.splice(priorityQueueIndex, 1);
202
- // Find and remove from pending ops
203
- const backlogOps = this.pendingOps.get(pendingOpsSlot);
204
- if (!backlogOps) {
205
- throw new Error(`FATAL: No pending operations found for userOpHash ${userOpHash}`);
206
- }
207
- const backlogIndex = backlogOps.findIndex((info) => info.userOpHash === userOpHash);
208
- if (backlogIndex === -1) {
209
- throw new Error(`FATAL: UserOp with hash ${userOpHash} not found in backlog`);
210
- }
211
- backlogOps.splice(backlogIndex, 1);
212
- // If this was the first operation and there are more in the backlog,
213
- // add the new first operation to the priority queue
214
- if (backlogIndex === 0 && backlogOps.length > 0) {
215
- this.addToPriorityQueue(backlogOps[0]);
216
- }
217
- return true;
218
- }
219
- async dumpLocal() {
220
- return this.dump();
221
- }
222
- async clear() {
223
- this.priorityQueue = [];
224
- this.pendingOps.clear();
225
- }
226
- // Adding findConflicting method to maintain compatibility with Store interface
227
- async findConflicting(userOp) {
228
- return this.popConflicting(userOp);
229
- }
230
- }
231
- exports.MemoryOutstanding = MemoryOutstanding;
232
- const createMemoryOutstandingQueue = ({ config }) => {
233
- return new MemoryOutstanding(config);
234
- };
235
- exports.createMemoryOutstandingQueue = createMemoryOutstandingQueue;
236
- //# sourceMappingURL=createMemoryOutstandingStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createMemoryOutstandingStore.js","sourceRoot":"","sources":["../../store/createMemoryOutstandingStore.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { type Metrics } from "../utils/index.js";
2
- import { MempoolStore } from "./index.js";
3
- import { AltoConfig } from "../createConfig.js";
4
- export declare const createMempoolStore: ({ config, metrics }: {
5
- config: AltoConfig;
6
- metrics: Metrics;
7
- }) => MempoolStore;
8
- //# sourceMappingURL=createMempoolStore.d.ts.map
@@ -1,199 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMempoolStore = void 0;
4
- const createMemoryOutstandingStore_1 = require("./createMemoryOutstandingStore.js");
5
- const createStore_1 = require("./createStore.js");
6
- const createRedisOutstandingStore_1 = require("./createRedisOutstandingStore.js");
7
- const createRedisStore_1 = require("./createRedisStore.js");
8
- const createMempoolStore = ({ config, metrics }) => {
9
- let logger = config.getLogger({ module: "mempool-store" }, {
10
- level: config.logLevel
11
- });
12
- const storeHandlers = new Map();
13
- // Helper function to get store handlers for an entry point
14
- const getStoreHandlers = (entryPoint) => {
15
- const handlers = storeHandlers.get(entryPoint);
16
- if (!handlers) {
17
- throw new Error(`No store handlers found for entry point ${entryPoint}`);
18
- }
19
- return handlers;
20
- };
21
- for (const entryPoint of config.entrypoints) {
22
- let outstanding;
23
- let processing;
24
- let submitted;
25
- if (config.redisMempoolUrl) {
26
- outstanding = (0, createRedisOutstandingStore_1.createRedisOutstandingQueue)({
27
- config,
28
- entryPoint
29
- });
30
- processing = (0, createRedisStore_1.createRedisStore)({
31
- config,
32
- entryPoint,
33
- storeType: "processing"
34
- });
35
- submitted = (0, createRedisStore_1.createRedisStore)({
36
- config,
37
- entryPoint,
38
- storeType: "submitted"
39
- });
40
- logger.info("Using redis for outstanding, processing, submitted mempools");
41
- }
42
- else {
43
- outstanding = (0, createMemoryOutstandingStore_1.createMemoryOutstandingQueue)({
44
- config
45
- });
46
- processing = (0, createStore_1.createMemoryStore)({
47
- config
48
- });
49
- submitted = (0, createStore_1.createMemoryStore)({
50
- config
51
- });
52
- logger.info("Using memory for outstanding, processing, submitted mempools");
53
- }
54
- storeHandlers.set(entryPoint, {
55
- processing,
56
- submitted,
57
- outstanding
58
- });
59
- }
60
- const logAddOperation = (userOpHash, storeType) => {
61
- logger.debug({ userOpHash, store: storeType }, `added user op to ${storeType} mempool`);
62
- metrics.userOperationsInMempool.labels({ status: storeType }).inc();
63
- };
64
- const logRemoveOperation = (userOpHash, storeType, removed) => {
65
- if (!removed) {
66
- logger.warn({ userOpHash, store: storeType }, "tried to remove non-existent user op from mempool");
67
- return;
68
- }
69
- logger.debug({ userOpHash, store: storeType }, "removed user op from mempool");
70
- metrics.userOperationsInMempool.labels({ status: storeType }).dec();
71
- };
72
- const logDumpOperation = (storeType) => {
73
- logger.trace({
74
- store: storeType
75
- }, "dumping mempool");
76
- };
77
- return {
78
- // Methods used for bundling
79
- popOutstanding: async (entryPoint) => {
80
- const { outstanding } = getStoreHandlers(entryPoint);
81
- return await outstanding.pop();
82
- },
83
- peekOutstanding: async (entryPoint) => {
84
- const { outstanding } = getStoreHandlers(entryPoint);
85
- return await outstanding.peek();
86
- },
87
- // State handling
88
- addOutstanding: async ({ entryPoint, userOpInfo }) => {
89
- const { outstanding } = getStoreHandlers(entryPoint);
90
- logAddOperation(userOpInfo.userOpHash, "outstanding");
91
- await outstanding.add(userOpInfo);
92
- },
93
- addProcessing: ({ entryPoint, userOpInfo }) => {
94
- const { processing } = getStoreHandlers(entryPoint);
95
- logAddOperation(userOpInfo.userOpHash, "processing");
96
- processing.add(userOpInfo);
97
- return Promise.resolve();
98
- },
99
- addSubmitted: ({ entryPoint, submittedUserOp }) => {
100
- const { submitted } = getStoreHandlers(entryPoint);
101
- logAddOperation(submittedUserOp.userOpHash, "submitted");
102
- submitted.add(submittedUserOp);
103
- return Promise.resolve();
104
- },
105
- removeOutstanding: async ({ entryPoint, userOpHash }) => {
106
- const { outstanding } = getStoreHandlers(entryPoint);
107
- const removed = await outstanding.remove(userOpHash);
108
- logRemoveOperation(userOpHash, "outstanding", removed);
109
- },
110
- removeProcessing: async ({ entryPoint, userOpHash }) => {
111
- const { processing } = getStoreHandlers(entryPoint);
112
- const removed = await processing.remove(userOpHash);
113
- logRemoveOperation(userOpHash, "processing", removed);
114
- },
115
- removeSubmitted: async ({ entryPoint, userOpHash }) => {
116
- const { submitted } = getStoreHandlers(entryPoint);
117
- const removed = await submitted.remove(userOpHash);
118
- logRemoveOperation(userOpHash, "submitted", removed);
119
- },
120
- dumpOutstanding: async (entryPoint) => {
121
- const { outstanding } = getStoreHandlers(entryPoint);
122
- logDumpOperation("outstanding");
123
- return await outstanding.dumpLocal();
124
- },
125
- dumpProcessing: async (entryPoint) => {
126
- const { processing } = getStoreHandlers(entryPoint);
127
- logDumpOperation("processing");
128
- return await processing.dumpLocal();
129
- },
130
- dumpSubmitted: async (entryPoint) => {
131
- const { submitted } = getStoreHandlers(entryPoint);
132
- logDumpOperation("submitted");
133
- return await submitted.dumpLocal();
134
- },
135
- // Check if the userOp is already in the mempool
136
- isInMempool: async ({ userOpHash, entryPoint }) => {
137
- const { outstanding, processing, submitted } = getStoreHandlers(entryPoint);
138
- const [inOutstanding, inProcessing, inSubmitted] = await Promise.all([
139
- outstanding.contains(userOpHash),
140
- processing.contains(userOpHash),
141
- submitted.contains(userOpHash)
142
- ]);
143
- return inOutstanding || inProcessing || inSubmitted;
144
- },
145
- validateSubmittedOrProcessing: async ({ entryPoint, userOp }) => {
146
- const { submitted, processing } = getStoreHandlers(entryPoint);
147
- const [submittedConflict, processingConflict] = await Promise.all([
148
- submitted.findConflicting(userOp),
149
- processing.findConflicting(userOp)
150
- ]);
151
- const conflicting = submittedConflict || processingConflict;
152
- if (conflicting?.reason === "conflicting_nonce") {
153
- return {
154
- valid: false,
155
- reason: "AA25 invalid account nonce: Another UserOperation with same sender and nonce is already being processed"
156
- };
157
- }
158
- if (conflicting?.reason === "conflicting_deployment") {
159
- return {
160
- valid: false,
161
- reason: "AA25 invalid account deployment: Another deployment operation for this sender is already being processed"
162
- };
163
- }
164
- return { valid: true };
165
- },
166
- popConflictingOustanding: async ({ entryPoint, userOp }) => {
167
- const { outstanding } = getStoreHandlers(entryPoint);
168
- return await outstanding.popConflicting(userOp);
169
- },
170
- validateSenderLimits: ({ entryPoint, userOp }) => {
171
- const { outstanding } = getStoreHandlers(entryPoint);
172
- if (!outstanding.validateParallelLimit(userOp)) {
173
- return Promise.resolve({
174
- valid: false,
175
- reason: "AA25 invalid account nonce: Maximum number of parallel user operations for that is allowed for this sender reached"
176
- });
177
- }
178
- if (!outstanding.validateQueuedLimit(userOp)) {
179
- return Promise.resolve({
180
- valid: false,
181
- reason: "AA25 invalid account nonce: Maximum number of queued user operations reached for this sender and nonce key"
182
- });
183
- }
184
- return Promise.resolve({ valid: true });
185
- },
186
- // misc
187
- getQueuedOutstandingUserOps: async ({ userOp, entryPoint }) => {
188
- const { outstanding } = getStoreHandlers(entryPoint);
189
- return await outstanding.getQueuedUserOps(userOp);
190
- },
191
- clearOutstanding: async (entryPoint) => {
192
- const { outstanding } = getStoreHandlers(entryPoint);
193
- await outstanding.clear();
194
- logger.debug({ store: "outstanding" }, "cleared mempool");
195
- }
196
- };
197
- };
198
- exports.createMempoolStore = createMempoolStore;
199
- //# sourceMappingURL=createMempoolStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createMempoolStore.js","sourceRoot":"","sources":["../../store/createMempoolStore.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { AltoConfig } from "../createConfig.js";
2
- import { Address } from "../types/index.js";
3
- import { OutstandingStore } from "./index.js";
4
- import { ChainableCommander, Redis } from "ioredis";
5
- export declare class RedisHash {
6
- private redis;
7
- private keyName;
8
- constructor(redis: Redis, keyName: string);
9
- get keyPath(): string;
10
- set({ key, value, multi }: {
11
- key: string;
12
- value: string;
13
- multi?: ChainableCommander | Redis;
14
- }): Promise<void>;
15
- get(field: string): Promise<string | null>;
16
- delete({ key, multi }: {
17
- key: string;
18
- multi?: ChainableCommander | Redis;
19
- }): Promise<void>;
20
- exists(field: string): Promise<boolean>;
21
- getAll(): Promise<Record<string, string>>;
22
- }
23
- export declare const createRedisOutstandingQueue: ({ config, entryPoint }: {
24
- config: AltoConfig;
25
- entryPoint: Address;
26
- }) => OutstandingStore;
27
- //# sourceMappingURL=createRedisOutstandingStore.d.ts.map