@pimlico/alto 0.0.0-main.20251015T151337 → 0.0.0-main.20251016T144944

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 (31) hide show
  1. package/esm/cli/config/bundler.d.ts +6 -12
  2. package/esm/cli/config/bundler.js +2 -4
  3. package/esm/cli/config/bundler.js.map +1 -1
  4. package/esm/cli/config/options.js +2 -7
  5. package/esm/cli/config/options.js.map +1 -1
  6. package/esm/executor/filterOpsAndEstimateGas.d.ts +1 -1
  7. package/esm/executor/filterOpsAndEstimateGas.js +20 -53
  8. package/esm/executor/filterOpsAndEstimateGas.js.map +1 -1
  9. package/esm/executor/utils.d.ts +6 -0
  10. package/esm/executor/utils.js +27 -1
  11. package/esm/executor/utils.js.map +1 -1
  12. package/esm/mempool/mempool.d.ts +3 -1
  13. package/esm/mempool/mempool.js +50 -15
  14. package/esm/mempool/mempool.js.map +1 -1
  15. package/esm/{utils/preVerificationGasCalulator.d.ts → rpc/estimation/preVerificationGasCalculator.d.ts} +20 -4
  16. package/esm/{utils/preVerificationGasCalulator.js → rpc/estimation/preVerificationGasCalculator.js} +82 -37
  17. package/esm/rpc/estimation/preVerificationGasCalculator.js.map +1 -0
  18. package/esm/rpc/methods/eth_estimateUserOperationGas.js +26 -21
  19. package/esm/rpc/methods/eth_estimateUserOperationGas.js.map +1 -1
  20. package/esm/rpc/methods/eth_sendUserOperation.js +36 -16
  21. package/esm/rpc/methods/eth_sendUserOperation.js.map +1 -1
  22. package/esm/rpc/rpcHandler.js +1 -2
  23. package/esm/rpc/rpcHandler.js.map +1 -1
  24. package/esm/types/utils.d.ts +0 -1
  25. package/esm/utils/eip7702.js +8 -5
  26. package/esm/utils/eip7702.js.map +1 -1
  27. package/esm/utils/index.d.ts +0 -1
  28. package/esm/utils/index.js +0 -1
  29. package/esm/utils/index.js.map +1 -1
  30. package/package.json +1 -1
  31. package/esm/utils/preVerificationGasCalulator.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { ERC7769Errors, EntryPointV06Abi, EntryPointV07Abi, RpcError } from "../types/index.js";
2
2
  import { getAAError, getAddressFromInitCodeOrPaymasterAndData, getUserOpHash, isVersion06, isVersion07, isVersion08, jsonStringifyWithBigint, scaleBigIntByPercent } from "../utils/index.js";
3
3
  import { getAddress, getContract } from "viem";
4
- import { generatePrivateKey, privateKeyToAddress } from "viem/accounts";
5
4
  import { calculateAA95GasFloor } from "../executor/utils.js";
5
+ import { getEip7702AuthAddress } from "../utils/eip7702.js";
6
6
  import { ReputationStatuses } from "./reputationManager.js";
