@pimlico/alto 0.0.18 → 0.0.20

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 (749) hide show
  1. package/contracts/EIP712.sol/EIP712.json +1 -0
  2. package/contracts/ERC165.sol/ERC165.json +1 -0
  3. package/contracts/ERC20.sol/ERC20.json +1 -0
  4. package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -0
  5. package/contracts/EntryPoint.sol/EntryPoint.json +1 -0
  6. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -0
  7. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -0
  8. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -0
  9. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride09.json +1 -0
  10. package/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -0
  11. package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -0
  12. package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -0
  13. package/contracts/EntryPointSimulations.sol/EntryPointSimulations09.json +1 -0
  14. package/contracts/Exec.sol/Exec.json +1 -0
  15. package/contracts/IAccount.sol/IAccount.json +1 -0
  16. package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -0
  17. package/contracts/IAggregator.sol/IAggregator.json +1 -0
  18. package/contracts/IERC165.sol/IERC165.json +1 -0
  19. package/contracts/IERC5267.sol/IERC5267.json +1 -0
  20. package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -0
  21. package/contracts/IEntryPointFilterOpsOverride.sol/IEntryPointFilterOpsOverride08.json +1 -0
  22. package/contracts/IEntryPointFilterOpsOverride.sol/IEntryPointFilterOpsOverride09.json +1 -0
  23. package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -0
  24. package/contracts/INonceManager.sol/INonceManager.json +1 -0
  25. package/contracts/IPaymaster.sol/IPaymaster.json +1 -0
  26. package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -0
  27. package/contracts/IStakeManager.sol/IStakeManager.json +1 -0
  28. package/contracts/LibBytes.sol/LibBytes.json +1 -0
  29. package/contracts/Math.sol/Math.json +1 -0
  30. package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -0
  31. package/contracts/NonceManager.sol/NonceManager.json +1 -0
  32. package/contracts/Panic.sol/Panic.json +1 -0
  33. package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -0
  34. package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
  35. package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -0
  36. package/contracts/SafeCast.sol/SafeCast.json +1 -0
  37. package/contracts/SenderCreator.sol/SenderCreator.json +1 -0
  38. package/contracts/ShortStrings.sol/ShortStrings.json +1 -0
  39. package/contracts/SignedMath.sol/SignedMath.json +1 -0
  40. package/contracts/SimulationOverrideHelper.sol/SimulationOverrideHelper.json +1 -0
  41. package/contracts/StakeManager.sol/StakeManager.json +1 -0
  42. package/contracts/StorageSlot.sol/StorageSlot.json +1 -0
  43. package/contracts/Strings.sol/Strings.json +1 -0
  44. package/contracts/TransientSlot.sol/TransientSlot.json +1 -0
  45. package/contracts/UserOperation.sol/UserOperationLib.json +1 -0
  46. package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -0
  47. package/contracts/account-abstraction-v9/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -0
  48. package/contracts/account-abstraction-v9/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
  49. package/contracts/account-abstraction-v9/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -0
  50. package/contracts/account-abstraction-v9/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -0
  51. package/contracts/build-info/338795fc743ca612.json +1 -0
  52. package/contracts/build-info/44a9648cfe32a468.json +1 -0
  53. package/contracts/build-info/8dbf8a4ad39019b5.json +1 -0
  54. package/contracts/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -0
  55. package/contracts/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
  56. package/contracts/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -0
  57. package/contracts/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -0
  58. package/contracts/core/Eip7702Support.sol/Eip7702Support.json +1 -0
  59. package/contracts/core/NonceManager.sol/NonceManager.json +1 -0
  60. package/contracts/core/SenderCreator.sol/SenderCreator.json +1 -0
  61. package/contracts/core/StakeManager.sol/StakeManager.json +1 -0
  62. package/contracts/core/UserOperationLib.sol/UserOperationLib.json +1 -0
  63. package/contracts/interfaces/IAccount.sol/IAccount.json +1 -0
  64. package/contracts/interfaces/IAccountExecute.sol/IAccountExecute.json +1 -0
  65. package/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -0
  66. package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
  67. package/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -0
  68. package/contracts/interfaces/IPaymaster.sol/IPaymaster.json +1 -0
  69. package/contracts/interfaces/ISenderCreator.sol/ISenderCreator.json +1 -0
  70. package/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -0
  71. package/contracts/overrides/Eip7702Support.sol/Eip7702Support.json +1 -0
  72. package/contracts/overrides/NonceManager.sol/NonceManager.json +1 -0
  73. package/contracts/overrides/SenderCreator.sol/SenderCreator.json +1 -0
  74. package/contracts/overrides/StakeManager.sol/StakeManager.json +1 -0
  75. package/contracts/overrides/UserOperationLib.sol/UserOperationLib.json +1 -0
  76. package/contracts/utils/Exec.sol/Exec.json +1 -0
  77. package/contracts/utils/StorageSlot.sol/StorageSlot.json +1 -0
  78. package/contracts/v09/EntryPoint.sol/EntryPoint.json +1 -0
  79. package/esm/cli/alto.js +16 -7
  80. package/esm/cli/alto.js.map +1 -1
  81. package/esm/cli/config/bundler.d.ts +690 -540
  82. package/esm/cli/config/bundler.js +101 -66
  83. package/esm/cli/config/bundler.js.map +1 -1
  84. package/esm/cli/config/options.d.ts +2 -1
  85. package/esm/cli/config/options.js +207 -59
  86. package/esm/cli/config/options.js.map +1 -1
  87. package/esm/cli/customTransport.d.ts +3 -3
  88. package/esm/cli/customTransport.js +4 -3
  89. package/esm/cli/customTransport.js.map +1 -1
  90. package/esm/cli/deploySimulationsContract.d.ts +5 -2
  91. package/esm/cli/deploySimulationsContract.js +108 -40
  92. package/esm/cli/deploySimulationsContract.js.map +1 -1
  93. package/esm/cli/handler.js +94 -22
  94. package/esm/cli/handler.js.map +1 -1
  95. package/esm/cli/instrumentation.js +7 -1
  96. package/esm/cli/instrumentation.js.map +1 -1
  97. package/esm/cli/parseArgs.js.map +1 -1
  98. package/esm/cli/setupServer.js +63 -63
  99. package/esm/cli/setupServer.js.map +1 -1
  100. package/esm/cli/shutDown.d.ts +20 -0
  101. package/esm/cli/shutDown.js +260 -0
  102. package/esm/cli/shutDown.js.map +1 -0
  103. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -0
  104. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -0
  105. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -0
  106. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride09.json +1 -0
  107. package/esm/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -0
  108. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -0
  109. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -0
  110. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations09.json +1 -0
  111. package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -0
  112. package/esm/createConfig.d.ts +12 -4
  113. package/esm/createConfig.js +2 -0
  114. package/esm/createConfig.js.map +1 -1
  115. package/esm/executor/bundleManager.d.ts +111 -0
  116. package/esm/executor/bundleManager.js +354 -0
  117. package/esm/executor/bundleManager.js.map +1 -0
  118. package/esm/executor/executor.d.ts +18 -23
  119. package/esm/executor/executor.js +183 -119
  120. package/esm/executor/executor.js.map +1 -1
  121. package/esm/executor/executorManager.d.ts +39 -88
  122. package/esm/executor/executorManager.js +325 -550
  123. package/esm/executor/executorManager.js.map +1 -1
  124. package/esm/executor/filterOpsAndEstimateGas.d.ts +39 -0
  125. package/esm/executor/filterOpsAndEstimateGas.js +280 -0
  126. package/esm/executor/filterOpsAndEstimateGas.js.map +1 -0
  127. package/esm/executor/getBundleStatus.d.ts +25 -0
  128. package/esm/executor/getBundleStatus.js +35 -0
  129. package/esm/executor/getBundleStatus.js.map +1 -0
  130. package/esm/executor/index.d.ts +1 -0
  131. package/esm/executor/index.js +1 -0
  132. package/esm/executor/index.js.map +1 -1
  133. package/esm/executor/senderManager/createMemorySenderManager.d.ts +3 -3
  134. package/esm/executor/senderManager/createMemorySenderManager.js +14 -1
  135. package/esm/executor/senderManager/createMemorySenderManager.js.map +1 -1
  136. package/esm/executor/senderManager/createRedisSenderManager.d.ts +5 -4
  137. package/esm/executor/senderManager/createRedisSenderManager.js +4 -7
  138. package/esm/executor/senderManager/createRedisSenderManager.js.map +1 -1
  139. package/esm/executor/senderManager/flushOnStartUp.d.ts +3 -3
  140. package/esm/executor/senderManager/flushOnStartUp.js +4 -4
  141. package/esm/executor/senderManager/flushOnStartUp.js.map +1 -1
  142. package/esm/executor/senderManager/index.d.ts +4 -3
  143. package/esm/executor/senderManager/index.js +6 -2
  144. package/esm/executor/senderManager/index.js.map +1 -1
  145. package/esm/executor/senderManager/validateAndRefill.d.ts +4 -4
  146. package/esm/executor/senderManager/validateAndRefill.js +3 -3
  147. package/esm/executor/senderManager/validateAndRefill.js.map +1 -1
  148. package/esm/executor/utilityWalletMonitor.d.ts +5 -5
  149. package/esm/executor/utilityWalletMonitor.js +1 -1
  150. package/esm/executor/utilityWalletMonitor.js.map +1 -1
  151. package/esm/executor/utils.d.ts +14 -6
  152. package/esm/executor/utils.js +68 -37
  153. package/esm/executor/utils.js.map +1 -1
  154. package/esm/handlers/arbitrumGasPriceManager.d.ts +4 -3
  155. package/esm/handlers/arbitrumGasPriceManager.js +9 -5
  156. package/esm/handlers/arbitrumGasPriceManager.js.map +1 -1
  157. package/esm/handlers/eventManager.d.ts +19 -18
  158. package/esm/handlers/eventManager.js +81 -61
  159. package/esm/handlers/eventManager.js.map +1 -1
  160. package/esm/handlers/gasPriceManager.d.ts +12 -10
  161. package/esm/handlers/gasPriceManager.js +79 -125
  162. package/esm/handlers/gasPriceManager.js.map +1 -1
  163. package/esm/handlers/mantleGasPriceManager.d.ts +5 -5
  164. package/esm/handlers/mantleGasPriceManager.js +4 -4
  165. package/esm/handlers/mantleGasPriceManager.js.map +1 -1
  166. package/esm/handlers/optimismManager.d.ts +2 -2
  167. package/esm/handlers/optimismManager.js +1 -1
  168. package/esm/handlers/optimismManager.js.map +1 -1
  169. package/esm/mempool/index.d.ts +1 -1
  170. package/esm/mempool/index.js +1 -1
  171. package/esm/mempool/index.js.map +1 -1
  172. package/esm/mempool/mempool.d.ts +71 -33
  173. package/esm/mempool/mempool.js +231 -155
  174. package/esm/mempool/mempool.js.map +1 -1
  175. package/esm/mempool/reputationManager.d.ts +36 -36
  176. package/esm/mempool/reputationManager.js +93 -97
  177. package/esm/mempool/reputationManager.js.map +1 -1
  178. package/esm/mempool/statusManager.d.ts +20 -0
  179. package/esm/mempool/statusManager.js +143 -0
  180. package/esm/mempool/statusManager.js.map +1 -0
  181. package/esm/receiptCache/createMemoryReceiptCache.d.ts +3 -0
  182. package/esm/receiptCache/createMemoryReceiptCache.js +30 -0
  183. package/esm/receiptCache/createMemoryReceiptCache.js.map +1 -0
  184. package/esm/receiptCache/createRedisReceiptCache.d.ts +10 -0
  185. package/esm/receiptCache/createRedisReceiptCache.js +56 -0
  186. package/esm/receiptCache/createRedisReceiptCache.js.map +1 -0
  187. package/esm/receiptCache/index.d.ts +11 -0
  188. package/esm/receiptCache/index.js +21 -0
  189. package/esm/receiptCache/index.js.map +1 -0
  190. package/esm/rpc/createMethodHandler.d.ts +2 -2
  191. package/esm/rpc/createMethodHandler.js.map +1 -1
  192. package/esm/rpc/estimation/gasEstimationHandler.d.ts +15 -16
  193. package/esm/rpc/estimation/gasEstimationHandler.js +24 -24
  194. package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
  195. package/esm/rpc/estimation/gasEstimations06.d.ts +18 -0
  196. package/esm/rpc/estimation/gasEstimations06.js +45 -0
  197. package/esm/rpc/estimation/gasEstimations06.js.map +1 -0
  198. package/esm/rpc/estimation/gasEstimations07.d.ts +63 -0
  199. package/esm/rpc/estimation/gasEstimations07.js +384 -0
  200. package/esm/rpc/estimation/gasEstimations07.js.map +1 -0
  201. package/esm/rpc/estimation/preVerificationGasCalculator.d.ts +56 -0
  202. package/esm/rpc/estimation/preVerificationGasCalculator.js +467 -0
  203. package/esm/rpc/estimation/preVerificationGasCalculator.js.map +1 -0
  204. package/esm/rpc/estimation/types.d.ts +25 -111
  205. package/esm/rpc/estimation/types.js +5 -121
  206. package/esm/rpc/estimation/types.js.map +1 -1
  207. package/esm/rpc/estimation/utils.d.ts +69 -0
  208. package/esm/rpc/estimation/utils.js +240 -0
  209. package/esm/rpc/estimation/utils.js.map +1 -0
  210. package/{lib/rpc/methods/pimlico_sendUserOperationNow.d.ts → esm/rpc/methods/boost_sendUserOperation.d.ts} +299 -385
  211. package/esm/rpc/methods/boost_sendUserOperation.js +57 -0
  212. package/esm/rpc/methods/boost_sendUserOperation.js.map +1 -0
  213. package/esm/rpc/methods/debug_bundler_clearReputation.js +2 -2
  214. package/esm/rpc/methods/debug_bundler_clearReputation.js.map +1 -1
  215. package/esm/rpc/methods/debug_bundler_clearState.js +2 -2
  216. package/esm/rpc/methods/debug_bundler_clearState.js.map +1 -1
  217. package/esm/rpc/methods/debug_bundler_dumpMempool.d.ts +338 -0
  218. package/esm/rpc/methods/debug_bundler_dumpMempool.js +1 -1
  219. package/esm/rpc/methods/debug_bundler_dumpMempool.js.map +1 -1
  220. package/esm/rpc/methods/debug_bundler_dumpReputation.js +2 -2
  221. package/esm/rpc/methods/debug_bundler_dumpReputation.js.map +1 -1
  222. package/esm/rpc/methods/debug_bundler_getStakeStatus.js +1 -2
  223. package/esm/rpc/methods/debug_bundler_getStakeStatus.js.map +1 -1
  224. package/esm/rpc/methods/debug_bundler_sendBundleNow.js +10 -2
  225. package/esm/rpc/methods/debug_bundler_sendBundleNow.js.map +1 -1
  226. package/esm/rpc/methods/debug_bundler_setBundlingMode.js +1 -1
  227. package/esm/rpc/methods/debug_bundler_setBundlingMode.js.map +1 -1
  228. package/esm/rpc/methods/debug_bundler_setReputation.js +1 -1
  229. package/esm/rpc/methods/debug_bundler_setReputation.js.map +1 -1
  230. package/esm/rpc/methods/eth_chainId.js +1 -1
  231. package/esm/rpc/methods/eth_chainId.js.map +1 -1
  232. package/esm/rpc/methods/eth_estimateUserOperationGas.d.ts +910 -301
  233. package/esm/rpc/methods/eth_estimateUserOperationGas.js +228 -12
  234. package/esm/rpc/methods/eth_estimateUserOperationGas.js.map +1 -1
  235. package/esm/rpc/methods/eth_getUserOperationByHash.d.ts +621 -11
  236. package/esm/rpc/methods/eth_getUserOperationByHash.js +8 -8
  237. package/esm/rpc/methods/eth_getUserOperationByHash.js.map +1 -1
  238. package/esm/rpc/methods/eth_getUserOperationReceipt.d.ts +26 -26
  239. package/esm/rpc/methods/eth_getUserOperationReceipt.js +10 -4
  240. package/esm/rpc/methods/eth_getUserOperationReceipt.js.map +1 -1
  241. package/esm/rpc/methods/eth_sendUserOperation.d.ts +319 -2
  242. package/esm/rpc/methods/eth_sendUserOperation.js +223 -20
  243. package/esm/rpc/methods/eth_sendUserOperation.js.map +1 -1
  244. package/esm/rpc/methods/eth_supportedEntryPoints.js +1 -1
  245. package/esm/rpc/methods/eth_supportedEntryPoints.js.map +1 -1
  246. package/esm/rpc/methods/index.js +11 -6
  247. package/esm/rpc/methods/index.js.map +1 -1
  248. package/esm/rpc/methods/pimlico_getUserOperationGasPrice.js +1 -1
  249. package/esm/rpc/methods/pimlico_getUserOperationGasPrice.js.map +1 -1
  250. package/esm/rpc/methods/pimlico_getUserOperationStatus.d.ts +6 -6
  251. package/esm/rpc/methods/pimlico_getUserOperationStatus.js +3 -3
  252. package/esm/rpc/methods/pimlico_getUserOperationStatus.js.map +1 -1
  253. package/esm/rpc/methods/pimlico_sendUserOperationNow.d.ts +330 -26
  254. package/esm/rpc/methods/pimlico_sendUserOperationNow.js +27 -24
  255. package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
  256. package/{lib/rpc/methods/eth_estimateUserOperationGas.d.ts → esm/rpc/methods/pimlico_simulateAssetChange.d.ts} +891 -333
  257. package/esm/rpc/methods/pimlico_simulateAssetChange.js +113 -0
  258. package/esm/rpc/methods/pimlico_simulateAssetChange.js.map +1 -0
  259. package/esm/rpc/rpcHandler.d.ts +30 -54
  260. package/esm/rpc/rpcHandler.js +137 -315
  261. package/esm/rpc/rpcHandler.js.map +1 -1
  262. package/esm/rpc/server.d.ts +5 -5
  263. package/esm/rpc/server.js +15 -11
  264. package/esm/rpc/server.js.map +1 -1
  265. package/esm/rpc/validation/BundlerCollectorTracerV06.js +2 -2
  266. package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +1 -1
  267. package/esm/rpc/validation/BundlerCollectorTracerV07.js +1 -1
  268. package/esm/rpc/validation/BundlerCollectorTracerV07.js.map +1 -1
  269. package/esm/rpc/validation/SafeValidator.d.ts +20 -22
  270. package/esm/rpc/validation/SafeValidator.js +87 -100
  271. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  272. package/esm/rpc/validation/TracerResultParserV06.d.ts +3 -3
  273. package/esm/rpc/validation/TracerResultParserV06.js +19 -19
  274. package/esm/rpc/validation/TracerResultParserV06.js.map +1 -1
  275. package/esm/rpc/validation/TracerResultParserV07.d.ts +3 -3
  276. package/esm/rpc/validation/TracerResultParserV07.js +25 -25
  277. package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
  278. package/esm/rpc/validation/UnsafeValidator.d.ts +32 -33
  279. package/esm/rpc/validation/UnsafeValidator.js +117 -101
  280. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  281. package/esm/rpc/validation/tracer.d.ts +1 -1
  282. package/esm/store/createMempoolStore.d.ts +3 -3
  283. package/esm/store/createMempoolStore.js +100 -113
  284. package/esm/store/createMempoolStore.js.map +1 -1
  285. package/esm/store/index.d.ts +4 -80
  286. package/esm/store/index.js +4 -1
  287. package/esm/store/index.js.map +1 -1
  288. package/esm/store/outstanding/index.d.ts +13 -0
  289. package/esm/store/outstanding/index.js +16 -0
  290. package/esm/store/outstanding/index.js.map +1 -0
  291. package/esm/store/outstanding/memory.d.ts +29 -0
  292. package/esm/store/outstanding/memory.js +263 -0
  293. package/esm/store/outstanding/memory.js.map +1 -0
  294. package/esm/store/outstanding/redis.d.ts +11 -0
  295. package/esm/store/outstanding/redis.js +229 -0
  296. package/esm/store/outstanding/redis.js.map +1 -0
  297. package/esm/store/outstanding/types.d.ts +19 -0
  298. package/esm/store/outstanding/types.js +2 -0
  299. package/esm/store/outstanding/types.js.map +1 -0
  300. package/esm/store/processing/index.d.ts +11 -0
  301. package/esm/store/processing/index.js +17 -0
  302. package/esm/store/processing/index.js.map +1 -0
  303. package/esm/store/processing/memory.d.ts +16 -0
  304. package/esm/store/processing/memory.js +58 -0
  305. package/esm/store/processing/memory.js.map +1 -0
  306. package/esm/store/processing/redis.d.ts +23 -0
  307. package/esm/store/processing/redis.js +85 -0
  308. package/esm/store/processing/redis.js.map +1 -0
  309. package/esm/store/processing/types.d.ts +10 -0
  310. package/esm/store/processing/types.js +2 -0
  311. package/esm/store/processing/types.js.map +1 -0
  312. package/esm/store/types.d.ts +50 -0
  313. package/esm/store/types.js +2 -0
  314. package/esm/store/types.js.map +1 -0
  315. package/esm/types/contracts/PimlicoSimulations.d.ts +1661 -0
  316. package/esm/types/contracts/{EntryPointSimulationsV7.js → PimlicoSimulations.js} +1104 -1788
  317. package/esm/types/contracts/PimlicoSimulations.js.map +1 -0
  318. package/esm/types/contracts/index.d.ts +1 -3
  319. package/esm/types/contracts/index.js +1 -3
  320. package/esm/types/contracts/index.js.map +1 -1
  321. package/esm/types/gasPrice.js +0 -18
  322. package/esm/types/gasPrice.js.map +1 -1
  323. package/esm/types/interfaces.d.ts +26 -26
  324. package/esm/types/mempool.d.ts +14 -28
  325. package/esm/types/mempool.js +1 -7
  326. package/esm/types/mempool.js.map +1 -1
  327. package/esm/types/schemas.d.ts +26347 -10767
  328. package/esm/types/schemas.js +202 -38
  329. package/esm/types/schemas.js.map +1 -1
  330. package/esm/types/utils.d.ts +2 -5
  331. package/esm/types/utils.js +16 -18
  332. package/esm/types/utils.js.map +1 -1
  333. package/esm/types/validation.d.ts +9447 -8727
  334. package/esm/types/validation.js +123 -161
  335. package/esm/types/validation.js.map +1 -1
  336. package/esm/utils/asyncTimeout.d.ts +5 -0
  337. package/esm/utils/asyncTimeout.js +23 -0
  338. package/esm/utils/asyncTimeout.js.map +1 -0
  339. package/esm/utils/bigInt.d.ts +9 -0
  340. package/esm/utils/bigInt.js +19 -2
  341. package/esm/utils/bigInt.js.map +1 -1
  342. package/esm/utils/eip7702.d.ts +4 -3
  343. package/esm/utils/eip7702.js +16 -7
  344. package/esm/utils/eip7702.js.map +1 -1
  345. package/esm/utils/entryPointOverrides.d.ts +12 -0
  346. package/esm/utils/entryPointOverrides.js +71 -0
  347. package/esm/utils/entryPointOverrides.js.map +1 -0
  348. package/esm/utils/helpers.d.ts +5 -3
  349. package/esm/utils/helpers.js +36 -13
  350. package/esm/utils/helpers.js.map +1 -1
  351. package/esm/utils/index.d.ts +2 -2
  352. package/esm/utils/index.js +1 -1
  353. package/esm/utils/index.js.map +1 -1
  354. package/esm/utils/metrics.d.ts +11 -9
  355. package/esm/utils/metrics.js +44 -25
  356. package/esm/utils/metrics.js.map +1 -1
  357. package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +2 -2
  358. package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.js +2 -2
  359. package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +1 -1
  360. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +26 -4
  361. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js +111 -71
  362. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js.map +1 -1
  363. package/esm/utils/minMaxQueue/index.d.ts +3 -3
  364. package/esm/utils/minMaxQueue/index.js +4 -3
  365. package/esm/utils/minMaxQueue/index.js.map +1 -1
  366. package/esm/utils/rpc-reply.d.ts +3 -3
  367. package/esm/utils/rpc-reply.js.map +1 -1
  368. package/esm/utils/toViemStateOverrides.d.ts +4 -0
  369. package/esm/utils/toViemStateOverrides.js +44 -0
  370. package/esm/utils/toViemStateOverrides.js.map +1 -0
  371. package/esm/utils/userop.d.ts +89 -87
  372. package/esm/utils/userop.js +207 -439
  373. package/esm/utils/userop.js.map +1 -1
  374. package/package.json +12 -7
  375. package/esm/executor/fastlane.d.ts +0 -9
  376. package/esm/executor/fastlane.js +0 -37
  377. package/esm/executor/fastlane.js.map +0 -1
  378. package/esm/executor/filterOpsAndEStimateGas.d.ts +0 -29
  379. package/esm/executor/filterOpsAndEStimateGas.js +0 -198
  380. package/esm/executor/filterOpsAndEStimateGas.js.map +0 -1
  381. package/esm/mempool/monitoring.d.ts +0 -14
  382. package/esm/mempool/monitoring.js +0 -97
  383. package/esm/mempool/monitoring.js.map +0 -1
  384. package/esm/rpc/estimation/gasEstimationsV06.d.ts +0 -19
  385. package/esm/rpc/estimation/gasEstimationsV06.js +0 -144
  386. package/esm/rpc/estimation/gasEstimationsV06.js.map +0 -1
  387. package/esm/rpc/estimation/gasEstimationsV07.d.ts +0 -101
  388. package/esm/rpc/estimation/gasEstimationsV07.js +0 -721
  389. package/esm/rpc/estimation/gasEstimationsV07.js.map +0 -1
  390. package/esm/store/createMemoryOutstandingStore.d.ts +0 -28
  391. package/esm/store/createMemoryOutstandingStore.js +0 -231
  392. package/esm/store/createMemoryOutstandingStore.js.map +0 -1
  393. package/esm/store/createRedisOutstandingStore.d.ts +0 -27
  394. package/esm/store/createRedisOutstandingStore.js +0 -344
  395. package/esm/store/createRedisOutstandingStore.js.map +0 -1
  396. package/esm/store/createRedisStore.d.ts +0 -9
  397. package/esm/store/createRedisStore.js +0 -131
  398. package/esm/store/createRedisStore.js.map +0 -1
  399. package/esm/store/createStore.d.ts +0 -6
  400. package/esm/store/createStore.js +0 -66
  401. package/esm/store/createStore.js.map +0 -1
  402. package/esm/types/contracts/EntryPointSimulationsV6.d.ts +0 -34
  403. package/esm/types/contracts/EntryPointSimulationsV6.js +0 -48
  404. package/esm/types/contracts/EntryPointSimulationsV6.js.map +0 -1
  405. package/esm/types/contracts/EntryPointSimulationsV7.d.ts +0 -2193
  406. package/esm/types/contracts/EntryPointSimulationsV7.js.map +0 -1
  407. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -26
  408. package/esm/types/contracts/PimlicoEntryPointSimulations.js +0 -38
  409. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
  410. package/esm/utils/validation.d.ts +0 -76
  411. package/esm/utils/validation.js +0 -484
  412. package/esm/utils/validation.js.map +0 -1
  413. package/lib/cli/alto.d.ts +0 -7
  414. package/lib/cli/alto.js +0 -141
  415. package/lib/cli/alto.js.map +0 -1
  416. package/lib/cli/config/bundler.d.ts +0 -2836
  417. package/lib/cli/config/bundler.js +0 -222
  418. package/lib/cli/config/bundler.js.map +0 -1
  419. package/lib/cli/config/index.d.ts +0 -3
  420. package/lib/cli/config/index.js +0 -19
  421. package/lib/cli/config/index.js.map +0 -1
  422. package/lib/cli/config/options.d.ts +0 -13
  423. package/lib/cli/config/options.js +0 -553
  424. package/lib/cli/config/options.js.map +0 -1
  425. package/lib/cli/customTransport.d.ts +0 -14
  426. package/lib/cli/customTransport.js +0 -94
  427. package/lib/cli/customTransport.js.map +0 -1
  428. package/lib/cli/deploySimulationsContract.d.ts +0 -13
  429. package/lib/cli/deploySimulationsContract.js +0 -112
  430. package/lib/cli/deploySimulationsContract.js.map +0 -1
  431. package/lib/cli/handler.d.ts +0 -3
  432. package/lib/cli/handler.js +0 -157
  433. package/lib/cli/handler.js.map +0 -1
  434. package/lib/cli/index.d.ts +0 -4
  435. package/lib/cli/index.js +0 -20
  436. package/lib/cli/index.js.map +0 -1
  437. package/lib/cli/instrumentation.d.ts +0 -2
  438. package/lib/cli/instrumentation.js +0 -47
  439. package/lib/cli/instrumentation.js.map +0 -1
  440. package/lib/cli/parseArgs.d.ts +0 -8
  441. package/lib/cli/parseArgs.js +0 -25
  442. package/lib/cli/parseArgs.js.map +0 -1
  443. package/lib/cli/setupServer.d.ts +0 -13
  444. package/lib/cli/setupServer.js +0 -266
  445. package/lib/cli/setupServer.js.map +0 -1
  446. package/lib/cli/util.d.ts +0 -22
  447. package/lib/cli/util.js +0 -34
  448. package/lib/cli/util.js.map +0 -1
  449. package/lib/createConfig.d.ts +0 -16
  450. package/lib/createConfig.js +0 -13
  451. package/lib/createConfig.js.map +0 -1
  452. package/lib/executor/executor.d.ts +0 -65
  453. package/lib/executor/executor.js +0 -285
  454. package/lib/executor/executor.js.map +0 -1
  455. package/lib/executor/executorManager.d.ts +0 -107
  456. package/lib/executor/executorManager.js +0 -682
  457. package/lib/executor/executorManager.js.map +0 -1
  458. package/lib/executor/fastlane.d.ts +0 -9
  459. package/lib/executor/fastlane.js +0 -41
  460. package/lib/executor/fastlane.js.map +0 -1
  461. package/lib/executor/filterOpsAndEStimateGas.d.ts +0 -29
  462. package/lib/executor/filterOpsAndEStimateGas.js +0 -225
  463. package/lib/executor/filterOpsAndEStimateGas.js.map +0 -1
  464. package/lib/executor/index.d.ts +0 -5
  465. package/lib/executor/index.js +0 -21
  466. package/lib/executor/index.js.map +0 -1
  467. package/lib/executor/senderManager/createMemorySenderManager.d.ts +0 -8
  468. package/lib/executor/senderManager/createMemorySenderManager.js +0 -45
  469. package/lib/executor/senderManager/createMemorySenderManager.js.map +0 -1
  470. package/lib/executor/senderManager/createRedisSenderManager.d.ts +0 -8
  471. package/lib/executor/senderManager/createRedisSenderManager.js +0 -85
  472. package/lib/executor/senderManager/createRedisSenderManager.js.map +0 -1
  473. package/lib/executor/senderManager/flushOnStartUp.d.ts +0 -9
  474. package/lib/executor/senderManager/flushOnStartUp.js +0 -37
  475. package/lib/executor/senderManager/flushOnStartUp.js.map +0 -1
  476. package/lib/executor/senderManager/index.d.ts +0 -15
  477. package/lib/executor/senderManager/index.js +0 -25
  478. package/lib/executor/senderManager/index.js.map +0 -1
  479. package/lib/executor/senderManager/validateAndRefill.d.ts +0 -11
  480. package/lib/executor/senderManager/validateAndRefill.js +0 -115
  481. package/lib/executor/senderManager/validateAndRefill.js.map +0 -1
  482. package/lib/executor/utilityWalletMonitor.d.ts +0 -19
  483. package/lib/executor/utilityWalletMonitor.js +0 -42
  484. package/lib/executor/utilityWalletMonitor.js.map +0 -1
  485. package/lib/executor/utils.d.ts +0 -31
  486. package/lib/executor/utils.js +0 -170
  487. package/lib/executor/utils.js.map +0 -1
  488. package/lib/handlers/arbitrumGasPriceManager.d.ts +0 -14
  489. package/lib/handlers/arbitrumGasPriceManager.js +0 -39
  490. package/lib/handlers/arbitrumGasPriceManager.js.map +0 -1
  491. package/lib/handlers/eventManager.d.ts +0 -28
  492. package/lib/handlers/eventManager.js +0 -207
  493. package/lib/handlers/eventManager.js.map +0 -1
  494. package/lib/handlers/gasPriceManager.d.ts +0 -36
  495. package/lib/handlers/gasPriceManager.js +0 -423
  496. package/lib/handlers/gasPriceManager.js.map +0 -1
  497. package/lib/handlers/index.d.ts +0 -3
  498. package/lib/handlers/index.js +0 -19
  499. package/lib/handlers/index.js.map +0 -1
  500. package/lib/handlers/mantleGasPriceManager.d.ts +0 -23
  501. package/lib/handlers/mantleGasPriceManager.js +0 -44
  502. package/lib/handlers/mantleGasPriceManager.js.map +0 -1
  503. package/lib/handlers/optimismManager.d.ts +0 -10
  504. package/lib/handlers/optimismManager.js +0 -21
  505. package/lib/handlers/optimismManager.js.map +0 -1
  506. package/lib/index.d.ts +0 -2
  507. package/lib/index.js +0 -4
  508. package/lib/index.js.map +0 -1
  509. package/lib/mempool/index.d.ts +0 -4
  510. package/lib/mempool/index.js +0 -20
  511. package/lib/mempool/index.js.map +0 -1
  512. package/lib/mempool/mempool.d.ts +0 -191
  513. package/lib/mempool/mempool.js +0 -498
  514. package/lib/mempool/mempool.js.map +0 -1
  515. package/lib/mempool/monitoring.d.ts +0 -14
  516. package/lib/mempool/monitoring.js +0 -101
  517. package/lib/mempool/monitoring.js.map +0 -1
  518. package/lib/mempool/reputationManager.d.ts +0 -121
  519. package/lib/mempool/reputationManager.js +0 -472
  520. package/lib/mempool/reputationManager.js.map +0 -1
  521. package/lib/rpc/createMethodHandler.d.ts +0 -31
  522. package/lib/rpc/createMethodHandler.js +0 -34
  523. package/lib/rpc/createMethodHandler.js.map +0 -1
  524. package/lib/rpc/estimation/gasEstimationHandler.d.ts +0 -30
  525. package/lib/rpc/estimation/gasEstimationHandler.js +0 -50
  526. package/lib/rpc/estimation/gasEstimationHandler.js.map +0 -1
  527. package/lib/rpc/estimation/gasEstimationsV06.d.ts +0 -19
  528. package/lib/rpc/estimation/gasEstimationsV06.js +0 -148
  529. package/lib/rpc/estimation/gasEstimationsV06.js.map +0 -1
  530. package/lib/rpc/estimation/gasEstimationsV07.d.ts +0 -101
  531. package/lib/rpc/estimation/gasEstimationsV07.js +0 -727
  532. package/lib/rpc/estimation/gasEstimationsV07.js.map +0 -1
  533. package/lib/rpc/estimation/types.d.ts +0 -120
  534. package/lib/rpc/estimation/types.js +0 -125
  535. package/lib/rpc/estimation/types.js.map +0 -1
  536. package/lib/rpc/index.d.ts +0 -4
  537. package/lib/rpc/index.js +0 -20
  538. package/lib/rpc/index.js.map +0 -1
  539. package/lib/rpc/methods/debug_bundler_clearReputation.d.ts +0 -22
  540. package/lib/rpc/methods/debug_bundler_clearReputation.js +0 -15
  541. package/lib/rpc/methods/debug_bundler_clearReputation.js.map +0 -1
  542. package/lib/rpc/methods/debug_bundler_clearState.d.ts +0 -22
  543. package/lib/rpc/methods/debug_bundler_clearState.js +0 -16
  544. package/lib/rpc/methods/debug_bundler_clearState.js.map +0 -1
  545. package/lib/rpc/methods/debug_bundler_dumpMempool.d.ts +0 -973
  546. package/lib/rpc/methods/debug_bundler_dumpMempool.js +0 -16
  547. package/lib/rpc/methods/debug_bundler_dumpMempool.js.map +0 -1
  548. package/lib/rpc/methods/debug_bundler_dumpReputation.d.ts +0 -57
  549. package/lib/rpc/methods/debug_bundler_dumpReputation.js +0 -16
  550. package/lib/rpc/methods/debug_bundler_dumpReputation.js.map +0 -1
  551. package/lib/rpc/methods/debug_bundler_getStakeStatus.d.ts +0 -79
  552. package/lib/rpc/methods/debug_bundler_getStakeStatus.js +0 -25
  553. package/lib/rpc/methods/debug_bundler_getStakeStatus.js.map +0 -1
  554. package/lib/rpc/methods/debug_bundler_sendBundleNow.d.ts +0 -22
  555. package/lib/rpc/methods/debug_bundler_sendBundleNow.js +0 -15
  556. package/lib/rpc/methods/debug_bundler_sendBundleNow.js.map +0 -1
  557. package/lib/rpc/methods/debug_bundler_setBundlingMode.d.ts +0 -22
  558. package/lib/rpc/methods/debug_bundler_setBundlingMode.js +0 -16
  559. package/lib/rpc/methods/debug_bundler_setBundlingMode.js.map +0 -1
  560. package/lib/rpc/methods/debug_bundler_setReputation.d.ts +0 -46
  561. package/lib/rpc/methods/debug_bundler_setReputation.js +0 -16
  562. package/lib/rpc/methods/debug_bundler_setReputation.js.map +0 -1
  563. package/lib/rpc/methods/eth_chainId.d.ts +0 -22
  564. package/lib/rpc/methods/eth_chainId.js +0 -13
  565. package/lib/rpc/methods/eth_chainId.js.map +0 -1
  566. package/lib/rpc/methods/eth_estimateUserOperationGas.js +0 -26
  567. package/lib/rpc/methods/eth_estimateUserOperationGas.js.map +0 -1
  568. package/lib/rpc/methods/eth_getUserOperationByHash.d.ts +0 -1775
  569. package/lib/rpc/methods/eth_getUserOperationByHash.js +0 -101
  570. package/lib/rpc/methods/eth_getUserOperationByHash.js.map +0 -1
  571. package/lib/rpc/methods/eth_getUserOperationReceipt.d.ts +0 -412
  572. package/lib/rpc/methods/eth_getUserOperationReceipt.js +0 -14
  573. package/lib/rpc/methods/eth_getUserOperationReceipt.js.map +0 -1
  574. package/lib/rpc/methods/eth_sendUserOperation.d.ts +0 -878
  575. package/lib/rpc/methods/eth_sendUserOperation.js +0 -44
  576. package/lib/rpc/methods/eth_sendUserOperation.js.map +0 -1
  577. package/lib/rpc/methods/eth_supportedEntryPoints.d.ts +0 -22
  578. package/lib/rpc/methods/eth_supportedEntryPoints.js +0 -13
  579. package/lib/rpc/methods/eth_supportedEntryPoints.js.map +0 -1
  580. package/lib/rpc/methods/index.d.ts +0 -3
  581. package/lib/rpc/methods/index.js +0 -44
  582. package/lib/rpc/methods/index.js.map +0 -1
  583. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.d.ts +0 -131
  584. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js +0 -33
  585. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js.map +0 -1
  586. package/lib/rpc/methods/pimlico_getUserOperationStatus.d.ts +0 -43
  587. package/lib/rpc/methods/pimlico_getUserOperationStatus.js +0 -14
  588. package/lib/rpc/methods/pimlico_getUserOperationStatus.js.map +0 -1
  589. package/lib/rpc/methods/pimlico_sendUserOperationNow.js +0 -53
  590. package/lib/rpc/methods/pimlico_sendUserOperationNow.js.map +0 -1
  591. package/lib/rpc/rpcHandler.d.ts +0 -75
  592. package/lib/rpc/rpcHandler.js +0 -408
  593. package/lib/rpc/rpcHandler.js.map +0 -1
  594. package/lib/rpc/server.d.ts +0 -26
  595. package/lib/rpc/server.js +0 -283
  596. package/lib/rpc/server.js.map +0 -1
  597. package/lib/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
  598. package/lib/rpc/validation/BundlerCollectorTracerV06.js +0 -262
  599. package/lib/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
  600. package/lib/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
  601. package/lib/rpc/validation/BundlerCollectorTracerV07.js +0 -261
  602. package/lib/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
  603. package/lib/rpc/validation/SafeValidator.d.ts +0 -52
  604. package/lib/rpc/validation/SafeValidator.js +0 -350
  605. package/lib/rpc/validation/SafeValidator.js.map +0 -1
  606. package/lib/rpc/validation/TracerResultParserV06.d.ts +0 -13
  607. package/lib/rpc/validation/TracerResultParserV06.js +0 -582
  608. package/lib/rpc/validation/TracerResultParserV06.js.map +0 -1
  609. package/lib/rpc/validation/TracerResultParserV07.d.ts +0 -33
  610. package/lib/rpc/validation/TracerResultParserV07.js +0 -599
  611. package/lib/rpc/validation/TracerResultParserV07.js.map +0 -1
  612. package/lib/rpc/validation/UnsafeValidator.d.ts +0 -98
  613. package/lib/rpc/validation/UnsafeValidator.js +0 -326
  614. package/lib/rpc/validation/UnsafeValidator.js.map +0 -1
  615. package/lib/rpc/validation/index.d.ts +0 -3
  616. package/lib/rpc/validation/index.js +0 -19
  617. package/lib/rpc/validation/index.js.map +0 -1
  618. package/lib/rpc/validation/tracer.d.ts +0 -125
  619. package/lib/rpc/validation/tracer.js +0 -112
  620. package/lib/rpc/validation/tracer.js.map +0 -1
  621. package/lib/store/createMemoryOutstandingStore.d.ts +0 -28
  622. package/lib/store/createMemoryOutstandingStore.js +0 -236
  623. package/lib/store/createMemoryOutstandingStore.js.map +0 -1
  624. package/lib/store/createMempoolStore.d.ts +0 -8
  625. package/lib/store/createMempoolStore.js +0 -199
  626. package/lib/store/createMempoolStore.js.map +0 -1
  627. package/lib/store/createRedisOutstandingStore.d.ts +0 -27
  628. package/lib/store/createRedisOutstandingStore.js +0 -349
  629. package/lib/store/createRedisOutstandingStore.js.map +0 -1
  630. package/lib/store/createRedisStore.d.ts +0 -9
  631. package/lib/store/createRedisStore.js +0 -138
  632. package/lib/store/createRedisStore.js.map +0 -1
  633. package/lib/store/createStore.d.ts +0 -6
  634. package/lib/store/createStore.js +0 -70
  635. package/lib/store/createStore.js.map +0 -1
  636. package/lib/store/index.d.ts +0 -81
  637. package/lib/store/index.js +0 -6
  638. package/lib/store/index.js.map +0 -1
  639. package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +0 -32
  640. package/lib/types/contracts/ArbitrumL1FeeAbi.js +0 -45
  641. package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +0 -1
  642. package/lib/types/contracts/CallEngine.d.ts +0 -28
  643. package/lib/types/contracts/CallEngine.js +0 -40
  644. package/lib/types/contracts/CallEngine.js.map +0 -1
  645. package/lib/types/contracts/CodeHashGetter.d.ts +0 -37
  646. package/lib/types/contracts/CodeHashGetter.js +0 -48
  647. package/lib/types/contracts/CodeHashGetter.js.map +0 -1
  648. package/lib/types/contracts/EntryPoint.d.ts +0 -1789
  649. package/lib/types/contracts/EntryPoint.js +0 -2307
  650. package/lib/types/contracts/EntryPoint.js.map +0 -1
  651. package/lib/types/contracts/EntryPointSimulationsV6.d.ts +0 -34
  652. package/lib/types/contracts/EntryPointSimulationsV6.js +0 -51
  653. package/lib/types/contracts/EntryPointSimulationsV6.js.map +0 -1
  654. package/lib/types/contracts/EntryPointSimulationsV7.d.ts +0 -2193
  655. package/lib/types/contracts/EntryPointSimulationsV7.js +0 -2828
  656. package/lib/types/contracts/EntryPointSimulationsV7.js.map +0 -1
  657. package/lib/types/contracts/IAccountExecute.d.ts +0 -53
  658. package/lib/types/contracts/IAccountExecute.js +0 -71
  659. package/lib/types/contracts/IAccountExecute.js.map +0 -1
  660. package/lib/types/contracts/IPaymaster.d.ts +0 -3
  661. package/lib/types/contracts/IPaymaster.js +0 -120
  662. package/lib/types/contracts/IPaymaster.js.map +0 -1
  663. package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +0 -219
  664. package/lib/types/contracts/MantleBvmGasPriceOracle.js +0 -180
  665. package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +0 -1
  666. package/lib/types/contracts/OpL1FeeAbi.d.ts +0 -114
  667. package/lib/types/contracts/OpL1FeeAbi.js +0 -77
  668. package/lib/types/contracts/OpL1FeeAbi.js.map +0 -1
  669. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -26
  670. package/lib/types/contracts/PimlicoEntryPointSimulations.js +0 -41
  671. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
  672. package/lib/types/contracts/SenderCreator.d.ts +0 -4
  673. package/lib/types/contracts/SenderCreator.js +0 -26
  674. package/lib/types/contracts/SenderCreator.js.map +0 -1
  675. package/lib/types/contracts/SimpleAccountFactory.d.ts +0 -57
  676. package/lib/types/contracts/SimpleAccountFactory.js +0 -79
  677. package/lib/types/contracts/SimpleAccountFactory.js.map +0 -1
  678. package/lib/types/contracts/TestOpcodesAccount.d.ts +0 -4
  679. package/lib/types/contracts/TestOpcodesAccount.js +0 -284
  680. package/lib/types/contracts/TestOpcodesAccount.js.map +0 -1
  681. package/lib/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
  682. package/lib/types/contracts/TestOpcodesAccountFactory.js +0 -26
  683. package/lib/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
  684. package/lib/types/contracts/TestStorageAccount.d.ts +0 -4
  685. package/lib/types/contracts/TestStorageAccount.js +0 -316
  686. package/lib/types/contracts/TestStorageAccount.js.map +0 -1
  687. package/lib/types/contracts/index.d.ts +0 -17
  688. package/lib/types/contracts/index.js +0 -33
  689. package/lib/types/contracts/index.js.map +0 -1
  690. package/lib/types/gasPrice.d.ts +0 -110
  691. package/lib/types/gasPrice.js +0 -55
  692. package/lib/types/gasPrice.js.map +0 -1
  693. package/lib/types/index.d.ts +0 -11
  694. package/lib/types/index.js +0 -27
  695. package/lib/types/index.js.map +0 -1
  696. package/lib/types/interfaces.d.ts +0 -59
  697. package/lib/types/interfaces.js +0 -3
  698. package/lib/types/interfaces.js.map +0 -1
  699. package/lib/types/mempool.d.ts +0 -60
  700. package/lib/types/mempool.js +0 -11
  701. package/lib/types/mempool.js.map +0 -1
  702. package/lib/types/schemas.d.ts +0 -20779
  703. package/lib/types/schemas.js +0 -638
  704. package/lib/types/schemas.js.map +0 -1
  705. package/lib/types/utils.d.ts +0 -25
  706. package/lib/types/utils.js +0 -35
  707. package/lib/types/utils.js.map +0 -1
  708. package/lib/types/validation.d.ts +0 -14327
  709. package/lib/types/validation.js +0 -312
  710. package/lib/types/validation.js.map +0 -1
  711. package/lib/utils/bigInt.d.ts +0 -4
  712. package/lib/utils/bigInt.js +0 -19
  713. package/lib/utils/bigInt.js.map +0 -1
  714. package/lib/utils/eip7702.d.ts +0 -4
  715. package/lib/utils/eip7702.js +0 -21
  716. package/lib/utils/eip7702.js.map +0 -1
  717. package/lib/utils/fastify-rpc-decorators.d.ts +0 -19
  718. package/lib/utils/fastify-rpc-decorators.js +0 -23
  719. package/lib/utils/fastify-rpc-decorators.js.map +0 -1
  720. package/lib/utils/helpers.d.ts +0 -15
  721. package/lib/utils/helpers.js +0 -59
  722. package/lib/utils/helpers.js.map +0 -1
  723. package/lib/utils/index.d.ts +0 -8
  724. package/lib/utils/index.js +0 -23
  725. package/lib/utils/index.js.map +0 -1
  726. package/lib/utils/logger.d.ts +0 -6
  727. package/lib/utils/logger.js +0 -85
  728. package/lib/utils/logger.js.map +0 -1
  729. package/lib/utils/metrics.d.ts +0 -28
  730. package/lib/utils/metrics.js +0 -192
  731. package/lib/utils/metrics.js.map +0 -1
  732. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +0 -6
  733. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js +0 -57
  734. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +0 -1
  735. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +0 -7
  736. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js +0 -105
  737. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js.map +0 -1
  738. package/lib/utils/minMaxQueue/index.d.ts +0 -12
  739. package/lib/utils/minMaxQueue/index.js +0 -16
  740. package/lib/utils/minMaxQueue/index.js.map +0 -1
  741. package/lib/utils/rpc-reply.d.ts +0 -16
  742. package/lib/utils/rpc-reply.js +0 -41
  743. package/lib/utils/rpc-reply.js.map +0 -1
  744. package/lib/utils/userop.d.ts +0 -138
  745. package/lib/utils/userop.js +0 -620
  746. package/lib/utils/userop.js.map +0 -1
  747. package/lib/utils/validation.d.ts +0 -76
  748. package/lib/utils/validation.js +0 -500
  749. package/lib/utils/validation.js.map +0 -1
