@pimlico/alto 0.0.0-main.20250626T085447 → 0.0.0-main.20250627T074103

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 (91) hide show
  1. package/contracts/EIP712.sol/EIP712.json +1 -1
  2. package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -1
  3. package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
  4. package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  5. package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  6. package/contracts/Exec.sol/Exec.json +1 -1
  7. package/contracts/IAccount.sol/IAccount.json +1 -1
  8. package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -1
  9. package/contracts/IAggregator.sol/IAggregator.json +1 -1
  10. package/contracts/IERC5267.sol/IERC5267.json +1 -1
  11. package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -1
  12. package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -1
  13. package/contracts/INonceManager.sol/INonceManager.json +1 -1
  14. package/contracts/IPaymaster.sol/IPaymaster.json +1 -1
  15. package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -1
  16. package/contracts/IStakeManager.sol/IStakeManager.json +1 -1
  17. package/contracts/Math.sol/Math.json +1 -1
  18. package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -1
  19. package/contracts/NonceManager.sol/NonceManager.json +1 -1
  20. package/contracts/Panic.sol/Panic.json +1 -1
  21. package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  22. package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -1
  23. package/contracts/SafeCast.sol/SafeCast.json +1 -1
  24. package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
  25. package/contracts/ShortStrings.sol/ShortStrings.json +1 -1
  26. package/contracts/SignedMath.sol/SignedMath.json +1 -1
  27. package/contracts/StakeManager.sol/StakeManager.json +1 -1
  28. package/contracts/StorageSlot.sol/StorageSlot.json +1 -1
  29. package/contracts/Strings.sol/Strings.json +1 -1
  30. package/contracts/TransientSlot.sol/TransientSlot.json +1 -1
  31. package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -1
  32. package/contracts/build-info/004071c167bc55de.json +1 -0
  33. package/contracts/build-info/{257ff8e2b1124ead.json → 2f5dec90e180c3a0.json} +1 -1
  34. package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
  35. package/esm/cli/customTransport.js +3 -2
  36. package/esm/cli/customTransport.js.map +1 -1
  37. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  38. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  39. package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  40. package/esm/executor/filterOpsAndEstimateGas.js +4 -4
  41. package/esm/executor/utils.js +3 -0
  42. package/esm/executor/utils.js.map +1 -1
  43. package/esm/rpc/estimation/gasEstimationHandler.d.ts +2 -2
  44. package/esm/rpc/estimation/gasEstimationHandler.js +6 -6
  45. package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
  46. package/esm/rpc/estimation/{gasEstimationsV06.d.ts → gasEstimations06.d.ts} +4 -4
  47. package/esm/rpc/estimation/gasEstimations06.js +68 -0
  48. package/esm/rpc/estimation/gasEstimations06.js.map +1 -0
  49. package/esm/rpc/estimation/gasEstimations07.d.ts +89 -0
  50. package/esm/rpc/estimation/gasEstimations07.js +386 -0
  51. package/esm/rpc/estimation/gasEstimations07.js.map +1 -0
  52. package/esm/rpc/estimation/types.d.ts +23 -111
  53. package/esm/rpc/estimation/types.js +5 -121
  54. package/esm/rpc/estimation/types.js.map +1 -1
  55. package/esm/rpc/estimation/utils.d.ts +51 -0
  56. package/esm/rpc/estimation/utils.js +182 -0
  57. package/esm/rpc/estimation/utils.js.map +1 -0
  58. package/esm/rpc/methods/eth_estimateUserOperationGas.js +4 -5
  59. package/esm/rpc/methods/eth_estimateUserOperationGas.js.map +1 -1
  60. package/esm/rpc/validation/SafeValidator.d.ts +5 -5
  61. package/esm/rpc/validation/SafeValidator.js +28 -29
  62. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  63. package/esm/rpc/validation/UnsafeValidator.d.ts +2 -2
  64. package/esm/rpc/validation/UnsafeValidator.js +2 -2
  65. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  66. package/esm/types/contracts/PimlicoSimulations.d.ts +1083 -96
  67. package/esm/types/contracts/PimlicoSimulations.js +1357 -88
  68. package/esm/types/contracts/PimlicoSimulations.js.map +1 -1
  69. package/esm/types/contracts/index.d.ts +0 -2
  70. package/esm/types/contracts/index.js +0 -2
  71. package/esm/types/contracts/index.js.map +1 -1
  72. package/esm/types/interfaces.d.ts +2 -2
  73. package/esm/types/validation.d.ts +208 -222
  74. package/esm/types/validation.js +0 -8
  75. package/esm/types/validation.js.map +1 -1
  76. package/esm/utils/toViemStateOverrides.d.ts +4 -0
  77. package/esm/utils/toViemStateOverrides.js +44 -0
  78. package/esm/utils/toViemStateOverrides.js.map +1 -0
  79. package/package.json +1 -1
  80. package/contracts/build-info/10cf9b18fcc1598e.json +0 -1
  81. package/esm/rpc/estimation/gasEstimationsV06.js +0 -156
  82. package/esm/rpc/estimation/gasEstimationsV06.js.map +0 -1
  83. package/esm/rpc/estimation/gasEstimationsV07.d.ts +0 -101
  84. package/esm/rpc/estimation/gasEstimationsV07.js +0 -724
  85. package/esm/rpc/estimation/gasEstimationsV07.js.map +0 -1
  86. package/esm/types/contracts/EntryPointSimulationsV6.d.ts +0 -33
  87. package/esm/types/contracts/EntryPointSimulationsV6.js +0 -46
  88. package/esm/types/contracts/EntryPointSimulationsV6.js.map +0 -1
  89. package/esm/types/contracts/EntryPointSimulationsV7.d.ts +0 -2076
  90. package/esm/types/contracts/EntryPointSimulationsV7.js +0 -2675
  91. package/esm/types/contracts/EntryPointSimulationsV7.js.map +0 -1