7
7
  export class Mempool {
8
8
  config;
@@ -214,7 +214,33 @@ export class Mempool {
214
214
  return [true, ""];
215
215
  }
216
216
  // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <explanation>
217
- async shouldSkip({ userOpInfo, paymasterDeposit, stakedEntityCount, knownEntities, senders, storageMap, entryPoint }) {
217
+ async shouldSkip({ userOpInfo, paymasterDeposit, touchedEip7702Auth, stakedEntityCount, knownEntities, senders, storageMap, entryPoint }) {
218
+ const { userOp, userOpHash, referencedContracts } = userOpInfo;
219
+ // Check conflicting EIP-7702 auths (same sender, different delegate address)
220
+ if (userOp.eip7702Auth) {
221
+ const auth = getEip7702AuthAddress(userOp.eip7702Auth);
222
+ const existingAuth = touchedEip7702Auth.get(userOp.sender);
223
+ if (existingAuth && existingAuth !== auth) {
224
+ this.logger.warn({
225
+ userOpHash,
226
+ conflictingAuth: auth,
227
+ existingAuth
228
+ }, "Conflicting EIP-7702 auths");
229
+ return {
230
+ skip: true,
231
+ removeOutstanding: false,
232
+ paymasterDeposit,
233
+ touchedEip7702Auth,
234
+ stakedEntityCount,
235
+ knownEntities,
236
+ senders,
237
+ storageMap
238
+ };
239
+ }
240
+ if (!existingAuth) {
241
+ touchedEip7702Auth.set(userOp.sender, auth);
242
+ }
243
+ }
218
244
  if (!this.config.safeMode) {
219
245
  return {
220
246
  skip: false,
@@ -222,10 +248,10 @@ export class Mempool {
222
248
  stakedEntityCount,
223
249
  knownEntities,
224
250
  senders,
225
- storageMap
251
+ storageMap,
252
+ touchedEip7702Auth
226
253
  };
227
254
  }
228
- const { userOp, userOpHash, referencedContracts } = userOpInfo;
229
255
  const isUserOpV06 = isVersion06(userOp);
230
256
  const paymaster = isUserOpV06
231
257
  ? getAddressFromInitCodeOrPaymasterAndData(userOp.paymasterAndData)
@@ -244,7 +270,8 @@ export class Mempool {
244
270
  stakedEntityCount,
245
271
  knownEntities,
246
272
  senders,
247
- storageMap
273
+ storageMap,
274
+ touchedEip7702Auth
248
275
  };
249
276
  }
250
277
  if (paymasterStatus === ReputationStatuses.throttled &&
@@ -260,7 +287,8 @@ export class Mempool {
260
287
  stakedEntityCount,
261
288
  knownEntities,
262
289
  senders,
263
- storageMap
290
+ storageMap,
291
+ touchedEip7702Auth
264
292
  };
265
293
  }
266
294
  if (factoryStatus === ReputationStatuses.throttled &&
@@ -276,7 +304,8 @@ export class Mempool {
276
304
  stakedEntityCount,
277
305
  knownEntities,
278
306
  senders,
279
- storageMap
307
+ storageMap,
308
+ touchedEip7702Auth
280
309
  };
281
310
  }
282
311
  if (senders.has(userOp.sender) &&
@@ -291,7 +320,8 @@ export class Mempool {
291
320
  stakedEntityCount,
292
321
  knownEntities,
293
322
  senders,
294
- storageMap
323
+ storageMap,
324
+ touchedEip7702Auth
295
325
  };
296
326
  }
297
327
  let validationResult;
@@ -323,7 +353,8 @@ export class Mempool {
323
353
  stakedEntityCount,
324
354
  knownEntities,
325
355
  senders,
326
- storageMap
356
+ storageMap,
357
+ touchedEip7702Auth
327
358
  };
328
359
  }
329
360
  for (const storageAddress of Object.keys(validationResult.storageMap)) {
@@ -340,7 +371,8 @@ export class Mempool {
340
371
  stakedEntityCount,
341
372
  knownEntities,
342
373
  senders,
343
- storageMap
374
+ storageMap,
375
+ touchedEip7702Auth
344
376
  };
345
377
  }
346
378
  }
@@ -368,7 +400,8 @@ export class Mempool {
368
400
  stakedEntityCount,
369
401
  knownEntities,
370
402
  senders,
371
- storageMap
403
+ storageMap,
404
+ touchedEip7702Auth
372
405
  };
373
406
  }
374
407
  stakedEntityCount[paymaster] =
@@ -385,7 +418,8 @@ export class Mempool {
385
418
  stakedEntityCount,
386
419
  knownEntities,
387
420
  senders,
388
- storageMap
421
+ storageMap,
422
+ touchedEip7702Auth
389
423
  };
390
424
  }