@@ -1,582 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tracerResultParserV06 = void 0;
4
- const types_1 = require("../../types/index.js");
5
- // This file contains references to validation rules, in the format [xxx-###]
6
- // where xxx is OP/STO/COD/EP/SREP/EREP/UREP/ALT, and ### is a number
7
- // the validation rules are defined in erc-aa-validation.md
8
- const viem_1 = require("viem");
9
- const abi = [...types_1.SenderCreatorAbi, ...types_1.EntryPointV06Abi, ...types_1.PaymasterAbi];
10
- // biome-ignore lint/suspicious/noExplicitAny: it's a generic type
11
- const functionSignatureToMethodName = (hash) => {
12
- let functionName = undefined;
13
- for (const item of abi) {
14
- const signature = (0, viem_1.getFunctionSelector)(item);
15
- if (signature === hash) {
16
- functionName = item.name;
17
- }
18
- }
19
- if (functionName === undefined) {
20
- throw new Error(`Could not find function name for hash ${hash}`);
21
- }
22
- return functionName;
23
- };
24
- /**
25
- * parse all call operation in the trace.
26
- * notes:
27
- * - entries are ordered by the return (so nested call appears before its outer call
28
- * - last entry is top-level return from "simulateValidation". it as ret and rettype, but no type or address
29
- * @param tracerResults
30
- * @param abi
31
- */
32
- function parseCallStack(tracerResults) {
33
- function callCatch(x, def) {
34
- try {
35
- return x();
36
- }
37
- catch (_) {
38
- return def;
39
- }
40
- }
41
- const out = [];
42
- const stack = [];
43
- const filteredTracerResultCalls = tracerResults.calls.filter((x) => !x.type.startsWith("depth"));
44
- for (const c of filteredTracerResultCalls) {
45
- if (c.type.match(/REVERT|RETURN/) !== null) {
46
- const top = stack.splice(-1)[0] ?? {
47
- type: "top",
48
- method: "validateUserOp"
49
- };
50
- // biome-ignore lint/suspicious/noExplicitAny: it's a generic type
51
- const returnData = c.data;
52
- if (top.type.match(/CREATE/) !== null) {
53
- out.push({
54
- to: top.to,
55
- from: top.from,
56
- type: top.type,
57
- method: "",
58
- return: `len=${returnData.length}`
59
- });
60
- }
61
- else {
62
- const method = callCatch(() => functionSignatureToMethodName(top.method), top.method);
63
- if (c.type === "REVERT") {
64
- const parsedError = callCatch(() => (0, viem_1.decodeErrorResult)({ abi: abi, data: returnData }), returnData);
65
- out.push({
66
- to: top.to,
67
- from: top.from,
68
- type: top.type,
69
- method: method,
70
- value: top.value,
71
- revert: parsedError
72
- });
73
- }
74
- else {
75
- const ret = callCatch(() => (0, viem_1.decodeFunctionResult)({
76
- abi: abi,
77
- functionName: method,
78
- data: returnData
79
- }), returnData);
80
- out.push({
81
- to: top.to,
82
- from: top.from,
83
- type: top.type,
84
- value: top.value,
85
- method: method,
86
- return: ret
87
- });
88
- }
89
- }
90
- }
91
- else {
92
- stack.push(c);
93
- }
94
- }
95
- // TODO: verify that stack is empty at the end.
96
- return out;
97
- }
98
- /**
99
- * slots associated with each entity.
100
- * keccak( A || ...) is associated with "A"
101
- * removed rule: keccak( ... || ASSOC ) (for a previously associated hash) is also associated with "A"
102
- *
103
- * @param stakeInfoEntities stake info for (factory, account, paymaster). factory and paymaster can be null.
104
- * @param keccak array of buffers that were given to keccak in the transaction
105
- */
106
- function parseEntitySlots(stakeInfoEntities, keccak) {
107
- // for each entity (sender, factory, paymaster), hold the valid slot addresses
108
- // valid: the slot was generated by keccak(entity || ...)
109
- const entitySlots = {};
110
- for (const k of keccak) {
111
- const values = Object.values(stakeInfoEntities);
112
- for (const info of values) {
113
- const addr = info?.addr?.toLowerCase();
114
- if (!addr) {
115
- continue;
116
- }
117
- const addrPadded = (0, viem_1.pad)(addr).toLowerCase();
118
- if (!entitySlots[addr]) {
119
- entitySlots[addr] = new Set();
120
- }
121
- const currentEntitySlots = entitySlots[addr];
122
- // valid slot: the slot was generated by keccak(entityAddr || ...)
123
- if (k.startsWith(addrPadded)) {
124
- currentEntitySlots.add((0, viem_1.keccak256)(k));
125
- }
126
- // disabled 2nd rule: .. or by keccak( ... || OWN) where OWN is previous allowed slot
127
- // if (k.length === 130 && currentEntitySlots.has(k.slice(-64))) {
128
- // currentEntitySlots.add(value)
129
- // }
130
- }
131
- }
132
- return entitySlots;
133
- }
134
- // method-signature for calls from entryPoint
135
- const callsFromEntryPointMethodSigs = {
136
- factory: (0, viem_1.getFunctionSelector)({
137
- inputs: [
138
- {
139
- internalType: "bytes",
140
- name: "initCode",
141
- type: "bytes"
142
- }
143
- ],
144
- name: "createSender",
145
- outputs: [
146
- {
147
- internalType: "address",
148
- name: "sender",
149
- type: "address"
150
- }
151
- ],
152
- stateMutability: "nonpayable",
153
- type: "function"
154
- }),
155
- account: (0, viem_1.getFunctionSelector)({
156
- inputs: [
157
- {
158
- components: [
159
- {
160
- internalType: "address",
161
- name: "sender",
162
- type: "address"
163
- },
164
- {
165
- internalType: "uint256",
166
- name: "nonce",
167
- type: "uint256"
168
- },
169
- {
170
- internalType: "bytes",
171
- name: "initCode",
172
- type: "bytes"
173
- },
174
- {
175
- internalType: "bytes",
176
- name: "callData",
177
- type: "bytes"
178
- },
179
- {
180
- internalType: "uint256",
181
- name: "callGasLimit",
182
- type: "uint256"
183
- },
184
- {
185
- internalType: "uint256",
186
- name: "verificationGasLimit",
187
- type: "uint256"
188
- },
189
- {
190
- internalType: "uint256",
191
- name: "preVerificationGas",
192
- type: "uint256"
193
- },
194
- {
195
- internalType: "uint256",
196
- name: "maxFeePerGas",
197
- type: "uint256"
198
- },
199
- {
200
- internalType: "uint256",
201
- name: "maxPriorityFeePerGas",
202
- type: "uint256"
203
- },
204
- {
205
- internalType: "bytes",
206
- name: "paymasterAndData",
207
- type: "bytes"
208
- },
209
- {
210
- internalType: "bytes",
211
- name: "signature",
212
- type: "bytes"
213
- }
214
- ],
215
- internalType: "struct UserOperation",
216
- name: "userOp",
217
- type: "tuple"
218
- },
219
- {
220
- internalType: "bytes32",
221
- name: "",
222
- type: "bytes32"
223
- },
224
- {
225
- internalType: "uint256",
226
- name: "missingAccountFunds",
227
- type: "uint256"
228
- }
229
- ],
230
- name: "validateUserOp",
231
- outputs: [
232
- {
233
- internalType: "uint256",
234
- name: "",
235
- type: "uint256"
236
- }
237
- ],
238
- stateMutability: "nonpayable",
239
- type: "function"
240
- }),
241
- paymaster: (0, viem_1.getFunctionSelector)({
242
- inputs: [
243
- {
244
- components: [
245
- {
246
- internalType: "address",
247
- name: "sender",
248
- type: "address"
249
- },
250
- {
251
- internalType: "uint256",
252
- name: "nonce",
253
- type: "uint256"
254
- },
255
- {
256
- internalType: "bytes",
257
- name: "initCode",
258
- type: "bytes"
259
- },
260
- {
261
- internalType: "bytes",
262
- name: "callData",
263
- type: "bytes"
264
- },
265
- {
266
- internalType: "uint256",
267
- name: "callGasLimit",
268
- type: "uint256"
269
- },
270
- {
271
- internalType: "uint256",
272
- name: "verificationGasLimit",
273
- type: "uint256"
274
- },
275
- {
276
- internalType: "uint256",
277
- name: "preVerificationGas",
278
- type: "uint256"
279
- },
280
- {
281
- internalType: "uint256",
282
- name: "maxFeePerGas",
283
- type: "uint256"
284
- },
285
- {
286
- internalType: "uint256",
287
- name: "maxPriorityFeePerGas",
288
- type: "uint256"
289
- },
290
- {
291
- internalType: "bytes",
292
- name: "paymasterAndData",
293
- type: "bytes"
294
- },
295
- {
296
- internalType: "bytes",
297
- name: "signature",
298
- type: "bytes"
299
- }
300
- ],
301
- internalType: "struct UserOperation",
302
- name: "userOp",
303
- type: "tuple"
304
- },
305
- {
306
- internalType: "bytes32",
307
- name: "userOpHash",
308
- type: "bytes32"
309
- },
310
- {
311
- internalType: "uint256",
312
- name: "maxCost",
313
- type: "uint256"
314
- }
315
- ],
316
- name: "validatePaymasterUserOp",
317
- outputs: [
318
- {
319
- internalType: "bytes",
320
- name: "context",
321
- type: "bytes"
322
- },
323
- {
324
- internalType: "uint256",
325
- name: "validationData",
326
- type: "uint256"
327
- }
328
- ],
329
- stateMutability: "nonpayable",
330
- type: "function"
331
- })
332
- };
333
- /**
334
- * parse collected simulation traces and revert if they break our rules
335
- * @param userOperation the userOperation that was used in this simulation
336
- * @param tracerResults the tracer return value
337
- * @param validationResult output from simulateValidation
338
- * @param entryPoint the entryPoint that hosted the "simulatedValidation" traced call.
339
- * @return list of contract addresses referenced by this UserOp
340
- */
341
- function tracerResultParserV06(userOperation, tracerResults, validationResult, entryPointAddress) {
342
- // todo: block access to no-code addresses (might need update to tracer)
343
- // opcodes from [OP-011]
344
- const bannedOpCodes = new Set([
345
- "GASPRICE",
346
- "GASLIMIT",
347
- "DIFFICULTY",
348
- "TIMESTAMP",
349
- "BASEFEE",
350
- "BLOCKHASH",
351
- "NUMBER",
352
- "SELFBALANCE",
353
- "BALANCE",
354
- "ORIGIN",
355
- "GAS",
356
- "CREATE",
357
- "COINBASE",
358
- "SELFDESTRUCT",
359
- "RANDOM",
360
- "PREVRANDAO",
361
- "INVALID"
362
- ]);
363
- // eslint-disable-next-line @typescript-eslint/no-base-to-string
364
- if (Object.values(tracerResults.callsFromEntryPoint).length < 1) {
365
- throw new Error("Unexpected traceCall result: no calls from entrypoint.");
366
- }
367
- const callStack = parseCallStack(tracerResults);
368
- // [OP-052], [OP-053]
369
- const callInfoEntryPoint = callStack.find((call) => call.to === entryPointAddress &&
370
- call.from !== entryPointAddress &&
371
- call.method !== "0x" &&
372
- call.method !== "depositTo");
373
- // [OP-054]
374
- if (callInfoEntryPoint) {
375
- throw new types_1.RpcError(`illegal call into EntryPoint during validation ${callInfoEntryPoint?.method}`, types_1.ValidationErrors.OpcodeValidation);
376
- }
377
- // [OP-061]
378
- const illegalNonZeroValueCall = callStack.find((call) => call.to !== entryPointAddress &&
379
- (0, viem_1.hexToBigInt)(call.value ?? "0x0") !== 0n);
380
- if (illegalNonZeroValueCall) {
381
- throw new types_1.RpcError("May not may CALL with value", types_1.ValidationErrors.OpcodeValidation);
382
- }
383
- const sender = userOperation.sender.toLowerCase();
384
- // stake info per "number" level (factory, sender, paymaster)
385
- // we only use stake info if we notice a memory reference that require stake
386
- const stakeInfoEntities = {
387
- factory: validationResult.factoryInfo,
388
- account: validationResult.senderInfo,
389
- paymaster: validationResult.paymasterInfo
390
- };
391
- const entitySlots = parseEntitySlots(stakeInfoEntities, tracerResults.keccak);
392
- for (const [title, entStakes] of Object.entries(stakeInfoEntities)) {
393
- const entityTitle = title;
394
- const entityAddr = (entStakes?.addr ?? "").toLowerCase();
395
- const currentNumLevel = tracerResults.callsFromEntryPoint.find((info) => info.topLevelMethodSig ===
396
- callsFromEntryPointMethodSigs[entityTitle]);
397
- if (!currentNumLevel) {
398
- if (entityTitle === "account") {
399
- // should never happen... only factory, paymaster are optional.
400
- throw new Error("missing trace into validateUserOp");
401
- }
402
- continue;
403
- }
404
- const opcodes = currentNumLevel.opcodes;
405
- const access = currentNumLevel.access;
406
- // [OP-020]
407
- if (currentNumLevel.oog ?? false) {
408
- throw new types_1.RpcError(`${entityTitle} internally reverts on oog`, types_1.ValidationErrors.OpcodeValidation);
409
- }
410
- // opcodes from [OP-011]
411
- for (const opcode of Object.keys(opcodes)) {
412
- if (bannedOpCodes.has(opcode)) {
413
- throw new types_1.RpcError(`${entityTitle} uses banned opcode: ${opcode}`, types_1.ValidationErrors.OpcodeValidation);
414
- }
415
- }
416
- // [OP-031]
417
- if (entityTitle === "factory") {
418
- if ((opcodes.CREATE2 ?? 0) > 1) {
419
- throw new types_1.RpcError(`${entityTitle} with too many CREATE2`, types_1.ValidationErrors.OpcodeValidation);
420
- }
421
- }
422
- else if (opcodes.CREATE2) {
423
- throw new types_1.RpcError(`${entityTitle} uses banned opcode: CREATE2`, types_1.ValidationErrors.OpcodeValidation);
424
- }
425
- for (const [addr, { reads, writes }] of Object.entries(access)) {
426
- // testing read/write access on contract "addr"
427
- if (addr === sender) {
428
- // allowed to access sender's storage
429
- // [STO-010]
430
- continue;
431
- }
432
- if (addr === entryPointAddress) {
433
- // ignore storage access on entryPoint (balance/deposit of entities.
434
- // we block them on method calls: only allowed to deposit, never to read
435
- continue;
436
- }
437
- // return true if the given slot is associated with the given address, given the known keccak operations:
438
- // @param slot the SLOAD/SSTORE slot address we're testing
439
- // @param addr - the address we try to check for association with
440
- // @param reverseKeccak - a mapping we built for keccak values that contained the address
441
- function associatedWith(slot, addr, entitySlots) {
442
- const addrPadded = (0, viem_1.pad)(addr, {
443
- size: 32
444
- }).toLowerCase();
445
- if (slot.toLowerCase() === addrPadded) {
446
- return true;
447
- }
448
- const k = entitySlots[addr];
449
- if (!k) {
450
- return false;
451
- }
452
- const slotN = (0, viem_1.hexToBigInt)(slot);
453
- // scan all slot entries to check of the given slot is within a structure, starting at that offset.
454
- // assume a maximum size on a (static) structure size.
455
- for (const k1 of k.keys()) {
456
- const kn = (0, viem_1.hexToBigInt)(k1);
457
- if (slotN >= kn && slotN < kn + 128n) {
458
- return true;
459
- }
460
- }
461
- return false;
462
- }
463
- // scan all slots. find a referenced slot
464
- // at the end of the scan, we will check if the entity has stake, and report that slot if not.
465
- let requireStakeSlot;
466
- const slots = [...Object.keys(writes), ...Object.keys(reads)];
467
- for (const slot of slots) {
468
- // slot associated with sender is allowed (e.g. token.balanceOf(sender)
469
- // but during initial UserOp (where there is an initCode), it is allowed only for staked entity
470
- if (associatedWith(slot, sender, entitySlots)) {
471
- if (userOperation.initCode.length > 2) {
472
- // special case: account.validateUserOp is allowed to use assoc storage if factory is staked.
473
- // [STO-022], [STO-021]
474
- if (!(entityAddr === sender &&
475
- isStaked(stakeInfoEntities.factory))) {
476
- requireStakeSlot = slot;
477
- }
478
- }
479
- }
480
- else if (associatedWith(slot, entityAddr, entitySlots)) {
481
- // [STO-032]
482
- // accessing a slot associated with entityAddr (e.g. token.balanceOf(paymaster)
483
- requireStakeSlot = slot;
484
- }
485
- else if (addr === entityAddr) {
486
- // [STO-031]
487
- // accessing storage member of entity itself requires stake.
488
- requireStakeSlot = slot;
489
- }
490
- else if (writes[slot] === undefined) {
491
- // [STO-033]: staked entity have read-only access to any storage in non-entity contract.
492
- requireStakeSlot = slot;
493
- }
494
- else {
495
- // accessing arbitrary storage of another contract is not allowed
496
- const readWrite = Object.keys(writes).includes(addr)
497
- ? "write to"
498
- : "read from";
499
- const message = `${entityTitle} has forbidden ${readWrite} ${nameAddr(addr, entityTitle)} slot ${slot}`;
500
- throw new types_1.RpcError(message, types_1.ValidationErrors.OpcodeValidation, {
501
- [entityTitle]: entStakes?.addr
502
- });
503
- }
504
- }
505
- // if addr is current account/paymaster/factory, then return that title
506
- // otherwise, return addr as-is
507
- function nameAddr(addr, currentEntity) {
508
- const [title] = Object.entries(stakeInfoEntities).find(([title, info]) => info?.addr?.toLowerCase() === addr.toLowerCase()) ?? [];
509
- return title ?? addr;
510
- }
511
- requireCondAndStake(requireStakeSlot !== undefined, entStakes, `unstaked ${entityTitle} accessed ${nameAddr(addr, entityTitle)} slot ${requireStakeSlot}`);
512
- }
513
- // [EREP-050]
514
- if (entityTitle === "paymaster") {
515
- const validatePaymasterUserOp = callStack.find((call) => call.method === "validatePaymasterUserOp" &&
516
- call.to === entityAddr);
517
- const context = validatePaymasterUserOp?.return
518
- ? validatePaymasterUserOp?.return[0]
519
- : undefined;
520
- requireCondAndStake(context && context !== "0x", entStakes, "unstaked paymaster must not return context");
521
- }
522
- // check if the given entity is staked
523
- function isStaked(entStake) {
524
- return Boolean(entStake &&
525
- 1n <= entStake.stake &&
526
- 1n <= entStake.unstakeDelaySec);
527
- }
528
- // helper method: if condition is true, then entity must be staked.
529
- function requireCondAndStake(cond, entStake, failureMessage) {
530
- if (!cond) {
531
- return;
532
- }
533
- if (!entStake) {
534
- throw new Error(`internal: ${entityTitle} not in userOp, but has storage accesses in ${JSON.stringify(access)}`);
535
- }
536
- if (!isStaked(entStake)) {
537
- throw new types_1.RpcError(failureMessage, types_1.ValidationErrors.OpcodeValidation, {
538
- [entityTitle]: entStakes?.addr
539
- });
540
- }
541
- // TODO: check real minimum stake values
542
- }
543
- // the only contract we allow to access before its deployment is the "sender" itself, which gets created.
544
- // biome-ignore lint/suspicious/noExplicitAny: it's a generic type
545
- let illegalZeroCodeAccess;
546
- for (const addr of Object.keys(currentNumLevel.contractSize)) {
547
- // [OP-042]
548
- if (addr !== sender &&
549
- currentNumLevel.contractSize[addr].contractSize <= 2) {
550
- illegalZeroCodeAccess = currentNumLevel.contractSize[addr];
551
- illegalZeroCodeAccess.address = addr;
552
- break;
553
- }
554
- }
555
- // [OP-041]
556
- if (illegalZeroCodeAccess) {
557
- throw new types_1.RpcError(`${entityTitle} accesses un-deployed contract address ${illegalZeroCodeAccess?.address} with opcode ${illegalZeroCodeAccess?.opcode}`, types_1.ValidationErrors.OpcodeValidation);
558
- }
559
- let illegalEntryPointCodeAccess = undefined;
560
- for (const addr of Object.keys(currentNumLevel.extCodeAccessInfo)) {
561
- if (addr === entryPointAddress) {
562
- illegalEntryPointCodeAccess =
563
- currentNumLevel.extCodeAccessInfo[addr];
564
- break;
565
- }
566
- }
567
- if (illegalEntryPointCodeAccess) {
568
- throw new types_1.RpcError(`${entityTitle} accesses EntryPoint contract address ${entryPointAddress} with opcode ${illegalEntryPointCodeAccess}`, types_1.ValidationErrors.OpcodeValidation);
569
- }
570
- }
571
- // return list of contract addresses by this UserOp. already known not to contain zero-sized addresses.
572
- const addresses = tracerResults.callsFromEntryPoint.flatMap((level) => Object.keys(level.contractSize));
573
- const storageMap = {};
574
- for (const level of tracerResults.callsFromEntryPoint) {
575
- for (const addr of Object.keys(level.access)) {
576
- storageMap[addr] = storageMap[addr] ?? level.access[addr].reads;
577
- }
578
- }
579
- return [addresses, storageMap];
580
- }
581
- exports.tracerResultParserV06 = tracerResultParserV06;
582
- //# sourceMappingURL=TracerResultParserV06.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TracerResultParserV06.js","sourceRoot":"","sources":["../../../rpc/validation/TracerResultParserV06.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { type StakeInfo, type StorageMap, type UserOperationV07, type ValidationResultV07 } from "../../types/index.js";
2
- import { type Address, type Hex } from "viem";
3
- import type { BundlerTracerResult } from "./BundlerCollectorTracerV07.js";
4
- export type StakeInfoEntities = {
5
- factory?: StakeInfo;
6
- account?: StakeInfo;
7
- paymaster?: StakeInfo;
8
- };
9
- export declare function isStaked(entStake?: StakeInfo): boolean;
10
- export declare function associatedWith(slot: string, addr: string, entitySlots: {
11
- [addr: string]: Set<string>;
12
- }): boolean;
13
- /**
14
- * slots associated with each entity.
15
- * keccak( A || ...) is associated with "A"
16
- * removed rule: keccak( ... || ASSOC ) (for a previously associated hash) is also associated with "A"
17
- *
18
- * @param stakeInfoEntities stake info for (factory, account, paymaster). factory and paymaster can be null.
19
- * @param keccak array of buffers that were given to keccak in the transaction
20
- */
21
- export declare function parseEntitySlots(stakeInfoEntities: StakeInfoEntities, keccak: Hex[]): {
22
- [addr: string]: Set<string>;
23
- };
24
- /**
25
- * parse collected simulation traces and revert if they break our rules
26
- * @param userOperation the userOperation that was used in this simulation
27
- * @param tracerResults the tracer return value
28
- * @param validationResult output from simulateValidation
29
- * @param entryPoint the entryPoint that hosted the "simulatedValidation" traced call.
30
- * @return list of contract addresses referenced by this UserOp
31
- */
32
- export declare function tracerResultParserV07(userOperation: UserOperationV07, tracerResults: BundlerTracerResult, validationResult: ValidationResultV07, entryPointAddress: Address): [string[], StorageMap];
33
- //# sourceMappingURL=TracerResultParserV07.d.ts.map