@@ -3,7 +3,7 @@ import { getContract, encodeFunctionData, decodeAbiParameters, decodeErrorResult
3
3
  import { formatAbiItemWithArgs } from "viem/utils";
4
4
  import { entryPoint07Abi } from "viem/account-abstraction";
5
5
  import { getSerializedHandleOpsTx, scaleBigIntByPercent, toPackedUserOperation } from "../utils/index.js";
6
- import { PimlicoSimulationsAbi } from "../types/contracts/PimlicoSimulations.js";
6
+ import { pimlicoSimulationsAbi } from "../types/contracts/PimlicoSimulations.js";
7
7
  import * as sentry from "@sentry/node";
8
8
  import { getEip7702DelegationOverrides } from "../utils/eip7702.js";
9
9
  import { encodeHandleOpsCalldata, calculateAA95GasFloor } from "./utils.js";
@@ -91,7 +91,7 @@ const getFilterOpsResult = async ({ config, userOpBundle, networkBaseFee, benefi
91
91
  switch (version) {
92
92
  case "0.8": {
93
93
  data = encodeFunctionData({
94
- abi: PimlicoSimulationsAbi,
94
+ abi: pimlicoSimulationsAbi,
95
95
  functionName: "filterOps08",
96
96
  args: [
97
97
  userOps.map(({ userOp }) => toPackedUserOperation(userOp)),
@@ -103,7 +103,7 @@ const getFilterOpsResult = async ({ config, userOpBundle, networkBaseFee, benefi
103
103
  }
104
104
  case "0.7": {
105
105
  data = encodeFunctionData({
106
- abi: PimlicoSimulationsAbi,
106
+ abi: pimlicoSimulationsAbi,
107
107
  functionName: "filterOps07",
108
108
  args: [
109
109
  userOps.map(({ userOp }) => toPackedUserOperation(userOp)),
@@ -115,7 +115,7 @@ const getFilterOpsResult = async ({ config, userOpBundle, networkBaseFee, benefi
115
115
  }
116
116
  default: {
117
117
  data = encodeFunctionData({
118
- abi: PimlicoSimulationsAbi,
118
+ abi: pimlicoSimulationsAbi,
119
119
  functionName: "filterOps06",
120
120
  args: [
121
121
  userOps.map(({ userOp }) => userOp),
@@ -58,6 +58,9 @@ export const getUserOpHashes = (userOpInfos) => {
58
58
  return userOpInfos.map(({ userOpHash }) => userOpHash);
59
59
  };
60
60
  export const packUserOps = (userOps) => {
61
+ if (userOps.length === 0) {
62
+ return [];
63
+ }
61
64
  const isV06 = isVersion06(userOps[0]);
62
65
  const packedUserOps = isV06
63
66
  ? userOps
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../executor/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../executor/utils.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import type { UserOperation } from "../../types/index.js";
2
2
  import type { StateOverrides } from "../../types/index.js";
3
3
  import type { Hex } from "viem";
4
4
  import type { Address } from "viem";
5
- import { GasEstimatorV06 } from "./gasEstimationsV06.js";
6
- import { GasEstimatorV07 } from "./gasEstimationsV07.js";
5
+ import { GasEstimatorV06 } from "./gasEstimations06.js";
6
+ import { GasEstimatorV07 } from "./gasEstimations07.js";
7
7
  import type { SimulateHandleOpResult } from "./types.js";
8
8
  import type { AltoConfig } from "../../createConfig.js";
9
9
  export declare class GasEstimationHandler {
@@ -1,6 +1,6 @@
1
1
  import { isVersion06 } from "../../utils/index.js";
2
- import { GasEstimatorV06 } from "./gasEstimationsV06.js";
3
- import { GasEstimatorV07 } from "./gasEstimationsV07.js";
2
+ import { GasEstimatorV06 } from "./gasEstimations06.js";
3
+ import { GasEstimatorV07 } from "./gasEstimations07.js";
4
4
  export class GasEstimationHandler {
5
5
  gasEstimatorV06;
6
6
  gasEstimatorV07;
@@ -15,7 +15,7 @@ export class GasEstimationHandler {
15
15
  entryPoint,
16
16
  targetAddress,
17
17
  targetCallData,
18
- stateOverrides
18
+ userStateOverrides: stateOverrides
19
19
  });
20
20
  }
21
21
  return this.gasEstimatorV07.validateHandleOpV07({
@@ -32,14 +32,14 @@ export class GasEstimationHandler {
32
32
  entryPoint,
33
33
  targetAddress,
34
34
  targetCallData,
35
- stateOverrides
35
+ userStateOverrides: stateOverrides
36
36
  });
37
37
  }
38
- return this.gasEstimatorV07.simulateHandleOpV07({
38
+ return this.gasEstimatorV07.simulateHandleOp07({
39
39
  userOperation: userOperation,
40
40
  queuedUserOperations: queuedUserOperations,
41
41
  entryPoint,
42
- stateOverrides
42
+ userStateOverrides: stateOverrides
43
43
  });
44
44
  }
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gasEstimationHandler.js","sourceRoot":"","sources":["../../../rpc/estimation/gasEstimationHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAIrD,MAAM,OAAO,oBAAoB;IAC7B,eAAe,CAAiB;IAChC,eAAe,CAAiB;IAEhC,YAAY,MAAkB;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;QAElD,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC;IAED,gBAAgB,CAAC,EACb,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,GAAG,EAAE,EAQtB;QACG,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;gBAC5C,aAAa;gBACb,UAAU;gBACV,aAAa;gBACb,cAAc;gBACd,cAAc;aACjB,CAAC,CAAA;QACN,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;YAC5C,aAAa,EAAE,aAAiC;YAChD,oBAAoB,EAAE,oBAA0C;YAChE,UAAU;YACV,cAAc;SACjB,CAAC,CAAA;IACN,CAAC;IAED,gBAAgB,CAAC,EACb,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,GAAG,EAAE,EAQtB;QACG,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;gBAC5C,aAAa;gBACb,UAAU;gBACV,aAAa;gBACb,cAAc;gBACd,cAAc;aACjB,CAAC,CAAA;QACN,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;YAC5C,aAAa,EAAE,aAAiC;YAChD,oBAAoB,EAAE,oBAA0C;YAChE,UAAU;YACV,cAAc;SACjB,CAAC,CAAA;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"gasEstimationHandler.js","sourceRoot":"","sources":["../../../rpc/estimation/gasEstimationHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIpD,MAAM,OAAO,oBAAoB;IAC7B,eAAe,CAAiB;IAChC,eAAe,CAAiB;IAEhC,YAAY,MAAkB;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;QAElD,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC;IAED,gBAAgB,CAAC,EACb,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,GAAG,EAAE,EAQtB;QACG,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;gBAC5C,aAAa;gBACb,UAAU;gBACV,aAAa;gBACb,cAAc;gBACd,kBAAkB,EAAE,cAAc;aACrC,CAAC,CAAA;QACN,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;YAC5C,aAAa,EAAE,aAAiC;YAChD,oBAAoB,EAAE,oBAA0C;YAChE,UAAU;YACV,cAAc;SACjB,CAAC,CAAA;IACN,CAAC;IAED,gBAAgB,CAAC,EACb,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,GAAG,EAAE,EAQtB;QACG,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;gBAC5C,aAAa;gBACb,UAAU;gBACV,aAAa;gBACb,cAAc;gBACd,kBAAkB,EAAE,cAAc;aACrC,CAAC,CAAA;QACN,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;YAC3C,aAAa,EAAE,aAAiC;YAChD,oBAAoB,EAAE,oBAA0C;YAChE,UAAU;YACV,kBAAkB,EAAE,cAAc;SACrC,CAAC,CAAA;IACN,CAAC;CACJ"}
@@ -5,15 +5,15 @@ import type { SimulateHandleOpResult } from "./types.js";
5
5
  import type { AltoConfig } from "../../createConfig.js";
6
6
  export declare class GasEstimatorV06 {
7
7
  private config;
8
+ private logger;
8
9
  constructor(config: AltoConfig);
9
- decodeSimulateHandleOpResult(data: Hex): SimulateHandleOpResult;
10
- simulateHandleOpV06({ userOperation, targetAddress, targetCallData, entryPoint, useCodeOverride, stateOverrides }: {
10
+ simulateHandleOpV06({ userOperation, targetAddress, targetCallData, entryPoint, useCodeOverride, userStateOverrides }: {
11
11
  userOperation: UserOperationV06;
12
12
  targetAddress: Address;
13
13
  targetCallData: Hex;
14
14
  entryPoint: Address;
15
15
  useCodeOverride?: boolean;
16
- stateOverrides?: StateOverrides | undefined;
16
+ userStateOverrides?: StateOverrides | undefined;
17
17
  }): Promise<SimulateHandleOpResult>;
18
18
  }
19
- //# sourceMappingURL=gasEstimationsV06.d.ts.map
19
+ //# sourceMappingURL=gasEstimations06.d.ts.map
@@ -0,0 +1,68 @@
1
+ import { getContract } from "viem";
2
+ import { prepareStateOverride, decodeSimulateHandleOpError, simulationErrors } from "./utils.js";
3
+ import { deepHexlify } from "../../utils/index.js";
4
+ import { getSenderCreatorOverride } from "../../utils/entryPointOverrides.js";
5
+ import entryPointOverride from "../../contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json" with {
6
+ type: "json"
7
+ };
8
+ import { entryPoint06Abi } from "viem/account-abstraction";
9
+ export class GasEstimatorV06 {
10
+ config;
11
+ logger;
12
+ constructor(config) {
13
+ this.config = config;
14
+ this.logger = config.getLogger({
15
+ module: "gas-estimator-v06"
16
+ }, {
17
+ level: config.logLevel
18
+ });
19
+ }
20
+ async simulateHandleOpV06({ userOperation, targetAddress, targetCallData, entryPoint, useCodeOverride = true, userStateOverrides = undefined }) {
21
+ const { publicClient,
22
+ //blockTagSupport,
23
+ utilityWalletAddress, fixedGasLimitForEstimation, codeOverrideSupport } = this.config;
24
+ // EntryPoint simulation 06 code specific overrides
25
+ if (codeOverrideSupport && useCodeOverride) {
26
+ if (userStateOverrides === undefined) {
27
+ userStateOverrides = {};
28
+ }
29
+ const senderCreatorOverride = getSenderCreatorOverride(entryPoint);
30
+ userStateOverrides[entryPoint] = {
31
+ ...deepHexlify(userStateOverrides?.[entryPoint] || {}),
32
+ stateDiff: {
33
+ ...(userStateOverrides[entryPoint]?.stateDiff || {}),
34
+ [senderCreatorOverride.slot]: senderCreatorOverride.value
35
+ },
36
+ code: entryPointOverride.deployedBytecode.object
37
+ };
38
+ }
39
+ const viemStateOverride = prepareStateOverride({
40
+ userOperations: [userOperation],
41
+ queuedUserOperations: [], // Queued operations are not supported for EntryPoint v0.6
42
+ stateOverrides: userStateOverrides,
43
+ config: this.config
44
+ });
45
+ const entryPointContract = getContract({
46
+ address: entryPoint,
47
+ abi: [...entryPoint06Abi, ...simulationErrors],
48
+ client: publicClient
49
+ });
50
+ try {
51
+ await entryPointContract.simulate.simulateHandleOp([userOperation, targetAddress, targetCallData], {
52
+ account: utilityWalletAddress,
53
+ gas: fixedGasLimitForEstimation,
54
+ stateOverride: viemStateOverride
55
+ });
56
+ // simulateHandleOp should always revert, if it doesn't something is wrong
57
+ throw new Error("simulateHandleOp did not revert");
58
+ }
59
+ catch (e) {
60
+ const decodedError = decodeSimulateHandleOpError(e, this.logger);
61
+ if (decodedError.result === "failed") {
62
+ this.logger.warn({ err: e, data: decodedError.data }, "Contract function reverted in simulateValidation");
63
+ }
64
+ return decodedError;
65
+ }
66
+ }
67
+ }
68
+ //# sourceMappingURL=gasEstimations06.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gasEstimations06.js","sourceRoot":"","sources":["../../../rpc/estimation/gasEstimations06.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { type StateOverrides, type UserOperationV07 } from "../../types/index.js";
2
+ import { type Address } from "viem";
3
+ import { type SimulateHandleOpResult } from "./types.js";
4
+ import type { AltoConfig } from "../../createConfig.js";
5
+ export declare class GasEstimatorV07 {
6
+ private config;
7
+ private logger;
8
+ constructor(config: AltoConfig);
9
+ private getSimulationContracts;
10
+ private performBinarySearch;
11
+ private simulateHandleOp;
12
+ private simulateAndEstimateGasLimits;
13
+ simulateValidation({ entryPoint, userOperation, queuedUserOperations }: {
14
+ entryPoint: Address;
15
+ userOperation: UserOperationV07;
16
+ queuedUserOperations: UserOperationV07[];
17
+ }): Promise<{
18
+ result: "failed";
19
+ data: string;
20
+ code: number;
21
+ } | {
22
+ result: "execution";
23
+ data: {
24
+ callGasLimit?: bigint | undefined;
25
+ verificationGasLimit?: bigint | undefined;
26
+ paymasterVerificationGasLimit?: bigint | undefined;
27
+ executionResult: {
28
+ preOpGas: bigint;
29
+ paid: bigint;
30
+ validAfter: number;
31
+ validUntil: number;
32
+ targetSuccess: boolean;
33
+ targetResult: `0x${string}`;
34
+ } | {
35
+ preOpGas: bigint;
36
+ paid: bigint;
37
+ accountValidationData: bigint;
38
+ paymasterValidationData: bigint;
39
+ paymasterVerificationGasLimit: bigint;
40
+ paymasterPostOpGasLimit: bigint;
41
+ targetSuccess: boolean;
42
+ targetResult: `0x${string}`;
43
+ };
44
+ };
45
+ } | {
46
+ result: string;
47
+ data: {
48
+ returnInfo: {
49
+ preOpGas: bigint;
50
+ prefund: bigint;
51
+ accountValidationData: bigint;
52
+ paymasterValidationData: bigint;
53
+ paymasterContext: `0x${string}`;
54
+ };
55
+ senderInfo: {
56
+ stake: bigint;
57
+ unstakeDelaySec: bigint;
58
+ };
59
+ factoryInfo: {
60
+ stake: bigint;
61
+ unstakeDelaySec: bigint;
62
+ };
63
+ paymasterInfo: {
64
+ stake: bigint;
65
+ unstakeDelaySec: bigint;
66
+ };
67
+ aggregatorInfo: {
68
+ aggregator: `0x${string}`;
69
+ stakeInfo: {
70
+ stake: bigint;
71
+ unstakeDelaySec: bigint;
72
+ };
73
+ };
74
+ };
75
+ }>;
76
+ validateHandleOpV07({ entryPoint, userOperation, queuedUserOperations, stateOverrides }: {
77
+ entryPoint: Address;
78
+ userOperation: UserOperationV07;
79
+ queuedUserOperations: UserOperationV07[];
80
+ stateOverrides?: StateOverrides | undefined;
81
+ }): Promise<SimulateHandleOpResult>;
82
+ simulateHandleOp07({ entryPoint, userOperation, queuedUserOperations, userStateOverrides }: {
83
+ entryPoint: Address;
84
+ userOperation: UserOperationV07;
85
+ queuedUserOperations: UserOperationV07[];
86
+ userStateOverrides?: StateOverrides | undefined;
87
+ }): Promise<SimulateHandleOpResult>;
88
+ }
89
+ //# sourceMappingURL=gasEstimations07.d.ts.map