@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,76 +0,0 @@
1
- import type { GasPriceManager } from "../handlers/index.js";
2
- import { type Address, type PackedUserOperation, type UserOperation, type UserOperationV06 } from "../types/index.js";
3
- import { type Chain, ContractFunctionRevertedError, EstimateGasExecutionError, FeeCapTooLowError, InsufficientFundsError, IntrinsicGasTooLowError, NonceTooLowError, type PublicClient, type Transport, InternalRpcError } from "viem";
4
- import type { AltoConfig } from "../createConfig.js";
5
- export interface GasOverheads {
6
- /**
7
- * fixed overhead for entire handleOp bundle.
8
- */
9
- fixed: number;
10
- /**
11
- * per userOp overhead, added on top of the above fixed per-bundle.
12
- */
13
- perUserOp: number;
14
- /**
15
- * overhead for userOp word (32 bytes) block
16
- */
17
- perUserOpWord: number;
18
- /**
19
- * zero byte cost, for calldata gas cost calculations
20
- */
21
- zeroByte: number;
22
- /**
23
- * non-zero byte cost, for calldata gas cost calculations
24
- */
25
- nonZeroByte: number;
26
- /**
27
- * expected bundle size, to split per-bundle overhead between all ops.
28
- */
29
- bundleSize: number;
30
- /**
31
- * expected length of the userOp signature.
32
- */
33
- sigSize: number;
34
- }
35
- export declare const DefaultGasOverheads: GasOverheads;
36
- /**
37
- * pack the userOperation
38
- * @param op
39
- * "false" to pack entire UserOp, for calculating the calldata cost of putting it on-chain.
40
- */
41
- export declare function packUserOpV06(op: UserOperationV06): `0x${string}`;
42
- export declare function removeZeroBytesFromUserOp<T extends UserOperation>(userOpearation: T): T extends UserOperationV06 ? UserOperationV06 : PackedUserOperation;
43
- export declare function packUserOpV07(op: PackedUserOperation): `0x${string}`;
44
- export declare function calcPreVerificationGas({ config, userOperation, entryPoint, gasPriceManager, validate, overheads }: {
45
- config: AltoConfig;
46
- userOperation: UserOperation;
47
- entryPoint: Address;
48
- gasPriceManager: GasPriceManager;
49
- validate: boolean;
50
- overheads?: GasOverheads;
51
- }): Promise<bigint>;
52
- export declare function calcVerificationGasAndCallGasLimit(userOperation: UserOperation, executionResult: {
53
- preOpGas: bigint;
54
- paid: bigint;
55
- }, chainId: number, gasLimits?: {
56
- callGasLimit?: bigint;
57
- verificationGasLimit?: bigint;
58
- paymasterVerificationGasLimit?: bigint;
59
- }): {
60
- verificationGasLimit: bigint;
61
- callGasLimit: bigint;
62
- paymasterVerificationGasLimit: bigint;
63
- };
64
- /**
65
- * calculate the preVerificationGas of the given UserOperation
66
- * preVerificationGas (by definition) is the cost overhead that can't be calculated on-chain.
67
- * it is based on parameters that are defined by the Ethereum protocol for external transactions.
68
- * @param userOp filled userOp to calculate. The only possible missing fields can be the signature and preVerificationGas itself
69
- * @param overheads gas overheads to use, to override the default values
70
- */
71
- export declare function calcDefaultPreVerificationGas(userOperation: UserOperation, overheads?: Partial<GasOverheads>): bigint;
72
- export declare function calcMantlePreVerificationGas(publicClient: PublicClient<Transport, Chain>, op: UserOperation, entryPoint: Address, staticFee: bigint, gasPriceManager: GasPriceManager, verify?: boolean): Promise<bigint>;
73
- export declare function calcOptimismPreVerificationGas(publicClient: PublicClient<Transport, Chain>, op: UserOperation, entryPoint: Address, staticFee: bigint, gasPriceManager: GasPriceManager, validate: boolean): Promise<bigint>;
74
- export declare function calcArbitrumPreVerificationGas(publicClient: PublicClient<Transport, Chain | undefined>, op: UserOperation, entryPoint: Address, staticFee: bigint, gasPriceManager: GasPriceManager, validate: boolean): Promise<bigint>;
75
- export declare function parseViemError(err: unknown): NonceTooLowError | FeeCapTooLowError | InsufficientFundsError | IntrinsicGasTooLowError | ContractFunctionRevertedError | EstimateGasExecutionError | InternalRpcError | undefined;
76
- //# sourceMappingURL=validation.d.ts.map
@@ -1,500 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseViemError = exports.calcArbitrumPreVerificationGas = exports.calcOptimismPreVerificationGas = exports.calcMantlePreVerificationGas = exports.calcDefaultPreVerificationGas = exports.calcVerificationGasAndCallGasLimit = exports.calcPreVerificationGas = exports.packUserOpV07 = exports.removeZeroBytesFromUserOp = exports.packUserOpV06 = exports.DefaultGasOverheads = void 0;
7
- const types_1 = require("../types/index.js");
8
- const viem_1 = require("viem");
9
- const chains_1 = require("viem/chains");
10
- const bigInt_1 = require("./bigInt.js");
11
- const userop_1 = require("./userop.js");
12
- const ArbitrumL1FeeAbi_1 = require("../types/contracts/ArbitrumL1FeeAbi.js");
13
- const crypto_1 = __importDefault(require("crypto"));
14
- exports.DefaultGasOverheads = {
15
- fixed: 21000,
16
- perUserOp: 18300,
17
- perUserOpWord: 4,
18
- zeroByte: 4,
19
- nonZeroByte: 16,
20
- bundleSize: 1,
21
- sigSize: 65
22
- };
23
- /**
24
- * pack the userOperation
25
- * @param op
26
- * "false" to pack entire UserOp, for calculating the calldata cost of putting it on-chain.
27
- */
28
- function packUserOpV06(op) {
29
- return (0, viem_1.encodeAbiParameters)([
30
- {
31
- internalType: "address",
32
- name: "sender",
33
- type: "address"
34
- },
35
- {
36
- internalType: "uint256",
37
- name: "nonce",
38
- type: "uint256"
39
- },
40
- {
41
- internalType: "bytes",
42
- name: "initCode",
43
- type: "bytes"
44
- },
45
- {
46
- internalType: "bytes",
47
- name: "callData",
48
- type: "bytes"
49
- },
50
- {
51
- internalType: "uint256",
52
- name: "callGasLimit",
53
- type: "uint256"
54
- },
55
- {
56
- internalType: "uint256",
57
- name: "verificationGasLimit",
58
- type: "uint256"
59
- },
60
- {
61
- internalType: "uint256",
62
- name: "preVerificationGas",
63
- type: "uint256"
64
- },
65
- {
66
- internalType: "uint256",
67
- name: "maxFeePerGas",
68
- type: "uint256"
69
- },
70
- {
71
- internalType: "uint256",
72
- name: "maxPriorityFeePerGas",
73
- type: "uint256"
74
- },
75
- {
76
- internalType: "bytes",
77
- name: "paymasterAndData",
78
- type: "bytes"
79
- },
80
- {
81
- internalType: "bytes",
82
- name: "signature",
83
- type: "bytes"
84
- }
85
- ], [
86
- op.sender,
87
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
88
- op.initCode,
89
- op.callData,
90
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
91
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
92
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
93
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
94
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
95
- (0, viem_1.bytesToHex)(new Uint8Array(op.paymasterAndData.length).fill(255)),
96
- (0, viem_1.bytesToHex)(new Uint8Array(op.signature.length).fill(255))
97
- ]);
98
- }
99
- exports.packUserOpV06 = packUserOpV06;
100
- function removeZeroBytesFromUserOp(userOpearation) {
101
- if ((0, userop_1.isVersion06)(userOpearation)) {
102
- return {
103
- sender: userOpearation.sender,
104
- nonce: userOpearation.nonce,
105
- initCode: userOpearation.initCode,
106
- callData: userOpearation.callData,
107
- callGasLimit: viem_1.maxUint256,
108
- verificationGasLimit: viem_1.maxUint256,
109
- preVerificationGas: viem_1.maxUint256,
110
- maxFeePerGas: viem_1.maxUint256,
111
- maxPriorityFeePerGas: viem_1.maxUint256,
112
- paymasterAndData: (0, viem_1.bytesToHex)(new Uint8Array(userOpearation.paymasterAndData.length).fill(255)),
113
- signature: (0, viem_1.bytesToHex)(new Uint8Array(userOpearation.signature.length).fill(255))
114
- };
115
- }
116
- const packedUserOperation = (0, userop_1.toPackedUserOperation)(userOpearation);
117
- return {
118
- sender: packedUserOperation.sender,
119
- nonce: viem_1.maxUint256,
120
- initCode: packedUserOperation.initCode,
121
- callData: packedUserOperation.callData,
122
- accountGasLimits: (0, viem_1.toHex)(viem_1.maxUint256),
123
- preVerificationGas: viem_1.maxUint256,
124
- gasFees: (0, viem_1.toHex)(viem_1.maxUint256),
125
- paymasterAndData: (0, viem_1.bytesToHex)(new Uint8Array(packedUserOperation.paymasterAndData.length).fill(255)),
126
- signature: (0, viem_1.bytesToHex)(new Uint8Array(packedUserOperation.signature.length).fill(255))
127
- };
128
- }
129
- exports.removeZeroBytesFromUserOp = removeZeroBytesFromUserOp;
130
- function packUserOpV07(op) {
131
- return (0, viem_1.encodeAbiParameters)([
132
- {
133
- internalType: "address",
134
- name: "sender",
135
- type: "address"
136
- },
137
- {
138
- internalType: "uint256",
139
- name: "nonce",
140
- type: "uint256"
141
- },
142
- {
143
- internalType: "bytes",
144
- name: "initCode",
145
- type: "bytes"
146
- },
147
- {
148
- internalType: "bytes",
149
- name: "callData",
150
- type: "bytes"
151
- },
152
- {
153
- internalType: "uint256",
154
- name: "accountGasLimits",
155
- type: "bytes32"
156
- },
157
- {
158
- internalType: "uint256",
159
- name: "preVerificationGas",
160
- type: "uint256"
161
- },
162
- {
163
- internalType: "uint256",
164
- name: "gasFees",
165
- type: "bytes32"
166
- },
167
- {
168
- internalType: "bytes",
169
- name: "paymasterAndData",
170
- type: "bytes"
171
- },
172
- {
173
- internalType: "bytes",
174
- name: "signature",
175
- type: "bytes"
176
- }
177
- ], [
178
- op.sender,
179
- op.nonce, // need non zero bytes to get better estimations for preVerificationGas
180
- op.initCode,
181
- op.callData,
182
- op.accountGasLimits, // need non zero bytes to get better estimations for preVerificationGas
183
- op.preVerificationGas, // need non zero bytes to get better estimations for preVerificationGas
184
- op.gasFees, // need non zero bytes to get better estimations for preVerificationGas
185
- op.paymasterAndData,
186
- op.signature
187
- ]);
188
- }
189
- exports.packUserOpV07 = packUserOpV07;
190
- async function calcPreVerificationGas({ config, userOperation, entryPoint, gasPriceManager, validate, overheads }) {
191
- let preVerificationGas = calcDefaultPreVerificationGas(userOperation, overheads);
192
- if (config.chainId == chains_1.lineaSepolia.id) {
193
- return preVerificationGas * 2n;
194
- }
195
- switch (config.chainType) {
196
- case "op-stack":
197
- return await calcOptimismPreVerificationGas(config.publicClient, userOperation, entryPoint, preVerificationGas, gasPriceManager, validate);
198
- case "arbitrum":
199
- return await calcArbitrumPreVerificationGas(config.publicClient, userOperation, entryPoint, preVerificationGas, gasPriceManager, validate);
200
- case "mantle":
201
- return await calcMantlePreVerificationGas(config.publicClient, userOperation, entryPoint, preVerificationGas, gasPriceManager, validate);
202
- default:
203
- return preVerificationGas;
204
- }
205
- }
206
- exports.calcPreVerificationGas = calcPreVerificationGas;
207
- function calcVerificationGasAndCallGasLimit(userOperation, executionResult, chainId, gasLimits) {
208
- const verificationGasLimit = gasLimits?.verificationGasLimit ??
209
- (0, bigInt_1.scaleBigIntByPercent)(executionResult.preOpGas - userOperation.preVerificationGas, 150n);
210
- const calculatedCallGasLimit = gasLimits?.callGasLimit ??
211
- executionResult.paid / userOperation.maxFeePerGas -
212
- executionResult.preOpGas;
213
- let callGasLimit = (0, bigInt_1.maxBigInt)(calculatedCallGasLimit, 9000n);
214
- if ((0, userop_1.isVersion06)(userOperation)) {
215
- callGasLimit += 21000n + 50000n;
216
- }
217
- if (chainId === chains_1.baseGoerli.id ||
218
- chainId === chains_1.baseSepolia.id ||
219
- chainId === chains_1.base.id) {
220
- callGasLimit = (0, bigInt_1.scaleBigIntByPercent)(callGasLimit, 110n);
221
- }
222
- return {
223
- verificationGasLimit,
224
- callGasLimit,
225
- paymasterVerificationGasLimit: gasLimits?.paymasterVerificationGasLimit ?? 0n
226
- };
227
- }
228
- exports.calcVerificationGasAndCallGasLimit = calcVerificationGasAndCallGasLimit;
229
- /**
230
- * calculate the preVerificationGas of the given UserOperation
231
- * preVerificationGas (by definition) is the cost overhead that can't be calculated on-chain.
232
- * it is based on parameters that are defined by the Ethereum protocol for external transactions.
233
- * @param userOp filled userOp to calculate. The only possible missing fields can be the signature and preVerificationGas itself
234
- * @param overheads gas overheads to use, to override the default values
235
- */
236
- function calcDefaultPreVerificationGas(userOperation, overheads) {
237
- const ov = { ...exports.DefaultGasOverheads, ...(overheads ?? {}) };
238
- const p = removeZeroBytesFromUserOp(userOperation);
239
- let packed;
240
- if ((0, userop_1.isVersion06)(userOperation)) {
241
- packed = (0, viem_1.toBytes)(packUserOpV06(p));
242
- }
243
- else {
244
- packed = (0, viem_1.toBytes)(packUserOpV07(p));
245
- }
246
- const lengthInWord = (packed.length + 31) / 32;
247
- const callDataCost = packed
248
- .map((x) => (x === 0 ? ov.zeroByte : ov.nonZeroByte))
249
- .reduce((sum, x) => sum + x);
250
- const authorizationCost = userOperation.eip7702Auth
251
- ? 37500 // overhead for PER_EMPTY_ACCOUNT_COST + PER_AUTH_BASE_COST
252
- : 0;
253
- const ret = Math.round(authorizationCost +
254
- callDataCost +
255
- ov.fixed / ov.bundleSize +
256
- ov.perUserOp +
257
- ov.perUserOpWord * lengthInWord);
258
- return BigInt(ret);
259
- }
260
- exports.calcDefaultPreVerificationGas = calcDefaultPreVerificationGas;
261
- // Returns back the bytes for the handleOps call
262
- function getHandleOpsCallData(op, entryPoint) {
263
- if ((0, userop_1.isVersion07)(op)) {
264
- return (0, viem_1.encodeFunctionData)({
265
- abi: types_1.EntryPointV07Abi,
266
- functionName: "handleOps",
267
- args: [[removeZeroBytesFromUserOp(op)], entryPoint]
268
- });
269
- }
270
- return (0, viem_1.encodeFunctionData)({
271
- abi: types_1.EntryPointV06Abi,
272
- functionName: "handleOps",
273
- args: [[removeZeroBytesFromUserOp(op)], entryPoint]
274
- });
275
- }
276
- async function calcMantlePreVerificationGas(publicClient, op, entryPoint, staticFee, gasPriceManager, verify) {
277
- const data = getHandleOpsCallData(op, entryPoint);
278
- const serializedTx = (0, viem_1.serializeTransaction)({
279
- to: entryPoint,
280
- chainId: publicClient.chain.id,
281
- nonce: 999999,
282
- gasLimit: viem_1.maxUint64,
283
- gasPrice: viem_1.maxUint64,
284
- data
285
- }, {
286
- r: "0x123451234512345123451234512345123451234512345123451234512345",
287
- s: "0x123451234512345123451234512345123451234512345123451234512345",
288
- v: 28n
289
- });
290
- let tokenRatio;
291
- let scalar;
292
- let rollupDataGasAndOverhead;
293
- let l1GasPrice;
294
- const mantleManager = gasPriceManager.mantleManager;
295
- if (verify) {
296
- const minValues = await mantleManager.getMinMantleOracleValues();
297
- tokenRatio = minValues.minTokenRatio;
298
- scalar = minValues.minScalar;
299
- rollupDataGasAndOverhead = minValues.minRollupDataGasAndOverhead;
300
- l1GasPrice = minValues.minL1GasPrice;
301
- }
302
- else {
303
- ;
304
- [tokenRatio, scalar, rollupDataGasAndOverhead, l1GasPrice] =
305
- await Promise.all([
306
- publicClient.readContract({
307
- address: "0x420000000000000000000000000000000000000F",
308
- abi: types_1.MantleBvmGasPriceOracleAbi,
309
- functionName: "tokenRatio"
310
- }),
311
- publicClient.readContract({
312
- address: "0x420000000000000000000000000000000000000F",
313
- abi: types_1.MantleBvmGasPriceOracleAbi,
314
- functionName: "scalar"
315
- }),
316
- publicClient.readContract({
317
- address: "0x420000000000000000000000000000000000000F",
318
- abi: types_1.MantleBvmGasPriceOracleAbi,
319
- functionName: "getL1GasUsed",
320
- args: [serializedTx]
321
- }),
322
- publicClient.readContract({
323
- address: "0x420000000000000000000000000000000000000F",
324
- abi: types_1.MantleBvmGasPriceOracleAbi,
325
- functionName: "l1BaseFee"
326
- })
327
- ]);
328
- mantleManager.saveMantleOracleValues({
329
- tokenRatio,
330
- scalar,
331
- rollupDataGasAndOverhead,
332
- l1GasPrice
333
- });
334
- }
335
- const mantleL1RollUpFeeDivisionFactor = 1000000n;
336
- const l1RollupFee = (rollupDataGasAndOverhead * l1GasPrice * tokenRatio * scalar) /
337
- mantleL1RollUpFeeDivisionFactor;
338
- const maxFeePerGas = await (verify
339
- ? gasPriceManager.getHighestMaxFeePerGas()
340
- : gasPriceManager.getGasPrice().then((res) => res.maxFeePerGas));
341
- const l2MaxFee = BigInt(maxFeePerGas);
342
- return staticFee + l1RollupFee / l2MaxFee;
343
- }
344
- exports.calcMantlePreVerificationGas = calcMantlePreVerificationGas;
345
- function getOpStackHandleOpsCallData(op, entryPoint, verify) {
346
- let modifiedOp = {
347
- ...op
348
- };
349
- // Only randomize signature during estimations.
350
- if (!verify) {
351
- const randomizeBytes = (length) => (0, viem_1.toHex)(crypto_1.default.randomBytes(length).toString("hex"));
352
- const sigLength = (0, viem_1.size)(op.signature);
353
- let newSignature;
354
- if (sigLength < 65) {
355
- // For short signatures, randomize the entire thing
356
- newSignature = randomizeBytes(sigLength);
357
- }
358
- else {
359
- // For longer signatures, only randomize the last 65 bytes
360
- const originalPart = (0, viem_1.slice)(op.signature, 0, sigLength - 65);
361
- const randomPart = randomizeBytes(65);
362
- newSignature = (0, viem_1.concat)([originalPart, randomPart]);
363
- }
364
- modifiedOp = {
365
- ...op,
366
- signature: newSignature
367
- };
368
- }
369
- if ((0, userop_1.isVersion07)(modifiedOp)) {
370
- return (0, viem_1.encodeFunctionData)({
371
- abi: types_1.EntryPointV07Abi,
372
- functionName: "handleOps",
373
- args: [[(0, userop_1.toPackedUserOperation)(modifiedOp)], entryPoint]
374
- });
375
- }
376
- return (0, viem_1.encodeFunctionData)({
377
- abi: types_1.EntryPointV06Abi,
378
- functionName: "handleOps",
379
- args: [[modifiedOp], entryPoint]
380
- });
381
- }
382
- async function calcOptimismPreVerificationGas(publicClient, op, entryPoint, staticFee, gasPriceManager, validate) {
383
- const data = getOpStackHandleOpsCallData(op, entryPoint, validate);
384
- const serializedTx = (0, viem_1.serializeTransaction)({
385
- to: entryPoint,
386
- chainId: publicClient.chain.id,
387
- maxFeePerGas: (0, viem_1.parseGwei)("120"),
388
- maxPriorityFeePerGas: (0, viem_1.parseGwei)("120"),
389
- gas: 10000000n,
390
- data
391
- }, {
392
- r: "0x123451234512345123451234512345123451234512345123451234512345",
393
- s: "0x123451234512345123451234512345123451234512345123451234512345",
394
- yParity: 1
395
- });
396
- const opGasPriceOracle = (0, viem_1.getContract)({
397
- abi: types_1.OpL1FeeAbi,
398
- address: "0x420000000000000000000000000000000000000F",
399
- client: {
400
- public: publicClient
401
- }
402
- });
403
- const [l1Fee, baseFeePerGas] = await Promise.all([
404
- validate
405
- ? gasPriceManager.optimismManager.getMinL1Fee()
406
- : opGasPriceOracle.read.getL1Fee([serializedTx]),
407
- validate
408
- ? gasPriceManager.getMaxBaseFeePerGas()
409
- : gasPriceManager.getBaseFee()
410
- ]);
411
- let l2MaxFee;
412
- let l2PriorityFee;
413
- if (validate) {
414
- l2MaxFee = await gasPriceManager.getHighestMaxFeePerGas();
415
- l2PriorityFee =
416
- baseFeePerGas +
417
- (await gasPriceManager.getHighestMaxPriorityFeePerGas());
418
- }
419
- else {
420
- const gasPrices = await gasPriceManager.getGasPrice();
421
- l2MaxFee = gasPrices.maxFeePerGas;
422
- l2PriorityFee = baseFeePerGas + gasPrices.maxPriorityFeePerGas;
423
- }
424
- const l2price = (0, bigInt_1.minBigInt)(l2MaxFee, l2PriorityFee);
425
- return staticFee + l1Fee / l2price;
426
- }
427
- exports.calcOptimismPreVerificationGas = calcOptimismPreVerificationGas;
428
- async function calcArbitrumPreVerificationGas(publicClient, op, entryPoint, staticFee, gasPriceManager, validate) {
429
- const data = getHandleOpsCallData(op, entryPoint);
430
- const precompileAddress = "0x00000000000000000000000000000000000000C8";
431
- const serializedTx = (0, viem_1.serializeTransaction)({
432
- to: entryPoint,
433
- chainId: publicClient.chain?.id ?? 10,
434
- nonce: 999999,
435
- gasLimit: viem_1.maxUint64,
436
- gasPrice: viem_1.maxUint64,
437
- data
438
- }, {
439
- r: "0x123451234512345123451234512345123451234512345123451234512345",
440
- s: "0x123451234512345123451234512345123451234512345123451234512345",
441
- v: 28n
442
- });
443
- const arbGasPriceOracle = (0, viem_1.getContract)({
444
- abi: ArbitrumL1FeeAbi_1.ArbitrumL1FeeAbi,
445
- address: precompileAddress,
446
- client: {
447
- public: publicClient
448
- }
449
- });
450
- const { result } = await arbGasPriceOracle.simulate.gasEstimateL1Component([
451
- entryPoint,
452
- false,
453
- serializedTx
454
- ]);
455
- let [gasForL1, l2BaseFee, l1BaseFeeEstimate] = result;
456
- const arbitrumManager = gasPriceManager.arbitrumManager;
457
- arbitrumManager.saveL1BaseFee(l1BaseFeeEstimate);
458
- arbitrumManager.saveL2BaseFee(l2BaseFee);
459
- if (validate) {
460
- const [maxL1Fee, minL1Fee, maxL2Fee] = await Promise.all([
461
- l1BaseFeeEstimate || arbitrumManager.getMaxL1BaseFee(),
462
- arbitrumManager.getMinL1BaseFee(),
463
- arbitrumManager.getMaxL2BaseFee()
464
- ]);
465
- gasForL1 = (gasForL1 * l2BaseFee * minL1Fee) / (maxL1Fee * maxL2Fee);
466
- }
467
- return staticFee + gasForL1;
468
- }
469
- exports.calcArbitrumPreVerificationGas = calcArbitrumPreVerificationGas;
470
- function parseViemError(err) {
471
- if (err instanceof viem_1.ContractFunctionExecutionError ||
472
- err instanceof viem_1.TransactionExecutionError) {
473
- const e = err.cause;
474
- if (e instanceof viem_1.NonceTooLowError) {
475
- return e;
476
- }
477
- if (e instanceof viem_1.FeeCapTooLowError) {
478
- return e;
479
- }
480
- if (e instanceof viem_1.InsufficientFundsError) {
481
- return e;
482
- }
483
- if (e instanceof viem_1.IntrinsicGasTooLowError) {
484
- return e;
485
- }
486
- if (e instanceof viem_1.ContractFunctionRevertedError) {
487
- return e;
488
- }
489
- if (e instanceof viem_1.EstimateGasExecutionError) {
490
- return e;
491
- }
492
- if (e instanceof viem_1.InternalRpcError) {
493
- return e;
494
- }
495
- return;
496
- }
497
- return;
498
- }
499
- exports.parseViemError = parseViemError;
500
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../utils/validation.ts"],"names":[],"mappings":"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"}