@pimlico/alto 0.0.6 → 0.0.8

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 (292) hide show
  1. package/esm/cli/alto.js +3 -1
  2. package/esm/cli/alto.js.map +1 -1
  3. package/esm/cli/config/bundler.d.ts +348 -306
  4. package/esm/cli/config/bundler.js +26 -7
  5. package/esm/cli/config/bundler.js.map +1 -1
  6. package/esm/cli/config/options.d.ts +2 -1
  7. package/esm/cli/config/options.js +46 -8
  8. package/esm/cli/config/options.js.map +1 -1
  9. package/esm/cli/customTransport.js +40 -7
  10. package/esm/cli/customTransport.js.map +1 -1
  11. package/esm/cli/deploySimulationsContract.d.ts +8 -0
  12. package/esm/cli/deploySimulationsContract.js +26 -0
  13. package/esm/cli/deploySimulationsContract.js.map +1 -0
  14. package/esm/cli/handler.d.ts +2 -2
  15. package/esm/cli/handler.js +67 -89
  16. package/esm/cli/handler.js.map +1 -1
  17. package/esm/cli/instrumentation.js +4 -2
  18. package/esm/cli/instrumentation.js.map +1 -1
  19. package/esm/cli/parseArgs.d.ts +8 -0
  20. package/esm/cli/parseArgs.js +21 -0
  21. package/esm/cli/parseArgs.js.map +1 -0
  22. package/esm/cli/setupServer.d.ts +4 -9
  23. package/esm/cli/setupServer.js +98 -82
  24. package/esm/cli/setupServer.js.map +1 -1
  25. package/esm/createConfig.d.ts +15 -0
  26. package/esm/createConfig.js +8 -0
  27. package/esm/createConfig.js.map +1 -0
  28. package/esm/executor/executor.d.ts +29 -13
  29. package/esm/executor/executor.js +110 -72
  30. package/esm/executor/executor.js.map +1 -1
  31. package/esm/executor/executorManager.d.ts +14 -10
  32. package/esm/executor/executorManager.js +42 -42
  33. package/esm/executor/executorManager.js.map +1 -1
  34. package/esm/executor/senderManager.d.ts +11 -6
  35. package/esm/executor/senderManager.js +25 -32
  36. package/esm/executor/senderManager.js.map +1 -1
  37. package/esm/executor/utilityWalletMonitor.d.ts +9 -5
  38. package/esm/executor/utilityWalletMonitor.js +8 -8
  39. package/esm/executor/utilityWalletMonitor.js.map +1 -1
  40. package/esm/executor/utils.d.ts +2 -1
  41. package/esm/executor/utils.js +7 -2
  42. package/esm/executor/utils.js.map +1 -1
  43. package/esm/handlers/arbitrumGasPriceManager.d.ts +11 -0
  44. package/esm/handlers/arbitrumGasPriceManager.js +29 -0
  45. package/esm/handlers/arbitrumGasPriceManager.js.map +1 -0
  46. package/esm/handlers/eventManager.d.ts +7 -3
  47. package/esm/handlers/eventManager.js +24 -16
  48. package/esm/handlers/eventManager.js.map +1 -1
  49. package/esm/handlers/gasPriceManager.d.ts +14 -27
  50. package/esm/handlers/gasPriceManager.js +81 -135
  51. package/esm/handlers/gasPriceManager.js.map +1 -1
  52. package/esm/handlers/mantleGasPriceManager.d.ts +20 -0
  53. package/esm/handlers/mantleGasPriceManager.js +28 -0
  54. package/esm/handlers/mantleGasPriceManager.js.map +1 -0
  55. package/esm/mempool/mempool.d.ts +13 -10
  56. package/esm/mempool/mempool.js +29 -26
  57. package/esm/mempool/mempool.js.map +1 -1
  58. package/esm/mempool/reputationManager.d.ts +4 -6
  59. package/esm/mempool/reputationManager.js +25 -29
  60. package/esm/mempool/reputationManager.js.map +1 -1
  61. package/esm/mempool/store.d.ts +1 -1
  62. package/esm/rpc/estimation/gasEstimationHandler.d.ts +24 -0
  63. package/esm/rpc/estimation/gasEstimationHandler.js +48 -0
  64. package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -0
  65. package/esm/rpc/estimation/gasEstimationsV06.d.ts +19 -0
  66. package/esm/rpc/estimation/gasEstimationsV06.js +146 -0
  67. package/esm/rpc/estimation/gasEstimationsV06.js.map +1 -0
  68. package/esm/rpc/estimation/gasEstimationsV07.d.ts +88 -0
  69. package/esm/rpc/estimation/gasEstimationsV07.js +429 -0
  70. package/esm/rpc/estimation/gasEstimationsV07.js.map +1 -0
  71. package/esm/rpc/estimation/types.d.ts +113 -0
  72. package/esm/rpc/estimation/types.js +122 -0
  73. package/esm/rpc/estimation/types.js.map +1 -0
  74. package/esm/rpc/nonceQueuer.d.ts +10 -6
  75. package/esm/rpc/nonceQueuer.js +10 -10
  76. package/esm/rpc/nonceQueuer.js.map +1 -1
  77. package/esm/rpc/rpcHandler.d.ts +19 -16
  78. package/esm/rpc/rpcHandler.js +83 -72
  79. package/esm/rpc/rpcHandler.js.map +1 -1
  80. package/esm/rpc/server.d.ts +9 -7
  81. package/esm/rpc/server.js +27 -26
  82. package/esm/rpc/server.js.map +1 -1
  83. package/esm/rpc/validation/SafeValidator.d.ts +11 -6
  84. package/esm/rpc/validation/SafeValidator.js +16 -14
  85. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  86. package/esm/rpc/validation/TracerResultParserV06.d.ts +1 -1
  87. package/esm/rpc/validation/TracerResultParserV06.js.map +1 -1
  88. package/esm/rpc/validation/TracerResultParserV07.d.ts +1 -1
  89. package/esm/rpc/validation/TracerResultParserV07.js +1 -1
  90. package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
  91. package/esm/rpc/validation/UnsafeValidator.d.ts +14 -17
  92. package/esm/rpc/validation/UnsafeValidator.js +49 -42
  93. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  94. package/esm/types/contracts/ArbitrumL1FeeAbi.d.ts +32 -0
  95. package/esm/types/contracts/ArbitrumL1FeeAbi.js +42 -0
  96. package/esm/types/contracts/ArbitrumL1FeeAbi.js.map +1 -0
  97. package/esm/types/contracts/EntryPointSimulationsV6.d.ts +34 -0
  98. package/esm/types/contracts/EntryPointSimulationsV6.js +48 -0
  99. package/esm/types/contracts/EntryPointSimulationsV6.js.map +1 -0
  100. package/esm/types/contracts/EntryPointSimulationsV7.d.ts +1370 -0
  101. package/esm/types/contracts/{EntryPointSimulations.js → EntryPointSimulationsV7.js} +197 -385
  102. package/esm/types/contracts/EntryPointSimulationsV7.js.map +1 -0
  103. package/esm/types/contracts/IAccountExecute.d.ts +53 -0
  104. package/esm/types/contracts/IAccountExecute.js +68 -0
  105. package/esm/types/contracts/IAccountExecute.js.map +1 -0
  106. package/esm/types/contracts/MantleBvmGasPriceOracle.d.ts +219 -0
  107. package/esm/types/contracts/MantleBvmGasPriceOracle.js +177 -0
  108. package/esm/types/contracts/MantleBvmGasPriceOracle.js.map +1 -0
  109. package/esm/types/contracts/OpL1FeeAbi.d.ts +26 -0
  110. package/esm/types/contracts/OpL1FeeAbi.js +29 -0
  111. package/esm/types/contracts/OpL1FeeAbi.js.map +1 -0
  112. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  113. package/esm/types/contracts/PimlicoEntryPointSimulations.js +1 -1
  114. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  115. package/esm/types/contracts/index.d.ts +5 -1
  116. package/esm/types/contracts/index.js +5 -1
  117. package/esm/types/contracts/index.js.map +1 -1
  118. package/esm/types/interfaces.d.ts +2 -2
  119. package/esm/types/schemas.d.ts +94 -94
  120. package/esm/types/schemas.js +3 -3
  121. package/esm/types/schemas.js.map +1 -1
  122. package/esm/types/utils.d.ts +1 -1
  123. package/esm/utils/bigInt.js +2 -2
  124. package/esm/utils/bigInt.js.map +1 -1
  125. package/esm/utils/helpers.js +1 -1
  126. package/esm/utils/helpers.js.map +1 -1
  127. package/esm/utils/rpc-reply.d.ts +1 -1
  128. package/esm/utils/timedQueue.d.ts +12 -0
  129. package/esm/utils/timedQueue.js +51 -0
  130. package/esm/utils/timedQueue.js.map +1 -0
  131. package/esm/utils/userop.d.ts +2 -2
  132. package/esm/utils/userop.js +2 -2
  133. package/esm/utils/userop.js.map +1 -1
  134. package/esm/utils/validation.d.ts +14 -6
  135. package/esm/utils/validation.js +115 -132
  136. package/esm/utils/validation.js.map +1 -1
  137. package/lib/cli/alto.js +2 -0
  138. package/lib/cli/alto.js.map +1 -1
  139. package/lib/cli/config/bundler.d.ts +348 -306
  140. package/lib/cli/config/bundler.js +26 -7
  141. package/lib/cli/config/bundler.js.map +1 -1
  142. package/lib/cli/config/options.d.ts +2 -1
  143. package/lib/cli/config/options.js +47 -9
  144. package/lib/cli/config/options.js.map +1 -1
  145. package/lib/cli/customTransport.js +38 -5
  146. package/lib/cli/customTransport.js.map +1 -1
  147. package/lib/cli/deploySimulationsContract.d.ts +8 -0
  148. package/lib/cli/deploySimulationsContract.js +30 -0
  149. package/lib/cli/deploySimulationsContract.js.map +1 -0
  150. package/lib/cli/handler.d.ts +2 -2
  151. package/lib/cli/handler.js +66 -88
  152. package/lib/cli/handler.js.map +1 -1
  153. package/lib/cli/instrumentation.js +4 -2
  154. package/lib/cli/instrumentation.js.map +1 -1
  155. package/lib/cli/parseArgs.d.ts +8 -0
  156. package/lib/cli/parseArgs.js +25 -0
  157. package/lib/cli/parseArgs.js.map +1 -0
  158. package/lib/cli/setupServer.d.ts +4 -9
  159. package/lib/cli/setupServer.js +98 -82
  160. package/lib/cli/setupServer.js.map +1 -1
  161. package/lib/createConfig.d.ts +15 -0
  162. package/lib/createConfig.js +12 -0
  163. package/lib/createConfig.js.map +1 -0
  164. package/lib/executor/executor.d.ts +29 -13
  165. package/lib/executor/executor.js +106 -68
  166. package/lib/executor/executor.js.map +1 -1
  167. package/lib/executor/executorManager.d.ts +14 -10
  168. package/lib/executor/executorManager.js +40 -40
  169. package/lib/executor/executorManager.js.map +1 -1
  170. package/lib/executor/senderManager.d.ts +11 -6
  171. package/lib/executor/senderManager.js +25 -32
  172. package/lib/executor/senderManager.js.map +1 -1
  173. package/lib/executor/utilityWalletMonitor.d.ts +9 -5
  174. package/lib/executor/utilityWalletMonitor.js +8 -8
  175. package/lib/executor/utilityWalletMonitor.js.map +1 -1
  176. package/lib/executor/utils.d.ts +2 -1
  177. package/lib/executor/utils.js +9 -3
  178. package/lib/executor/utils.js.map +1 -1
  179. package/lib/handlers/arbitrumGasPriceManager.d.ts +11 -0
  180. package/lib/handlers/arbitrumGasPriceManager.js +33 -0
  181. package/lib/handlers/arbitrumGasPriceManager.js.map +1 -0
  182. package/lib/handlers/eventManager.d.ts +7 -3
  183. package/lib/handlers/eventManager.js +24 -16
  184. package/lib/handlers/eventManager.js.map +1 -1
  185. package/lib/handlers/gasPriceManager.d.ts +14 -27
  186. package/lib/handlers/gasPriceManager.js +80 -134
  187. package/lib/handlers/gasPriceManager.js.map +1 -1
  188. package/lib/handlers/mantleGasPriceManager.d.ts +20 -0
  189. package/lib/handlers/mantleGasPriceManager.js +32 -0
  190. package/lib/handlers/mantleGasPriceManager.js.map +1 -0
  191. package/lib/mempool/mempool.d.ts +13 -10
  192. package/lib/mempool/mempool.js +28 -25
  193. package/lib/mempool/mempool.js.map +1 -1
  194. package/lib/mempool/reputationManager.d.ts +4 -6
  195. package/lib/mempool/reputationManager.js +25 -29
  196. package/lib/mempool/reputationManager.js.map +1 -1
  197. package/lib/mempool/store.d.ts +1 -1
  198. package/lib/rpc/estimation/gasEstimationHandler.d.ts +24 -0
  199. package/lib/rpc/estimation/gasEstimationHandler.js +52 -0
  200. package/lib/rpc/estimation/gasEstimationHandler.js.map +1 -0
  201. package/lib/rpc/estimation/gasEstimationsV06.d.ts +19 -0
  202. package/lib/rpc/estimation/gasEstimationsV06.js +150 -0
  203. package/lib/rpc/estimation/gasEstimationsV06.js.map +1 -0
  204. package/lib/rpc/estimation/gasEstimationsV07.d.ts +88 -0
  205. package/lib/rpc/estimation/gasEstimationsV07.js +435 -0
  206. package/lib/rpc/estimation/gasEstimationsV07.js.map +1 -0
  207. package/lib/rpc/estimation/types.d.ts +113 -0
  208. package/lib/rpc/estimation/types.js +125 -0
  209. package/lib/rpc/estimation/types.js.map +1 -0
  210. package/lib/rpc/nonceQueuer.d.ts +10 -6
  211. package/lib/rpc/nonceQueuer.js +9 -9
  212. package/lib/rpc/nonceQueuer.js.map +1 -1
  213. package/lib/rpc/rpcHandler.d.ts +19 -16
  214. package/lib/rpc/rpcHandler.js +82 -71
  215. package/lib/rpc/rpcHandler.js.map +1 -1
  216. package/lib/rpc/server.d.ts +9 -7
  217. package/lib/rpc/server.js +26 -25
  218. package/lib/rpc/server.js.map +1 -1
  219. package/lib/rpc/validation/SafeValidator.d.ts +11 -6
  220. package/lib/rpc/validation/SafeValidator.js +16 -14
  221. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  222. package/lib/rpc/validation/TracerResultParserV06.d.ts +1 -1
  223. package/lib/rpc/validation/TracerResultParserV07.d.ts +1 -1
  224. package/lib/rpc/validation/TracerResultParserV07.js +1 -1
  225. package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
  226. package/lib/rpc/validation/UnsafeValidator.d.ts +14 -17
  227. package/lib/rpc/validation/UnsafeValidator.js +49 -42
  228. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  229. package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +32 -0
  230. package/lib/types/contracts/ArbitrumL1FeeAbi.js +45 -0
  231. package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +1 -0
  232. package/lib/types/contracts/EntryPointSimulationsV6.d.ts +34 -0
  233. package/lib/types/contracts/EntryPointSimulationsV6.js +51 -0
  234. package/lib/types/contracts/EntryPointSimulationsV6.js.map +1 -0
  235. package/lib/types/contracts/EntryPointSimulationsV7.d.ts +1370 -0
  236. package/lib/types/contracts/{EntryPointSimulations.js → EntryPointSimulationsV7.js} +198 -386
  237. package/lib/types/contracts/EntryPointSimulationsV7.js.map +1 -0
  238. package/lib/types/contracts/IAccountExecute.d.ts +53 -0
  239. package/lib/types/contracts/IAccountExecute.js +71 -0
  240. package/lib/types/contracts/IAccountExecute.js.map +1 -0
  241. package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +219 -0
  242. package/lib/types/contracts/MantleBvmGasPriceOracle.js +180 -0
  243. package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +1 -0
  244. package/lib/types/contracts/OpL1FeeAbi.d.ts +26 -0
  245. package/lib/types/contracts/OpL1FeeAbi.js +32 -0
  246. package/lib/types/contracts/OpL1FeeAbi.js.map +1 -0
  247. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  248. package/lib/types/contracts/PimlicoEntryPointSimulations.js +1 -1
  249. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  250. package/lib/types/contracts/index.d.ts +5 -1
  251. package/lib/types/contracts/index.js +5 -1
  252. package/lib/types/contracts/index.js.map +1 -1
  253. package/lib/types/interfaces.d.ts +2 -2
  254. package/lib/types/schemas.d.ts +94 -94
  255. package/lib/types/schemas.js +3 -3
  256. package/lib/types/schemas.js.map +1 -1
  257. package/lib/types/utils.d.ts +1 -1
  258. package/lib/utils/bigInt.js +2 -2
  259. package/lib/utils/bigInt.js.map +1 -1
  260. package/lib/utils/rpc-reply.d.ts +1 -1
  261. package/lib/utils/timedQueue.d.ts +12 -0
  262. package/lib/utils/timedQueue.js +55 -0
  263. package/lib/utils/timedQueue.js.map +1 -0
  264. package/lib/utils/userop.d.ts +2 -2
  265. package/lib/utils/userop.js +1 -1
  266. package/lib/utils/userop.js.map +1 -1
  267. package/lib/utils/validation.d.ts +14 -6
  268. package/lib/utils/validation.js +118 -134
  269. package/lib/utils/validation.js.map +1 -1
  270. package/package.json +1 -1
  271. package/esm/rpc/EntryPointSimulationsV07.d.ts +0 -62
  272. package/esm/rpc/EntryPointSimulationsV07.js +0 -410
  273. package/esm/rpc/EntryPointSimulationsV07.js.map +0 -1
  274. package/esm/rpc/ExecuteSimulator.d.ts +0 -37
  275. package/esm/rpc/ExecuteSimulator.js +0 -48
  276. package/esm/rpc/ExecuteSimulator.js.map +0 -1
  277. package/esm/rpc/gasEstimation.d.ts +0 -17
  278. package/esm/rpc/gasEstimation.js +0 -419
  279. package/esm/rpc/gasEstimation.js.map +0 -1
  280. package/esm/types/contracts/EntryPointSimulations.d.ts +0 -152
  281. package/esm/types/contracts/EntryPointSimulations.js.map +0 -1
  282. package/lib/rpc/EntryPointSimulationsV07.d.ts +0 -62
  283. package/lib/rpc/EntryPointSimulationsV07.js +0 -417
  284. package/lib/rpc/EntryPointSimulationsV07.js.map +0 -1
  285. package/lib/rpc/ExecuteSimulator.d.ts +0 -37
  286. package/lib/rpc/ExecuteSimulator.js +0 -51
  287. package/lib/rpc/ExecuteSimulator.js.map +0 -1
  288. package/lib/rpc/gasEstimation.d.ts +0 -17
  289. package/lib/rpc/gasEstimation.js +0 -426
  290. package/lib/rpc/gasEstimation.js.map +0 -1
  291. package/lib/types/contracts/EntryPointSimulations.d.ts +0 -152
  292. package/lib/types/contracts/EntryPointSimulations.js.map +0 -1
