@pimlico/alto 0.0.0-main.20250325T180358 → 0.0.0-main.20250326T205022
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/esm/cli/config/bundler.d.ts +12 -6
- package/esm/cli/config/bundler.js +2 -1
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.js +8 -2
- package/esm/cli/config/options.js.map +1 -1
- package/esm/cli/deploySimulationsContract.d.ts +7 -2
- package/esm/cli/deploySimulationsContract.js +56 -19
- package/esm/cli/deploySimulationsContract.js.map +1 -1
- package/esm/cli/handler.js +21 -5
- package/esm/cli/handler.js.map +1 -1
- package/esm/executor/executor.js +1 -1
- package/esm/executor/executor.js.map +1 -1
- package/esm/executor/executorManager.js.map +1 -1
- package/esm/executor/utils.d.ts +1 -1
- package/esm/executor/utils.js +24 -2
- package/esm/executor/utils.js.map +1 -1
- package/esm/mempool/mempool.d.ts +38 -4
- package/esm/mempool/mempool.js +29 -4
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/rpc/createMethodHandler.d.ts +1 -1
- package/esm/rpc/estimation/gasEstimationsV07.d.ts +5 -4
- package/esm/rpc/estimation/gasEstimationsV07.js +78 -31
- package/esm/rpc/estimation/gasEstimationsV07.js.map +1 -1
- package/esm/rpc/methods/debug_bundler_dumpMempool.d.ts +373 -44
- package/esm/rpc/methods/debug_bundler_getStakeStatus.js +11 -3
- package/esm/rpc/methods/debug_bundler_getStakeStatus.js.map +1 -1
- package/esm/rpc/methods/eth_estimateUserOperationGas.d.ts +686 -94
- package/esm/rpc/methods/eth_getUserOperationByHash.d.ts +671 -78
- package/esm/rpc/methods/eth_sendUserOperation.d.ts +336 -40
- package/esm/rpc/methods/eth_sendUserOperation.js +6 -1
- package/esm/rpc/methods/eth_sendUserOperation.js.map +1 -1
- package/esm/rpc/methods/pimlico_sendUserOperationNow.d.ts +336 -40
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js +12 -2
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
- package/esm/rpc/rpcHandler.js +20 -4
- package/esm/rpc/rpcHandler.js.map +1 -1
- package/esm/rpc/validation/SafeValidator.js +5 -2
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/rpc/validation/TracerResultParserV07.js +42 -20
- package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
- package/esm/store/createMemoryOutstandingStore.js +12 -2
- package/esm/store/createMemoryOutstandingStore.js.map +1 -1
- package/esm/store/createMempoolStore.js +10 -8
- package/esm/store/createMempoolStore.js.map +1 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +2 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.js +2 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/esm/types/schemas.d.ts +11240 -5385
- package/esm/types/schemas.js +90 -8
- package/esm/types/schemas.js.map +1 -1
- package/esm/utils/userop.d.ts +23 -3
- package/esm/utils/userop.js +85 -7
- package/esm/utils/userop.js.map +1 -1
- package/lib/cli/config/bundler.d.ts +12 -6
- package/lib/cli/config/bundler.js +2 -1
- package/lib/cli/config/bundler.js.map +1 -1
- package/lib/cli/config/options.js +8 -2
- package/lib/cli/config/options.js.map +1 -1
- package/lib/cli/deploySimulationsContract.d.ts +7 -2
- package/lib/cli/deploySimulationsContract.js +55 -18
- package/lib/cli/deploySimulationsContract.js.map +1 -1
- package/lib/cli/handler.js +21 -5
- package/lib/cli/handler.js.map +1 -1
- package/lib/executor/executor.js +1 -1
- package/lib/executor/executor.js.map +1 -1
- package/lib/executor/executorManager.js.map +1 -1
- package/lib/executor/utils.d.ts +1 -1
- package/lib/executor/utils.js +23 -1
- package/lib/executor/utils.js.map +1 -1
- package/lib/mempool/mempool.d.ts +38 -4
- package/lib/mempool/mempool.js +29 -4
- package/lib/mempool/mempool.js.map +1 -1
- package/lib/rpc/createMethodHandler.d.ts +1 -1
- package/lib/rpc/estimation/gasEstimationsV07.d.ts +5 -4
- package/lib/rpc/estimation/gasEstimationsV07.js +77 -30
- package/lib/rpc/estimation/gasEstimationsV07.js.map +1 -1
- package/lib/rpc/methods/debug_bundler_dumpMempool.d.ts +373 -44
- package/lib/rpc/methods/debug_bundler_getStakeStatus.js +10 -2
- package/lib/rpc/methods/debug_bundler_getStakeStatus.js.map +1 -1
- package/lib/rpc/methods/eth_estimateUserOperationGas.d.ts +686 -94
- package/lib/rpc/methods/eth_getUserOperationByHash.d.ts +671 -78
- package/lib/rpc/methods/eth_sendUserOperation.d.ts +336 -40
- package/lib/rpc/methods/eth_sendUserOperation.js +6 -1
- package/lib/rpc/methods/eth_sendUserOperation.js.map +1 -1
- package/lib/rpc/methods/pimlico_sendUserOperationNow.d.ts +336 -40
- package/lib/rpc/methods/pimlico_sendUserOperationNow.js +12 -2
- package/lib/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
- package/lib/rpc/rpcHandler.js +20 -4
- package/lib/rpc/rpcHandler.js.map +1 -1
- package/lib/rpc/validation/SafeValidator.js +4 -1
- package/lib/rpc/validation/SafeValidator.js.map +1 -1
- package/lib/rpc/validation/TracerResultParserV07.js +41 -19
- package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
- package/lib/store/createMemoryOutstandingStore.js +12 -2
- package/lib/store/createMemoryOutstandingStore.js.map +1 -1
- package/lib/store/createMempoolStore.js +10 -8
- package/lib/store/createMempoolStore.js.map +1 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +2 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.js +3 -2
- package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/lib/types/schemas.d.ts +11240 -5385
- package/lib/types/schemas.js +90 -8
- package/lib/types/schemas.js.map +1 -1
- package/lib/utils/userop.d.ts +23 -3
- package/lib/utils/userop.js +87 -7
- package/lib/utils/userop.js.map +1 -1
- package/package.json +2 -2
package/esm/executor/utils.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EntryPointV06Abi, EntryPointV07Abi } from "../types/index.js";
|
|
2
2
|
import { isVersion06, toPackedUserOperation, isVersion07 } from "../utils/index.js";
|
|
3
3
|
import * as sentry from "@sentry/node";
|
|
4
|
-
import { encodeFunctionData } from "viem";
|
|
4
|
+
import { encodeFunctionData, toBytes } from "viem";
|
|
5
5
|
export const isTransactionUnderpricedError = (e) => {
|
|
6
6
|
const transactionUnderPriceError = e.walk((e) => e?.message
|
|
7
7
|
?.toLowerCase()
|
|
@@ -10,7 +10,7 @@ export const isTransactionUnderpricedError = (e) => {
|
|
|
10
10
|
};
|
|
11
11
|
// V7 source: https://github.com/eth-infinitism/account-abstraction/blob/releases/v0.7/contracts/core/EntryPoint.sol
|
|
12
12
|
// V6 source: https://github.com/eth-infinitism/account-abstraction/blob/fa61290d37d079e928d92d53a122efcc63822214/contracts/core/EntryPoint.sol#L236
|
|
13
|
-
export function calculateAA95GasFloor(userOps) {
|
|
13
|
+
export function calculateAA95GasFloor(userOps, beneficiary) {
|
|
14
14
|
let gasFloor = 0n;
|
|
15
15
|
for (const userOpInfo of userOps) {
|
|
16
16
|
const { userOp } = userOpInfo;
|
|
@@ -23,12 +23,34 @@ export function calculateAA95GasFloor(userOps) {
|
|
|
23
23
|
gasFloor +=
|
|
24
24
|
userOp.verificationGasLimit +
|
|
25
25
|
(userOp.paymasterVerificationGasLimit || 0n);
|
|
26
|
+
// There is a ~27,170 gas overhead for EntryPoint's re-entrency check
|
|
27
|
+
gasFloor += 30000n;
|
|
28
|
+
// There is a variable gas overhead for calldata gas when calling handleOps
|
|
29
|
+
const calldata = encodeHandleOpsCalldata({
|
|
30
|
+
userOps: userOps,
|
|
31
|
+
beneficiary
|
|
32
|
+
});
|
|
33
|
+
const handleOpsCalldataCost = toBytes(calldata)
|
|
34
|
+
.map((x) => (x === 0 ? 4 : 16))
|
|
35
|
+
.reduce((sum, x) => sum + x);
|
|
36
|
+
gasFloor += BigInt(handleOpsCalldataCost);
|
|
26
37
|
}
|
|
27
38
|
else {
|
|
28
39
|
gasFloor +=
|
|
29
40
|
userOp.callGasLimit + userOp.verificationGasLimit + 5000n;
|
|
30
41
|
// AA95 check happens after verification + paymaster verification
|
|
31
42
|
gasFloor += userOp.verificationGasLimit;
|
|
43
|
+
// There is a ~27,179 gas overhead for EntryPoint's re-entrency check
|
|
44
|
+
gasFloor += 30000n;
|
|
45
|
+
// There is a variable gas overhead for calldata gas when calling handleOps
|
|
46
|
+
const calldata = encodeHandleOpsCalldata({
|
|
47
|
+
userOps: userOps,
|
|
48
|
+
beneficiary
|
|
49
|
+
});
|
|
50
|
+
const handleOpsCalldataCost = toBytes(calldata)
|
|
51
|
+
.map((x) => (x === 0 ? 4 : 16))
|
|
52
|
+
.reduce((sum, x) => sum + x);
|
|
53
|
+
gasFloor += BigInt(handleOpsCalldataCost);
|
|
32
54
|
}
|
|
33
55
|
}
|
|
34
56
|
return gasFloor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../executor/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAInB,MAAM,aAAa,CAAA;AACpB,OAAO,EACH,WAAW,EACX,qBAAqB,EAErB,WAAW,EACd,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,EAGH,kBAAkB,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../executor/utils.ts"],"names":[],"mappings":"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"}
|
package/esm/mempool/mempool.d.ts
CHANGED
|
@@ -65,6 +65,7 @@ export declare class Mempool {
|
|
|
65
65
|
entryPoint: Address;
|
|
66
66
|
}): Promise<{
|
|
67
67
|
skip: boolean;
|
|
68
|
+
removeOutstanding?: boolean;
|
|
68
69
|
paymasterDeposit: {
|
|
69
70
|
[paymaster: string]: bigint;
|
|
70
71
|
};
|
|
@@ -108,16 +109,16 @@ export declare class Mempool {
|
|
|
108
109
|
chainId: number;
|
|
109
110
|
r: `0x${string}`;
|
|
110
111
|
s: `0x${string}`;
|
|
111
|
-
v: bigint;
|
|
112
112
|
yParity: number;
|
|
113
|
+
v?: bigint | undefined;
|
|
113
114
|
} | {
|
|
114
115
|
address: `0x${string}`;
|
|
115
116
|
nonce: number;
|
|
116
117
|
chainId: number;
|
|
117
118
|
r: `0x${string}`;
|
|
118
119
|
s: `0x${string}`;
|
|
119
|
-
v: bigint;
|
|
120
120
|
yParity: number;
|
|
121
|
+
v?: bigint | undefined;
|
|
121
122
|
} | null | undefined;
|
|
122
123
|
} | {
|
|
123
124
|
sender: `0x${string}`;
|
|
@@ -141,16 +142,49 @@ export declare class Mempool {
|
|
|
141
142
|
chainId: number;
|
|
142
143
|
r: `0x${string}`;
|
|
143
144
|
s: `0x${string}`;
|
|
144
|
-
v: bigint;
|
|
145
145
|
yParity: number;
|
|
146
|
+
v?: bigint | undefined;
|
|
146
147
|
} | {
|
|
147
148
|
address: `0x${string}`;
|
|
148
149
|
nonce: number;
|
|
149
150
|
chainId: number;
|
|
150
151
|
r: `0x${string}`;
|
|
151
152
|
s: `0x${string}`;
|
|
152
|
-
v: bigint;
|
|
153
153
|
yParity: number;
|
|
154
|
+
v?: bigint | undefined;
|
|
155
|
+
} | null | undefined;
|
|
156
|
+
} | {
|
|
157
|
+
sender: `0x${string}`;
|
|
158
|
+
factory: `0x${string}` | null;
|
|
159
|
+
paymaster: `0x${string}` | null;
|
|
160
|
+
nonce: bigint;
|
|
161
|
+
callData: `0x${string}`;
|
|
162
|
+
callGasLimit: bigint;
|
|
163
|
+
verificationGasLimit: bigint;
|
|
164
|
+
preVerificationGas: bigint;
|
|
165
|
+
maxFeePerGas: bigint;
|
|
166
|
+
maxPriorityFeePerGas: bigint;
|
|
167
|
+
signature: `0x${string}`;
|
|
168
|
+
paymasterVerificationGasLimit: bigint | null;
|
|
169
|
+
paymasterPostOpGasLimit: bigint | null;
|
|
170
|
+
factoryData: `0x${string}` | null;
|
|
171
|
+
paymasterData: `0x${string}` | null;
|
|
172
|
+
eip7702Auth?: {
|
|
173
|
+
nonce: number;
|
|
174
|
+
contractAddress: `0x${string}`;
|
|
175
|
+
chainId: number;
|
|
176
|
+
r: `0x${string}`;
|
|
177
|
+
s: `0x${string}`;
|
|
178
|
+
yParity: number;
|
|
179
|
+
v?: bigint | undefined;
|
|
180
|
+
} | {
|
|
181
|
+
address: `0x${string}`;
|
|
182
|
+
nonce: number;
|
|
183
|
+
chainId: number;
|
|
184
|
+
r: `0x${string}`;
|
|
185
|
+
s: `0x${string}`;
|
|
186
|
+
yParity: number;
|
|
187
|
+
v?: bigint | undefined;
|
|
154
188
|
} | null | undefined;
|
|
155
189
|
})[]>;
|
|
156
190
|
}
|
package/esm/mempool/mempool.js
CHANGED
|
@@ -132,7 +132,12 @@ export class Mempool {
|
|
|
132
132
|
return entities;
|
|
133
133
|
}
|
|
134
134
|
async add(userOp, entryPoint, referencedContracts) {
|
|
135
|
-
const userOpHash = getUserOperationHash(
|
|
135
|
+
const userOpHash = await getUserOperationHash({
|
|
136
|
+
userOperation: userOp,
|
|
137
|
+
entryPointAddress: entryPoint,
|
|
138
|
+
chainId: this.config.chainId,
|
|
139
|
+
publicClient: this.config.publicClient
|
|
140
|
+
});
|
|
136
141
|
// Check if the exact same userOperation is already in the mempool.
|
|
137
142
|
if (await this.store.isInMempool({ userOpHash, entryPoint })) {
|
|
138
143
|
return [false, "Already known"];
|
|
@@ -212,9 +217,9 @@ export class Mempool {
|
|
|
212
217
|
const factoryStatus = this.reputationManager.getStatus(entryPoint, factory);
|
|
213
218
|
if (paymasterStatus === ReputationStatuses.banned ||
|
|
214
219
|
factoryStatus === ReputationStatuses.banned) {
|
|
215
|
-
await this.store.removeOutstanding({ entryPoint, userOpHash });
|
|
216
220
|
return {
|
|
217
221
|
skip: true,
|
|
222
|
+
removeOutstanding: true,
|
|
218
223
|
paymasterDeposit,
|
|
219
224
|
stakedEntityCount,
|
|
220
225
|
knownEntities,
|
|
@@ -387,6 +392,8 @@ export class Mempool {
|
|
|
387
392
|
// Get EntryPoint version
|
|
388
393
|
const isV6 = isVersion06(firstOp.userOp);
|
|
389
394
|
const bundles = [];
|
|
395
|
+
const seenOps = new Set();
|
|
396
|
+
let breakLoop = false;
|
|
390
397
|
// Process operations until no more are available or we hit maxBundleCount
|
|
391
398
|
while (await this.store.peekOutstanding(entryPoint)) {
|
|
392
399
|
// If maxBundles is set and we reached the limit, break
|
|
@@ -405,11 +412,24 @@ export class Mempool {
|
|
|
405
412
|
let senders = new Set();
|
|
406
413
|
let knownEntities = await this.getKnownEntities(entryPoint);
|
|
407
414
|
let storageMap = {};
|
|
415
|
+
if (breakLoop) {
|
|
416
|
+
break;
|
|
417
|
+
}
|
|
408
418
|
// Keep adding ops to current bundle
|
|
409
419
|
while (await this.store.peekOutstanding(entryPoint)) {
|
|
410
420
|
const userOpInfo = await this.store.popOutstanding(entryPoint);
|
|
411
|
-
if (!userOpInfo)
|
|
421
|
+
if (!userOpInfo) {
|
|
422
|
+
break;
|
|
423
|
+
}
|
|
424
|
+
if (seenOps.has(userOpInfo.userOpHash)) {
|
|
425
|
+
breakLoop = true;
|
|
426
|
+
await this.store.addOutstanding({
|
|
427
|
+
entryPoint,
|
|
428
|
+
userOpInfo
|
|
429
|
+
});
|
|
412
430
|
break;
|
|
431
|
+
}
|
|
432
|
+
seenOps.add(userOpInfo.userOpHash);
|
|
413
433
|
const { userOp } = userOpInfo;
|
|
414
434
|
// Check if we should skip this operation
|
|
415
435
|
const skipResult = await this.shouldSkip({
|
|
@@ -423,7 +443,12 @@ export class Mempool {
|
|
|
423
443
|
});
|
|
424
444
|
if (skipResult.skip) {
|
|
425
445
|
// Re-add to outstanding
|
|
426
|
-
|
|
446
|
+
if (!skipResult.removeOutstanding) {
|
|
447
|
+
await this.store.addOutstanding({
|
|
448
|
+
entryPoint,
|
|
449
|
+
userOpInfo
|
|
450
|
+
});
|
|
451
|
+
}
|
|
427
452
|
continue;
|
|
428
453
|
}
|
|
429
454
|
gasUsed +=
|
|
@@ -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,7 +1,7 @@
|
|
|
1
1
|
import type { z } from "zod";
|
|
2
2
|
import type { RpcHandler } from "./rpcHandler.js";
|
|
3
3
|
import type { ApiVersion } from "../types/index.js";
|
|
4
|
-
import { ReadonlyDeep } from "type-fest";
|
|
4
|
+
import type { ReadonlyDeep } from "type-fest";
|
|
5
5
|
export type MethodHandler<T extends z.ZodType = z.ZodType> = {
|
|
6
6
|
schema: T;
|
|
7
7
|
method: z.infer<T>["method"];
|
|
@@ -47,12 +47,12 @@ export declare class GasEstimatorV07 {
|
|
|
47
47
|
encodeUserOperationCalldata({ op, entryPoint }: {
|
|
48
48
|
op: UserOperationV07;
|
|
49
49
|
entryPoint: Address;
|
|
50
|
-
}):
|
|
50
|
+
}): Promise<`0x${string}`>;
|
|
51
51
|
encodeSimulateHandleOpLast({ userOperation, queuedUserOperations, entryPoint }: {
|
|
52
52
|
userOperation: UserOperationV07;
|
|
53
53
|
queuedUserOperations: UserOperationV07[];
|
|
54
54
|
entryPoint: Address;
|
|
55
|
-
}): Hex
|
|
55
|
+
}): Promise<Hex>;
|
|
56
56
|
encodeBinarySearchGasLimit({ entryPoint, userOperation, queuedUserOperations, target, targetCallData, gasAllowance, initialMinGas, functionName }: {
|
|
57
57
|
entryPoint: Address;
|
|
58
58
|
userOperation: UserOperationV07;
|
|
@@ -62,7 +62,7 @@ export declare class GasEstimatorV07 {
|
|
|
62
62
|
gasAllowance?: bigint;
|
|
63
63
|
initialMinGas?: bigint;
|
|
64
64
|
functionName: "binarySearchPaymasterVerificationGasLimit" | "binarySearchVerificationGasLimit" | "binarySearchCallGasLimit";
|
|
65
|
-
}): Hex
|
|
65
|
+
}): Promise<Hex>;
|
|
66
66
|
retryBinarySearch({ entryPoint, optimalGas, minGas, targetOp, target, targetCallData, functionName, queuedOps, stateOverrides }: {
|
|
67
67
|
entryPoint: Address;
|
|
68
68
|
optimalGas: bigint;
|
|
@@ -86,10 +86,11 @@ export declare class GasEstimatorV07 {
|
|
|
86
86
|
queuedUserOperations: UserOperationV07[];
|
|
87
87
|
stateOverrides?: StateOverrides | undefined;
|
|
88
88
|
}): Promise<SimulateHandleOpResult>;
|
|
89
|
-
callPimlicoEntryPointSimulations({ entryPoint, entryPointSimulationsCallData, stateOverrides }: {
|
|
89
|
+
callPimlicoEntryPointSimulations({ entryPoint, entryPointSimulationsCallData, stateOverrides, entryPointSimulationsAddress }: {
|
|
90
90
|
entryPoint: Address;
|
|
91
91
|
entryPointSimulationsCallData: Hex[];
|
|
92
92
|
stateOverrides?: StateOverrides;
|
|
93
|
+
entryPointSimulationsAddress: Address;
|
|
93
94
|
}): Promise<readonly `0x${string}`[]>;
|
|
94
95
|
}
|
|
95
96
|
export declare function parseFailedOpWithRevert(data: Hex): string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EntryPointV07Abi, EntryPointV07SimulationsAbi, ExecutionErrors, PimlicoEntryPointSimulationsAbi, RpcError, ValidationErrors, binarySearchCallResultSchema } from "../../types/index.js";
|
|
2
|
-
import { getAuthorizationStateOverrides, getUserOperationHash, toPackedUserOperation } from "../../utils/index.js";
|
|
2
|
+
import { getAuthorizationStateOverrides, getUserOperationHash, isVersion08, toPackedUserOperation } from "../../utils/index.js";
|
|
3
3
|
import { decodeAbiParameters, decodeErrorResult, decodeFunctionResult, encodeFunctionData, slice, toFunctionSelector, toHex, zeroAddress } from "viem";
|
|
4
4
|
import { AccountExecuteAbi } from "../../types/contracts/IAccountExecute.js";
|
|
5
5
|
import { simulationValidationResultStruct } from "./types.js";
|
|
@@ -26,16 +26,24 @@ export class GasEstimatorV07 {
|
|
|
26
26
|
userOperations: [...queuedUserOperations, userOperation],
|
|
27
27
|
publicClient: this.config.publicClient
|
|
28
28
|
});
|
|
29
|
+
const isV8 = isVersion08(userOperation, entryPoint);
|
|
30
|
+
const entryPointSimulationsAddress = isV8
|
|
31
|
+
? this.config.entrypointSimulationContractV8
|
|
32
|
+
: this.config.entrypointSimulationContractV7;
|
|
33
|
+
if (!entryPointSimulationsAddress) {
|
|
34
|
+
throw new Error(`Cannot find entryPointSimulationsAddress for version ${isV8 ? "08" : "07"}`);
|
|
35
|
+
}
|
|
29
36
|
const errorResult = await this.callPimlicoEntryPointSimulations({
|
|
30
37
|
entryPoint,
|
|
31
38
|
entryPointSimulationsCallData: [simulateValidationLast],
|
|
32
|
-
stateOverrides
|
|
39
|
+
stateOverrides,
|
|
40
|
+
entryPointSimulationsAddress
|
|
33
41
|
});
|
|
34
42
|
return {
|
|
35
43
|
simulateValidationResult: getSimulateValidationResult(errorResult[0])
|
|
36
44
|
};
|
|
37
45
|
}
|
|
38
|
-
encodeUserOperationCalldata({ op, entryPoint }) {
|
|
46
|
+
async encodeUserOperationCalldata({ op, entryPoint }) {
|
|
39
47
|
const packedOp = toPackedUserOperation(op);
|
|
40
48
|
const executeUserOpMethodSig = toFunctionSelector(AccountExecuteAbi[0]);
|
|
41
49
|
const callDataMethodSig = slice(packedOp.callData, 0, 4);
|
|
@@ -45,19 +53,29 @@ export class GasEstimatorV07 {
|
|
|
45
53
|
functionName: "executeUserOp",
|
|
46
54
|
args: [
|
|
47
55
|
packedOp,
|
|
48
|
-
getUserOperationHash(
|
|
56
|
+
await getUserOperationHash({
|
|
57
|
+
userOperation: op,
|
|
58
|
+
entryPointAddress: entryPoint,
|
|
59
|
+
chainId: this.config.chainId,
|
|
60
|
+
publicClient: this.config.publicClient
|
|
61
|
+
})
|
|
49
62
|
]
|
|
50
63
|
});
|
|
51
64
|
}
|
|
52
65
|
return packedOp.callData;
|
|
53
66
|
}
|
|
54
|
-
encodeSimulateHandleOpLast({ userOperation, queuedUserOperations, entryPoint }) {
|
|
67
|
+
async encodeSimulateHandleOpLast({ userOperation, queuedUserOperations, entryPoint }) {
|
|
55
68
|
const userOperations = [...queuedUserOperations, userOperation];
|
|
56
|
-
const packedUserOperations = userOperations.map((uop) => ({
|
|
69
|
+
const packedUserOperations = await Promise.all(userOperations.map(async (uop) => ({
|
|
57
70
|
packedUserOperation: toPackedUserOperation(uop),
|
|
58
71
|
userOperation: uop,
|
|
59
|
-
userOperationHash: getUserOperationHash(
|
|
60
|
-
|
|
72
|
+
userOperationHash: await getUserOperationHash({
|
|
73
|
+
userOperation: uop,
|
|
74
|
+
entryPointAddress: entryPoint,
|
|
75
|
+
chainId: this.config.chainId,
|
|
76
|
+
publicClient: this.config.publicClient
|
|
77
|
+
})
|
|
78
|
+
})));
|
|
61
79
|
const simulateHandleOpCallData = encodeFunctionData({
|
|
62
80
|
abi: EntryPointV07SimulationsAbi,
|
|
63
81
|
functionName: "simulateHandleOpLast",
|
|
@@ -65,15 +83,15 @@ export class GasEstimatorV07 {
|
|
|
65
83
|
});
|
|
66
84
|
return simulateHandleOpCallData;
|
|
67
85
|
}
|
|
68
|
-
encodeBinarySearchGasLimit({ entryPoint, userOperation, queuedUserOperations, target, targetCallData, gasAllowance = this.config.binarySearchGasAllowance, initialMinGas = 0n, functionName }) {
|
|
69
|
-
const queuedOps = queuedUserOperations.map((op) => ({
|
|
86
|
+
async encodeBinarySearchGasLimit({ entryPoint, userOperation, queuedUserOperations, target, targetCallData, gasAllowance = this.config.binarySearchGasAllowance, initialMinGas = 0n, functionName }) {
|
|
87
|
+
const queuedOps = await Promise.all(queuedUserOperations.map(async (op) => ({
|
|
70
88
|
op: toPackedUserOperation(op),
|
|
71
89
|
target: op.sender,
|
|
72
|
-
targetCallData: this.encodeUserOperationCalldata({
|
|
90
|
+
targetCallData: await this.encodeUserOperationCalldata({
|
|
73
91
|
op,
|
|
74
92
|
entryPoint
|
|
75
93
|
})
|
|
76
|
-
}));
|
|
94
|
+
})));
|
|
77
95
|
const targetOp = {
|
|
78
96
|
op: toPackedUserOperation(userOperation),
|
|
79
97
|
target,
|
|
@@ -102,7 +120,7 @@ export class GasEstimatorV07 {
|
|
|
102
120
|
while (retryCount < maxRetries) {
|
|
103
121
|
// OptimalGas represents the current lowest gasLimit, so we set the gasAllowance to search range minGas <-> optimalGas
|
|
104
122
|
const gasAllowance = currentOptimalGas - currentMinGas;
|
|
105
|
-
const binarySearchCallGasLimit = this.encodeBinarySearchGasLimit({
|
|
123
|
+
const binarySearchCallGasLimit = await this.encodeBinarySearchGasLimit({
|
|
106
124
|
entryPoint,
|
|
107
125
|
userOperation: targetOp,
|
|
108
126
|
target,
|
|
@@ -117,10 +135,18 @@ export class GasEstimatorV07 {
|
|
|
117
135
|
publicClient: this.config.publicClient,
|
|
118
136
|
stateOverrides
|
|
119
137
|
});
|
|
138
|
+
const isV8 = isVersion08(targetOp, entryPoint);
|
|
139
|
+
const entryPointSimulationsAddress = isV8
|
|
140
|
+
? this.config.entrypointSimulationContractV8
|
|
141
|
+
: this.config.entrypointSimulationContractV7;
|
|
142
|
+
if (!entryPointSimulationsAddress) {
|
|
143
|
+
throw new Error(`Cannot find entryPointSimulationsAddress for version ${isV8 ? "08" : "07"}`);
|
|
144
|
+
}
|
|
120
145
|
let cause = await this.callPimlicoEntryPointSimulations({
|
|
121
146
|
entryPoint,
|
|
122
147
|
entryPointSimulationsCallData: [binarySearchCallGasLimit],
|
|
123
|
-
stateOverrides
|
|
148
|
+
stateOverrides,
|
|
149
|
+
entryPointSimulationsAddress
|
|
124
150
|
});
|
|
125
151
|
cause = cause.map((data) => {
|
|
126
152
|
const decodedDelegateAndError = decodeErrorResult({
|
|
@@ -156,7 +182,7 @@ export class GasEstimatorV07 {
|
|
|
156
182
|
};
|
|
157
183
|
}
|
|
158
184
|
async validateHandleOpV07({ entryPoint, userOperation, queuedUserOperations, stateOverrides = {} }) {
|
|
159
|
-
const simulateHandleOpLast = this.encodeSimulateHandleOpLast({
|
|
185
|
+
const simulateHandleOpLast = await this.encodeSimulateHandleOpLast({
|
|
160
186
|
entryPoint,
|
|
161
187
|
userOperation,
|
|
162
188
|
queuedUserOperations
|
|
@@ -166,11 +192,19 @@ export class GasEstimatorV07 {
|
|
|
166
192
|
publicClient: this.config.publicClient,
|
|
167
193
|
stateOverrides
|
|
168
194
|
});
|
|
195
|
+
const isV8 = isVersion08(userOperation, entryPoint);
|
|
196
|
+
const entryPointSimulationsAddress = isV8
|
|
197
|
+
? this.config.entrypointSimulationContractV8
|
|
198
|
+
: this.config.entrypointSimulationContractV7;
|
|
199
|
+
if (!entryPointSimulationsAddress) {
|
|
200
|
+
throw new Error(`Cannot find entryPointSimulationsAddress for version ${isV8 ? "08" : "07"}`);
|
|
201
|
+
}
|
|
169
202
|
let cause = [
|
|
170
203
|
(await this.callPimlicoEntryPointSimulations({
|
|
171
204
|
entryPoint,
|
|
172
205
|
entryPointSimulationsCallData: [simulateHandleOpLast],
|
|
173
|
-
stateOverrides
|
|
206
|
+
stateOverrides,
|
|
207
|
+
entryPointSimulationsAddress
|
|
174
208
|
}))[0]
|
|
175
209
|
];
|
|
176
210
|
cause = cause.map((data) => {
|
|
@@ -209,12 +243,12 @@ export class GasEstimatorV07 {
|
|
|
209
243
|
}
|
|
210
244
|
}
|
|
211
245
|
async simulateHandleOpV07({ entryPoint, userOperation, queuedUserOperations, stateOverrides = {} }) {
|
|
212
|
-
const simulateHandleOpLast = this.encodeSimulateHandleOpLast({
|
|
246
|
+
const simulateHandleOpLast = await this.encodeSimulateHandleOpLast({
|
|
213
247
|
entryPoint,
|
|
214
248
|
userOperation,
|
|
215
249
|
queuedUserOperations
|
|
216
250
|
});
|
|
217
|
-
const binarySearchVerificationGasLimit = this.encodeBinarySearchGasLimit({
|
|
251
|
+
const binarySearchVerificationGasLimit = await this.encodeBinarySearchGasLimit({
|
|
218
252
|
initialMinGas: 9000n,
|
|
219
253
|
entryPoint,
|
|
220
254
|
userOperation,
|
|
@@ -224,7 +258,7 @@ export class GasEstimatorV07 {
|
|
|
224
258
|
functionName: "binarySearchVerificationGasLimit"
|
|
225
259
|
});
|
|
226
260
|
const binarySearchPaymasterVerificationGasLimit = userOperation.paymaster
|
|
227
|
-
? this.encodeBinarySearchGasLimit({
|
|
261
|
+
? await this.encodeBinarySearchGasLimit({
|
|
228
262
|
initialMinGas: 9000n,
|
|
229
263
|
entryPoint,
|
|
230
264
|
userOperation,
|
|
@@ -234,13 +268,13 @@ export class GasEstimatorV07 {
|
|
|
234
268
|
functionName: "binarySearchPaymasterVerificationGasLimit"
|
|
235
269
|
})
|
|
236
270
|
: null;
|
|
237
|
-
const binarySearchCallGasLimit = this.encodeBinarySearchGasLimit({
|
|
271
|
+
const binarySearchCallGasLimit = await this.encodeBinarySearchGasLimit({
|
|
238
272
|
initialMinGas: 9000n,
|
|
239
273
|
entryPoint,
|
|
240
274
|
userOperation,
|
|
241
275
|
queuedUserOperations,
|
|
242
276
|
target: userOperation.sender,
|
|
243
|
-
targetCallData: this.encodeUserOperationCalldata({
|
|
277
|
+
targetCallData: await this.encodeUserOperationCalldata({
|
|
244
278
|
op: userOperation,
|
|
245
279
|
entryPoint
|
|
246
280
|
}),
|
|
@@ -252,20 +286,29 @@ export class GasEstimatorV07 {
|
|
|
252
286
|
stateOverrides
|
|
253
287
|
});
|
|
254
288
|
let cause;
|
|
289
|
+
const isV8 = isVersion08(userOperation, entryPoint);
|
|
290
|
+
const entryPointSimulationsAddress = isV8
|
|
291
|
+
? this.config.entrypointSimulationContractV8
|
|
292
|
+
: this.config.entrypointSimulationContractV7;
|
|
293
|
+
if (!entryPointSimulationsAddress) {
|
|
294
|
+
throw new Error(`Cannot find entryPointSimulationsAddress for version ${isV8 ? "08" : "07"}`);
|
|
295
|
+
}
|
|
255
296
|
if (this.config.splitSimulationCalls) {
|
|
256
297
|
// due to Hedera specific restrictions, we can't combine these two calls.
|
|
257
298
|
const [simulateHandleOpLastCause, binarySearchVerificationGasLimitCause, binarySearchPaymasterVerificationGasLimitCause, binarySearchCallGasLimitCause] = await Promise.all([
|
|
258
299
|
this.callPimlicoEntryPointSimulations({
|
|
259
300
|
entryPoint,
|
|
260
301
|
entryPointSimulationsCallData: [simulateHandleOpLast],
|
|
261
|
-
stateOverrides
|
|
302
|
+
stateOverrides,
|
|
303
|
+
entryPointSimulationsAddress
|
|
262
304
|
}),
|
|
263
305
|
this.callPimlicoEntryPointSimulations({
|
|
264
306
|
entryPoint,
|
|
265
307
|
entryPointSimulationsCallData: [
|
|
266
308
|
binarySearchVerificationGasLimit
|
|
267
309
|
],
|
|
268
|
-
stateOverrides
|
|
310
|
+
stateOverrides,
|
|
311
|
+
entryPointSimulationsAddress
|
|
269
312
|
}),
|
|
270
313
|
binarySearchPaymasterVerificationGasLimit
|
|
271
314
|
? this.callPimlicoEntryPointSimulations({
|
|
@@ -273,13 +316,15 @@ export class GasEstimatorV07 {
|
|
|
273
316
|
entryPointSimulationsCallData: [
|
|
274
317
|
binarySearchPaymasterVerificationGasLimit
|
|
275
318
|
],
|
|
276
|
-
stateOverrides
|
|
319
|
+
stateOverrides,
|
|
320
|
+
entryPointSimulationsAddress
|
|
277
321
|
})
|
|
278
322
|
: null,
|
|
279
323
|
this.callPimlicoEntryPointSimulations({
|
|
280
324
|
entryPoint,
|
|
281
325
|
entryPointSimulationsCallData: [binarySearchCallGasLimit],
|
|
282
|
-
stateOverrides
|
|
326
|
+
stateOverrides,
|
|
327
|
+
entryPointSimulationsAddress
|
|
283
328
|
})
|
|
284
329
|
]);
|
|
285
330
|
cause = [
|
|
@@ -299,7 +344,8 @@ export class GasEstimatorV07 {
|
|
|
299
344
|
binarySearchVerificationGasLimit,
|
|
300
345
|
binarySearchPaymasterVerificationGasLimit
|
|
301
346
|
],
|
|
302
|
-
stateOverrides
|
|
347
|
+
stateOverrides,
|
|
348
|
+
entryPointSimulationsAddress
|
|
303
349
|
})
|
|
304
350
|
: await this.callPimlicoEntryPointSimulations({
|
|
305
351
|
entryPoint,
|
|
@@ -307,12 +353,14 @@ export class GasEstimatorV07 {
|
|
|
307
353
|
simulateHandleOpLast,
|
|
308
354
|
binarySearchVerificationGasLimit
|
|
309
355
|
],
|
|
310
|
-
stateOverrides
|
|
356
|
+
stateOverrides,
|
|
357
|
+
entryPointSimulationsAddress
|
|
311
358
|
}),
|
|
312
359
|
await this.callPimlicoEntryPointSimulations({
|
|
313
360
|
entryPoint,
|
|
314
361
|
entryPointSimulationsCallData: [binarySearchCallGasLimit],
|
|
315
|
-
stateOverrides
|
|
362
|
+
stateOverrides,
|
|
363
|
+
entryPointSimulationsAddress
|
|
316
364
|
})
|
|
317
365
|
]);
|
|
318
366
|
cause = [
|
|
@@ -422,7 +470,7 @@ export class GasEstimatorV07 {
|
|
|
422
470
|
minGas,
|
|
423
471
|
targetOp: userOperation,
|
|
424
472
|
target: userOperation.sender,
|
|
425
|
-
targetCallData: this.encodeUserOperationCalldata({
|
|
473
|
+
targetCallData: await this.encodeUserOperationCalldata({
|
|
426
474
|
op: userOperation,
|
|
427
475
|
entryPoint
|
|
428
476
|
}),
|
|
@@ -453,12 +501,11 @@ export class GasEstimatorV07 {
|
|
|
453
501
|
};
|
|
454
502
|
}
|
|
455
503
|
}
|
|
456
|
-
async callPimlicoEntryPointSimulations({ entryPoint, entryPointSimulationsCallData, stateOverrides }) {
|
|
504
|
+
async callPimlicoEntryPointSimulations({ entryPoint, entryPointSimulationsCallData, stateOverrides, entryPointSimulationsAddress }) {
|
|
457
505
|
const publicClient = this.config.publicClient;
|
|
458
506
|
const blockTagSupport = this.config.blockTagSupport;
|
|
459
507
|
const utilityWalletAddress = this.config.utilityPrivateKey?.address ??
|
|
460
508
|
"0x4337000c2828F5260d8921fD25829F606b9E8680";
|
|
461
|
-
const entryPointSimulationsAddress = this.config.entrypointSimulationContract;
|
|
462
509
|
const fixedGasLimitForEstimation = this.config.fixedGasLimitForEstimation;
|
|
463
510
|
if (!entryPointSimulationsAddress) {
|
|
464
511
|
throw new RpcError("entryPointSimulationsAddress must be provided for V07 UserOperation", ValidationErrors.InvalidFields);
|