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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/contracts/EIP712.sol/EIP712.json +1 -0
  2. package/contracts/ERC165.sol/ERC165.json +1 -0
  3. package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -0
  4. package/contracts/EntryPoint.sol/EntryPoint.json +1 -0
  5. package/contracts/EntryPointCodeOverride.sol/EntryPointCodeOverride.json +1 -0
  6. package/contracts/EntryPointSimulations.sol/EntryPointSimulations.json +1 -0
  7. package/contracts/Exec.sol/Exec.json +1 -0
  8. package/contracts/IAccount.sol/IAccount.json +1 -0
  9. package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -0
  10. package/contracts/IAggregator.sol/IAggregator.json +1 -0
  11. package/contracts/IERC165.sol/IERC165.json +1 -0
  12. package/contracts/IERC5267.sol/IERC5267.json +1 -0
  13. package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -0
  14. package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -0
  15. package/contracts/INonceManager.sol/INonceManager.json +1 -0
  16. package/contracts/IPaymaster.sol/IPaymaster.json +1 -0
  17. package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -0
  18. package/contracts/IStakeManager.sol/IStakeManager.json +1 -0
  19. package/contracts/Math.sol/Math.json +1 -0
  20. package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -0
  21. package/contracts/NonceManager.sol/NonceManager.json +1 -0
  22. package/contracts/Panic.sol/Panic.json +1 -0
  23. package/contracts/PimlicoEntryPointSimulationsV7.sol/PimlicoEntryPointSimulationsV7.json +1 -0
  24. package/contracts/PimlicoEntryPointSimulationsV8.sol/PimlicoEntryPointSimulationsV8.json +1 -0
  25. package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
  26. package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -0
  27. package/contracts/SafeCast.sol/SafeCast.json +1 -0
  28. package/contracts/SenderCreator.sol/SenderCreator.json +1 -0
  29. package/contracts/ShortStrings.sol/ShortStrings.json +1 -0
  30. package/contracts/SignedMath.sol/SignedMath.json +1 -0
  31. package/contracts/StakeManager.sol/StakeManager.json +1 -0
  32. package/contracts/StorageSlot.sol/StorageSlot.json +1 -0
  33. package/contracts/Strings.sol/Strings.json +1 -0
  34. package/contracts/TransientSlot.sol/TransientSlot.json +1 -0
  35. package/contracts/UserOperation.sol/UserOperationLib.json +1 -0
  36. package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -0
  37. package/contracts/build-info/0c52dc19c74a9a932ddddcca463ce398.json +1 -0
  38. package/contracts/build-info/a1d9af887789a0ade8ffbc8b045f0780.json +1 -0
  39. package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
  40. package/esm/cli/deploySimulationsContract.js +14 -5
  41. package/esm/cli/deploySimulationsContract.js.map +1 -1
  42. package/esm/cli/handler.js +4 -0
  43. package/esm/cli/handler.js.map +1 -1
  44. package/package.json +2 -1
  45. package/lib/cli/alto.d.ts +0 -7
  46. package/lib/cli/alto.js +0 -141
  47. package/lib/cli/alto.js.map +0 -1
  48. package/lib/cli/config/bundler.d.ts +0 -2872
  49. package/lib/cli/config/bundler.js +0 -242
  50. package/lib/cli/config/bundler.js.map +0 -1
  51. package/lib/cli/config/index.d.ts +0 -3
  52. package/lib/cli/config/index.js +0 -19
  53. package/lib/cli/config/index.js.map +0 -1
  54. package/lib/cli/config/options.d.ts +0 -13
  55. package/lib/cli/config/options.js +0 -587
  56. package/lib/cli/config/options.js.map +0 -1
  57. package/lib/cli/customTransport.d.ts +0 -14
  58. package/lib/cli/customTransport.js +0 -94
  59. package/lib/cli/customTransport.js.map +0 -1
  60. package/lib/cli/deploySimulationsContract.d.ts +0 -13
  61. package/lib/cli/deploySimulationsContract.js +0 -100
  62. package/lib/cli/deploySimulationsContract.js.map +0 -1
  63. package/lib/cli/handler.d.ts +0 -3
  64. package/lib/cli/handler.js +0 -157
  65. package/lib/cli/handler.js.map +0 -1
  66. package/lib/cli/index.d.ts +0 -4
  67. package/lib/cli/index.js +0 -20
  68. package/lib/cli/index.js.map +0 -1
  69. package/lib/cli/instrumentation.d.ts +0 -2
  70. package/lib/cli/instrumentation.js +0 -47
  71. package/lib/cli/instrumentation.js.map +0 -1
  72. package/lib/cli/parseArgs.d.ts +0 -8
  73. package/lib/cli/parseArgs.js +0 -25
  74. package/lib/cli/parseArgs.js.map +0 -1
  75. package/lib/cli/setupServer.d.ts +0 -13
  76. package/lib/cli/setupServer.js +0 -266
  77. package/lib/cli/setupServer.js.map +0 -1
  78. package/lib/cli/util.d.ts +0 -22
  79. package/lib/cli/util.js +0 -34
  80. package/lib/cli/util.js.map +0 -1
  81. package/lib/createConfig.d.ts +0 -16
  82. package/lib/createConfig.js +0 -13
  83. package/lib/createConfig.js.map +0 -1
  84. package/lib/executor/executor.d.ts +0 -65
  85. package/lib/executor/executor.js +0 -301
  86. package/lib/executor/executor.js.map +0 -1
  87. package/lib/executor/executorManager.d.ts +0 -108
  88. package/lib/executor/executorManager.js +0 -702
  89. package/lib/executor/executorManager.js.map +0 -1
  90. package/lib/executor/fastlane.d.ts +0 -9
  91. package/lib/executor/fastlane.js +0 -41
  92. package/lib/executor/fastlane.js.map +0 -1
  93. package/lib/executor/filterOpsAndEStimateGas.d.ts +0 -29
  94. package/lib/executor/filterOpsAndEStimateGas.js +0 -225
  95. package/lib/executor/filterOpsAndEStimateGas.js.map +0 -1
  96. package/lib/executor/index.d.ts +0 -5
  97. package/lib/executor/index.js +0 -21
  98. package/lib/executor/index.js.map +0 -1
  99. package/lib/executor/senderManager/createMemorySenderManager.d.ts +0 -8
  100. package/lib/executor/senderManager/createMemorySenderManager.js +0 -45
  101. package/lib/executor/senderManager/createMemorySenderManager.js.map +0 -1
  102. package/lib/executor/senderManager/createRedisSenderManager.d.ts +0 -8
  103. package/lib/executor/senderManager/createRedisSenderManager.js +0 -85
  104. package/lib/executor/senderManager/createRedisSenderManager.js.map +0 -1
  105. package/lib/executor/senderManager/flushOnStartUp.d.ts +0 -9
  106. package/lib/executor/senderManager/flushOnStartUp.js +0 -37
  107. package/lib/executor/senderManager/flushOnStartUp.js.map +0 -1
  108. package/lib/executor/senderManager/index.d.ts +0 -15
  109. package/lib/executor/senderManager/index.js +0 -25
  110. package/lib/executor/senderManager/index.js.map +0 -1
  111. package/lib/executor/senderManager/validateAndRefill.d.ts +0 -11
  112. package/lib/executor/senderManager/validateAndRefill.js +0 -115
  113. package/lib/executor/senderManager/validateAndRefill.js.map +0 -1
  114. package/lib/executor/utilityWalletMonitor.d.ts +0 -19
  115. package/lib/executor/utilityWalletMonitor.js +0 -42
  116. package/lib/executor/utilityWalletMonitor.js.map +0 -1
  117. package/lib/executor/utils.d.ts +0 -34
  118. package/lib/executor/utils.js +0 -167
  119. package/lib/executor/utils.js.map +0 -1
  120. package/lib/handlers/arbitrumGasPriceManager.d.ts +0 -14
  121. package/lib/handlers/arbitrumGasPriceManager.js +0 -39
  122. package/lib/handlers/arbitrumGasPriceManager.js.map +0 -1
  123. package/lib/handlers/eventManager.d.ts +0 -29
  124. package/lib/handlers/eventManager.js +0 -225
  125. package/lib/handlers/eventManager.js.map +0 -1
  126. package/lib/handlers/gasPriceManager.d.ts +0 -36
  127. package/lib/handlers/gasPriceManager.js +0 -391
  128. package/lib/handlers/gasPriceManager.js.map +0 -1
  129. package/lib/handlers/index.d.ts +0 -3
  130. package/lib/handlers/index.js +0 -19
  131. package/lib/handlers/index.js.map +0 -1
  132. package/lib/handlers/mantleGasPriceManager.d.ts +0 -23
  133. package/lib/handlers/mantleGasPriceManager.js +0 -44
  134. package/lib/handlers/mantleGasPriceManager.js.map +0 -1
  135. package/lib/handlers/optimismManager.d.ts +0 -10
  136. package/lib/handlers/optimismManager.js +0 -21
  137. package/lib/handlers/optimismManager.js.map +0 -1
  138. package/lib/index.d.ts +0 -2
  139. package/lib/index.js +0 -4
  140. package/lib/index.js.map +0 -1
  141. package/lib/mempool/index.d.ts +0 -4
  142. package/lib/mempool/index.js +0 -20
  143. package/lib/mempool/index.js.map +0 -1
  144. package/lib/mempool/mempool.d.ts +0 -191
  145. package/lib/mempool/mempool.js +0 -499
  146. package/lib/mempool/mempool.js.map +0 -1
  147. package/lib/mempool/monitoring.d.ts +0 -14
  148. package/lib/mempool/monitoring.js +0 -101
  149. package/lib/mempool/monitoring.js.map +0 -1
  150. package/lib/mempool/reputationManager.d.ts +0 -121
  151. package/lib/mempool/reputationManager.js +0 -472
  152. package/lib/mempool/reputationManager.js.map +0 -1
  153. package/lib/rpc/createMethodHandler.d.ts +0 -31
  154. package/lib/rpc/createMethodHandler.js +0 -34
  155. package/lib/rpc/createMethodHandler.js.map +0 -1
  156. package/lib/rpc/estimation/gasEstimationHandler.d.ts +0 -30
  157. package/lib/rpc/estimation/gasEstimationHandler.js +0 -50
  158. package/lib/rpc/estimation/gasEstimationHandler.js.map +0 -1
  159. package/lib/rpc/estimation/gasEstimationsV06.d.ts +0 -19
  160. package/lib/rpc/estimation/gasEstimationsV06.js +0 -148
  161. package/lib/rpc/estimation/gasEstimationsV06.js.map +0 -1
  162. package/lib/rpc/estimation/gasEstimationsV07.d.ts +0 -101
  163. package/lib/rpc/estimation/gasEstimationsV07.js +0 -727
  164. package/lib/rpc/estimation/gasEstimationsV07.js.map +0 -1
  165. package/lib/rpc/estimation/types.d.ts +0 -120
  166. package/lib/rpc/estimation/types.js +0 -125
  167. package/lib/rpc/estimation/types.js.map +0 -1
  168. package/lib/rpc/index.d.ts +0 -4
  169. package/lib/rpc/index.js +0 -20
  170. package/lib/rpc/index.js.map +0 -1
  171. package/lib/rpc/methods/debug_bundler_clearReputation.d.ts +0 -22
  172. package/lib/rpc/methods/debug_bundler_clearReputation.js +0 -15
  173. package/lib/rpc/methods/debug_bundler_clearReputation.js.map +0 -1
  174. package/lib/rpc/methods/debug_bundler_clearState.d.ts +0 -22
  175. package/lib/rpc/methods/debug_bundler_clearState.js +0 -16
  176. package/lib/rpc/methods/debug_bundler_clearState.js.map +0 -1
  177. package/lib/rpc/methods/debug_bundler_dumpMempool.d.ts +0 -973
  178. package/lib/rpc/methods/debug_bundler_dumpMempool.js +0 -16
  179. package/lib/rpc/methods/debug_bundler_dumpMempool.js.map +0 -1
  180. package/lib/rpc/methods/debug_bundler_dumpReputation.d.ts +0 -57
  181. package/lib/rpc/methods/debug_bundler_dumpReputation.js +0 -16
  182. package/lib/rpc/methods/debug_bundler_dumpReputation.js.map +0 -1
  183. package/lib/rpc/methods/debug_bundler_getStakeStatus.d.ts +0 -79
  184. package/lib/rpc/methods/debug_bundler_getStakeStatus.js +0 -25
  185. package/lib/rpc/methods/debug_bundler_getStakeStatus.js.map +0 -1
  186. package/lib/rpc/methods/debug_bundler_sendBundleNow.d.ts +0 -22
  187. package/lib/rpc/methods/debug_bundler_sendBundleNow.js +0 -15
  188. package/lib/rpc/methods/debug_bundler_sendBundleNow.js.map +0 -1
  189. package/lib/rpc/methods/debug_bundler_setBundlingMode.d.ts +0 -22
  190. package/lib/rpc/methods/debug_bundler_setBundlingMode.js +0 -16
  191. package/lib/rpc/methods/debug_bundler_setBundlingMode.js.map +0 -1
  192. package/lib/rpc/methods/debug_bundler_setReputation.d.ts +0 -46
  193. package/lib/rpc/methods/debug_bundler_setReputation.js +0 -16
  194. package/lib/rpc/methods/debug_bundler_setReputation.js.map +0 -1
  195. package/lib/rpc/methods/eth_chainId.d.ts +0 -22
  196. package/lib/rpc/methods/eth_chainId.js +0 -13
  197. package/lib/rpc/methods/eth_chainId.js.map +0 -1
  198. package/lib/rpc/methods/eth_estimateUserOperationGas.d.ts +0 -1891
  199. package/lib/rpc/methods/eth_estimateUserOperationGas.js +0 -26
  200. package/lib/rpc/methods/eth_estimateUserOperationGas.js.map +0 -1
  201. package/lib/rpc/methods/eth_getUserOperationByHash.d.ts +0 -1775
  202. package/lib/rpc/methods/eth_getUserOperationByHash.js +0 -101
  203. package/lib/rpc/methods/eth_getUserOperationByHash.js.map +0 -1
  204. package/lib/rpc/methods/eth_getUserOperationReceipt.d.ts +0 -412
  205. package/lib/rpc/methods/eth_getUserOperationReceipt.js +0 -14
  206. package/lib/rpc/methods/eth_getUserOperationReceipt.js.map +0 -1
  207. package/lib/rpc/methods/eth_sendUserOperation.d.ts +0 -878
  208. package/lib/rpc/methods/eth_sendUserOperation.js +0 -44
  209. package/lib/rpc/methods/eth_sendUserOperation.js.map +0 -1
  210. package/lib/rpc/methods/eth_supportedEntryPoints.d.ts +0 -22
  211. package/lib/rpc/methods/eth_supportedEntryPoints.js +0 -13
  212. package/lib/rpc/methods/eth_supportedEntryPoints.js.map +0 -1
  213. package/lib/rpc/methods/index.d.ts +0 -3
  214. package/lib/rpc/methods/index.js +0 -44
  215. package/lib/rpc/methods/index.js.map +0 -1
  216. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.d.ts +0 -131
  217. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js +0 -33
  218. package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js.map +0 -1
  219. package/lib/rpc/methods/pimlico_getUserOperationStatus.d.ts +0 -43
  220. package/lib/rpc/methods/pimlico_getUserOperationStatus.js +0 -14
  221. package/lib/rpc/methods/pimlico_getUserOperationStatus.js.map +0 -1
  222. package/lib/rpc/methods/pimlico_sendUserOperationNow.d.ts +0 -1268
  223. package/lib/rpc/methods/pimlico_sendUserOperationNow.js +0 -55
  224. package/lib/rpc/methods/pimlico_sendUserOperationNow.js.map +0 -1
  225. package/lib/rpc/rpcHandler.d.ts +0 -75
  226. package/lib/rpc/rpcHandler.js +0 -391
  227. package/lib/rpc/rpcHandler.js.map +0 -1
  228. package/lib/rpc/server.d.ts +0 -26
  229. package/lib/rpc/server.js +0 -283
  230. package/lib/rpc/server.js.map +0 -1
  231. package/lib/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
  232. package/lib/rpc/validation/BundlerCollectorTracerV06.js +0 -262
  233. package/lib/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
  234. package/lib/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
  235. package/lib/rpc/validation/BundlerCollectorTracerV07.js +0 -261
  236. package/lib/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
  237. package/lib/rpc/validation/SafeValidator.d.ts +0 -51
  238. package/lib/rpc/validation/SafeValidator.js +0 -327
  239. package/lib/rpc/validation/SafeValidator.js.map +0 -1
  240. package/lib/rpc/validation/TracerResultParserV06.d.ts +0 -13
  241. package/lib/rpc/validation/TracerResultParserV06.js +0 -582
  242. package/lib/rpc/validation/TracerResultParserV06.js.map +0 -1
  243. package/lib/rpc/validation/TracerResultParserV07.d.ts +0 -33
  244. package/lib/rpc/validation/TracerResultParserV07.js +0 -599
  245. package/lib/rpc/validation/TracerResultParserV07.js.map +0 -1
  246. package/lib/rpc/validation/UnsafeValidator.d.ts +0 -97
  247. package/lib/rpc/validation/UnsafeValidator.js +0 -303
  248. package/lib/rpc/validation/UnsafeValidator.js.map +0 -1
  249. package/lib/rpc/validation/index.d.ts +0 -3
  250. package/lib/rpc/validation/index.js +0 -19
  251. package/lib/rpc/validation/index.js.map +0 -1
  252. package/lib/rpc/validation/tracer.d.ts +0 -125
  253. package/lib/rpc/validation/tracer.js +0 -112
  254. package/lib/rpc/validation/tracer.js.map +0 -1
  255. package/lib/store/createMemoryOutstandingStore.d.ts +0 -28
  256. package/lib/store/createMemoryOutstandingStore.js +0 -236
  257. package/lib/store/createMemoryOutstandingStore.js.map +0 -1
  258. package/lib/store/createMempoolStore.d.ts +0 -8
  259. package/lib/store/createMempoolStore.js +0 -199
  260. package/lib/store/createMempoolStore.js.map +0 -1
  261. package/lib/store/createRedisOutstandingStore.d.ts +0 -27
  262. package/lib/store/createRedisOutstandingStore.js +0 -349
  263. package/lib/store/createRedisOutstandingStore.js.map +0 -1
  264. package/lib/store/createRedisStore.d.ts +0 -9
  265. package/lib/store/createRedisStore.js +0 -138
  266. package/lib/store/createRedisStore.js.map +0 -1
  267. package/lib/store/createStore.d.ts +0 -6
  268. package/lib/store/createStore.js +0 -70
  269. package/lib/store/createStore.js.map +0 -1
  270. package/lib/store/index.d.ts +0 -81
  271. package/lib/store/index.js +0 -6
  272. package/lib/store/index.js.map +0 -1
  273. package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +0 -32
  274. package/lib/types/contracts/ArbitrumL1FeeAbi.js +0 -45
  275. package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +0 -1
  276. package/lib/types/contracts/CallEngine.d.ts +0 -28
  277. package/lib/types/contracts/CallEngine.js +0 -40
  278. package/lib/types/contracts/CallEngine.js.map +0 -1
  279. package/lib/types/contracts/CodeHashGetter.d.ts +0 -37
  280. package/lib/types/contracts/CodeHashGetter.js +0 -48
  281. package/lib/types/contracts/CodeHashGetter.js.map +0 -1
  282. package/lib/types/contracts/EntryPoint.d.ts +0 -1789
  283. package/lib/types/contracts/EntryPoint.js +0 -2307
  284. package/lib/types/contracts/EntryPoint.js.map +0 -1
  285. package/lib/types/contracts/EntryPointSimulationsV6.d.ts +0 -34
  286. package/lib/types/contracts/EntryPointSimulationsV6.js +0 -51
  287. package/lib/types/contracts/EntryPointSimulationsV6.js.map +0 -1
  288. package/lib/types/contracts/EntryPointSimulationsV7.d.ts +0 -2076
  289. package/lib/types/contracts/EntryPointSimulationsV7.js +0 -2678
  290. package/lib/types/contracts/EntryPointSimulationsV7.js.map +0 -1
  291. package/lib/types/contracts/IAccountExecute.d.ts +0 -53
  292. package/lib/types/contracts/IAccountExecute.js +0 -71
  293. package/lib/types/contracts/IAccountExecute.js.map +0 -1
  294. package/lib/types/contracts/IPaymaster.d.ts +0 -3
  295. package/lib/types/contracts/IPaymaster.js +0 -120
  296. package/lib/types/contracts/IPaymaster.js.map +0 -1
  297. package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +0 -219
  298. package/lib/types/contracts/MantleBvmGasPriceOracle.js +0 -180
  299. package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +0 -1
  300. package/lib/types/contracts/OpL1FeeAbi.d.ts +0 -114
  301. package/lib/types/contracts/OpL1FeeAbi.js +0 -77
  302. package/lib/types/contracts/OpL1FeeAbi.js.map +0 -1
  303. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -25
  304. package/lib/types/contracts/PimlicoEntryPointSimulations.js +0 -42
  305. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
  306. package/lib/types/contracts/SenderCreator.d.ts +0 -4
  307. package/lib/types/contracts/SenderCreator.js +0 -26
  308. package/lib/types/contracts/SenderCreator.js.map +0 -1
  309. package/lib/types/contracts/SimpleAccountFactory.d.ts +0 -57
  310. package/lib/types/contracts/SimpleAccountFactory.js +0 -79
  311. package/lib/types/contracts/SimpleAccountFactory.js.map +0 -1
  312. package/lib/types/contracts/TestOpcodesAccount.d.ts +0 -4
  313. package/lib/types/contracts/TestOpcodesAccount.js +0 -284
  314. package/lib/types/contracts/TestOpcodesAccount.js.map +0 -1
  315. package/lib/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
  316. package/lib/types/contracts/TestOpcodesAccountFactory.js +0 -26
  317. package/lib/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
  318. package/lib/types/contracts/TestStorageAccount.d.ts +0 -4
  319. package/lib/types/contracts/TestStorageAccount.js +0 -316
  320. package/lib/types/contracts/TestStorageAccount.js.map +0 -1
  321. package/lib/types/contracts/index.d.ts +0 -17
  322. package/lib/types/contracts/index.js +0 -33
  323. package/lib/types/contracts/index.js.map +0 -1
  324. package/lib/types/gasPrice.d.ts +0 -110
  325. package/lib/types/gasPrice.js +0 -55
  326. package/lib/types/gasPrice.js.map +0 -1
  327. package/lib/types/index.d.ts +0 -11
  328. package/lib/types/index.js +0 -27
  329. package/lib/types/index.js.map +0 -1
  330. package/lib/types/interfaces.d.ts +0 -58
  331. package/lib/types/interfaces.js +0 -3
  332. package/lib/types/interfaces.js.map +0 -1
  333. package/lib/types/mempool.d.ts +0 -60
  334. package/lib/types/mempool.js +0 -11
  335. package/lib/types/mempool.js.map +0 -1
  336. package/lib/types/schemas.d.ts +0 -20785
  337. package/lib/types/schemas.js +0 -679
  338. package/lib/types/schemas.js.map +0 -1
  339. package/lib/types/utils.d.ts +0 -25
  340. package/lib/types/utils.js +0 -35
  341. package/lib/types/utils.js.map +0 -1
  342. package/lib/types/validation.d.ts +0 -14327
  343. package/lib/types/validation.js +0 -312
  344. package/lib/types/validation.js.map +0 -1
  345. package/lib/utils/asyncTimeout.d.ts +0 -5
  346. package/lib/utils/asyncTimeout.js +0 -51
  347. package/lib/utils/asyncTimeout.js.map +0 -1
  348. package/lib/utils/bigInt.d.ts +0 -8
  349. package/lib/utils/bigInt.js +0 -24
  350. package/lib/utils/bigInt.js.map +0 -1
  351. package/lib/utils/eip7702.d.ts +0 -4
  352. package/lib/utils/eip7702.js +0 -21
  353. package/lib/utils/eip7702.js.map +0 -1
  354. package/lib/utils/fastify-rpc-decorators.d.ts +0 -19
  355. package/lib/utils/fastify-rpc-decorators.js +0 -23
  356. package/lib/utils/fastify-rpc-decorators.js.map +0 -1
  357. package/lib/utils/helpers.d.ts +0 -15
  358. package/lib/utils/helpers.js +0 -59
  359. package/lib/utils/helpers.js.map +0 -1
  360. package/lib/utils/index.d.ts +0 -9
  361. package/lib/utils/index.js +0 -24
  362. package/lib/utils/index.js.map +0 -1
  363. package/lib/utils/logger.d.ts +0 -6
  364. package/lib/utils/logger.js +0 -85
  365. package/lib/utils/logger.js.map +0 -1
  366. package/lib/utils/metrics.d.ts +0 -29
  367. package/lib/utils/metrics.js +0 -199
  368. package/lib/utils/metrics.js.map +0 -1
  369. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +0 -6
  370. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js +0 -57
  371. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +0 -1
  372. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +0 -7
  373. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js +0 -105
  374. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js.map +0 -1
  375. package/lib/utils/minMaxQueue/index.d.ts +0 -12
  376. package/lib/utils/minMaxQueue/index.js +0 -16
  377. package/lib/utils/minMaxQueue/index.js.map +0 -1
  378. package/lib/utils/rpc-reply.d.ts +0 -16
  379. package/lib/utils/rpc-reply.js +0 -41
  380. package/lib/utils/rpc-reply.js.map +0 -1
  381. package/lib/utils/userop.d.ts +0 -138
  382. package/lib/utils/userop.js +0 -620
  383. package/lib/utils/userop.js.map +0 -1
  384. package/lib/utils/validation.d.ts +0 -76
  385. package/lib/utils/validation.js +0 -491
  386. package/lib/utils/validation.js.map +0 -1