@@ -1,8 +1,9 @@
1
- import { EntryPointV06Abi, EntryPointV07Abi } from "../types/index.js";
2
- import { ContractFunctionExecutionError, ContractFunctionRevertedError, EstimateGasExecutionError, FeeCapTooLowError, InsufficientFundsError, IntrinsicGasTooLowError, NonceTooLowError, TransactionExecutionError, bytesToHex, concat, encodeAbiParameters, getAbiItem, getContract, serializeTransaction, toBytes, toFunctionSelector } from "viem";
3
- import { baseGoerli, baseSepolia, base } from "viem/chains";
1
+ import { EntryPointV06Abi, EntryPointV07Abi, MantleBvmGasPriceOracleAbi, OpL1FeeAbi } from "../types/index.js";
2
+ import { ContractFunctionExecutionError, ContractFunctionRevertedError, EstimateGasExecutionError, FeeCapTooLowError, InsufficientFundsError, IntrinsicGasTooLowError, NonceTooLowError, TransactionExecutionError, bytesToHex, concat, encodeAbiParameters, getAbiItem, getContract, serializeTransaction, toBytes, toFunctionSelector, InternalRpcError, maxUint64 } from "viem";
3
+ import { base, baseGoerli, baseSepolia, lineaSepolia } from "viem/chains";
4
+ import { maxBigInt, minBigInt, scaleBigIntByPercent } from "./bigInt.js";
4
5
  import { isVersion06, toPackedUserOperation } from "./userop.js";
