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

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 (384) 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/package.json +2 -1
  43. package/lib/cli/alto.d.ts +0 -7
  44. package/lib/cli/alto.js +0 -141
  45. package/lib/cli/alto.js.map +0 -1
  46. package/lib/cli/config/bundler.d.ts +0 -2872
  47. package/lib/cli/config/bundler.js +0 -242
  48. package/lib/cli/config/bundler.js.map +0 -1
  49. package/lib/cli/config/index.d.ts +0 -3
  50. package/lib/cli/config/index.js +0 -19
  51. package/lib/cli/config/index.js.map +0 -1
  52. package/lib/cli/config/options.d.ts +0 -13
  53. package/lib/cli/config/options.js +0 -587
  54. package/lib/cli/config/options.js.map +0 -1
  55. package/lib/cli/customTransport.d.ts +0 -14
  56. package/lib/cli/customTransport.js +0 -94
  57. package/lib/cli/customTransport.js.map +0 -1
  58. package/lib/cli/deploySimulationsContract.d.ts +0 -13
  59. package/lib/cli/deploySimulationsContract.js +0 -100
  60. package/lib/cli/deploySimulationsContract.js.map +0 -1
  61. package/lib/cli/handler.d.ts +0 -3
  62. package/lib/cli/handler.js +0 -157
  63. package/lib/cli/handler.js.map +0 -1
  64. package/lib/cli/index.d.ts +0 -4
  65. package/lib/cli/index.js +0 -20
  66. package/lib/cli/index.js.map +0 -1
  67. package/lib/cli/instrumentation.d.ts +0 -2
  68. package/lib/cli/instrumentation.js +0 -47
  69. package/lib/cli/instrumentation.js.map +0 -1
  70. package/lib/cli/parseArgs.d.ts +0 -8
  71. package/lib/cli/parseArgs.js +0 -25
  72. package/lib/cli/parseArgs.js.map +0 -1
  73. package/lib/cli/setupServer.d.ts +0 -13
  74. package/lib/cli/setupServer.js +0 -266
  75. package/lib/cli/setupServer.js.map +0 -1
  76. package/lib/cli/util.d.ts +0 -22
  77. package/lib/cli/util.js +0 -34
  78. package/lib/cli/util.js.map +0 -1
  79. package/lib/createConfig.d.ts +0 -16
  80. package/lib/createConfig.js +0 -13
  81. package/lib/createConfig.js.map +0 -1
  82. package/lib/executor/executor.d.ts +0 -65
  83. package/lib/executor/executor.js +0 -301
  84. package/lib/executor/executor.js.map +0 -1
  85. package/lib/executor/executorManager.d.ts +0 -108
  86. package/lib/executor/executorManager.js +0 -702
  87. package/lib/executor/executorManager.js.map +0 -1
  88. package/lib/executor/fastlane.d.ts +0 -9
  89. package/lib/executor/fastlane.js +0 -41
  90. package/lib/executor/fastlane.js.map +0 -1
  91. package/lib/executor/filterOpsAndEStimateGas.d.ts +0 -29
  92. package/lib/executor/filterOpsAndEStimateGas.js +0 -225
  93. package/lib/executor/filterOpsAndEStimateGas.js.map +0 -1
  94. package/lib/executor/index.d.ts +0 -5
  95. package/lib/executor/index.js +0 -21
  96. package/lib/executor/index.js.map +0 -1
  97. package/lib/executor/senderManager/createMemorySenderManager.d.ts +0 -8
  98. package/lib/executor/senderManager/createMemorySenderManager.js +0 -45
  99. package/lib/executor/senderManager/createMemorySenderManager.js.map +0 -1
  100. package/lib/executor/senderManager/createRedisSenderManager.d.ts +0 -8
  101. package/lib/executor/senderManager/createRedisSenderManager.js +0 -85
  102. package/lib/executor/senderManager/createRedisSenderManager.js.map +0 -1
  103. package/lib/executor/senderManager/flushOnStartUp.d.ts +0 -9
  104. package/lib/executor/senderManager/flushOnStartUp.js +0 -37
  105. package/lib/executor/senderManager/flushOnStartUp.js.map +0 -1
  106. package/lib/executor/senderManager/index.d.ts +0 -15
  107. package/lib/executor/senderManager/index.js +0 -25
  108. package/lib/executor/senderManager/index.js.map +0 -1
  109. package/lib/executor/senderManager/validateAndRefill.d.ts +0 -11
  110. package/lib/executor/senderManager/validateAndRefill.js +0 -115
  111. package/lib/executor/senderManager/validateAndRefill.js.map +0 -1
  112. package/lib/executor/utilityWalletMonitor.d.ts +0 -19
  113. package/lib/executor/utilityWalletMonitor.js +0 -42
  114. package/lib/executor/utilityWalletMonitor.js.map +0 -1
  115. package/lib/executor/utils.d.ts +0 -34
  116. package/lib/executor/utils.js +0 -167
  117. package/lib/executor/utils.js.map +0 -1
  118. package/lib/handlers/arbitrumGasPriceManager.d.ts +0 -14
  119. package/lib/handlers/arbitrumGasPriceManager.js +0 -39
  120. package/lib/handlers/arbitrumGasPriceManager.js.map +0 -1
  121. package/lib/handlers/eventManager.d.ts +0 -29
  122. package/lib/handlers/eventManager.js +0 -225
  123. package/lib/handlers/eventManager.js.map +0 -1
  124. package/lib/handlers/gasPriceManager.d.ts +0 -36
  125. package/lib/handlers/gasPriceManager.js +0 -391
  126. package/lib/handlers/gasPriceManager.js.map +0 -1
  127. package/lib/handlers/index.d.ts +0 -3
  128. package/lib/handlers/index.js +0 -19
  129. package/lib/handlers/index.js.map +0 -1
  130. package/lib/handlers/mantleGasPriceManager.d.ts +0 -23
  131. package/lib/handlers/mantleGasPriceManager.js +0 -44
  132. package/lib/handlers/mantleGasPriceManager.js.map +0 -1
  133. package/lib/handlers/optimismManager.d.ts +0 -10
  134. package/lib/handlers/optimismManager.js +0 -21
  135. package/lib/handlers/optimismManager.js.map +0 -1
  136. package/lib/index.d.ts +0 -2
  137. package/lib/index.js +0 -4
  138. package/lib/index.js.map +0 -1
  139. package/lib/mempool/index.d.ts +0 -4
  140. package/lib/mempool/index.js +0 -20
  141. package/lib/mempool/index.js.map +0 -1
  142. package/lib/mempool/mempool.d.ts +0 -191
  143. package/lib/mempool/mempool.js +0 -499
  144. package/lib/mempool/mempool.js.map +0 -1
  145. package/lib/mempool/monitoring.d.ts +0 -14
  146. package/lib/mempool/monitoring.js +0 -101
  147. package/lib/mempool/monitoring.js.map +0 -1
  148. package/lib/mempool/reputationManager.d.ts +0 -121
  149. package/lib/mempool/reputationManager.js +0 -472
  150. package/lib/mempool/reputationManager.js.map +0 -1
  151. package/lib/rpc/createMethodHandler.d.ts +0 -31
  152. package/lib/rpc/createMethodHandler.js +0 -34
  153. package/lib/rpc/createMethodHandler.js.map +0 -1
  154. package/lib/rpc/estimation/gasEstimationHandler.d.ts +0 -30
  155. package/lib/rpc/estimation/gasEstimationHandler.js +0 -50
  156. package/lib/rpc/estimation/gasEstimationHandler.js.map +0 -1
  157. package/lib/rpc/estimation/gasEstimationsV06.d.ts +0 -19
  158. package/lib/rpc/estimation/gasEstimationsV06.js +0 -148
  159. package/lib/rpc/estimation/gasEstimationsV06.js.map +0 -1
  160. package/lib/rpc/estimation/gasEstimationsV07.d.ts +0 -101
  161. package/lib/rpc/estimation/gasEstimationsV07.js +0 -727
  162. package/lib/rpc/estimation/gasEstimationsV07.js.map +0 -1
  163. package/lib/rpc/estimation/types.d.ts +0 -120
  164. package/lib/rpc/estimation/types.js +0 -125
  165. package/lib/rpc/estimation/types.js.map +0 -1
  166. package/lib/rpc/index.d.ts +0 -4
  167. package/lib/rpc/index.js +0 -20
  168. package/lib/rpc/index.js.map +0 -1
  169. package/lib/rpc/methods/debug_bundler_clearReputation.d.ts +0 -22
  170. package/lib/rpc/methods/debug_bundler_clearReputation.js +0 -15
  171. package/lib/rpc/methods/debug_bundler_clearReputation.js.map +0 -1
  172. package/lib/rpc/methods/debug_bundler_clearState.d.ts +0 -22
  173. package/lib/rpc/methods/debug_bundler_clearState.js +0 -16
  174. package/lib/rpc/methods/debug_bundler_clearState.js.map +0 -1
  175. package/lib/rpc/methods/debug_bundler_dumpMempool.d.ts +0 -973
  176. package/lib/rpc/methods/debug_bundler_dumpMempool.js +0 -16
  177. package/lib/rpc/methods/debug_bundler_dumpMempool.js.map +0 -1
  178. package/lib/rpc/methods/debug_bundler_dumpReputation.d.ts +0 -57
  179. package/lib/rpc/methods/debug_bundler_dumpReputation.js +0 -16
  180. package/lib/rpc/methods/debug_bundler_dumpReputation.js.map +0 -1
  181. package/lib/rpc/methods/debug_bundler_getStakeStatus.d.ts +0 -79
  182. package/lib/rpc/methods/debug_bundler_getStakeStatus.js +0 -25
  183. package/lib/rpc/methods/debug_bundler_getStakeStatus.js.map +0 -1
  184. package/lib/rpc/methods/debug_bundler_sendBundleNow.d.ts +0 -22
  185. package/lib/rpc/methods/debug_bundler_sendBundleNow.js +0 -15
  186. package/lib/rpc/methods/debug_bundler_sendBundleNow.js.map +0 -1
  187. package/lib/rpc/methods/debug_bundler_setBundlingMode.d.ts +0 -22
  188. package/lib/rpc/methods/debug_bundler_setBundlingMode.js +0 -16
  189. package/lib/rpc/methods/debug_bundler_setBundlingMode.js.map +0 -1
  190. package/lib/rpc/methods/debug_bundler_setReputation.d.ts +0 -46
  191. package/lib/rpc/methods/debug_bundler_setReputation.js +0 -16
  192. package/lib/rpc/methods/debug_bundler_setReputation.js.map +0 -1
  193. package/lib/rpc/methods/eth_chainId.d.ts +0 -22
  194. package/lib/rpc/methods/eth_chainId.js +0 -13
  195. package/lib/rpc/methods/eth_chainId.js.map +0 -1
  196. package/lib/rpc/methods/eth_estimateUserOperationGas.d.ts +0 -1891
  197. package/lib/rpc/methods/eth_estimateUserOperationGas.js +0 -26
  198. package/lib/rpc/methods/eth_estimateUserOperationGas.js.map +0 -1
  199. package/lib/rpc/methods/eth_getUserOperationByHash.d.ts +0 -1775
  200. package/lib/rpc/methods/eth_getUserOperationByHash.js +0 -101
  201. package/lib/rpc/methods/eth_getUserOperationByHash.js.map +0 -1
  202. package/lib/rpc/methods/eth_getUserOperationReceipt.d.ts +0 -412
  203. package/lib/rpc/methods/eth_getUserOperationReceipt.js +0 -14
  204. package/lib/rpc/methods/eth_getUserOperationReceipt.js.map +0 -1
  205. package/lib/rpc/methods/eth_sendUserOperation.d.ts +0 -878
  206. package/lib/rpc/methods/eth_sendUserOperation.js +0 -44
  207. package/lib/rpc/methods/eth_sendUserOperation.js.map +0 -1
  208. package/lib/rpc/methods/eth_supportedEntryPoints.d.ts +0 -22
  209. package/lib/rpc/methods/eth_supportedEntryPoints.js +0 -13
  210. package/lib/rpc/methods/eth_supportedEntryPoints.js.map +0 -1
  211. package/lib/rpc/methods/index.d.ts +0 -3
  212. package/lib/rpc/methods/index.js +0 -44
  213. package/lib/rpc/methods/index.js.map +0 -1
  214. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.d.ts +0 -131
  215. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js +0 -33
  216. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js.map +0 -1
  217. package/lib/rpc/methods/pimlico_getUserOperationStatus.d.ts +0 -43
  218. package/lib/rpc/methods/pimlico_getUserOperationStatus.js +0 -14
  219. package/lib/rpc/methods/pimlico_getUserOperationStatus.js.map +0 -1
  220. package/lib/rpc/methods/pimlico_sendUserOperationNow.d.ts +0 -1268
  221. package/lib/rpc/methods/pimlico_sendUserOperationNow.js +0 -55
  222. package/lib/rpc/methods/pimlico_sendUserOperationNow.js.map +0 -1
  223. package/lib/rpc/rpcHandler.d.ts +0 -75
  224. package/lib/rpc/rpcHandler.js +0 -391
  225. package/lib/rpc/rpcHandler.js.map +0 -1
  226. package/lib/rpc/server.d.ts +0 -26
  227. package/lib/rpc/server.js +0 -283
  228. package/lib/rpc/server.js.map +0 -1
  229. package/lib/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
  230. package/lib/rpc/validation/BundlerCollectorTracerV06.js +0 -262
  231. package/lib/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
  232. package/lib/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
  233. package/lib/rpc/validation/BundlerCollectorTracerV07.js +0 -261
  234. package/lib/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
  235. package/lib/rpc/validation/SafeValidator.d.ts +0 -51
  236. package/lib/rpc/validation/SafeValidator.js +0 -327
  237. package/lib/rpc/validation/SafeValidator.js.map +0 -1
  238. package/lib/rpc/validation/TracerResultParserV06.d.ts +0 -13
  239. package/lib/rpc/validation/TracerResultParserV06.js +0 -582
  240. package/lib/rpc/validation/TracerResultParserV06.js.map +0 -1
  241. package/lib/rpc/validation/TracerResultParserV07.d.ts +0 -33
  242. package/lib/rpc/validation/TracerResultParserV07.js +0 -599
  243. package/lib/rpc/validation/TracerResultParserV07.js.map +0 -1
  244. package/lib/rpc/validation/UnsafeValidator.d.ts +0 -97
  245. package/lib/rpc/validation/UnsafeValidator.js +0 -303
  246. package/lib/rpc/validation/UnsafeValidator.js.map +0 -1
  247. package/lib/rpc/validation/index.d.ts +0 -3
  248. package/lib/rpc/validation/index.js +0 -19
  249. package/lib/rpc/validation/index.js.map +0 -1
  250. package/lib/rpc/validation/tracer.d.ts +0 -125
  251. package/lib/rpc/validation/tracer.js +0 -112
  252. package/lib/rpc/validation/tracer.js.map +0 -1
  253. package/lib/store/createMemoryOutstandingStore.d.ts +0 -28
  254. package/lib/store/createMemoryOutstandingStore.js +0 -236
  255. package/lib/store/createMemoryOutstandingStore.js.map +0 -1
  256. package/lib/store/createMempoolStore.d.ts +0 -8
  257. package/lib/store/createMempoolStore.js +0 -199
  258. package/lib/store/createMempoolStore.js.map +0 -1
  259. package/lib/store/createRedisOutstandingStore.d.ts +0 -27
  260. package/lib/store/createRedisOutstandingStore.js +0 -349
  261. package/lib/store/createRedisOutstandingStore.js.map +0 -1
  262. package/lib/store/createRedisStore.d.ts +0 -9
  263. package/lib/store/createRedisStore.js +0 -138
  264. package/lib/store/createRedisStore.js.map +0 -1
  265. package/lib/store/createStore.d.ts +0 -6
  266. package/lib/store/createStore.js +0 -70
  267. package/lib/store/createStore.js.map +0 -1
  268. package/lib/store/index.d.ts +0 -81
  269. package/lib/store/index.js +0 -6
  270. package/lib/store/index.js.map +0 -1
  271. package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +0 -32
  272. package/lib/types/contracts/ArbitrumL1FeeAbi.js +0 -45
  273. package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +0 -1
  274. package/lib/types/contracts/CallEngine.d.ts +0 -28
  275. package/lib/types/contracts/CallEngine.js +0 -40
  276. package/lib/types/contracts/CallEngine.js.map +0 -1
  277. package/lib/types/contracts/CodeHashGetter.d.ts +0 -37
  278. package/lib/types/contracts/CodeHashGetter.js +0 -48
  279. package/lib/types/contracts/CodeHashGetter.js.map +0 -1
  280. package/lib/types/contracts/EntryPoint.d.ts +0 -1789
  281. package/lib/types/contracts/EntryPoint.js +0 -2307
  282. package/lib/types/contracts/EntryPoint.js.map +0 -1
  283. package/lib/types/contracts/EntryPointSimulationsV6.d.ts +0 -34
  284. package/lib/types/contracts/EntryPointSimulationsV6.js +0 -51
  285. package/lib/types/contracts/EntryPointSimulationsV6.js.map +0 -1
  286. package/lib/types/contracts/EntryPointSimulationsV7.d.ts +0 -2076
  287. package/lib/types/contracts/EntryPointSimulationsV7.js +0 -2678
  288. package/lib/types/contracts/EntryPointSimulationsV7.js.map +0 -1
  289. package/lib/types/contracts/IAccountExecute.d.ts +0 -53
  290. package/lib/types/contracts/IAccountExecute.js +0 -71
  291. package/lib/types/contracts/IAccountExecute.js.map +0 -1
  292. package/lib/types/contracts/IPaymaster.d.ts +0 -3
  293. package/lib/types/contracts/IPaymaster.js +0 -120
  294. package/lib/types/contracts/IPaymaster.js.map +0 -1
  295. package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +0 -219
  296. package/lib/types/contracts/MantleBvmGasPriceOracle.js +0 -180
  297. package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +0 -1
  298. package/lib/types/contracts/OpL1FeeAbi.d.ts +0 -114
  299. package/lib/types/contracts/OpL1FeeAbi.js +0 -77
  300. package/lib/types/contracts/OpL1FeeAbi.js.map +0 -1
  301. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -25
  302. package/lib/types/contracts/PimlicoEntryPointSimulations.js +0 -42
  303. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
  304. package/lib/types/contracts/SenderCreator.d.ts +0 -4
  305. package/lib/types/contracts/SenderCreator.js +0 -26
  306. package/lib/types/contracts/SenderCreator.js.map +0 -1
  307. package/lib/types/contracts/SimpleAccountFactory.d.ts +0 -57
  308. package/lib/types/contracts/SimpleAccountFactory.js +0 -79
  309. package/lib/types/contracts/SimpleAccountFactory.js.map +0 -1
  310. package/lib/types/contracts/TestOpcodesAccount.d.ts +0 -4
  311. package/lib/types/contracts/TestOpcodesAccount.js +0 -284
  312. package/lib/types/contracts/TestOpcodesAccount.js.map +0 -1
  313. package/lib/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
  314. package/lib/types/contracts/TestOpcodesAccountFactory.js +0 -26
  315. package/lib/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
  316. package/lib/types/contracts/TestStorageAccount.d.ts +0 -4
  317. package/lib/types/contracts/TestStorageAccount.js +0 -316
  318. package/lib/types/contracts/TestStorageAccount.js.map +0 -1
  319. package/lib/types/contracts/index.d.ts +0 -17
  320. package/lib/types/contracts/index.js +0 -33
  321. package/lib/types/contracts/index.js.map +0 -1
  322. package/lib/types/gasPrice.d.ts +0 -110
  323. package/lib/types/gasPrice.js +0 -55
  324. package/lib/types/gasPrice.js.map +0 -1
  325. package/lib/types/index.d.ts +0 -11
  326. package/lib/types/index.js +0 -27
  327. package/lib/types/index.js.map +0 -1
  328. package/lib/types/interfaces.d.ts +0 -58
  329. package/lib/types/interfaces.js +0 -3
  330. package/lib/types/interfaces.js.map +0 -1
  331. package/lib/types/mempool.d.ts +0 -60
  332. package/lib/types/mempool.js +0 -11
  333. package/lib/types/mempool.js.map +0 -1
  334. package/lib/types/schemas.d.ts +0 -20785
  335. package/lib/types/schemas.js +0 -679
  336. package/lib/types/schemas.js.map +0 -1
  337. package/lib/types/utils.d.ts +0 -25
  338. package/lib/types/utils.js +0 -35
  339. package/lib/types/utils.js.map +0 -1
  340. package/lib/types/validation.d.ts +0 -14327
  341. package/lib/types/validation.js +0 -312
  342. package/lib/types/validation.js.map +0 -1
  343. package/lib/utils/asyncTimeout.d.ts +0 -5
  344. package/lib/utils/asyncTimeout.js +0 -51
  345. package/lib/utils/asyncTimeout.js.map +0 -1
  346. package/lib/utils/bigInt.d.ts +0 -8
  347. package/lib/utils/bigInt.js +0 -24
  348. package/lib/utils/bigInt.js.map +0 -1
  349. package/lib/utils/eip7702.d.ts +0 -4
  350. package/lib/utils/eip7702.js +0 -21
  351. package/lib/utils/eip7702.js.map +0 -1
  352. package/lib/utils/fastify-rpc-decorators.d.ts +0 -19
  353. package/lib/utils/fastify-rpc-decorators.js +0 -23
  354. package/lib/utils/fastify-rpc-decorators.js.map +0 -1
  355. package/lib/utils/helpers.d.ts +0 -15
  356. package/lib/utils/helpers.js +0 -59
  357. package/lib/utils/helpers.js.map +0 -1
  358. package/lib/utils/index.d.ts +0 -9
  359. package/lib/utils/index.js +0 -24
  360. package/lib/utils/index.js.map +0 -1
  361. package/lib/utils/logger.d.ts +0 -6
  362. package/lib/utils/logger.js +0 -85
  363. package/lib/utils/logger.js.map +0 -1
  364. package/lib/utils/metrics.d.ts +0 -29
  365. package/lib/utils/metrics.js +0 -199
  366. package/lib/utils/metrics.js.map +0 -1
  367. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +0 -6
  368. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js +0 -57
  369. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +0 -1
  370. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +0 -7
  371. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js +0 -105
  372. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js.map +0 -1
  373. package/lib/utils/minMaxQueue/index.d.ts +0 -12
  374. package/lib/utils/minMaxQueue/index.js +0 -16
  375. package/lib/utils/minMaxQueue/index.js.map +0 -1
  376. package/lib/utils/rpc-reply.d.ts +0 -16
  377. package/lib/utils/rpc-reply.js +0 -41
  378. package/lib/utils/rpc-reply.js.map +0 -1
  379. package/lib/utils/userop.d.ts +0 -138
  380. package/lib/utils/userop.js +0 -620
  381. package/lib/utils/userop.js.map +0 -1
  382. package/lib/utils/validation.d.ts +0 -76
  383. package/lib/utils/validation.js +0 -491
  384. 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":";;;AAkBA,iFAA6E;AAC7E,+CAAiD;AAEjD,+EAA2E;AAC3E,yDAAqD;AAE9C,MAAM,kBAAkB,GAAG,CAAC,EAC/B,MAAM,EACN,OAAO,EACgC,EAAgB,EAAE;IACzD,IAAI,MAAM,GAAW,MAAM,CAAC,SAAS,CACjC,EAAE,MAAM,EAAE,eAAe,EAAE,EAC3B;QACI,KAAK,EAAE,MAAM,CAAC,QAAQ;KACzB,CACJ,CAAA;IAED,MAAM,aAAa,GAOf,IAAI,GAAG,EAAE,CAAA;IAEb,2DAA2D;IAC3D,MAAM,gBAAgB,GAAG,CAAC,UAAmB,EAAE,EAAE;QAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACX,2CAA2C,UAAU,EAAE,CAC1D,CAAA;QACL,CAAC;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAA;IAED,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,WAA6B,CAAA;QACjC,IAAI,UAA6B,CAAA;QACjC,IAAI,SAAiC,CAAA;QACrC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,WAAW,GAAG,IAAA,yDAA2B,EAAC;gBACtC,MAAM;gBACN,UAAU;aACb,CAAC,CAAA;YACF,UAAU,GAAG,IAAA,mCAAgB,EAAa;gBACtC,MAAM;gBACN,UAAU;gBACV,SAAS,EAAE,YAAY;aAC1B,CAAC,CAAA;YACF,SAAS,GAAG,IAAA,mCAAgB,EAAkB;gBAC1C,MAAM;gBACN,UAAU;gBACV,SAAS,EAAE,WAAW;aACzB,CAAC,CAAA;YACF,MAAM,CAAC,IAAI,CACP,6DAA6D,CAChE,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,IAAA,2DAA4B,EAAC;gBACvC,MAAM;aACT,CAAC,CAAA;YACF,UAAU,GAAG,IAAA,+BAAiB,EAAa;gBACvC,MAAM;aACT,CAAC,CAAA;YACF,SAAS,GAAG,IAAA,+BAAiB,EAAkB;gBAC3C,MAAM;aACT,CAAC,CAAA;YACF,MAAM,CAAC,IAAI,CACP,8DAA8D,CACjE,CAAA;QACL,CAAC;QAED,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE;YAC1B,UAAU;YACV,SAAS;YACT,WAAW;SACd,CAAC,CAAA;IACN,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,UAAqB,EAAE,SAAoB,EAAE,EAAE;QACpE,MAAM,CAAC,KAAK,CACR,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAChC,oBAAoB,SAAS,UAAU,CAC1C,CAAA;QACD,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;IACvE,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,CACvB,UAAqB,EACrB,SAAoB,EACpB,OAAgB,EAClB,EAAE;QACA,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CACP,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAChC,mDAAmD,CACtD,CAAA;YACD,OAAM;QACV,CAAC;QAED,MAAM,CAAC,KAAK,CACR,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAChC,8BAA8B,CACjC,CAAA;QAED,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;IACvE,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,SAAoB,EAAE,EAAE;QAC9C,MAAM,CAAC,KAAK,CACR;YACI,KAAK,EAAE,SAAS;SACnB,EACD,iBAAiB,CACpB,CAAA;IACL,CAAC,CAAA;IAED,OAAO;QACH,4BAA4B;QAC5B,cAAc,EAAE,KAAK,EAAE,UAAmB,EAAE,EAAE;YAC1C,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACpD,OAAO,MAAM,WAAW,CAAC,GAAG,EAAE,CAAA;QAClC,CAAC;QACD,eAAe,EAAE,KAAK,EAAE,UAAmB,EAAE,EAAE;YAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACpD,OAAO,MAAM,WAAW,CAAC,IAAI,EAAE,CAAA;QACnC,CAAC;QAED,iBAAiB;QACjB,cAAc,EAAE,KAAK,EAAE,EACnB,UAAU,EACV,UAAU,EACc,EAAE,EAAE;YAC5B,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACpD,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;YACrD,MAAM,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACrC,CAAC;QACD,aAAa,EAAE,CAAC,EACZ,UAAU,EACV,UAAU,EACc,EAAE,EAAE;YAC5B,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACnD,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;YACpD,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC5B,CAAC;QACD,YAAY,EAAE,CAAC,EACX,UAAU,EACV,eAAe,EACc,EAAE,EAAE;YACjC,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAClD,eAAe,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;YACxD,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC5B,CAAC;QACD,iBAAiB,EAAE,KAAK,EAAE,EACtB,UAAU,EACV,UAAU,EACc,EAAE,EAAE;YAC5B,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACpD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACpD,kBAAkB,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;QAC1D,CAAC;QACD,gBAAgB,EAAE,KAAK,EAAE,EACrB,UAAU,EACV,UAAU,EACc,EAAE,EAAE;YAC5B,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACnD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACnD,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC;QACD,eAAe,EAAE,KAAK,EAAE,EACpB,UAAU,EACV,UAAU,EACc,EAAE,EAAE;YAC5B,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAClD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAClD,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QACxD,CAAC;QACD,eAAe,EAAE,KAAK,EAAE,UAAmB,EAAE,EAAE;YAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACpD,gBAAgB,CAAC,aAAa,CAAC,CAAA;YAC/B,OAAO,MAAM,WAAW,CAAC,SAAS,EAAE,CAAA;QACxC,CAAC;QACD,cAAc,EAAE,KAAK,EAAE,UAAmB,EAAE,EAAE;YAC1C,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACnD,gBAAgB,CAAC,YAAY,CAAC,CAAA;YAC9B,OAAO,MAAM,UAAU,CAAC,SAAS,EAAE,CAAA;QACvC,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,UAAmB,EAAE,EAAE;YACzC,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAClD,gBAAgB,CAAC,WAAW,CAAC,CAAA;YAC7B,OAAO,MAAM,SAAS,CAAC,SAAS,EAAE,CAAA;QACtC,CAAC;QAED,gDAAgD;QAChD,WAAW,EAAE,KAAK,EAAE,EAChB,UAAU,EACV,UAAU,EACc,EAAE,EAAE;YAC5B,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GACxC,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAEhC,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC,GAC5C,MAAM,OAAO,CAAC,GAAG,CAAC;gBACd,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAChC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;aACjC,CAAC,CAAA;YAEN,OAAO,aAAa,IAAI,YAAY,IAAI,WAAW,CAAA;QACvD,CAAC;QAED,6BAA6B,EAAE,KAAK,EAAE,EAClC,UAAU,EACV,MAAM,EACuC,EAAE,EAAE;YACjD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAE9D,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC9D,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC;gBACjC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC;aACrC,CAAC,CAAA;YAEF,MAAM,WAAW,GAAG,iBAAiB,IAAI,kBAAkB,CAAA;YAE3D,IAAI,WAAW,EAAE,MAAM,KAAK,mBAAmB,EAAE,CAAC;gBAC9C,OAAO;oBACH,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,yGAAyG;iBACpH,CAAA;YACL,CAAC;YAED,IAAI,WAAW,EAAE,MAAM,KAAK,wBAAwB,EAAE,CAAC;gBACnD,OAAO;oBACH,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,0GAA0G;iBACrH,CAAA;YACL,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;QAC1B,CAAC;QAED,wBAAwB,EAAE,KAAK,EAAE,EAC7B,UAAU,EACV,MAAM,EACuC,EAAE,EAAE;YACjD,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACpD,OAAO,MAAM,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QACnD,CAAC;QAED,oBAAoB,EAAE,CAAC,EACnB,UAAU,EACV,MAAM,EACuC,EAAE,EAAE;YACjD,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAEpD,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7C,OAAO,OAAO,CAAC,OAAO,CAAC;oBACnB,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,oHAAoH;iBAC/H,CAAC,CAAA;YACN,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,OAAO,OAAO,CAAC,OAAO,CAAC;oBACnB,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,4GAA4G;iBACvH,CAAC,CAAA;YACN,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO;QACP,2BAA2B,EAAE,KAAK,EAAE,EAChC,MAAM,EACN,UAAU,EAIb,EAAE,EAAE;YACD,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACpD,OAAO,MAAM,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACrD,CAAC;QACD,gBAAgB,EAAE,KAAK,EAAE,UAAmB,EAAE,EAAE;YAC5C,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;YACpD,MAAM,WAAW,CAAC,KAAK,EAAE,CAAA;YACzB,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAC7D,CAAC;KACJ,CAAA;AACL,CAAC,CAAA;AA/RY,QAAA,kBAAkB,sBA+R9B"}
@@ -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