391
425
  async getBundles(maxBundleCount) {
@@ -445,6 +479,7 @@ export class Mempool {
445
479
  submissionAttempts: 0
446
480
  };
447
481
  let gasUsed = 0n;
482
+ let touchedEip7702Auth = new Map();
448
483
  let paymasterDeposit = {};
449
484
  let stakedEntityCount = {};
450
485
  let senders = new Set();
@@ -458,6 +493,7 @@ export class Mempool {
458
493
  // Check if we should skip this operation
459
494
  const skipResult = await this.shouldSkip({
460
495
  userOpInfo: currentUserOp,
496
+ touchedEip7702Auth,
461
497
  paymasterDeposit,
462
498
  stakedEntityCount,
463
499
  knownEntities,
@@ -478,9 +514,7 @@ export class Mempool {
478
514
  }
479
515
  gasUsed += calculateAA95GasFloor({
480
516
  userOps: [userOp],
481
- beneficiary: // Use utility address if set, otherwise generate random beneficiary.
482
- this.config.utilityPrivateKey?.address ||
483
- privateKeyToAddress(generatePrivateKey())
517
+ beneficiary: this.config.utilityWalletAddress
484
518
  });
485
519
  // Break on gas limit
486
520
  if (gasUsed > maxGasLimit) {
@@ -494,6 +528,7 @@ export class Mempool {
494
528
  knownEntities = skipResult.knownEntities;
495
529
  senders = skipResult.senders;
496
530
  storageMap = skipResult.storageMap;
531
+ touchedEip7702Auth = skipResult.touchedEip7702Auth;
497
532
  this.reputationManager.decreaseUserOpCount(userOp);
498
533
  // Track the operation as active (being bundled).
499
534
  await this.store.addProcessing({
@@ -1 +1 @@
1
- {"version":3,"file":"mempool.js","sourceRoot":"","sources":["../../mempool/mempool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mempool.js","sourceRoot":"","sources":["../../mempool/mempool.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import type { GasPriceManager } from "../handlers/index.js";
2
- import { type Address, type UserOperation } from "../types/index.js";
3
- import type { AltoConfig } from "../createConfig.js";
1
+ import type { GasPriceManager } from "../../handlers/index.js";
2
+ import { type Address, type UserOperation } from "../../types/index.js";
3
+ import { type Chain, type PublicClient, type Transport } from "viem";
4
+ import type { AltoConfig } from "../../createConfig.js";
4
5
  export interface GasOverheads {
5
6
  perUserOp: bigint;
6
7
  zeroByte: bigint;
@@ -37,4 +38,19 @@ export declare function getSerializedHandleOpsTx({ userOps, entryPoint, chainId,
37
38
  removeZeros?: boolean;
38
39
  randomizeSignature?: boolean;
39
40
  }): `0x02${string}` | `0x01${string}` | `0x03${string}` | `0x04${string}` | import("viem").TransactionSerializedLegacy;
40
- //# sourceMappingURL=preVerificationGasCalulator.d.ts.map
41
+ export declare function getArbitrumL1GasEstimate({ publicClient, userOps, entryPoint }: {
42
+ publicClient: PublicClient<Transport, Chain | undefined>;
43
+ userOps: UserOperation[];
44
+ entryPoint: Address;
45
+ }): Promise<{
46
+ gasForL1: bigint;
47
+ l2BaseFee: bigint;
48
+ l1BaseFeeEstimate: bigint;
49
+ }>;
50
+ export declare function calcMonadPvg({ userOp, config, entryPoint, validate }: {
51
+ userOp: UserOperation;
52
+ config: AltoConfig;
53
+ entryPoint: Address;
54
+ validate: boolean;
55
+ }): Promise<bigint>;
56
+ //# sourceMappingURL=preVerificationGasCalculator.d.ts.map
@@ -1,10 +1,8 @@
1
1
  import crypto from "node:crypto";
2
- import { MantleBvmGasPriceOracleAbi, OpL1FeeAbi } from "../types/index.js";
2
+ import { encodeHandleOpsCalldata, getBundleGasLimit } from "../../executor/index.js";
3
+ import { ArbitrumL1FeeAbi, MantleBvmGasPriceOracleAbi, OpL1FeeAbi } from "../../types/index.js";
4
+ import { isVersion06, isVersion07, maxBigInt, minBigInt, randomBigInt, scaleBigIntByPercent, toPackedUserOp, unscaleBigIntByPercent } from "../../utils/index.js";
3
5
  import { bytesToHex, concat, encodeAbiParameters, getContract, maxUint64, maxUint128, maxUint256, parseEther, serializeTransaction, size, slice, toBytes, toHex } from "viem";
4
- import { encodeHandleOpsCalldata } from "../executor/utils.js";
5
- import { ArbitrumL1FeeAbi } from "../types/contracts/ArbitrumL1FeeAbi.js";
6
- import { maxBigInt, minBigInt, randomBigInt, unscaleBigIntByPercent } from "./bigInt.js";
7
- import { isVersion06, isVersion07, toPackedUserOp } from "./userop.js";
8
6
  // Encodes a user operation into bytes for gas calculation
9
7
  function encodeUserOp(userOp) {
10
8
  const p = fillUserOpWithDummyData(userOp);
@@ -227,8 +225,8 @@ export function getSerializedHandleOpsTx({ userOps, entryPoint, chainId, removeZ
227
225
  // Process operations based on configuration
228
226
  let processedOps = userOps;
229
227
  if (randomizeSignature) {
230
- processedOps = userOps.map((op) => {
231
- const sigLength = size(op.signature);
228
+ processedOps = userOps.map((userOp) => {
229
+ const sigLength = size(userOp.signature);
232
230
  let newSignature;
233
231
  const randomizeBytes = (length) => toHex(crypto.randomBytes(length).toString("hex"));
234
232
  if (sigLength < 65) {
@@ -237,19 +235,19 @@ export function getSerializedHandleOpsTx({ userOps, entryPoint, chainId, removeZ
237
235
  }
238
236
  else {
239
237
  // For longer signatures, only randomize the last 65 bytes
240
- const originalPart = slice(op.signature, 0, sigLength - 65);
238
+ const originalPart = slice(userOp.signature, 0, sigLength - 65);
241
239
  const randomPart = randomizeBytes(65);
242
240
  newSignature = concat([originalPart, randomPart]);
243
241
  }
244
242
  return {
245
- ...op,
243
+ ...userOp,
246
244
  signature: newSignature
247
245
  };
248
246
  });
249
247
  }
250
248
  // Apply removeZeros logic if needed
251
249
  const finalOps = removeZeros
252
- ? processedOps.map((op) => fillUserOpWithDummyData(op))
250
+ ? processedOps.map((userOp) => fillUserOpWithDummyData(userOp))
253
251
  : processedOps;
254
252
  const data = encodeHandleOpsCalldata({
255
253
  userOps: finalOps,
@@ -263,9 +261,33 @@ export function getSerializedHandleOpsTx({ userOps, entryPoint, chainId, removeZ
263
261
  };
264
262
  return serializeTxWithDefaults(txParams);
265
263
  }
266
- async function calcEtherlinkPvg(op, entryPoint, gasPriceManager, verify) {
264
+ // Shared utility for Arbitrum L1 gas estimation
265
+ export async function getArbitrumL1GasEstimate({ publicClient, userOps, entryPoint }) {
266
+ const precompileAddress = "0x00000000000000000000000000000000000000C8";
267
267
  const serializedTx = getSerializedHandleOpsTx({
268
- userOps: [op],
268
+ userOps,
269
+ entryPoint,
270
+ chainId: publicClient.chain?.id ?? 10,
271
+ removeZeros: false
272
+ });
273
+ const arbGasPriceOracle = getContract({
274
+ abi: ArbitrumL1FeeAbi,
275
+ address: precompileAddress,
276
+ client: {
277
+ public: publicClient
278
+ }
279
+ });
280
+ const { result } = await arbGasPriceOracle.simulate.gasEstimateL1Component([
281
+ entryPoint,
282
+ false,
283
+ serializedTx
284
+ ]);
285
+ const [gasForL1, l2BaseFee, l1BaseFeeEstimate] = result;
286
+ return { gasForL1, l2BaseFee, l1BaseFeeEstimate };
287
+ }
288
+ async function calcEtherlinkPvg(userOp, entryPoint, gasPriceManager, verify) {
289
+ const serializedTx = getSerializedHandleOpsTx({
290
+ userOps: [userOp],
269
291
  entryPoint,
270
292
  chainId: 128123 // Etherlink chain ID
271
293
  });
@@ -284,9 +306,9 @@ async function calcEtherlinkPvg(op, entryPoint, gasPriceManager, verify) {
284
306
  const inclusionFeeInGas = inclusionFee / maxFeePerGas;
285
307
  return inclusionFeeInGas;
286
308
  }
287
- async function calcMantlePvg(publicClient, op, entryPoint, gasPriceManager, verify) {
309
+ async function calcMantlePvg(publicClient, userOp, entryPoint, gasPriceManager, verify) {
288
310
  const serializedTx = getSerializedHandleOpsTx({
289
- userOps: [op],
311
+ userOps: [userOp],
290
312
  entryPoint,
291
313
  chainId: publicClient.chain.id
292
314
  });
@@ -344,9 +366,9 @@ async function calcMantlePvg(publicClient, op, entryPoint, gasPriceManager, veri
344
366
  const l2MaxFee = BigInt(maxFeePerGas);
345
367
  return l1RollupFee / l2MaxFee;
346
368
  }
347
- async function calcOptimismPvg(publicClient, op, entryPoint, gasPriceManager, validate) {
369
+ async function calcOptimismPvg(publicClient, userOp, entryPoint, gasPriceManager, validate) {
348
370
  const serializedTx = getSerializedHandleOpsTx({
349
- userOps: [op],
371
+ userOps: [userOp],
350
372
  entryPoint,
351
373
  chainId: publicClient.chain.id,
352
374
  removeZeros: false,
@@ -383,26 +405,12 @@ async function calcOptimismPvg(publicClient, op, entryPoint, gasPriceManager, va
383
405
  const l2price = minBigInt(l2MaxFee, l2PriorityFee);
384
406
  return l1Fee / l2price;
385
407
  }
386
- async function calcArbitrumPvg(publicClient, op, entryPoint, gasPriceManager, validate) {
387
- const precompileAddress = "0x00000000000000000000000000000000000000C8";
388
- const serializedTx = getSerializedHandleOpsTx({
389
- userOps: [op],
390
- entryPoint,
391
- chainId: publicClient.chain?.id ?? 10
408
+ async function calcArbitrumPvg(publicClient, userOp, entryPoint, gasPriceManager, validate) {
409
+ const { gasForL1, l2BaseFee, l1BaseFeeEstimate } = await getArbitrumL1GasEstimate({
410
+ publicClient,
411
+ userOps: [userOp],
412
+ entryPoint
392
413
  });
393
- const arbGasPriceOracle = getContract({
394
- abi: ArbitrumL1FeeAbi,
395
- address: precompileAddress,
396
- client: {
397
- public: publicClient
398
- }
399
- });
400
- const { result } = await arbGasPriceOracle.simulate.gasEstimateL1Component([
401
- entryPoint,
402
- false,
403
- serializedTx
404
- ]);
405
- let [gasForL1, l2BaseFee, l1BaseFeeEstimate] = result;
406
414
  const arbitrumManager = gasPriceManager.arbitrumManager;
407
415
  arbitrumManager.saveL1BaseFee(l1BaseFeeEstimate);
408
416
  arbitrumManager.saveL2BaseFee(l2BaseFee);
@@ -412,8 +420,45 @@ async function calcArbitrumPvg(publicClient, op, entryPoint, gasPriceManager, va
412
420
  arbitrumManager.getMinL1BaseFee(),
413
421
  arbitrumManager.getMaxL2BaseFee()
414
422
  ]);
415
- gasForL1 = (gasForL1 * l2BaseFee * minL1Fee) / (maxL1Fee * maxL2Fee);
423
+ return (gasForL1 * l2BaseFee * minL1Fee) / (maxL1Fee * maxL2Fee);
416
424
  }
417
425
  return gasForL1;
418
426
  }
419
- //# sourceMappingURL=preVerificationGasCalulator.js.map
427
+ // Monad consumes the entire gasLimit set by TX. To account for this, we need to know the gasLimit
428
+ // the bundler sets for this userOp.
429
+ export async function calcMonadPvg({ userOp, config, entryPoint, validate }) {
430
+ const { utilityWalletAddress: beneficiary, v6CallGasLimitMultiplier, v6VerificationGasLimitMultiplier, v7VerificationGasLimitMultiplier, v7PaymasterVerificationGasLimitMultiplier, v7CallGasLimitMultiplier, v7PaymasterPostOpGasLimitMultiplier } = config;
431
+ const bundlerGasLimit = await getBundleGasLimit({
432
+ config,
433
+ userOps: [userOp],
434
+ entryPoint,
435
+ executorAddress: beneficiary
436
+ });
437
+ // Calculate actual gas used by removing multipliers based on version
438
+ let gasUsedByUserOp = 0n;
439
+ if (isVersion06(userOp)) {
440
+ const realCallGasLimit = unscaleBigIntByPercent(userOp.callGasLimit, BigInt(v6CallGasLimitMultiplier));
441
+ const realVerificationGasLimit = unscaleBigIntByPercent(userOp.verificationGasLimit, BigInt(v6VerificationGasLimitMultiplier));
442
+ gasUsedByUserOp = realCallGasLimit + realVerificationGasLimit;
443
+ }
444
+ if (isVersion07(userOp)) {
445
+ const realCallGasLimit = unscaleBigIntByPercent(userOp.callGasLimit, BigInt(v7CallGasLimitMultiplier));
446
+ const realVerificationGasLimit = unscaleBigIntByPercent(userOp.verificationGasLimit, BigInt(v7VerificationGasLimitMultiplier));
447
+ const realPaymasterVerificationGasLimit = unscaleBigIntByPercent(userOp.paymasterVerificationGasLimit ?? 0n, BigInt(v7PaymasterVerificationGasLimitMultiplier));
448
+ const realPaymasterPostOpGasLimit = unscaleBigIntByPercent(userOp.paymasterPostOpGasLimit ?? 0n, BigInt(v7PaymasterPostOpGasLimitMultiplier));
449
+ gasUsedByUserOp =
450
+ realCallGasLimit +
451
+ realVerificationGasLimit +
452
+ realPaymasterVerificationGasLimit +
453
+ realPaymasterPostOpGasLimit;
454
+ }
455
+ // Monad uses the entire tx.gasLimit.
456
+ let burnedGas = bundlerGasLimit - scaleBigIntByPercent(gasUsedByUserOp, 70n);
457
+ if (validate) {
458
+ // We scale down 10% during validation to account for the variance in
459
+ // dummy paymasterData and signature fields.
460
+ burnedGas = scaleBigIntByPercent(burnedGas, 90n);
461
+ }
462
+ return burnedGas;
463
+ }
464
+ //# sourceMappingURL=preVerificationGasCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preVerificationGasCalculator.js","sourceRoot":"","sources":["../../../rpc/estimation/preVerificationGasCalculator.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { ERC7769Errors, RpcError, estimateUserOperationGasSchema } from "../../types/index.js";
2
2
  import { parseEther, toHex } from "viem";
3
3
  import { maxBigInt, scaleBigIntByPercent } from "../../utils/bigInt.js";
4
- import { calcExecutionPvgComponent, calcL2PvgComponent } from "../../utils/preVerificationGasCalulator.js";
5
4
  import { deepHexlify, getUserOpHash, isVersion06, isVersion07 } from "../../utils/userop.js";
6
5
  import { createMethodHandler } from "../createMethodHandler.js";
6
+ import { calcExecutionPvgComponent, calcL2PvgComponent, calcMonadPvg } from "../estimation/preVerificationGasCalculator.js";
7
7
  function calcVerificationGasAndCallGasLimit(userOp, executionResult, gasLimits) {
8
8
  const verificationGasLimit = gasLimits?.verificationGasLimit ??
9
9
  scaleBigIntByPercent(executionResult.preOpGas - userOp.preVerificationGas, 150n);
@@ -21,7 +21,7 @@ function calcVerificationGasAndCallGasLimit(userOp, executionResult, gasLimits)
21
21
  }
22
22
  const getGasEstimates = async ({ rpcHandler, userOp, entryPoint, stateOverrides }) => {
23
23
  // Prepare userOperation for simulation.
24
- const { simulationVerificationGasLimit, simulationCallGasLimit, simulationPaymasterVerificationGasLimit, simulationPaymasterPostOpGasLimit, paymasterGasLimitMultiplier, v6CallGasLimitMultiplier, v6VerificationGasLimitMultiplier, v7VerificationGasLimitMultiplier, v7PaymasterVerificationGasLimitMultiplier, v7CallGasLimitMultiplier, v7PaymasterPostOpGasLimitMultiplier, callGasLimitFloor } = rpcHandler.config;
24
+ const { simulationVerificationGasLimit, simulationCallGasLimit, simulationPaymasterVerificationGasLimit, simulationPaymasterPostOpGasLimit, v6CallGasLimitMultiplier, v6VerificationGasLimitMultiplier, v7VerificationGasLimitMultiplier, v7PaymasterVerificationGasLimitMultiplier, v7CallGasLimitMultiplier, v7PaymasterPostOpGasLimitMultiplier, callGasLimitFloor } = rpcHandler.config;
25
25
  // Create a deep mutable copy of stateOverrides to avoid modifying frozen objects
26
26
  let mutableStateOverrides;
27
27
  if (stateOverrides) {
@@ -90,24 +90,18 @@ const getGasEstimates = async ({ rpcHandler, userOp, entryPoint, stateOverrides
90
90
  const successResult = executionResult;
91
91
  let { verificationGasLimit, callGasLimit, paymasterVerificationGasLimit } = calcVerificationGasAndCallGasLimit(simulationUserOp, successResult.data.executionResult, successResult.data);
92
92
  let paymasterPostOpGasLimit = 0n;
93
- if (!paymasterVerificationGasLimit &&
94
- isVersion07(simulationUserOp) &&
95
- simulationUserOp.paymaster !== null &&
96
- "paymasterVerificationGasLimit" in successResult.data.executionResult) {
97
- paymasterVerificationGasLimit =
98
- successResult.data.executionResult.paymasterVerificationGasLimit ||
99
- 1n;
100
- paymasterVerificationGasLimit = scaleBigIntByPercent(paymasterVerificationGasLimit, paymasterGasLimitMultiplier);
101
- }
102
- if (isVersion07(simulationUserOp) &&
103
- simulationUserOp.paymaster !== null &&
104
- "paymasterPostOpGasLimit" in successResult.data.executionResult) {
105
- paymasterPostOpGasLimit =
106
- successResult.data.executionResult.paymasterPostOpGasLimit || 1n;
107
- const userOpPaymasterPostOpGasLimit = "paymasterPostOpGasLimit" in userOp
108
- ? (userOp.paymasterPostOpGasLimit ?? 1n)
109
- : 1n;
110
- paymasterPostOpGasLimit = maxBigInt(userOpPaymasterPostOpGasLimit, scaleBigIntByPercent(paymasterPostOpGasLimit, paymasterGasLimitMultiplier));
93
+ const hasPaymaster = isVersion07(userOp) && userOp.paymaster !== null;
94
+ const executionData = successResult.data.executionResult;
95
+ if (hasPaymaster) {
96
+ if (!paymasterVerificationGasLimit &&
97
+ "paymasterVerificationGasLimit" in executionData) {
98
+ paymasterVerificationGasLimit =
99
+ executionData.paymasterVerificationGasLimit || 1n;
100
+ }
101
+ if ("paymasterPostOpGasLimit" in executionData) {
102
+ paymasterPostOpGasLimit =
103
+ executionData.paymasterPostOpGasLimit || 1n;
104
+ }
111
105
  }
112
106
  if (simulationUserOp.callData === "0x") {
113
107
  callGasLimit = 0n;
@@ -148,7 +142,7 @@ export const ethEstimateUserOperationGasHandler = createMethodHandler({
148
142
  const [userOp, entryPoint, stateOverrides] = params;
149
143
  rpcHandler.ensureEntryPointIsSupported(entryPoint);
150
144
  // Extract all config values at the beginning
151
- const { supportsEip7623, v7PreVerificationGasLimitMultiplier, v6PreVerificationGasLimitMultiplier } = rpcHandler.config;
145
+ const { supportsEip7623, v7PreVerificationGasLimitMultiplier, v6PreVerificationGasLimitMultiplier, chainType } = rpcHandler.config;
152
146
  // Execute multiple async operations in parallel
153
147
  const [[validEip7702Auth, validEip7702AuthError], gasEstimateResult, l2GasComponent] = await Promise.all([
154
148
  rpcHandler.validateEip7702Auth({
@@ -207,6 +201,17 @@ export const ethEstimateUserOperationGasHandler = createMethodHandler({
207
201
  });
208
202
  // Extrace values for returning
209
203
  const { verificationGasLimit, callGasLimit, paymasterVerificationGasLimit, paymasterPostOpGasLimit } = finalGasLimits;
204
+ if (chainType === "monad") {
205
+ preVerificationGas = await calcMonadPvg({
206
+ config: rpcHandler.config,
207
+ userOp: {
208
+ ...userOp,
209
+ ...finalGasLimits
210
+ },
211
+ entryPoint,
212
+ validate: false
213
+ });
214
+ }
210
215
  if (isVersion07(userOp)) {
211
216
  return {
212
217
  preVerificationGas,
@@ -1 +1 @@
1
- {"version":3,"file":"eth_estimateUserOperationGas.js","sourceRoot":"","sources":["../../../rpc/methods/eth_estimateUserOperationGas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eth_estimateUserOperationGas.js","sourceRoot":"","sources":["../../../rpc/methods/eth_estimateUserOperationGas.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EACb,QAAQ,EAGR,8BAA8B,EACjC,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EACH,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EACH,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACf,MAAM,4CAA4C,CAAA;AAoBnD,SAAS,kCAAkC,CACvC,MAAqB,EACrB,eAGC,EACD,SAIC;IAED,MAAM,oBAAoB,GACtB,SAAS,EAAE,oBAAoB;QAC/B,oBAAoB,CAChB,eAAe,CAAC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,EACpD,IAAI,CACP,CAAA;IAEL,MAAM,sBAAsB,GACxB,SAAS,EAAE,YAAY;QACvB,eAAe,CAAC,IAAI,GAAG,MAAM,CAAC,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAA;IAEzE,IAAI,YAAY,GAAG,SAAS,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;IAE3D,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,YAAY,IAAI,MAAO,GAAG,MAAO,CAAA;IACrC,CAAC;IAED,OAAO;QACH,oBAAoB;QACpB,YAAY;QACZ,6BAA6B,EACzB,SAAS,EAAE,6BAA6B,IAAI,EAAE;KACrD,CAAA;AACL,CAAC;AAED,MAAM,eAAe,GAAG,KAAK,EAAE,EAC3B,UAAU,EACV,MAAM,EACN,UAAU,EACV,cAAc,EAMjB,EAA8B,EAAE;IAC7B,wCAAwC;IACxC,MAAM,EACF,8BAA8B,EAC9B,sBAAsB,EACtB,uCAAuC,EACvC,iCAAiC,EACjC,wBAAwB,EACxB,gCAAgC,EAChC,gCAAgC,EAChC,yCAAyC,EACzC,wBAAwB,EACxB,mCAAmC,EACnC,iBAAiB,EACpB,GAAG,UAAU,CAAC,MAAM,CAAA;IAErB,iFAAiF;IACjF,IAAI,qBAAiD,CAAA;IACrD,IAAI,cAAc,EAAE,CAAC;QACjB,qBAAqB,GAAG,EAAE,CAAA;QAC1B,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/D,qBAAqB,CAAC,OAAkB,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;QAC/D,CAAC;IACL,CAAC;IAED,sBAAsB;IACtB,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC;QACvE,MAAM;QACN,UAAU;KACb,CAAC,CAAA;IAEF,sBAAsB;IACtB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC9C,aAAa,CAAC;YACV,MAAM;YACN,iBAAiB,EAAE,UAAU;YAC7B,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO;SACrC,CAAC,CACL,CAAA;QAED,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,qBAAqB,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,gBAAgB,GAAG;QACrB,GAAG,MAAM;QACT,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE,EAAE;QACxB,kBAAkB,EAAE,EAAE;QACtB,oBAAoB,EAAE,8BAA8B;QACpD,YAAY,EAAE,sBAAsB;KACvC,CAAA;IAED,sFAAsF;IACtF,MAAM,SAAS,GACX,MAAM,CAAC,YAAY,KAAK,EAAE,IAAI,MAAM,CAAC,oBAAoB,KAAK,EAAE,CAAA;IAEpE,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC5B,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;YACtC,qBAAqB,GAAG,EAAE,CAAA;QAC9B,CAAC;QAED,gFAAgF;QAChF,2DAA2D;QAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAEhC,qBAAqB,CAAC,MAAM,CAAC,GAAG;YAC5B,GAAG,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;SACzB,CAAA;IACL,CAAC;IAED,IAAI,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChC,gBAAgB,CAAC,6BAA6B;YAC1C,uCAAuC,CAAA;QAC3C,gBAAgB,CAAC,uBAAuB;YACpC,iCAAiC,CAAA;IACzC,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAClE,MAAM,EAAE,gBAAgB;QACxB,aAAa;QACb,UAAU;QACV,cAAc,EAAE,WAAW,CAAC,qBAAqB,CAAC;KACrD,CAAC,CAAA;IAEF,IAAI,eAAe,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO;YACH,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,eAAe,CAAC,IAAI;YAC3B,IAAI,EAAE,eAAe,CAAC,IAAI;SAC7B,CAAA;IACL,CAAC;IAED,gDAAgD;IAChD,MAAM,aAAa,GAAG,eAAe,CAAA;IAErC,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,6BAA6B,EAAE,GACrE,kCAAkC,CAC9B,gBAAgB,EAChB,aAAa,CAAC,IAAI,CAAC,eAAe,EAClC,aAAa,CAAC,IAAI,CACrB,CAAA;IAEL,IAAI,uBAAuB,GAAG,EAAE,CAAA;IAEhC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAA;IACrE,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAA;IAExD,IAAI,YAAY,EAAE,CAAC;QACf,IACI,CAAC,6BAA6B;YAC9B,+BAA+B,IAAI,aAAa,EAClD,CAAC;YACC,6BAA6B;gBACzB,aAAa,CAAC,6BAA6B,IAAI,EAAE,CAAA;QACzD,CAAC;QAED,IAAI,yBAAyB,IAAI,aAAa,EAAE,CAAC;YAC7C,uBAAuB;gBACnB,aAAa,CAAC,uBAAuB,IAAI,EAAE,CAAA;QACnD,CAAC;IACL,CAAC;IAED,IAAI,gBAAgB,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACrC,YAAY,GAAG,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChC,YAAY,GAAG,oBAAoB,CAC/B,YAAY,EACZ,wBAAwB,CAC3B,CAAA;QACD,oBAAoB,GAAG,oBAAoB,CACvC,oBAAoB,EACpB,gCAAgC,CACnC,CAAA;IACL,CAAC;IAED,IAAI,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChC,oBAAoB,GAAG,oBAAoB,CACvC,oBAAoB,EACpB,gCAAgC,CACnC,CAAA;QACD,6BAA6B,GAAG,oBAAoB,CAChD,6BAA6B,EAC7B,yCAAyC,CAC5C,CAAA;QACD,YAAY,GAAG,oBAAoB,CAC/B,YAAY,EACZ,wBAAwB,CAC3B,CAAA;QACD,uBAAuB,GAAG,oBAAoB,CAC1C,uBAAuB,EACvB,mCAAmC,CACtC,CAAA;IACL,CAAC;IAED,sFAAsF;IACtF,8BAA8B;IAC9B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,YAAY,GAAG,oBAAoB,CAC/B,YAAY,EACZ,wBAAwB,CAC3B,CAAA;QACL,CAAC;QACD,YAAY,GAAG,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO;QACH,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE;YACP,oBAAoB;YACpB,YAAY;YACZ,6BAA6B;YAC7B,uBAAuB;SAC1B;QACD,aAAa;KAChB,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAAG,mBAAmB,CAAC;IAClE,MAAM,EAAE,8BAA8B;IACtC,MAAM,EAAE,8BAA8B;IACtC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;QAClD,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,MAAM,CAAA;QACnD,UAAU,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAA;QAElD,6CAA6C;QAC7C,MAAM,EACF,eAAe,EACf,mCAAmC,EACnC,mCAAmC,EACnC,SAAS,EACZ,GAAG,UAAU,CAAC,MAAM,CAAA;QAErB,gDAAgD;QAChD,MAAM,CACF,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,EACzC,iBAAiB,EACjB,cAAc,CACjB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAClB,UAAU,CAAC,mBAAmB,CAAC;gBAC3B,MAAM;aACT,CAAC;YACF,eAAe,CAAC;gBACZ,UAAU;gBACV,MAAM;gBACN,UAAU;gBACV,cAAc;aACjB,CAAC;YACF,kBAAkB,CAAC;gBACf,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,MAAM;gBACN,UAAU;gBACV,eAAe,EAAE,UAAU,CAAC,eAAe;gBAC3C,QAAQ,EAAE,KAAK;aAClB,CAAC;SACL,CAAC,CAAA;QAEF,uBAAuB;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,MAAM,IAAI,QAAQ,CACd,qBAAqB,EACrB,aAAa,CAAC,aAAa,CAC9B,CAAA;QACL,CAAC;QAED,uCAAuC;QACvC,IAAI,iBAAiB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACvE,CAAC;QAED,sEAAsE;QACtE,MAAM,sBAAsB,GAAG;YAC3B,GAAG,MAAM;YACT,GAAG,iBAAiB,CAAC,SAAS;SACjC,CAAA;QAED,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;YACpD,MAAM,EAAE,sBAAsB;YAC9B,eAAe;YACf,MAAM,EAAE,UAAU,CAAC,MAAM;SAC5B,CAAC,CAAA;QAEF,gEAAgE;QAChE,IAAI,kBAAkB,GAAG,qBAAqB,GAAG,cAAc,CAAA;QAE/D,yBAAyB;QACzB,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,kBAAkB,GAAG,oBAAoB,CACrC,kBAAkB,EAClB,mCAAmC,CACtC,CAAA;QACL,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,kBAAkB,GAAG,oBAAoB,CACrC,kBAAkB,EAClB,mCAAmC,CACtC,CAAA;QACL,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAC/D,MAAM,EAAE;gBACJ,GAAG,MAAM;gBACT,GAAG,iBAAiB,CAAC,SAAS,EAAE,wGAAwG;gBACxI,kBAAkB;aACrB;YACD,aAAa,EAAE,iBAAiB,CAAC,aAAa;YAC9C,UAAU;YACV,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC;SAC9C,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,EACF,oBAAoB,EACpB,YAAY,EACZ,6BAA6B,EAC7B,uBAAuB,EAC1B,GAAG,cAAc,CAAA;QAElB,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YACxB,kBAAkB,GAAG,MAAM,YAAY,CAAC;gBACpC,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,MAAM,EAAE;oBACJ,GAAG,MAAM;oBACT,GAAG,cAAc;iBACpB;gBACD,UAAU;gBACV,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAA;QACN,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO;gBACH,kBAAkB;gBAClB,oBAAoB;gBACpB,YAAY;gBACZ,6BAA6B;gBAC7B,uBAAuB;aAC1B,CAAA;QACL,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO;gBACH,kBAAkB;gBAClB,oBAAoB;gBACpB,YAAY;aACf,CAAA;QACL,CAAC;QAED,OAAO;YACH,kBAAkB;YAClB,eAAe,EAAE,oBAAoB;YACrC,oBAAoB;YACpB,YAAY;SACf,CAAA;IACL,CAAC;CACJ,CAAC,CAAA"}