5
- import { minBigInt } from "./bigInt.js";
6
+ import { ArbitrumL1FeeAbi } from "../types/contracts/ArbitrumL1FeeAbi.js";
6
7
  export const DefaultGasOverheads = {
7
8
  fixed: 21000,
8
9
  perUserOp: 18300,
@@ -176,40 +177,31 @@ export function packUserOpV07(op) {
176
177
  op.signature
177
178
  ]);
178
179
  }
179
- export async function calcPreVerificationGas(publicClient, userOperation, entryPoint, chainId, chainType, gasPriceManager, validate, // when calculating preVerificationGas for validation
180
- overheads) {
180
+ export async function calcPreVerificationGas({ config, userOperation, entryPoint, gasPriceManager, validate, overheads }) {
181
181
  let preVerificationGas = calcDefaultPreVerificationGas(userOperation, overheads);
182
- if (chainId === 59140) {
183
- // linea sepolia
184
- preVerificationGas *= 2n;
182
+ if (config.publicClient.chain.id === lineaSepolia.id) {
183
+ return preVerificationGas * 2n;
185
184
  }
186
- else if (chainType === "op-stack") {
187
- preVerificationGas = await calcOptimismPreVerificationGas(publicClient, userOperation, entryPoint, preVerificationGas, gasPriceManager, validate);
185
+ switch (config.chainType) {
186
+ case "op-stack":
187
+ return await calcOptimismPreVerificationGas(config.publicClient, userOperation, entryPoint, preVerificationGas, gasPriceManager, validate);
188
+ case "arbitrum":
189
+ return await calcArbitrumPreVerificationGas(config.publicClient, userOperation, entryPoint, preVerificationGas, gasPriceManager, validate);
190
+ case "mantle":
191
+ return await calcMantlePreVerificationGas(config.publicClient, userOperation, entryPoint, preVerificationGas, gasPriceManager, validate);
192
+ default:
193
+ return preVerificationGas;
188
194
  }
189
- else if (chainType === "arbitrum") {
190
- preVerificationGas = await calcArbitrumPreVerificationGas(publicClient, userOperation, entryPoint, preVerificationGas);
191
- }
192
- return preVerificationGas;
193
195
  }
194
196
  export function calcVerificationGasAndCallGasLimit(userOperation, executionResult, chainId, callDataResult) {
195
- const verificationGasLimit = ((executionResult.preOpGas - userOperation.preVerificationGas) * 3n) /
196
- 2n;
197
- let gasPrice;
198
- if (userOperation.maxPriorityFeePerGas === userOperation.maxFeePerGas) {
199
- gasPrice = userOperation.maxFeePerGas;
200
- }
201
- else {
202
- gasPrice = userOperation.maxFeePerGas;
203
- }
197
+ const verificationGasLimit = scaleBigIntByPercent(executionResult.preOpGas - userOperation.preVerificationGas, 150);
204
198
  const calculatedCallGasLimit = callDataResult?.gasUsed ??
205
- executionResult.paid / gasPrice - executionResult.preOpGas;
206
- let callGasLimit = (calculatedCallGasLimit > 9000n ? calculatedCallGasLimit : 9000n) +
207
- 21000n +
208
- 50000n;
199
+ executionResult.paid / userOperation.maxFeePerGas - executionResult.preOpGas;
200
+ let callGasLimit = maxBigInt(calculatedCallGasLimit, 9000n) + 21000n + 50000n;
209
201
  if (chainId === baseGoerli.id ||
210
202
  chainId === baseSepolia.id ||
211
203
  chainId === base.id) {
212
- callGasLimit = (110n * callGasLimit) / 100n;
204
+ callGasLimit = scaleBigIntByPercent(callGasLimit, 110);
213
205
  }
214
206
  return { verificationGasLimit, callGasLimit };
215
207
  }
@@ -240,47 +232,18 @@ export function calcDefaultPreVerificationGas(userOperation, overheads) {
240
232
  ov.perUserOpWord * lengthInWord);
241
233
  return BigInt(ret);
242
234
  }
243
- const maxUint64 = 2n ** 64n - 1n;
244
- const getL1FeeAbi = [
245
- {
246
- inputs: [
247
- {
248
- internalType: "bytes",
249
- name: "data",
250
- type: "bytes"
251
- }
252
- ],
253
- name: "getL1Fee",
254
- outputs: [
255
- {
256
- internalType: "uint256",
257
- name: "fee",
258
- type: "uint256"
259
- }
260
- ],
261
- stateMutability: "nonpayable",
262
- type: "function"
263
- },
264
- {
265
- inputs: [],
266
- name: "l1BaseFee",
267
- outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
268
- stateMutability: "view",
269
- type: "function"
270
- }
271
- ];
272
- export async function calcOptimismPreVerificationGas(publicClient, op, entryPoint, staticFee, gasPriceManager, verify) {
235
+ // Returns back the bytes for the handleOps call
236
+ function getHandleOpsCallData(op, entryPoint) {
273
237
  let selector;
274
238
  let paramData;
275
239
  if (isVersion06(op)) {
276
- const randomDataUserOp = removeZeroBytesFromUserOp(op);
277
240
  const handleOpsAbi = getAbiItem({
278
241
  abi: EntryPointV06Abi,
279
242
  name: "handleOps"
280
243
  });
281
244
  selector = toFunctionSelector(handleOpsAbi);
282
245
  paramData = encodeAbiParameters(handleOpsAbi.inputs, [
283
- [randomDataUserOp],
246
+ [removeZeroBytesFromUserOp(op)],
284
247
  entryPoint
285
248
  ]);
286
249
  }
@@ -297,6 +260,75 @@ export async function calcOptimismPreVerificationGas(publicClient, op, entryPoin
297
260
  ]);
298
261
  }
299
262
  const data = concat([selector, paramData]);
263
+ return data;
264
+ }
265
+ export async function calcMantlePreVerificationGas(publicClient, op, entryPoint, staticFee, gasPriceManager, verify) {
266
+ const data = getHandleOpsCallData(op, entryPoint);
267
+ const serializedTx = serializeTransaction({
268
+ to: entryPoint,
269
+ chainId: publicClient.chain.id,
270
+ nonce: 999999,
271
+ gasLimit: maxUint64,
272
+ gasPrice: maxUint64,
273
+ data
274
+ }, {
275
+ r: "0x123451234512345123451234512345123451234512345123451234512345",
276
+ s: "0x123451234512345123451234512345123451234512345123451234512345",
277
+ v: 28n
278
+ });
279
+ let tokenRatio;
280
+ let scalar;
281
+ let rollupDataGasAndOverhead;
282
+ let l1GasPrice;
283
+ const mantleManager = gasPriceManager.mantleManager;
284
+ if (verify) {
285
+ const minValues = mantleManager.getMinMantleOracleValues();
286
+ tokenRatio = minValues.minTokenRatio;
287
+ scalar = minValues.minScalar;
288
+ rollupDataGasAndOverhead = minValues.minRollupDataGasAndOverhead;
289
+ l1GasPrice = minValues.minL1GasPrice;
290
+ }
291
+ else {
292
+ ;
293
+ [tokenRatio, scalar, rollupDataGasAndOverhead, l1GasPrice] =
294
+ await Promise.all([
295
+ publicClient.readContract({
296
+ address: "0x420000000000000000000000000000000000000F",
297
+ abi: MantleBvmGasPriceOracleAbi,
298
+ functionName: "tokenRatio"
299
+ }),
300
+ publicClient.readContract({
301
+ address: "0x420000000000000000000000000000000000000F",
302
+ abi: MantleBvmGasPriceOracleAbi,
303
+ functionName: "scalar"
304
+ }),
305
+ publicClient.readContract({
306
+ address: "0x420000000000000000000000000000000000000F",
307
+ abi: MantleBvmGasPriceOracleAbi,
308
+ functionName: "getL1GasUsed",
309
+ args: [serializedTx]
310
+ }),
311
+ publicClient.readContract({
312
+ address: "0x420000000000000000000000000000000000000F",
313
+ abi: MantleBvmGasPriceOracleAbi,
314
+ functionName: "l1BaseFee"
315
+ })
316
+ ]);
317
+ mantleManager.saveMantleOracleValues({
318
+ tokenRatio,
319
+ scalar,
320
+ rollupDataGasAndOverhead,
321
+ l1GasPrice
322
+ });
323
+ }
324
+ const mantleL1RollUpFeeDivisionFactor = 1000000n;
325
+ const l1RollupFee = (rollupDataGasAndOverhead * l1GasPrice * tokenRatio * scalar) /
326
+ mantleL1RollUpFeeDivisionFactor;
327
+ const l2MaxFee = BigInt(op.maxFeePerGas);
328
+ return staticFee + l1RollupFee / l2MaxFee;
329
+ }
330
+ export async function calcOptimismPreVerificationGas(publicClient, op, entryPoint, staticFee, gasPriceManager, verify) {
331
+ const data = getHandleOpsCallData(op, entryPoint);
300
332
  const serializedTx = serializeTransaction({
301
333
  to: entryPoint,
302
334
  chainId: publicClient.chain.id,
@@ -310,7 +342,7 @@ export async function calcOptimismPreVerificationGas(publicClient, op, entryPoin
310
342
  v: 28n
311
343
  });
312
344
  const opGasPriceOracle = getContract({
313
- abi: getL1FeeAbi,
345
+ abi: OpL1FeeAbi,
314
346
  address: "0x420000000000000000000000000000000000000F",
315
347
  client: {
316
348
  public: publicClient
@@ -333,74 +365,8 @@ export async function calcOptimismPreVerificationGas(publicClient, op, entryPoin
333
365
  const l2price = minBigInt(l2MaxFee, l2PriorityFee);
334
366
  return staticFee + l1Fee / l2price;
335
367
  }
336
- const getArbitrumL1FeeAbi = [
337
- {
338
- inputs: [
339
- {
340
- internalType: "address",
341
- name: "to",
342
- type: "address"
343
- },
344
- {
345
- internalType: "bool",
346
- name: "contractCreation",
347
- type: "bool"
348
- },
349
- {
350
- internalType: "bytes",
351
- name: "data",
352
- type: "bytes"
353
- }
354
- ],
355
- name: "gasEstimateL1Component",
356
- outputs: [
357
- {
358
- internalType: "uint64",
359
- name: "gasEstimateForL1",
360
- type: "uint64"
361
- },
362
- {
363
- internalType: "uint256",
364
- name: "baseFee",
365
- type: "uint256"
366
- },
367
- {
368
- internalType: "uint256",
369
- name: "l1BaseFeeEstimate",
370
- type: "uint256"
371
- }
372
- ],
373
- stateMutability: "nonpayable",
374
- type: "function"
375
- }
376
- ];
377
- export async function calcArbitrumPreVerificationGas(publicClient, op, entryPoint, staticFee) {
378
- let selector;
379
- let paramData;
380
- if (isVersion06(op)) {
381
- const handleOpsAbi = getAbiItem({
382
- abi: EntryPointV06Abi,
383
- name: "handleOps"
384
- });
385
- selector = toFunctionSelector(handleOpsAbi);
386
- paramData = encodeAbiParameters(handleOpsAbi.inputs, [
387
- [removeZeroBytesFromUserOp(op)],
388
- entryPoint
389
- ]);
390
- }
391
- else {
392
- const randomDataUserOp = removeZeroBytesFromUserOp(op);
393
- const handleOpsAbi = getAbiItem({
394
- abi: EntryPointV07Abi,
395
- name: "handleOps"
396
- });
397
- selector = toFunctionSelector(handleOpsAbi);
398
- paramData = encodeAbiParameters(handleOpsAbi.inputs, [
399
- [randomDataUserOp],
400
- entryPoint
401
- ]);
402
- }
403
- const data = concat([selector, paramData]);
368
+ export async function calcArbitrumPreVerificationGas(publicClient, op, entryPoint, staticFee, gasPriceManager, validate) {
369
+ const data = getHandleOpsCallData(op, entryPoint);
404
370
  const precompileAddress = "0x00000000000000000000000000000000000000C8";
405
371
  const serializedTx = serializeTransaction({
406
372
  to: entryPoint,
@@ -415,7 +381,7 @@ export async function calcArbitrumPreVerificationGas(publicClient, op, entryPoin
415
381
  v: 28n
416
382
  });
417
383
  const arbGasPriceOracle = getContract({
418
- abi: getArbitrumL1FeeAbi,
384
+ abi: ArbitrumL1FeeAbi,
419
385
  address: precompileAddress,
420
386
  client: {
421
387
  public: publicClient
@@ -426,7 +392,21 @@ export async function calcArbitrumPreVerificationGas(publicClient, op, entryPoin
426
392
  false,
427
393
  serializedTx
428
394
  ]);
429
- return result[0] + staticFee;
395
+ let [gasForL1, l2BaseFee, l1BaseFeeEstimate] = result;
396
+ const arbitrumManager = gasPriceManager.arbitrumManager;
397
+ arbitrumManager.saveL1BaseFee(l1BaseFeeEstimate);
398
+ arbitrumManager.saveL2BaseFee(l2BaseFee);
399
+ if (validate) {
400
+ if (l1BaseFeeEstimate === 0n) {
401
+ l1BaseFeeEstimate = arbitrumManager.getMaxL1BaseFee();
402
+ }
403
+ // gasEstimateL1Component source: https://github.com/OffchainLabs/nitro/blob/5cd7d6913eb6b4dedb08f6ea49d7f9802d2cc5b9/execution/nodeInterface/NodeInterface.go#L515-L551
404
+ const feesForL1 = (gasForL1 * l2BaseFee) / l1BaseFeeEstimate;
405
+ const minL1BaseFeeEstimate = arbitrumManager.getMinL1BaseFee();
406
+ const maxL2BaseFee = arbitrumManager.getMaxL2BaseFee();
407
+ gasForL1 = (feesForL1 * minL1BaseFeeEstimate) / maxL2BaseFee;
408
+ }
409
+ return staticFee + gasForL1;
430
410
  }
431
411
  export function parseViemError(err) {
432
412
  if (err instanceof ContractFunctionExecutionError ||
@@ -450,6 +430,9 @@ export function parseViemError(err) {
450
430
  if (e instanceof EstimateGasExecutionError) {
451
431
  return e;
452
432
  }
433
+ if (e instanceof InternalRpcError) {
434
+ return e;
435
+ }
453
436
  return;
454
437
  }
455
438
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../utils/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../utils/validation.ts"],"names":[],"mappings":"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"}
package/lib/cli/alto.js CHANGED
@@ -75,6 +75,8 @@ function getAltoCli() {
75
75
  .group(Object.keys(config_1.logOptions), "Logging Options:")
76
76
  .options(config_1.debugOptions)
77
77
  .group(Object.keys(config_1.debugOptions), "Debug Options:")
78
+ .options(config_1.gasEstimationOptions)
79
+ .group(Object.keys(config_1.gasEstimationOptions), "Gas Estimation Options:")
78
80
  // blank scriptName so that help text doesn't display the cli name before each command
79
81
  .scriptName("")
80
82
  .demandCommand(1)
@@ -1 +1 @@
1
- {"version":3,"file":"alto.js","sourceRoot":"","sources":["../../cli/alto.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAsC;AACtC,oDAA2B;AAC3B,kDAAyB;AACzB,2CAAuC;AACvC,qCASiB;AACjB,iCAA+C;AAE/C,4CAA4C;AAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACjC,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAA;AAC3D,CAAC;KAAM,CAAC;IACJ,gBAAM,CAAC,MAAM,EAAE,CAAA;AACnB,CAAC;AAED,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC;QACR,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QAC3B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;KACvC,CAAC,CAAA;AACN,CAAC;AAEY,QAAA,IAAI,GAAG,IAAA,eAAK,EACpB,iBAAwC,CAAC,OAAO,CAAC,IAAI,CAAC,CAC1D,CAAA;AAED,MAAM,SAAS,GAAG;qBACG,CAAA;AACrB,MAAM,YAAY,GAAG;;CAEpB,CAAA;AAED,SAAgB,UAAU;IACtB,MAAM,IAAI,GAAG,YAAI;SACZ,IAAI,CAAC,IAAI,CAAC;SACV,GAAG,CAAC,MAAM,CAAC;SACX,mBAAmB,CAAC;QACjB,0DAA0D;QAC1D,2DAA2D;QAC3D,cAAc,EAAE,IAAI;KACvB,CAAC;SACD,OAAO,CAAC,uBAAc,CAAC;SACvB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAc,CAAC,EAAE,UAAU,CAAC;SAC9C,OAAO,CAAC,6BAAoB,CAAC;SAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,6BAAoB,CAAC,EAAE,wBAAwB,CAAC;SAClE,OAAO,CAAC,sBAAa,CAAC;SACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,EAAE,iBAAiB,CAAC;SACpD,OAAO,CAAC,mBAAU,CAAC;SACnB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAU,CAAC,EAAE,cAAc,CAAC;SAC9C,OAAO,CAAC,iCAAwB,CAAC;SACjC,KAAK,CACF,MAAM,CAAC,IAAI,CAAC,iCAAwB,CAAC,EACrC,6BAA6B,CAChC;SACA,OAAO,CAAC,mBAAU,CAAC;SACnB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAU,CAAC,EAAE,kBAAkB,CAAC;SAClD,OAAO,CAAC,qBAAY,CAAC;SACrB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAY,CAAC,EAAE,gBAAgB,CAAC;QACnD,sFAAsF;SACrF,UAAU,CAAC,EAAE,CAAC;SACd,aAAa,CAAC,CAAC,CAAC;SAChB,KAAK,CAAC,SAAS,CAAC;SAChB,QAAQ,CAAC,YAAY,CAAC;QACvB,+CAA+C;SAC9C,cAAc,CAAC,KAAK,CAAC;SACrB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;SACrB,iBAAiB,EAAE,CAAA;IAExB,+CAA+C;IAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAA,CAAC,WAAW;IACpC,IAAI,CAAC,MAAM,EAAE,CAAA;IAEb,+BAA+B;IAC/B,IAAA,6BAAsB,EAAC,IAAI,EAAE,uBAAc,CAAC,CAAA;IAE5C,OAAO,IAAI,CAAA;AACf,CAAC;AA7CD,gCA6CC;AAED,MAAa,UAAW,SAAQ,KAAK;CAAG;AAAxC,gCAAwC;AAExC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAA;AAEzB,mEAAmE;AACnE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACnB,IAAI,GAAG,EAAE,CAAC;QACN,wDAAwD;QACxD,IAAI,GAAG,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAAE,CAAC;YAClD,YAAI,CAAC,QAAQ,EAAE,CAAA;YACf,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GACd,GAAG,KAAK,SAAS;QACb,CAAC,CAAC,GAAG,YAAY,UAAU;YACvB,CAAC,CAAC,GAAG,CAAC,OAAO;YACb,CAAC,CAAC,GAAG,CAAC,KAAK;QACf,CAAC,CAAC,GAAG,IAAI,eAAe,CAAA;IAEhC,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC,CAAA;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"alto.js","sourceRoot":"","sources":["../../cli/alto.ts"],"names":[],"mappings":"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"}