@pimlico/alto 0.0.0-main.20241218T163308 → 0.0.0-main.20241220T183546
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 +32 -20
- package/esm/cli/config/bundler.js +3 -1
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.js +13 -2
- package/esm/cli/config/options.js.map +1 -1
- package/esm/cli/deploySimulationsContract.js +45 -19
- package/esm/cli/deploySimulationsContract.js.map +1 -1
- package/esm/cli/handler.js +2 -1
- package/esm/cli/handler.js.map +1 -1
- package/esm/cli/parseArgs.js +1 -1
- package/esm/cli/parseArgs.js.map +1 -1
- package/esm/executor/executor.js +45 -20
- package/esm/executor/executor.js.map +1 -1
- package/esm/executor/executorManager.d.ts +1 -1
- package/esm/executor/types.d.ts +25 -0
- package/esm/executor/types.js +2 -0
- package/esm/executor/types.js.map +1 -0
- package/esm/executor/utils.d.ts +4 -2
- package/esm/executor/utils.js +20 -6
- package/esm/executor/utils.js.map +1 -1
- package/esm/mempool/mempool.js +7 -1
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/rpc/estimation/gasEstimationHandler.d.ts +3 -1
- package/esm/rpc/estimation/gasEstimationHandler.js +3 -1
- package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
- package/esm/rpc/estimation/gasEstimationsV06.d.ts +3 -1
- package/esm/rpc/estimation/gasEstimationsV06.js +9 -1
- package/esm/rpc/estimation/gasEstimationsV06.js.map +1 -1
- package/esm/rpc/estimation/gasEstimationsV07.d.ts +21 -11
- package/esm/rpc/estimation/gasEstimationsV07.js +216 -48
- package/esm/rpc/estimation/gasEstimationsV07.js.map +1 -1
- package/esm/rpc/estimation/types.d.ts +9 -2
- package/esm/rpc/estimation/types.js.map +1 -1
- package/esm/rpc/rpcHandler.d.ts +53 -1
- package/esm/rpc/rpcHandler.js +221 -146
- package/esm/rpc/rpcHandler.js.map +1 -1
- package/esm/rpc/validation/SafeValidator.d.ts +18 -3
- package/esm/rpc/validation/SafeValidator.js +15 -6
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/rpc/validation/UnsafeValidator.d.ts +41 -6
- package/esm/rpc/validation/UnsafeValidator.js +27 -10
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
- package/esm/types/contracts/EntryPointSimulationsV7.d.ts +983 -15
- package/esm/types/contracts/EntryPointSimulationsV7.js +1178 -425
- package/esm/types/contracts/EntryPointSimulationsV7.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/interfaces.d.ts +41 -6
- package/esm/types/mempool.d.ts +3 -2
- package/esm/types/mempool.js +10 -3
- package/esm/types/mempool.js.map +1 -1
- package/esm/types/schemas.d.ts +896 -40
- package/esm/types/schemas.js +61 -2
- package/esm/types/schemas.js.map +1 -1
- package/esm/types/validation.d.ts +210 -210
- package/esm/types/validation.js +1 -1
- package/esm/types/validation.js.map +1 -1
- package/esm/utils/helpers.d.ts +14 -1
- package/esm/utils/helpers.js +14 -0
- package/esm/utils/helpers.js.map +1 -1
- package/esm/utils/metrics.d.ts +3 -3
- package/esm/utils/userop.d.ts +1 -1
- package/esm/utils/validation.d.ts +5 -2
- package/esm/utils/validation.js +9 -4
- package/esm/utils/validation.js.map +1 -1
- package/lib/cli/config/bundler.d.ts +32 -20
- package/lib/cli/config/bundler.js +3 -1
- package/lib/cli/config/bundler.js.map +1 -1
- package/lib/cli/config/options.js +13 -2
- package/lib/cli/config/options.js.map +1 -1
- package/lib/cli/deploySimulationsContract.js +43 -17
- package/lib/cli/deploySimulationsContract.js.map +1 -1
- package/lib/cli/handler.js +2 -1
- package/lib/cli/handler.js.map +1 -1
- package/lib/cli/parseArgs.js +1 -1
- package/lib/cli/parseArgs.js.map +1 -1
- package/lib/executor/executor.js +44 -19
- package/lib/executor/executor.js.map +1 -1
- package/lib/executor/executorManager.d.ts +1 -1
- package/lib/executor/types.d.ts +25 -0
- package/lib/executor/types.js +3 -0
- package/lib/executor/types.js.map +1 -0
- package/lib/executor/utils.d.ts +4 -2
- package/lib/executor/utils.js +21 -6
- package/lib/executor/utils.js.map +1 -1
- package/lib/mempool/mempool.js +7 -1
- package/lib/mempool/mempool.js.map +1 -1
- package/lib/rpc/estimation/gasEstimationHandler.d.ts +3 -1
- package/lib/rpc/estimation/gasEstimationHandler.js +3 -1
- package/lib/rpc/estimation/gasEstimationHandler.js.map +1 -1
- package/lib/rpc/estimation/gasEstimationsV06.d.ts +3 -1
- package/lib/rpc/estimation/gasEstimationsV06.js +9 -1
- package/lib/rpc/estimation/gasEstimationsV06.js.map +1 -1
- package/lib/rpc/estimation/gasEstimationsV07.d.ts +21 -11
- package/lib/rpc/estimation/gasEstimationsV07.js +213 -45
- package/lib/rpc/estimation/gasEstimationsV07.js.map +1 -1
- package/lib/rpc/estimation/types.d.ts +9 -2
- package/lib/rpc/estimation/types.js.map +1 -1
- package/lib/rpc/rpcHandler.d.ts +53 -1
- package/lib/rpc/rpcHandler.js +220 -145
- package/lib/rpc/rpcHandler.js.map +1 -1
- package/lib/rpc/validation/SafeValidator.d.ts +18 -3
- package/lib/rpc/validation/SafeValidator.js +15 -6
- package/lib/rpc/validation/SafeValidator.js.map +1 -1
- package/lib/rpc/validation/UnsafeValidator.d.ts +41 -6
- package/lib/rpc/validation/UnsafeValidator.js +27 -10
- package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
- package/lib/types/contracts/EntryPointSimulationsV7.d.ts +983 -15
- package/lib/types/contracts/EntryPointSimulationsV7.js +1179 -426
- package/lib/types/contracts/EntryPointSimulationsV7.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/interfaces.d.ts +41 -6
- package/lib/types/mempool.d.ts +3 -2
- package/lib/types/mempool.js +12 -4
- package/lib/types/mempool.js.map +1 -1
- package/lib/types/schemas.d.ts +896 -40
- package/lib/types/schemas.js +61 -2
- package/lib/types/schemas.js.map +1 -1
- package/lib/types/validation.d.ts +210 -210
- package/lib/types/validation.js +2 -2
- package/lib/types/validation.js.map +1 -1
- package/lib/utils/helpers.d.ts +14 -1
- package/lib/utils/helpers.js +16 -1
- package/lib/utils/helpers.js.map +1 -1
- package/lib/utils/metrics.d.ts +3 -3
- package/lib/utils/userop.d.ts +1 -1
- package/lib/utils/validation.d.ts +5 -2
- package/lib/utils/validation.js +9 -4
- package/lib/utils/validation.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import type { Address, ExecutionResult, PackedUserOperation,
|
|
1
|
+
import type { Address, ExecutionResult, PackedUserOperation, BinarySearchCallResult } from "../../types/index.js";
|
|
2
2
|
import type { Hex } from "viem";
|
|
3
3
|
export type SimulateHandleOpResult<TypeResult extends "failed" | "execution" = "failed" | "execution"> = {
|
|
4
4
|
result: TypeResult;
|
|
5
5
|
data: TypeResult extends "failed" ? string : {
|
|
6
|
-
|
|
6
|
+
callGasLimit?: bigint;
|
|
7
|
+
verificationGasLimit?: bigint;
|
|
8
|
+
paymasterVerificationGasLimit?: bigint;
|
|
7
9
|
executionResult: ExecutionResult;
|
|
8
10
|
};
|
|
9
11
|
code?: TypeResult extends "failed" ? number : undefined;
|
|
10
12
|
};
|
|
13
|
+
export type SimulateBinarySearchRetryResult<TypeResult extends "failed" | "success" = "failed" | "success"> = {
|
|
14
|
+
result: TypeResult;
|
|
15
|
+
data: TypeResult extends "failed" ? string : BinarySearchCallResult;
|
|
16
|
+
code?: TypeResult extends "failed" ? number : undefined;
|
|
17
|
+
};
|
|
11
18
|
export type CallDataSimulationArgs = {
|
|
12
19
|
op: PackedUserOperation;
|
|
13
20
|
target: Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../rpc/estimation/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../rpc/estimation/types.ts"],"names":[],"mappings":"AAgDA,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC5C;QACI,UAAU,EAAE;YACR;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,uBAAuB;wBAC7B,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,yBAAyB;wBAC/B,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,YAAY,EAAE,+BAA+B;gBAC7C,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;qBAClB;iBACJ;gBACD,YAAY,EAAE,gCAAgC;gBAC9C,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;qBAClB;iBACJ;gBACD,YAAY,EAAE,gCAAgC;gBAC9C,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;qBAClB;iBACJ;gBACD,YAAY,EAAE,gCAAgC;gBAC9C,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,UAAU,EAAE;oBACR;wBACI,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAClB;oBACD;wBACI,UAAU,EAAE;4BACR;gCACI,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,SAAS;6BAClB;4BACD;gCACI,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,SAAS;6BAClB;yBACJ;wBACD,YAAY,EAAE,gCAAgC;wBAC9C,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,YAAY,EAAE,wCAAwC;gBACtD,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,OAAO;aAChB;SACJ;QACD,YAAY,EAAE,gDAAgD;QAC9D,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,OAAO;KAChB;CACK,CAAA"}
|
package/esm/rpc/rpcHandler.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { Logger, Metrics } from "../utils/index.js";
|
|
|
7
7
|
import { type Hex } from "viem";
|
|
8
8
|
import type { NonceQueuer } from "./nonceQueuer.js";
|
|
9
9
|
import type { AltoConfig } from "../createConfig.js";
|
|
10
|
+
import { SignedAuthorization } from "viem/experimental";
|
|
10
11
|
export interface IRpcEndpoint {
|
|
11
12
|
handleMethod(request: BundlerRequest, apiVersion: ApiVersion): Promise<BundlerResponse>;
|
|
12
13
|
eth_chainId(): ChainIdResponseResult;
|
|
@@ -65,6 +66,29 @@ export declare class RpcHandler implements IRpcEndpoint {
|
|
|
65
66
|
pimlico_getUserOperationStatus(userOperationHash: HexData32): PimlicoGetUserOperationStatusResponseResult;
|
|
66
67
|
pimlico_getUserOperationGasPrice(): Promise<PimlicoGetUserOperationGasPriceResponseResult>;
|
|
67
68
|
addToMempoolIfValid(op: MempoolUserOperation, entryPoint: Address, apiVersion: ApiVersion): Promise<"added" | "queued">;
|
|
69
|
+
pimlico_experimental_estimateUserOperationGas7702(apiVersion: ApiVersion, userOperation: UserOperation, entryPoint: Address, authorization: SignedAuthorization, stateOverrides?: StateOverrides): Promise<{
|
|
70
|
+
preVerificationGas: bigint;
|
|
71
|
+
verificationGasLimit: bigint;
|
|
72
|
+
callGasLimit: bigint;
|
|
73
|
+
paymasterVerificationGasLimit: bigint;
|
|
74
|
+
paymasterPostOpGasLimit: bigint;
|
|
75
|
+
verificationGas?: undefined;
|
|
76
|
+
} | {
|
|
77
|
+
preVerificationGas: bigint;
|
|
78
|
+
verificationGasLimit: bigint;
|
|
79
|
+
callGasLimit: bigint;
|
|
80
|
+
paymasterVerificationGasLimit?: undefined;
|
|
81
|
+
paymasterPostOpGasLimit?: undefined;
|
|
82
|
+
verificationGas?: undefined;
|
|
83
|
+
} | {
|
|
84
|
+
preVerificationGas: bigint;
|
|
85
|
+
verificationGas: bigint;
|
|
86
|
+
verificationGasLimit: bigint;
|
|
87
|
+
callGasLimit: bigint;
|
|
88
|
+
paymasterVerificationGasLimit?: undefined;
|
|
89
|
+
paymasterPostOpGasLimit?: undefined;
|
|
90
|
+
}>;
|
|
91
|
+
pimlico_experimental_sendUserOperation7702(apiVersion: ApiVersion, userOperation: UserOperation, entryPoint: Address, authorizationSignature: SignedAuthorization): Promise<`0x${string}`>;
|
|
68
92
|
pimlico_sendUserOperationNow(apiVersion: ApiVersion, userOperation: UserOperation, entryPoint: Address): Promise<{
|
|
69
93
|
sender: `0x${string}`;
|
|
70
94
|
nonce: bigint;
|
|
@@ -87,13 +111,13 @@ export declare class RpcHandler implements IRpcEndpoint {
|
|
|
87
111
|
to: `0x${string}` | null;
|
|
88
112
|
gasUsed: bigint;
|
|
89
113
|
status: bigint | null;
|
|
114
|
+
contractAddress: `0x${string}` | null;
|
|
90
115
|
blockNumber: bigint;
|
|
91
116
|
blockHash: `0x${string}`;
|
|
92
117
|
transactionHash: `0x${string}`;
|
|
93
118
|
transactionIndex: bigint;
|
|
94
119
|
from: `0x${string}`;
|
|
95
120
|
cumulativeGasUsed: bigint;
|
|
96
|
-
contractAddress: `0x${string}` | null;
|
|
97
121
|
logs: {
|
|
98
122
|
address: `0x${string}`;
|
|
99
123
|
data: `0x${string}`;
|
|
@@ -113,5 +137,33 @@ export declare class RpcHandler implements IRpcEndpoint {
|
|
|
113
137
|
pimlico_sendCompressedUserOperation(apiVersion: ApiVersion, compressedCalldata: Hex, inflatorAddress: Address, entryPoint: Address): Promise<`0x${string}`>;
|
|
114
138
|
private validateAndInflateCompressedUserOperation;
|
|
115
139
|
getNonceValue(userOperation: UserOperation, entryPoint: Address): Promise<bigint>;
|
|
140
|
+
doEstimateGas({ apiVersion, userOperation, entryPoint, stateOverrides, authorization }: {
|
|
141
|
+
apiVersion: ApiVersion;
|
|
142
|
+
userOperation: UserOperation;
|
|
143
|
+
entryPoint: Address;
|
|
144
|
+
stateOverrides?: StateOverrides;
|
|
145
|
+
authorization?: SignedAuthorization;
|
|
146
|
+
}): Promise<{
|
|
147
|
+
preVerificationGas: bigint;
|
|
148
|
+
verificationGasLimit: bigint;
|
|
149
|
+
callGasLimit: bigint;
|
|
150
|
+
paymasterVerificationGasLimit: bigint;
|
|
151
|
+
paymasterPostOpGasLimit: bigint;
|
|
152
|
+
verificationGas?: undefined;
|
|
153
|
+
} | {
|
|
154
|
+
preVerificationGas: bigint;
|
|
155
|
+
verificationGasLimit: bigint;
|
|
156
|
+
callGasLimit: bigint;
|
|
157
|
+
paymasterVerificationGasLimit?: undefined;
|
|
158
|
+
paymasterPostOpGasLimit?: undefined;
|
|
159
|
+
verificationGas?: undefined;
|
|
160
|
+
} | {
|
|
161
|
+
preVerificationGas: bigint;
|
|
162
|
+
verificationGas: bigint;
|
|
163
|
+
verificationGasLimit: bigint;
|
|
164
|
+
callGasLimit: bigint;
|
|
165
|
+
paymasterVerificationGasLimit?: undefined;
|
|
166
|
+
paymasterPostOpGasLimit?: undefined;
|
|
167
|
+
}>;
|
|
116
168
|
}
|
|
117
169
|
//# sourceMappingURL=rpcHandler.d.ts.map
|
package/esm/rpc/rpcHandler.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EntryPointV06Abi, EntryPointV07Abi, IOpInflatorAbi, RpcError, ValidationErrors, bundlerGetStakeStatusResponseSchema, deriveUserOperation } from "../types/index.js";
|
|
1
|
+
import { EntryPointV06Abi, EntryPointV07Abi, IOpInflatorAbi, RpcError, ValidationErrors, bundlerGetStakeStatusResponseSchema, deriveUserOperation, is7702Type } from "../types/index.js";
|
|
2
2
|
import { calcPreVerificationGas, calcVerificationGasAndCallGasLimit, deepHexlify, getAAError, getNonceKeyAndValue, getUserOperationHash, isVersion06, isVersion07, maxBigInt, parseUserOperationReceipt, scaleBigIntByPercent, toUnpackedUserOperation } from "../utils/index.js";
|
|
3
3
|
import { TransactionNotFoundError, decodeFunctionData, getAbiItem, getAddress, getContract, slice, toFunctionSelector } from "viem";
|
|
4
4
|
import { base, baseSepolia, optimism } from "viem/chains";
|
|
@@ -127,6 +127,16 @@ export class RpcHandler {
|
|
|
127
127
|
method,
|
|
128
128
|
result: await this.pimlico_sendUserOperationNow(apiVersion, ...request.params)
|
|
129
129
|
};
|
|
130
|
+
case "pimlico_experimental_sendUserOperation7702":
|
|
131
|
+
return {
|
|
132
|
+
method,
|
|
133
|
+
result: await this.pimlico_experimental_sendUserOperation7702(apiVersion, ...request.params)
|
|
134
|
+
};
|
|
135
|
+
case "pimlico_experimental_estimateUserOperationGas7702":
|
|
136
|
+
return {
|
|
137
|
+
method,
|
|
138
|
+
result: await this.pimlico_experimental_estimateUserOperationGas7702(apiVersion, request.params[0], request.params[1], request.params[2], request.params[3])
|
|
139
|
+
};
|
|
130
140
|
}
|
|
131
141
|
}
|
|
132
142
|
ensureEntryPointIsSupported(entryPoint) {
|
|
@@ -172,130 +182,12 @@ export class RpcHandler {
|
|
|
172
182
|
return this.config.entrypoints;
|
|
173
183
|
}
|
|
174
184
|
async eth_estimateUserOperationGas(apiVersion, userOperation, entryPoint, stateOverrides) {
|
|
175
|
-
this.
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
// Check if the nonce is valid
|
|
180
|
-
// If the nonce is less than the current nonce, the user operation has already been executed
|
|
181
|
-
// If the nonce is greater than the current nonce, we may have missing user operations in the mempool
|
|
182
|
-
const currentNonceValue = await this.getNonceValue(userOperation, entryPoint);
|
|
183
|
-
const [, userOperationNonceValue] = getNonceKeyAndValue(userOperation.nonce);
|
|
184
|
-
let queuedUserOperations = [];
|
|
185
|
-
if (userOperationNonceValue < currentNonceValue) {
|
|
186
|
-
throw new RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", ValidationErrors.InvalidFields);
|
|
187
|
-
}
|
|
188
|
-
if (userOperationNonceValue > currentNonceValue) {
|
|
189
|
-
// Nonce queues are supported only for v7 user operations
|
|
190
|
-
if (isVersion06(userOperation)) {
|
|
191
|
-
throw new RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", ValidationErrors.InvalidFields);
|
|
192
|
-
}
|
|
193
|
-
queuedUserOperations = await this.mempool.getQueuedUserOperations(userOperation, entryPoint, currentNonceValue);
|
|
194
|
-
if (userOperationNonceValue >
|
|
195
|
-
currentNonceValue + BigInt(queuedUserOperations.length)) {
|
|
196
|
-
throw new RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", ValidationErrors.InvalidFields);
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
// Prepare userOperation for simulation
|
|
200
|
-
const { simulationVerificationGasLimit, simulationCallGasLimit, simulationPaymasterVerificationGasLimit, simulationPaymasterPostOpGasLimit } = this.config;
|
|
201
|
-
const simulationUserOperation = {
|
|
202
|
-
...userOperation,
|
|
203
|
-
preVerificationGas: 0n,
|
|
204
|
-
verificationGasLimit: simulationVerificationGasLimit,
|
|
205
|
-
callGasLimit: simulationCallGasLimit
|
|
206
|
-
};
|
|
207
|
-
if (isVersion07(simulationUserOperation)) {
|
|
208
|
-
simulationUserOperation.paymasterVerificationGasLimit =
|
|
209
|
-
simulationPaymasterVerificationGasLimit;
|
|
210
|
-
simulationUserOperation.paymasterPostOpGasLimit =
|
|
211
|
-
simulationPaymasterPostOpGasLimit;
|
|
212
|
-
}
|
|
213
|
-
// This is necessary because entryPoint pays
|
|
214
|
-
// min(maxFeePerGas, baseFee + maxPriorityFeePerGas) for the verification
|
|
215
|
-
// Since we don't want our estimations to depend upon baseFee, we set
|
|
216
|
-
// maxFeePerGas to maxPriorityFeePerGas
|
|
217
|
-
simulationUserOperation.maxPriorityFeePerGas =
|
|
218
|
-
simulationUserOperation.maxFeePerGas;
|
|
219
|
-
const executionResult = await this.validator.getExecutionResult(simulationUserOperation, entryPoint, queuedUserOperations, true, deepHexlify(stateOverrides));
|
|
220
|
-
let { verificationGasLimit, callGasLimit } = calcVerificationGasAndCallGasLimit(simulationUserOperation, executionResult.data.executionResult, this.config.publicClient.chain.id, executionResult.data.callDataResult);
|
|
221
|
-
let paymasterVerificationGasLimit = 0n;
|
|
222
|
-
let paymasterPostOpGasLimit = 0n;
|
|
223
|
-
if (isVersion07(simulationUserOperation) &&
|
|
224
|
-
simulationUserOperation.paymaster !== null &&
|
|
225
|
-
"paymasterVerificationGasLimit" in
|
|
226
|
-
executionResult.data.executionResult &&
|
|
227
|
-
"paymasterPostOpGasLimit" in executionResult.data.executionResult) {
|
|
228
|
-
paymasterVerificationGasLimit =
|
|
229
|
-
executionResult.data.executionResult
|
|
230
|
-
.paymasterVerificationGasLimit || 1n;
|
|
231
|
-
paymasterPostOpGasLimit =
|
|
232
|
-
executionResult.data.executionResult.paymasterPostOpGasLimit ||
|
|
233
|
-
1n;
|
|
234
|
-
const multiplier = Number(this.config.paymasterGasLimitMultiplier);
|
|
235
|
-
paymasterVerificationGasLimit = scaleBigIntByPercent(paymasterVerificationGasLimit, multiplier);
|
|
236
|
-
paymasterPostOpGasLimit = scaleBigIntByPercent(paymasterPostOpGasLimit, multiplier);
|
|
237
|
-
}
|
|
238
|
-
if (this.config.publicClient.chain.id === base.id ||
|
|
239
|
-
this.config.publicClient.chain.id === baseSepolia.id) {
|
|
240
|
-
callGasLimit += 10000n;
|
|
241
|
-
}
|
|
242
|
-
if (this.config.publicClient.chain.id === base.id ||
|
|
243
|
-
this.config.publicClient.chain.id === optimism.id) {
|
|
244
|
-
callGasLimit = maxBigInt(callGasLimit, 120000n);
|
|
245
|
-
}
|
|
246
|
-
if (simulationUserOperation.callData === "0x") {
|
|
247
|
-
callGasLimit = 0n;
|
|
248
|
-
}
|
|
249
|
-
if (isVersion06(simulationUserOperation)) {
|
|
250
|
-
callGasLimit = scaleBigIntByPercent(callGasLimit, Number(this.config.callGasLimitMultiplier));
|
|
251
|
-
}
|
|
252
|
-
let preVerificationGas = await calcPreVerificationGas({
|
|
253
|
-
config: this.config,
|
|
254
|
-
userOperation: {
|
|
255
|
-
...userOperation,
|
|
256
|
-
callGasLimit, // use actual callGasLimit
|
|
257
|
-
verificationGasLimit, // use actual verificationGasLimit
|
|
258
|
-
paymasterPostOpGasLimit, // use actual paymasterPostOpGasLimit
|
|
259
|
-
paymasterVerificationGasLimit // use actual paymasterVerificationGasLimit
|
|
260
|
-
},
|
|
185
|
+
return await this.doEstimateGas({
|
|
186
|
+
apiVersion,
|
|
187
|
+
userOperation,
|
|
261
188
|
entryPoint,
|
|
262
|
-
|
|
263
|
-
validate: false
|
|
189
|
+
stateOverrides
|
|
264
190
|
});
|
|
265
|
-
preVerificationGas = scaleBigIntByPercent(preVerificationGas, 110);
|
|
266
|
-
// Check if userOperation passes without estimation balance overrides
|
|
267
|
-
if (isVersion06(simulationUserOperation)) {
|
|
268
|
-
await this.validator.getExecutionResult({
|
|
269
|
-
...simulationUserOperation,
|
|
270
|
-
preVerificationGas,
|
|
271
|
-
verificationGasLimit,
|
|
272
|
-
callGasLimit,
|
|
273
|
-
paymasterVerificationGasLimit,
|
|
274
|
-
paymasterPostOpGasLimit
|
|
275
|
-
}, entryPoint, queuedUserOperations, false, deepHexlify(stateOverrides));
|
|
276
|
-
}
|
|
277
|
-
if (isVersion07(simulationUserOperation)) {
|
|
278
|
-
return {
|
|
279
|
-
preVerificationGas,
|
|
280
|
-
verificationGasLimit,
|
|
281
|
-
callGasLimit,
|
|
282
|
-
paymasterVerificationGasLimit,
|
|
283
|
-
paymasterPostOpGasLimit
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
if (apiVersion === "v2") {
|
|
287
|
-
return {
|
|
288
|
-
preVerificationGas,
|
|
289
|
-
verificationGasLimit,
|
|
290
|
-
callGasLimit
|
|
291
|
-
};
|
|
292
|
-
}
|
|
293
|
-
return {
|
|
294
|
-
preVerificationGas,
|
|
295
|
-
verificationGas: verificationGasLimit,
|
|
296
|
-
verificationGasLimit,
|
|
297
|
-
callGasLimit
|
|
298
|
-
};
|
|
299
191
|
}
|
|
300
192
|
async eth_sendUserOperation(apiVersion, userOperation, entryPoint) {
|
|
301
193
|
const hash = getUserOperationHash(userOperation, entryPoint, this.config.publicClient.chain.id);
|
|
@@ -505,32 +397,72 @@ export class RpcHandler {
|
|
|
505
397
|
isVersion07(userOperation)) {
|
|
506
398
|
queuedUserOperations = await this.mempool.getQueuedUserOperations(userOperation, entryPoint, currentNonceValue);
|
|
507
399
|
}
|
|
508
|
-
if (userOperationNonceValue
|
|
400
|
+
if (userOperationNonceValue >
|
|
509
401
|
currentNonceValue + BigInt(queuedUserOperations.length)) {
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
if (apiVersion !== "v1") {
|
|
519
|
-
await this.validator.validatePreVerificationGas(userOperation, entryPoint);
|
|
520
|
-
}
|
|
521
|
-
const validationResult = await this.validator.validateUserOperation(apiVersion !== "v1", userOperation, queuedUserOperations, entryPoint);
|
|
522
|
-
await this.reputationManager.checkReputation(userOperation, entryPoint, validationResult);
|
|
523
|
-
await this.mempool.checkEntityMultipleRoleViolation(userOperation);
|
|
524
|
-
const [success, errorReason] = this.mempool.add(op, entryPoint, validationResult.referencedContracts);
|
|
525
|
-
if (!success) {
|
|
526
|
-
this.eventManager.emitFailedValidation(opHash, errorReason, getAAError(errorReason));
|
|
527
|
-
throw new RpcError(errorReason, ValidationErrors.InvalidFields);
|
|
528
|
-
}
|
|
529
|
-
return "added";
|
|
402
|
+
this.nonceQueuer.add(op, entryPoint);
|
|
403
|
+
return "queued";
|
|
404
|
+
}
|
|
405
|
+
if (this.config.dangerousSkipUserOperationValidation) {
|
|
406
|
+
const [success, errorReason] = this.mempool.add(op, entryPoint);
|
|
407
|
+
if (!success) {
|
|
408
|
+
this.eventManager.emitFailedValidation(opHash, errorReason, getAAError(errorReason));
|
|
409
|
+
throw new RpcError(errorReason, ValidationErrors.InvalidFields);
|
|
530
410
|
}
|
|
411
|
+
return "added";
|
|
412
|
+
}
|
|
413
|
+
if (apiVersion !== "v1") {
|
|
414
|
+
await this.validator.validatePreVerificationGas({
|
|
415
|
+
userOperation,
|
|
416
|
+
entryPoint
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
let authorizationList;
|
|
420
|
+
if (is7702Type(op)) {
|
|
421
|
+
authorizationList = [op.authorization];
|
|
531
422
|
}
|
|
532
|
-
this.
|
|
533
|
-
|
|
423
|
+
const validationResult = await this.validator.validateUserOperation({
|
|
424
|
+
shouldCheckPrefund: apiVersion !== "v1",
|
|
425
|
+
userOperation,
|
|
426
|
+
queuedUserOperations,
|
|
427
|
+
entryPoint,
|
|
428
|
+
authorizationList
|
|
429
|
+
});
|
|
430
|
+
await this.reputationManager.checkReputation(userOperation, entryPoint, validationResult);
|
|
431
|
+
await this.mempool.checkEntityMultipleRoleViolation(userOperation);
|
|
432
|
+
const [success, errorReason] = this.mempool.add(op, entryPoint, validationResult.referencedContracts);
|
|
433
|
+
if (!success) {
|
|
434
|
+
this.eventManager.emitFailedValidation(opHash, errorReason, getAAError(errorReason));
|
|
435
|
+
throw new RpcError(errorReason, ValidationErrors.InvalidFields);
|
|
436
|
+
}
|
|
437
|
+
return "added";
|
|
438
|
+
}
|
|
439
|
+
async pimlico_experimental_estimateUserOperationGas7702(apiVersion, userOperation, entryPoint, authorization, stateOverrides) {
|
|
440
|
+
if (!this.config.enableExperimental7702Endpoints) {
|
|
441
|
+
throw new RpcError("pimlico_experimental_estimateUserOperationGas7702 endpoint is not enabled", ValidationErrors.InvalidFields);
|
|
442
|
+
}
|
|
443
|
+
return await this.doEstimateGas({
|
|
444
|
+
apiVersion,
|
|
445
|
+
userOperation,
|
|
446
|
+
authorization,
|
|
447
|
+
entryPoint,
|
|
448
|
+
stateOverrides
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
async pimlico_experimental_sendUserOperation7702(apiVersion, userOperation, entryPoint, authorizationSignature) {
|
|
452
|
+
if (!this.config.enableExperimental7702Endpoints) {
|
|
453
|
+
throw new RpcError("pimlico_experimental_sendUserOperation7702 endpoint is not enabled", ValidationErrors.InvalidFields);
|
|
454
|
+
}
|
|
455
|
+
this.ensureEntryPointIsSupported(entryPoint);
|
|
456
|
+
try {
|
|
457
|
+
await this.addToMempoolIfValid({
|
|
458
|
+
userOperation,
|
|
459
|
+
authorization: authorizationSignature
|
|
460
|
+
}, entryPoint, apiVersion);
|
|
461
|
+
}
|
|
462
|
+
catch (e) {
|
|
463
|
+
this.logger.error(e);
|
|
464
|
+
}
|
|
465
|
+
return getUserOperationHash(userOperation, entryPoint, this.config.publicClient.chain.id);
|
|
534
466
|
}
|
|
535
467
|
async pimlico_sendUserOperationNow(apiVersion, userOperation, entryPoint) {
|
|
536
468
|
if (!this.config.enableInstantBundlingEndpoint) {
|
|
@@ -647,5 +579,148 @@ export class RpcHandler {
|
|
|
647
579
|
const [_, currentNonceValue] = getNonceKeyAndValue(getNonceResult);
|
|
648
580
|
return currentNonceValue;
|
|
649
581
|
}
|
|
582
|
+
async doEstimateGas({ apiVersion, userOperation, entryPoint, stateOverrides, authorization }) {
|
|
583
|
+
this.ensureEntryPointIsSupported(entryPoint);
|
|
584
|
+
if (userOperation.maxFeePerGas === 0n) {
|
|
585
|
+
throw new RpcError("user operation max fee per gas must be larger than 0 during gas estimation");
|
|
586
|
+
}
|
|
587
|
+
// Check if the nonce is valid
|
|
588
|
+
// If the nonce is less than the current nonce, the user operation has already been executed
|
|
589
|
+
// If the nonce is greater than the current nonce, we may have missing user operations in the mempool
|
|
590
|
+
const currentNonceValue = await this.getNonceValue(userOperation, entryPoint);
|
|
591
|
+
const [, userOperationNonceValue] = getNonceKeyAndValue(userOperation.nonce);
|
|
592
|
+
let queuedUserOperations = [];
|
|
593
|
+
if (userOperationNonceValue < currentNonceValue) {
|
|
594
|
+
throw new RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", ValidationErrors.InvalidFields);
|
|
595
|
+
}
|
|
596
|
+
if (userOperationNonceValue > currentNonceValue) {
|
|
597
|
+
// Nonce queues are supported only for v7 user operations
|
|
598
|
+
if (isVersion06(userOperation)) {
|
|
599
|
+
throw new RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", ValidationErrors.InvalidFields);
|
|
600
|
+
}
|
|
601
|
+
queuedUserOperations = await this.mempool.getQueuedUserOperations(userOperation, entryPoint, currentNonceValue);
|
|
602
|
+
if (userOperationNonceValue >
|
|
603
|
+
currentNonceValue + BigInt(queuedUserOperations.length)) {
|
|
604
|
+
throw new RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", ValidationErrors.InvalidFields);
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
// Prepare userOperation for simulation
|
|
608
|
+
const { simulationVerificationGasLimit, simulationCallGasLimit, simulationPaymasterVerificationGasLimit, simulationPaymasterPostOpGasLimit } = this.config;
|
|
609
|
+
const simulationUserOperation = {
|
|
610
|
+
...userOperation,
|
|
611
|
+
preVerificationGas: 0n,
|
|
612
|
+
verificationGasLimit: simulationVerificationGasLimit,
|
|
613
|
+
callGasLimit: simulationCallGasLimit
|
|
614
|
+
};
|
|
615
|
+
if (isVersion07(simulationUserOperation)) {
|
|
616
|
+
simulationUserOperation.paymasterVerificationGasLimit =
|
|
617
|
+
simulationPaymasterVerificationGasLimit;
|
|
618
|
+
simulationUserOperation.paymasterPostOpGasLimit =
|
|
619
|
+
simulationPaymasterPostOpGasLimit;
|
|
620
|
+
}
|
|
621
|
+
// This is necessary because entryPoint pays
|
|
622
|
+
// min(maxFeePerGas, baseFee + maxPriorityFeePerGas) for the verification
|
|
623
|
+
// Since we don't want our estimations to depend upon baseFee, we set
|
|
624
|
+
// maxFeePerGas to maxPriorityFeePerGas
|
|
625
|
+
simulationUserOperation.maxPriorityFeePerGas =
|
|
626
|
+
simulationUserOperation.maxFeePerGas;
|
|
627
|
+
const executionResult = await this.validator.getExecutionResult({
|
|
628
|
+
userOperation: simulationUserOperation,
|
|
629
|
+
entryPoint,
|
|
630
|
+
queuedUserOperations,
|
|
631
|
+
addSenderBalanceOverride: true,
|
|
632
|
+
stateOverrides: deepHexlify(stateOverrides),
|
|
633
|
+
authorizationList: authorization ? [authorization] : undefined
|
|
634
|
+
});
|
|
635
|
+
let { verificationGasLimit, callGasLimit, paymasterVerificationGasLimit } = calcVerificationGasAndCallGasLimit(simulationUserOperation, executionResult.data.executionResult, this.config.publicClient.chain.id, executionResult.data);
|
|
636
|
+
let paymasterPostOpGasLimit = 0n;
|
|
637
|
+
const multiplier = Number(this.config.paymasterGasLimitMultiplier);
|
|
638
|
+
if (!paymasterVerificationGasLimit &&
|
|
639
|
+
isVersion07(simulationUserOperation) &&
|
|
640
|
+
simulationUserOperation.paymaster !== null &&
|
|
641
|
+
"paymasterVerificationGasLimit" in
|
|
642
|
+
executionResult.data.executionResult) {
|
|
643
|
+
paymasterVerificationGasLimit =
|
|
644
|
+
executionResult.data.executionResult
|
|
645
|
+
.paymasterVerificationGasLimit || 1n;
|
|
646
|
+
paymasterVerificationGasLimit = scaleBigIntByPercent(paymasterVerificationGasLimit, multiplier);
|
|
647
|
+
}
|
|
648
|
+
if (isVersion07(simulationUserOperation) &&
|
|
649
|
+
simulationUserOperation.paymaster !== null &&
|
|
650
|
+
"paymasterPostOpGasLimit" in executionResult.data.executionResult) {
|
|
651
|
+
paymasterPostOpGasLimit =
|
|
652
|
+
executionResult.data.executionResult.paymasterPostOpGasLimit ||
|
|
653
|
+
1n;
|
|
654
|
+
paymasterPostOpGasLimit = scaleBigIntByPercent(paymasterPostOpGasLimit, multiplier);
|
|
655
|
+
}
|
|
656
|
+
if (this.config.publicClient.chain.id === base.id ||
|
|
657
|
+
this.config.publicClient.chain.id === baseSepolia.id) {
|
|
658
|
+
callGasLimit += 10000n;
|
|
659
|
+
}
|
|
660
|
+
if (this.config.publicClient.chain.id === base.id ||
|
|
661
|
+
this.config.publicClient.chain.id === optimism.id) {
|
|
662
|
+
callGasLimit = maxBigInt(callGasLimit, 120000n);
|
|
663
|
+
}
|
|
664
|
+
if (simulationUserOperation.callData === "0x") {
|
|
665
|
+
callGasLimit = 0n;
|
|
666
|
+
}
|
|
667
|
+
if (isVersion06(simulationUserOperation)) {
|
|
668
|
+
callGasLimit = scaleBigIntByPercent(callGasLimit, Number(this.config.callGasLimitMultiplier));
|
|
669
|
+
}
|
|
670
|
+
let preVerificationGas = await calcPreVerificationGas({
|
|
671
|
+
config: this.config,
|
|
672
|
+
userOperation: {
|
|
673
|
+
...userOperation,
|
|
674
|
+
callGasLimit, // use actual callGasLimit
|
|
675
|
+
verificationGasLimit, // use actual verificationGasLimit
|
|
676
|
+
paymasterPostOpGasLimit, // use actual paymasterPostOpGasLimit
|
|
677
|
+
paymasterVerificationGasLimit // use actual paymasterVerificationGasLimit
|
|
678
|
+
},
|
|
679
|
+
entryPoint,
|
|
680
|
+
gasPriceManager: this.gasPriceManager,
|
|
681
|
+
validate: false
|
|
682
|
+
});
|
|
683
|
+
preVerificationGas = scaleBigIntByPercent(preVerificationGas, 110);
|
|
684
|
+
// Check if userOperation passes without estimation balance overrides
|
|
685
|
+
if (isVersion06(simulationUserOperation)) {
|
|
686
|
+
await this.validator.getExecutionResult({
|
|
687
|
+
userOperation: {
|
|
688
|
+
...simulationUserOperation,
|
|
689
|
+
preVerificationGas,
|
|
690
|
+
verificationGasLimit,
|
|
691
|
+
callGasLimit,
|
|
692
|
+
paymasterVerificationGasLimit,
|
|
693
|
+
paymasterPostOpGasLimit
|
|
694
|
+
},
|
|
695
|
+
entryPoint,
|
|
696
|
+
queuedUserOperations,
|
|
697
|
+
addSenderBalanceOverride: false,
|
|
698
|
+
stateOverrides: deepHexlify(stateOverrides),
|
|
699
|
+
authorizationList: authorization ? [authorization] : undefined
|
|
700
|
+
});
|
|
701
|
+
}
|
|
702
|
+
if (isVersion07(simulationUserOperation)) {
|
|
703
|
+
return {
|
|
704
|
+
preVerificationGas,
|
|
705
|
+
verificationGasLimit,
|
|
706
|
+
callGasLimit,
|
|
707
|
+
paymasterVerificationGasLimit,
|
|
708
|
+
paymasterPostOpGasLimit
|
|
709
|
+
};
|
|
710
|
+
}
|
|
711
|
+
if (apiVersion === "v2") {
|
|
712
|
+
return {
|
|
713
|
+
preVerificationGas,
|
|
714
|
+
verificationGasLimit,
|
|
715
|
+
callGasLimit
|
|
716
|
+
};
|
|
717
|
+
}
|
|
718
|
+
return {
|
|
719
|
+
preVerificationGas,
|
|
720
|
+
verificationGas: verificationGasLimit,
|
|
721
|
+
verificationGasLimit,
|
|
722
|
+
callGasLimit
|
|
723
|
+
};
|
|
724
|
+
}
|
|
650
725
|
}
|
|
651
726
|
//# sourceMappingURL=rpcHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../../rpc/rpcHandler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../../rpc/rpcHandler.ts"],"names":[],"mappings":"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"}
|