@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.
- package/contracts/EIP712.sol/EIP712.json +1 -1
- package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -1
- package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/contracts/Exec.sol/Exec.json +1 -1
- package/contracts/IAccount.sol/IAccount.json +1 -1
- package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -1
- package/contracts/IAggregator.sol/IAggregator.json +1 -1
- package/contracts/IERC5267.sol/IERC5267.json +1 -1
- package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -1
- package/contracts/INonceManager.sol/INonceManager.json +1 -1
- package/contracts/IPaymaster.sol/IPaymaster.json +1 -1
- package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -1
- package/contracts/IStakeManager.sol/IStakeManager.json +1 -1
- package/contracts/Math.sol/Math.json +1 -1
- package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -1
- package/contracts/NonceManager.sol/NonceManager.json +1 -1
- package/contracts/Panic.sol/Panic.json +1 -1
- package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
- package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -1
- package/contracts/SafeCast.sol/SafeCast.json +1 -1
- package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
- package/contracts/ShortStrings.sol/ShortStrings.json +1 -1
- package/contracts/SignedMath.sol/SignedMath.json +1 -1
- package/contracts/StakeManager.sol/StakeManager.json +1 -1
- package/contracts/StorageSlot.sol/StorageSlot.json +1 -1
- package/contracts/Strings.sol/Strings.json +1 -1
- package/contracts/TransientSlot.sol/TransientSlot.json +1 -1
- package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -1
- package/contracts/build-info/004071c167bc55de.json +1 -0
- package/contracts/build-info/{257ff8e2b1124ead.json → 2f5dec90e180c3a0.json} +1 -1
- package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/esm/cli/customTransport.js +3 -2
- package/esm/cli/customTransport.js.map +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
- package/esm/executor/filterOpsAndEstimateGas.js +4 -4
- package/esm/executor/utils.js +3 -0
- package/esm/executor/utils.js.map +1 -1
- package/esm/rpc/estimation/gasEstimationHandler.d.ts +2 -2
- package/esm/rpc/estimation/gasEstimationHandler.js +6 -6
- package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
- package/esm/rpc/estimation/{gasEstimationsV06.d.ts → gasEstimations06.d.ts} +4 -4
- package/esm/rpc/estimation/gasEstimations06.js +68 -0
- package/esm/rpc/estimation/gasEstimations06.js.map +1 -0
- package/esm/rpc/estimation/gasEstimations07.d.ts +89 -0
- package/esm/rpc/estimation/gasEstimations07.js +386 -0
- package/esm/rpc/estimation/gasEstimations07.js.map +1 -0
- package/esm/rpc/estimation/types.d.ts +23 -111
- package/esm/rpc/estimation/types.js +5 -121
- package/esm/rpc/estimation/types.js.map +1 -1
- package/esm/rpc/estimation/utils.d.ts +51 -0
- package/esm/rpc/estimation/utils.js +182 -0
- package/esm/rpc/estimation/utils.js.map +1 -0
- package/esm/rpc/methods/eth_estimateUserOperationGas.js +4 -5
- package/esm/rpc/methods/eth_estimateUserOperationGas.js.map +1 -1
- package/esm/rpc/validation/SafeValidator.d.ts +5 -5
- package/esm/rpc/validation/SafeValidator.js +28 -29
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/rpc/validation/UnsafeValidator.d.ts +2 -2
- package/esm/rpc/validation/UnsafeValidator.js +2 -2
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
- package/esm/types/contracts/PimlicoSimulations.d.ts +1083 -96
- package/esm/types/contracts/PimlicoSimulations.js +1357 -88
- package/esm/types/contracts/PimlicoSimulations.js.map +1 -1
- package/esm/types/contracts/index.d.ts +0 -2
- package/esm/types/contracts/index.js +0 -2
- package/esm/types/contracts/index.js.map +1 -1
- package/esm/types/interfaces.d.ts +2 -2
- package/esm/types/validation.d.ts +208 -222
- package/esm/types/validation.js +0 -8
- package/esm/types/validation.js.map +1 -1
- package/esm/utils/toViemStateOverrides.d.ts +4 -0
- package/esm/utils/toViemStateOverrides.js +44 -0
- package/esm/utils/toViemStateOverrides.js.map +1 -0
- package/package.json +1 -1
- package/contracts/build-info/10cf9b18fcc1598e.json +0 -1
- package/esm/rpc/estimation/gasEstimationsV06.js +0 -156
- package/esm/rpc/estimation/gasEstimationsV06.js.map +0 -1
- package/esm/rpc/estimation/gasEstimationsV07.d.ts +0 -101
- package/esm/rpc/estimation/gasEstimationsV07.js +0 -724
- package/esm/rpc/estimation/gasEstimationsV07.js.map +0 -1
- package/esm/types/contracts/EntryPointSimulationsV6.d.ts +0 -33
- package/esm/types/contracts/EntryPointSimulationsV6.js +0 -46
- package/esm/types/contracts/EntryPointSimulationsV6.js.map +0 -1
- package/esm/types/contracts/EntryPointSimulationsV7.d.ts +0 -2076
- package/esm/types/contracts/EntryPointSimulationsV7.js +0 -2675
- 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 {
|
|
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:
|
|
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:
|
|
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:
|
|
118
|
+
abi: pimlicoSimulationsAbi,
|
|
119
119
|
functionName: "filterOps06",
|
|
120
120
|
args: [
|
|
121
121
|
userOps.map(({ userOp }) => userOp),
|
package/esm/executor/utils.js
CHANGED
|
@@ -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 "./
|
|
6
|
-
import { GasEstimatorV07 } from "./
|
|
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 "./
|
|
3
|
-
import { GasEstimatorV07 } from "./
|
|
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.
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
16
|
+
userStateOverrides?: StateOverrides | undefined;
|
|
17
17
|
}): Promise<SimulateHandleOpResult>;
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=
|
|
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
|