@@ -1,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
- }, 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,491 +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 bigInt_1 = require("./bigInt.js");
10
- const userop_1 = require("./userop.js");
11
- const ArbitrumL1FeeAbi_1 = require("../types/contracts/ArbitrumL1FeeAbi.js");
12
- const crypto_1 = __importDefault(require("crypto"));
13
- exports.DefaultGasOverheads = {
14
- fixed: 21000,
15
- perUserOp: 18300,
16
- perUserOpWord: 4,
17
- zeroByte: 4,
18
- nonZeroByte: 16,
19
- bundleSize: 1,
20
- sigSize: 65
21
- };
22
- /**
23
- * pack the userOperation
24
- * @param op
25
- * "false" to pack entire UserOp, for calculating the calldata cost of putting it on-chain.
26
- */
27
- function packUserOpV06(op) {
28
- return (0, viem_1.encodeAbiParameters)([
29
- {
30
- internalType: "address",
31
- name: "sender",
32
- type: "address"
33
- },
34
- {
35
- internalType: "uint256",
36
- name: "nonce",
37
- type: "uint256"
38
- },
39
- {
40
- internalType: "bytes",
41
- name: "initCode",
42
- type: "bytes"
43
- },
44
- {
45
- internalType: "bytes",
46
- name: "callData",
47
- type: "bytes"
48
- },
49
- {
50
- internalType: "uint256",
51
- name: "callGasLimit",
52
- type: "uint256"
53
- },
54
- {
55
- internalType: "uint256",
56
- name: "verificationGasLimit",
57
- type: "uint256"
58
- },
59
- {
60
- internalType: "uint256",
61
- name: "preVerificationGas",
62
- type: "uint256"
63
- },
64
- {
65
- internalType: "uint256",
66
- name: "maxFeePerGas",
67
- type: "uint256"
68
- },
69
- {
70
- internalType: "uint256",
71
- name: "maxPriorityFeePerGas",
72
- type: "uint256"
73
- },
74
- {
75
- internalType: "bytes",
76
- name: "paymasterAndData",
77
- type: "bytes"
78
- },
79
- {
80
- internalType: "bytes",
81
- name: "signature",
82
- type: "bytes"
83
- }
84
- ], [
85
- op.sender,
86
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
87
- op.initCode,
88
- op.callData,
89
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
90
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
91
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
92
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
93
- BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
94
- (0, viem_1.bytesToHex)(new Uint8Array(op.paymasterAndData.length).fill(255)),
95
- (0, viem_1.bytesToHex)(new Uint8Array(op.signature.length).fill(255))
96
- ]);
97
- }
98
- exports.packUserOpV06 = packUserOpV06;
99
- function removeZeroBytesFromUserOp(userOpearation) {
100
- if ((0, userop_1.isVersion06)(userOpearation)) {
101
- return {
102
- sender: userOpearation.sender,
103
- nonce: userOpearation.nonce,
104
- initCode: userOpearation.initCode,
105
- callData: userOpearation.callData,
106
- callGasLimit: viem_1.maxUint256,
107
- verificationGasLimit: viem_1.maxUint256,
108
- preVerificationGas: viem_1.maxUint256,
109
- maxFeePerGas: viem_1.maxUint256,
110
- maxPriorityFeePerGas: viem_1.maxUint256,
111
- paymasterAndData: (0, viem_1.bytesToHex)(new Uint8Array(userOpearation.paymasterAndData.length).fill(255)),
112
- signature: (0, viem_1.bytesToHex)(new Uint8Array(userOpearation.signature.length).fill(255))
113
- };
114
- }
115
- const packedUserOperation = (0, userop_1.toPackedUserOperation)(userOpearation);
116
- return {
117
- sender: packedUserOperation.sender,
118
- nonce: viem_1.maxUint256,
119
- initCode: packedUserOperation.initCode,
120
- callData: packedUserOperation.callData,
121
- accountGasLimits: (0, viem_1.toHex)(viem_1.maxUint256),
122
- preVerificationGas: viem_1.maxUint256,
123
- gasFees: (0, viem_1.toHex)(viem_1.maxUint256),
124
- paymasterAndData: (0, viem_1.bytesToHex)(new Uint8Array(packedUserOperation.paymasterAndData.length).fill(255)),
125
- signature: (0, viem_1.bytesToHex)(new Uint8Array(packedUserOperation.signature.length).fill(255))
126
- };
127
- }
128
- exports.removeZeroBytesFromUserOp = removeZeroBytesFromUserOp;
129
- function packUserOpV07(op) {
130
- return (0, viem_1.encodeAbiParameters)([
131
- {
132
- internalType: "address",
133
- name: "sender",
134
- type: "address"
135
- },
136
- {
137
- internalType: "uint256",
138
- name: "nonce",
139
- type: "uint256"
140
- },
141
- {
142
- internalType: "bytes",
143
- name: "initCode",
144
- type: "bytes"
145
- },
146
- {
147
- internalType: "bytes",
148
- name: "callData",
149
- type: "bytes"
150
- },
151
- {
152
- internalType: "uint256",
153
- name: "accountGasLimits",
154
- type: "bytes32"
155
- },
156
- {
157
- internalType: "uint256",
158
- name: "preVerificationGas",
159
- type: "uint256"
160
- },
161
- {
162
- internalType: "uint256",
163
- name: "gasFees",
164
- type: "bytes32"
165
- },
166
- {
167
- internalType: "bytes",
168
- name: "paymasterAndData",
169
- type: "bytes"
170
- },
171
- {
172
- internalType: "bytes",
173
- name: "signature",
174
- type: "bytes"
175
- }
176
- ], [
177
- op.sender,
178
- op.nonce, // need non zero bytes to get better estimations for preVerificationGas
179
- op.initCode,
180
- op.callData,
181
- op.accountGasLimits, // need non zero bytes to get better estimations for preVerificationGas
182
- op.preVerificationGas, // need non zero bytes to get better estimations for preVerificationGas
183
- op.gasFees, // need non zero bytes to get better estimations for preVerificationGas
184
- op.paymasterAndData,
185
- op.signature
186
- ]);
187
- }
188
- exports.packUserOpV07 = packUserOpV07;
189
- async function calcPreVerificationGas({ config, userOperation, entryPoint, gasPriceManager, validate, overheads }) {
190
- let preVerificationGas = calcDefaultPreVerificationGas(userOperation, overheads);
191
- switch (config.chainType) {
192
- case "op-stack":
193
- return await calcOptimismPreVerificationGas(config.publicClient, userOperation, entryPoint, preVerificationGas, gasPriceManager, validate);
194
- case "arbitrum":
195
- return await calcArbitrumPreVerificationGas(config.publicClient, userOperation, entryPoint, preVerificationGas, gasPriceManager, validate);
196
- case "mantle":
197
- return await calcMantlePreVerificationGas(config.publicClient, userOperation, entryPoint, preVerificationGas, gasPriceManager, validate);
198
- default:
199
- return preVerificationGas;
200
- }
201
- }
202
- exports.calcPreVerificationGas = calcPreVerificationGas;
203
- function calcVerificationGasAndCallGasLimit(userOperation, executionResult, gasLimits) {
204
- const verificationGasLimit = gasLimits?.verificationGasLimit ??
205
- (0, bigInt_1.scaleBigIntByPercent)(executionResult.preOpGas - userOperation.preVerificationGas, 150n);
206
- const calculatedCallGasLimit = gasLimits?.callGasLimit ??
207
- executionResult.paid / userOperation.maxFeePerGas -
208
- executionResult.preOpGas;
209
- let callGasLimit = (0, bigInt_1.maxBigInt)(calculatedCallGasLimit, 9000n);
210
- if ((0, userop_1.isVersion06)(userOperation)) {
211
- callGasLimit += 21000n + 50000n;
212
- }
213
- return {
214
- verificationGasLimit,
215
- callGasLimit,
216
- paymasterVerificationGasLimit: gasLimits?.paymasterVerificationGasLimit ?? 0n
217
- };
218
- }
219
- exports.calcVerificationGasAndCallGasLimit = calcVerificationGasAndCallGasLimit;
220
- /**
221
- * calculate the preVerificationGas of the given UserOperation
222
- * preVerificationGas (by definition) is the cost overhead that can't be calculated on-chain.
223
- * it is based on parameters that are defined by the Ethereum protocol for external transactions.
224
- * @param userOp filled userOp to calculate. The only possible missing fields can be the signature and preVerificationGas itself
225
- * @param overheads gas overheads to use, to override the default values
226
- */
227
- function calcDefaultPreVerificationGas(userOperation, overheads) {
228
- const ov = { ...exports.DefaultGasOverheads, ...(overheads ?? {}) };
229
- const p = removeZeroBytesFromUserOp(userOperation);
230
- let packed;
231
- if ((0, userop_1.isVersion06)(userOperation)) {
232
- packed = (0, viem_1.toBytes)(packUserOpV06(p));
233
- }
234
- else {
235
- packed = (0, viem_1.toBytes)(packUserOpV07(p));
236
- }
237
- const lengthInWord = (packed.length + 31) / 32;
238
- const callDataCost = packed
239
- .map((x) => (x === 0 ? ov.zeroByte : ov.nonZeroByte))
240
- .reduce((sum, x) => sum + x);
241
- const authorizationCost = userOperation.eip7702Auth
242
- ? 37500 // overhead for PER_EMPTY_ACCOUNT_COST + PER_AUTH_BASE_COST
243
- : 0;
244
- const ret = Math.round(authorizationCost +
245
- callDataCost +
246
- ov.fixed / ov.bundleSize +
247
- ov.perUserOp +
248
- ov.perUserOpWord * lengthInWord);
249
- return BigInt(ret);
250
- }
251
- exports.calcDefaultPreVerificationGas = calcDefaultPreVerificationGas;
252
- // Returns back the bytes for the handleOps call
253
- function getHandleOpsCallData(op, entryPoint) {
254
- if ((0, userop_1.isVersion07)(op)) {
255
- return (0, viem_1.encodeFunctionData)({
256
- abi: types_1.EntryPointV07Abi,
257
- functionName: "handleOps",
258
- args: [[removeZeroBytesFromUserOp(op)], entryPoint]
259
- });
260
- }
261
- return (0, viem_1.encodeFunctionData)({
262
- abi: types_1.EntryPointV06Abi,
263
- functionName: "handleOps",
264
- args: [[removeZeroBytesFromUserOp(op)], entryPoint]
265
- });
266
- }
267
- async function calcMantlePreVerificationGas(publicClient, op, entryPoint, staticFee, gasPriceManager, verify) {
268
- const data = getHandleOpsCallData(op, entryPoint);
269
- const serializedTx = (0, viem_1.serializeTransaction)({
270
- to: entryPoint,
271
- chainId: publicClient.chain.id,
272
- nonce: 999999,
273
- gasLimit: viem_1.maxUint64,
274
- gasPrice: viem_1.maxUint64,
275
- data
276
- }, {
277
- r: "0x123451234512345123451234512345123451234512345123451234512345",
278
- s: "0x123451234512345123451234512345123451234512345123451234512345",
279
- v: 28n
280
- });
281
- let tokenRatio;
282
- let scalar;
283
- let rollupDataGasAndOverhead;
284
- let l1GasPrice;
285
- const mantleManager = gasPriceManager.mantleManager;
286
- if (verify) {
287
- const minValues = await mantleManager.getMinMantleOracleValues();
288
- tokenRatio = minValues.minTokenRatio;
289
- scalar = minValues.minScalar;
290
- rollupDataGasAndOverhead = minValues.minRollupDataGasAndOverhead;
291
- l1GasPrice = minValues.minL1GasPrice;
292
- }
293
- else {
294
- ;
295
- [tokenRatio, scalar, rollupDataGasAndOverhead, l1GasPrice] =
296
- await Promise.all([
297
- publicClient.readContract({
298
- address: "0x420000000000000000000000000000000000000F",
299
- abi: types_1.MantleBvmGasPriceOracleAbi,
300
- functionName: "tokenRatio"
301
- }),
302
- publicClient.readContract({
303
- address: "0x420000000000000000000000000000000000000F",
304
- abi: types_1.MantleBvmGasPriceOracleAbi,
305
- functionName: "scalar"
306
- }),
307
- publicClient.readContract({
308
- address: "0x420000000000000000000000000000000000000F",
309
- abi: types_1.MantleBvmGasPriceOracleAbi,
310
- functionName: "getL1GasUsed",
311
- args: [serializedTx]
312
- }),
313
- publicClient.readContract({
314
- address: "0x420000000000000000000000000000000000000F",
315
- abi: types_1.MantleBvmGasPriceOracleAbi,
316
- functionName: "l1BaseFee"
317
- })
318
- ]);
319
- mantleManager.saveMantleOracleValues({
320
- tokenRatio,
321
- scalar,
322
- rollupDataGasAndOverhead,
323
- l1GasPrice
324
- });
325
- }
326
- const mantleL1RollUpFeeDivisionFactor = 1000000n;
327
- const l1RollupFee = (rollupDataGasAndOverhead * l1GasPrice * tokenRatio * scalar) /
328
- mantleL1RollUpFeeDivisionFactor;
329
- const maxFeePerGas = await (verify
330
- ? gasPriceManager.getHighestMaxFeePerGas()
331
- : gasPriceManager.getGasPrice().then((res) => res.maxFeePerGas));
332
- const l2MaxFee = BigInt(maxFeePerGas);
333
- return staticFee + l1RollupFee / l2MaxFee;
334
- }
335
- exports.calcMantlePreVerificationGas = calcMantlePreVerificationGas;
336
- function getOpStackHandleOpsCallData(op, entryPoint, verify) {
337
- let modifiedOp = {
338
- ...op
339
- };
340
- // Only randomize signature during estimations.
341
- if (!verify) {
342
- const randomizeBytes = (length) => (0, viem_1.toHex)(crypto_1.default.randomBytes(length).toString("hex"));
343
- const sigLength = (0, viem_1.size)(op.signature);
344
- let newSignature;
345
- if (sigLength < 65) {
346
- // For short signatures, randomize the entire thing
347
- newSignature = randomizeBytes(sigLength);
348
- }
349
- else {
350
- // For longer signatures, only randomize the last 65 bytes
351
- const originalPart = (0, viem_1.slice)(op.signature, 0, sigLength - 65);
352
- const randomPart = randomizeBytes(65);
353
- newSignature = (0, viem_1.concat)([originalPart, randomPart]);
354
- }
355
- modifiedOp = {
356
- ...op,
357
- signature: newSignature
358
- };
359
- }
360
- if ((0, userop_1.isVersion07)(modifiedOp)) {
361
- return (0, viem_1.encodeFunctionData)({
362
- abi: types_1.EntryPointV07Abi,
363
- functionName: "handleOps",
364
- args: [[(0, userop_1.toPackedUserOperation)(modifiedOp)], entryPoint]
365
- });
366
- }
367
- return (0, viem_1.encodeFunctionData)({
368
- abi: types_1.EntryPointV06Abi,
369
- functionName: "handleOps",
370
- args: [[modifiedOp], entryPoint]
371
- });
372
- }
373
- async function calcOptimismPreVerificationGas(publicClient, op, entryPoint, staticFee, gasPriceManager, validate) {
374
- const data = getOpStackHandleOpsCallData(op, entryPoint, validate);
375
- const serializedTx = (0, viem_1.serializeTransaction)({
376
- to: entryPoint,
377
- chainId: publicClient.chain.id,
378
- maxFeePerGas: (0, viem_1.parseGwei)("120"),
379
- maxPriorityFeePerGas: (0, viem_1.parseGwei)("120"),
380
- gas: 10000000n,
381
- data
382
- }, {
383
- r: "0x123451234512345123451234512345123451234512345123451234512345",
384
- s: "0x123451234512345123451234512345123451234512345123451234512345",
385
- yParity: 1
386
- });
387
- const opGasPriceOracle = (0, viem_1.getContract)({
388
- abi: types_1.OpL1FeeAbi,
389
- address: "0x420000000000000000000000000000000000000F",
390
- client: {
391
- public: publicClient
392
- }
393
- });
394
- const [l1Fee, baseFeePerGas] = await Promise.all([
395
- validate
396
- ? gasPriceManager.optimismManager.getMinL1Fee()
397
- : opGasPriceOracle.read.getL1Fee([serializedTx]),
398
- validate
399
- ? gasPriceManager.getMaxBaseFeePerGas()
400
- : gasPriceManager.getBaseFee()
401
- ]);
402
- let l2MaxFee;
403
- let l2PriorityFee;
404
- if (validate) {
405
- l2MaxFee = await gasPriceManager.getHighestMaxFeePerGas();
406
- l2PriorityFee =
407
- baseFeePerGas +
408
- (await gasPriceManager.getHighestMaxPriorityFeePerGas());
409
- }
410
- else {
411
- const gasPrices = await gasPriceManager.getGasPrice();
412
- l2MaxFee = gasPrices.maxFeePerGas;
413
- l2PriorityFee = baseFeePerGas + gasPrices.maxPriorityFeePerGas;
414
- }
415
- const l2price = (0, bigInt_1.minBigInt)(l2MaxFee, l2PriorityFee);
416
- return staticFee + l1Fee / l2price;
417
- }
418
- exports.calcOptimismPreVerificationGas = calcOptimismPreVerificationGas;
419
- async function calcArbitrumPreVerificationGas(publicClient, op, entryPoint, staticFee, gasPriceManager, validate) {
420
- const data = getHandleOpsCallData(op, entryPoint);
421
- const precompileAddress = "0x00000000000000000000000000000000000000C8";
422
- const serializedTx = (0, viem_1.serializeTransaction)({
423
- to: entryPoint,
424
- chainId: publicClient.chain?.id ?? 10,
425
- nonce: 999999,
426
- gasLimit: viem_1.maxUint64,
427
- gasPrice: viem_1.maxUint64,
428
- data
429
- }, {
430
- r: "0x123451234512345123451234512345123451234512345123451234512345",
431
- s: "0x123451234512345123451234512345123451234512345123451234512345",
432
- v: 28n
433
- });
434
- const arbGasPriceOracle = (0, viem_1.getContract)({
435
- abi: ArbitrumL1FeeAbi_1.ArbitrumL1FeeAbi,
436
- address: precompileAddress,
437
- client: {
438
- public: publicClient
439
- }
440
- });
441
- const { result } = await arbGasPriceOracle.simulate.gasEstimateL1Component([
442
- entryPoint,
443
- false,
444
- serializedTx
445
- ]);
446
- let [gasForL1, l2BaseFee, l1BaseFeeEstimate] = result;
447
- const arbitrumManager = gasPriceManager.arbitrumManager;
448
- arbitrumManager.saveL1BaseFee(l1BaseFeeEstimate);
449
- arbitrumManager.saveL2BaseFee(l2BaseFee);
450
- if (validate) {
451
- const [maxL1Fee, minL1Fee, maxL2Fee] = await Promise.all([
452
- l1BaseFeeEstimate || arbitrumManager.getMaxL1BaseFee(),
453
- arbitrumManager.getMinL1BaseFee(),
454
- arbitrumManager.getMaxL2BaseFee()
455
- ]);
456
- gasForL1 = (gasForL1 * l2BaseFee * minL1Fee) / (maxL1Fee * maxL2Fee);
457
- }
458
- return staticFee + gasForL1;
459
- }
460
- exports.calcArbitrumPreVerificationGas = calcArbitrumPreVerificationGas;
461
- function parseViemError(err) {
462
- if (err instanceof viem_1.ContractFunctionExecutionError ||
463
- err instanceof viem_1.TransactionExecutionError) {
464
- const e = err.cause;
465
- if (e instanceof viem_1.NonceTooLowError) {
466
- return e;
467
- }
468
- if (e instanceof viem_1.FeeCapTooLowError) {
469
- return e;
470
- }
471
- if (e instanceof viem_1.InsufficientFundsError) {
472
- return e;
473
- }
474
- if (e instanceof viem_1.IntrinsicGasTooLowError) {
475
- return e;
476
- }
477
- if (e instanceof viem_1.ContractFunctionRevertedError) {
478
- return e;
479
- }
480
- if (e instanceof viem_1.EstimateGasExecutionError) {
481
- return e;
482
- }
483
- if (e instanceof viem_1.InternalRpcError) {
484
- return e;
485
- }
486
- return;
487
- }
488
- return;
489
- }
490
- exports.parseViemError = parseViemError;
491
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../utils/validation.ts"],"names":[],"mappings":"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"}