@pimlico/alto 0.0.0-staging.20240606T100452 → 0.0.0-staging.20240606T101741
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/lib/cli/alto.js +59 -28
- package/lib/cli/alto.js.map +1 -1
- package/lib/cli/config/bundler.js +76 -73
- package/lib/cli/config/bundler.js.map +1 -1
- package/lib/cli/config/index.js +18 -2
- package/lib/cli/config/index.js.map +1 -1
- package/lib/cli/config/options.js +13 -10
- package/lib/cli/config/options.js.map +1 -1
- package/lib/cli/customTransport.js +11 -7
- package/lib/cli/customTransport.js.map +1 -1
- package/lib/cli/handler.js +28 -24
- package/lib/cli/handler.js.map +1 -1
- package/lib/cli/index.d.ts +1 -0
- package/lib/cli/index.js +19 -2
- package/lib/cli/index.js.map +1 -1
- package/lib/cli/instrumentation.js +22 -20
- package/lib/cli/instrumentation.js.map +1 -1
- package/lib/cli/setupServer.js +21 -17
- package/lib/cli/setupServer.js.map +1 -1
- package/lib/cli/util.js +5 -1
- package/lib/cli/util.js.map +1 -1
- package/lib/executor/executor.js +84 -56
- package/lib/executor/executor.js.map +1 -1
- package/lib/executor/executorManager.js +11 -7
- package/lib/executor/executorManager.js.map +1 -1
- package/lib/executor/index.js +20 -4
- package/lib/executor/index.js.map +1 -1
- package/lib/executor/senderManager.js +12 -8
- package/lib/executor/senderManager.js.map +1 -1
- package/lib/executor/test/utils.js +28 -22
- package/lib/executor/test/utils.js.map +1 -1
- package/lib/executor/utils.js +61 -31
- package/lib/executor/utils.js.map +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/mempool/index.js +20 -4
- package/lib/mempool/index.js.map +1 -1
- package/lib/mempool/mempool.js +59 -55
- package/lib/mempool/mempool.js.map +1 -1
- package/lib/mempool/monitoring.js +5 -1
- package/lib/mempool/monitoring.js.map +1 -1
- package/lib/mempool/nullMempool.js +5 -1
- package/lib/mempool/nullMempool.js.map +1 -1
- package/lib/mempool/reputationManager.js +49 -44
- package/lib/mempool/reputationManager.js.map +1 -1
- package/lib/mempool/store.js +5 -1
- package/lib/mempool/store.js.map +1 -1
- package/lib/rpc/EntryPointSimulationsV07.js +50 -44
- package/lib/rpc/EntryPointSimulationsV07.js.map +1 -1
- package/lib/rpc/ExecuteSimulator.js +5 -2
- package/lib/rpc/ExecuteSimulator.js.map +1 -1
- package/lib/rpc/gasEstimation.js +69 -62
- package/lib/rpc/gasEstimation.js.map +1 -1
- package/lib/rpc/index.js +20 -4
- package/lib/rpc/index.js.map +1 -1
- package/lib/rpc/nonceQueuer.js +20 -16
- package/lib/rpc/nonceQueuer.js.map +1 -1
- package/lib/rpc/rpcHandler.js +103 -76
- package/lib/rpc/rpcHandler.js.map +1 -1
- package/lib/rpc/server.js +56 -26
- package/lib/rpc/server.js.map +1 -1
- package/lib/rpc/validation/BundlerCollectorTracerV06.js +5 -1
- package/lib/rpc/validation/BundlerCollectorTracerV06.js.map +1 -1
- package/lib/rpc/validation/BundlerCollectorTracerV07.js +5 -1
- package/lib/rpc/validation/BundlerCollectorTracerV07.js.map +1 -1
- package/lib/rpc/validation/SafeValidator.js +69 -65
- package/lib/rpc/validation/SafeValidator.js.map +1 -1
- package/lib/rpc/validation/TracerResultParserV06.js +30 -26
- package/lib/rpc/validation/TracerResultParserV06.js.map +1 -1
- package/lib/rpc/validation/TracerResultParserV07.js +36 -29
- package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
- package/lib/rpc/validation/UnsafeValidator.js +73 -46
- package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
- package/lib/rpc/validation/index.js +18 -2
- package/lib/rpc/validation/index.js.map +1 -1
- package/lib/rpc/validation/tracer.js +37 -7
- package/lib/rpc/validation/tracer.js.map +1 -1
- package/lib/types/contracts/BundleBulker.js +4 -1
- package/lib/types/contracts/BundleBulker.js.map +1 -1
- package/lib/types/contracts/CallEngine.js +4 -1
- package/lib/types/contracts/CallEngine.js.map +1 -1
- package/lib/types/contracts/CodeHashGetter.js +5 -2
- package/lib/types/contracts/CodeHashGetter.js.map +1 -1
- package/lib/types/contracts/EntryPoint.js +7 -4
- package/lib/types/contracts/EntryPoint.js.map +1 -1
- package/lib/types/contracts/EntryPointSimulations.js +6 -3
- package/lib/types/contracts/EntryPointSimulations.js.map +1 -1
- package/lib/types/contracts/IOpInflator.js +4 -1
- package/lib/types/contracts/IOpInflator.js.map +1 -1
- package/lib/types/contracts/IPaymaster.js +4 -1
- package/lib/types/contracts/IPaymaster.js.map +1 -1
- package/lib/types/contracts/Inflator.js +4 -1
- package/lib/types/contracts/Inflator.js.map +1 -1
- package/lib/types/contracts/PerOpInflator.js +4 -1
- package/lib/types/contracts/PerOpInflator.js.map +1 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.js +5 -2
- package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/lib/types/contracts/SenderCreator.js +5 -2
- package/lib/types/contracts/SenderCreator.js.map +1 -1
- package/lib/types/contracts/SimpleAccountFactory.js +5 -2
- package/lib/types/contracts/SimpleAccountFactory.js.map +1 -1
- package/lib/types/contracts/TestOpcodesAccount.js +5 -2
- package/lib/types/contracts/TestOpcodesAccount.js.map +1 -1
- package/lib/types/contracts/TestOpcodesAccountFactory.js +5 -2
- package/lib/types/contracts/TestOpcodesAccountFactory.js.map +1 -1
- package/lib/types/contracts/TestStorageAccount.js +5 -2
- package/lib/types/contracts/TestStorageAccount.js.map +1 -1
- package/lib/types/contracts/index.js +32 -16
- package/lib/types/contracts/index.js.map +1 -1
- package/lib/types/gasPrice.js +17 -14
- package/lib/types/gasPrice.js.map +1 -1
- package/lib/types/index.js +26 -10
- package/lib/types/index.js.map +1 -1
- package/lib/types/interfaces.js +2 -1
- package/lib/types/mempool.js +10 -5
- package/lib/types/mempool.js.map +1 -1
- package/lib/types/schemas.js +284 -254
- package/lib/types/schemas.js.map +1 -1
- package/lib/types/test/validationTestErrors.js +5 -2
- package/lib/types/test/validationTestErrors.js.map +1 -1
- package/lib/types/utils.js +9 -5
- package/lib/types/utils.js.map +1 -1
- package/lib/types/validation.js +142 -139
- package/lib/types/validation.js.map +1 -1
- package/lib/utils/bigInt.js +7 -2
- package/lib/utils/bigInt.js.map +1 -1
- package/lib/utils/compressionHandler.js +11 -7
- package/lib/utils/compressionHandler.js.map +1 -1
- package/lib/utils/gasPriceManager.js +57 -30
- package/lib/utils/gasPriceManager.js.map +1 -1
- package/lib/utils/helpers.js +10 -5
- package/lib/utils/helpers.js.map +1 -1
- package/lib/utils/index.js +25 -9
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/logger.js +19 -10
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/metrics.js +24 -20
- package/lib/utils/metrics.js.map +1 -1
- package/lib/utils/rpc-reply.js +3 -1
- package/lib/utils/rpc-reply.js.map +1 -1
- package/lib/utils/test.js +67 -36
- package/lib/utils/test.js.map +1 -1
- package/lib/utils/userop.js +107 -62
- package/lib/utils/userop.js.map +1 -1
- package/lib/utils/validation.js +99 -64
- package/lib/utils/validation.js.map +1 -1
- package/package.json +1 -4
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SafeValidator = void 0;
|
|
4
|
+
const types_1 = require("../../types/index.js");
|
|
5
|
+
const utils_1 = require("../../utils/index.js");
|
|
6
|
+
const viem_1 = require("viem");
|
|
7
|
+
const EntryPointSimulationsV07_1 = require("../EntryPointSimulationsV07.js");
|
|
8
|
+
const BundlerCollectorTracerV06_1 = require("./BundlerCollectorTracerV06.js");
|
|
9
|
+
const TracerResultParserV06_1 = require("./TracerResultParserV06.js");
|
|
10
|
+
const TracerResultParserV07_1 = require("./TracerResultParserV07.js");
|
|
11
|
+
const UnsafeValidator_1 = require("./UnsafeValidator.js");
|
|
12
|
+
const tracer_1 = require("./tracer.js");
|
|
13
|
+
class SafeValidator extends UnsafeValidator_1.UnsafeValidator {
|
|
11
14
|
senderManager;
|
|
12
15
|
constructor(publicClient, senderManager, logger, metrics, gasPriceManager, chainType, entryPointSimulationsAddress, fixedGasLimitForEstimation, usingTenderly = false, balanceOverrideEnabled = false) {
|
|
13
16
|
super(publicClient, logger, metrics, gasPriceManager, chainType, entryPointSimulationsAddress, fixedGasLimitForEstimation, usingTenderly, balanceOverrideEnabled);
|
|
@@ -18,16 +21,16 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
18
21
|
const validationResult = await this.getValidationResult(userOperation, queuedUserOperations, entryPoint, referencedContracts);
|
|
19
22
|
if (shouldCheckPrefund) {
|
|
20
23
|
const prefund = validationResult.returnInfo.prefund;
|
|
21
|
-
const { verificationGasLimit, callGasLimit } = calcVerificationGasAndCallGasLimit(userOperation, {
|
|
24
|
+
const { verificationGasLimit, callGasLimit } = (0, utils_1.calcVerificationGasAndCallGasLimit)(userOperation, {
|
|
22
25
|
preOpGas: validationResult.returnInfo.preOpGas,
|
|
23
26
|
paid: validationResult.returnInfo.prefund
|
|
24
27
|
}, this.chainId);
|
|
25
28
|
let mul = 1n;
|
|
26
|
-
if (isVersion06(userOperation) &&
|
|
29
|
+
if ((0, utils_1.isVersion06)(userOperation) &&
|
|
27
30
|
userOperation.paymasterAndData) {
|
|
28
31
|
mul = 3n;
|
|
29
32
|
}
|
|
30
|
-
if (isVersion07(userOperation) &&
|
|
33
|
+
if ((0, utils_1.isVersion07)(userOperation) &&
|
|
31
34
|
userOperation.paymaster === "0x") {
|
|
32
35
|
mul = 3n;
|
|
33
36
|
}
|
|
@@ -35,7 +38,7 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
35
38
|
verificationGasLimit * mul +
|
|
36
39
|
userOperation.preVerificationGas;
|
|
37
40
|
if (requiredPreFund > prefund) {
|
|
38
|
-
throw new RpcError(`prefund is not enough, required: ${requiredPreFund}, got: ${prefund}`, ValidationErrors.SimulateValidation);
|
|
41
|
+
throw new types_1.RpcError(`prefund is not enough, required: ${requiredPreFund}, got: ${prefund}`, types_1.ValidationErrors.SimulateValidation);
|
|
39
42
|
}
|
|
40
43
|
// TODO prefund should be greater than it costs us to add it to mempool
|
|
41
44
|
}
|
|
@@ -48,9 +51,9 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
48
51
|
}
|
|
49
52
|
}
|
|
50
53
|
async getCodeHashes(addresses) {
|
|
51
|
-
const deployData = encodeDeployData({
|
|
52
|
-
abi: CodeHashGetterAbi,
|
|
53
|
-
bytecode: CodeHashGetterBytecode,
|
|
54
|
+
const deployData = (0, viem_1.encodeDeployData)({
|
|
55
|
+
abi: types_1.CodeHashGetterAbi,
|
|
56
|
+
bytecode: types_1.CodeHashGetterBytecode,
|
|
54
57
|
args: [addresses]
|
|
55
58
|
});
|
|
56
59
|
const wallet = await this.senderManager.getWallet();
|
|
@@ -79,30 +82,30 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
79
82
|
if (preCodeHashes && preCodeHashes.addresses.length > 0) {
|
|
80
83
|
const { hash } = await this.getCodeHashes(preCodeHashes.addresses);
|
|
81
84
|
if (hash !== preCodeHashes.hash) {
|
|
82
|
-
throw new RpcError("code hashes mismatch", ValidationErrors.OpcodeValidation);
|
|
85
|
+
throw new types_1.RpcError("code hashes mismatch", types_1.ValidationErrors.OpcodeValidation);
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
88
|
const [res, tracerResult] = await this.getValidationResultWithTracerV07(userOperation, entryPoint);
|
|
86
|
-
const [contractAddresses, storageMap] = tracerResultParserV07(userOperation, tracerResult, res, entryPoint.toLowerCase());
|
|
89
|
+
const [contractAddresses, storageMap] = (0, TracerResultParserV07_1.tracerResultParserV07)(userOperation, tracerResult, res, entryPoint.toLowerCase());
|
|
87
90
|
const codeHashes = preCodeHashes || (await this.getCodeHashes(contractAddresses));
|
|
88
91
|
// biome-ignore lint/suspicious/noExplicitAny: it's a generic type
|
|
89
92
|
if (res === "0x") {
|
|
90
93
|
throw new Error("simulateValidation reverted with no revert string!");
|
|
91
94
|
}
|
|
92
95
|
if (res.returnInfo.accountSigFailed) {
|
|
93
|
-
throw new RpcError("Invalid UserOp signature", ValidationErrors.InvalidSignature);
|
|
96
|
+
throw new types_1.RpcError("Invalid UserOp signature", types_1.ValidationErrors.InvalidSignature);
|
|
94
97
|
}
|
|
95
98
|
if (res.returnInfo.paymasterSigFailed) {
|
|
96
|
-
throw new RpcError("Invalid UserOp paymasterData", ValidationErrors.InvalidSignature);
|
|
99
|
+
throw new types_1.RpcError("Invalid UserOp paymasterData", types_1.ValidationErrors.InvalidSignature);
|
|
97
100
|
}
|
|
98
101
|
const now = Math.floor(Date.now() / 1000);
|
|
99
102
|
if (res.returnInfo.validAfter === undefined ||
|
|
100
103
|
res.returnInfo.validAfter > now - 5) {
|
|
101
|
-
throw new RpcError(`User operation is not valid yet, validAfter=${res.returnInfo.validAfter}, now=${now}`, ValidationErrors.ExpiresShortly);
|
|
104
|
+
throw new types_1.RpcError(`User operation is not valid yet, validAfter=${res.returnInfo.validAfter}, now=${now}`, types_1.ValidationErrors.ExpiresShortly);
|
|
102
105
|
}
|
|
103
106
|
if (res.returnInfo.validUntil === undefined ||
|
|
104
107
|
res.returnInfo.validUntil < now + 30) {
|
|
105
|
-
throw new RpcError(`UserOperation expires too soon, validUntil=${res.returnInfo.validUntil}, now=${now}`, ValidationErrors.ExpiresShortly);
|
|
108
|
+
throw new types_1.RpcError(`UserOperation expires too soon, validUntil=${res.returnInfo.validUntil}, now=${now}`, types_1.ValidationErrors.ExpiresShortly);
|
|
106
109
|
}
|
|
107
110
|
return {
|
|
108
111
|
...res,
|
|
@@ -117,11 +120,11 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
117
120
|
if (preCodeHashes && preCodeHashes.addresses.length > 0) {
|
|
118
121
|
const { hash } = await this.getCodeHashes(preCodeHashes.addresses);
|
|
119
122
|
if (hash !== preCodeHashes.hash) {
|
|
120
|
-
throw new RpcError("code hashes mismatch", ValidationErrors.OpcodeValidation);
|
|
123
|
+
throw new types_1.RpcError("code hashes mismatch", types_1.ValidationErrors.OpcodeValidation);
|
|
121
124
|
}
|
|
122
125
|
}
|
|
123
126
|
const [res, tracerResult] = await this.getValidationResultWithTracerV06(userOperation, entryPoint);
|
|
124
|
-
const [contractAddresses, storageMap] = tracerResultParserV06(userOperation, tracerResult, res, entryPoint.toLowerCase());
|
|
127
|
+
const [contractAddresses, storageMap] = (0, TracerResultParserV06_1.tracerResultParserV06)(userOperation, tracerResult, res, entryPoint.toLowerCase());
|
|
125
128
|
const codeHashes = preCodeHashes || (await this.getCodeHashes(contractAddresses));
|
|
126
129
|
// biome-ignore lint/suspicious/noExplicitAny: it's a generic type
|
|
127
130
|
if (res === "0x") {
|
|
@@ -133,7 +136,7 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
133
136
|
storageMap
|
|
134
137
|
};
|
|
135
138
|
if (validationResult.returnInfo.sigFailed) {
|
|
136
|
-
throw new RpcError("Invalid UserOp signature or paymaster signature", ValidationErrors.InvalidSignature);
|
|
139
|
+
throw new types_1.RpcError("Invalid UserOp signature or paymaster signature", types_1.ValidationErrors.InvalidSignature);
|
|
137
140
|
}
|
|
138
141
|
const now = Date.now() / 1000;
|
|
139
142
|
this.logger.debug({
|
|
@@ -142,24 +145,24 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
142
145
|
now: now
|
|
143
146
|
});
|
|
144
147
|
if (validationResult.returnInfo.validAfter > now - 5) {
|
|
145
|
-
throw new RpcError("User operation is not valid yet", ValidationErrors.ExpiresShortly);
|
|
148
|
+
throw new types_1.RpcError("User operation is not valid yet", types_1.ValidationErrors.ExpiresShortly);
|
|
146
149
|
}
|
|
147
150
|
if (validationResult.returnInfo.validUntil < now + 30) {
|
|
148
|
-
throw new RpcError("expires too soon", ValidationErrors.ExpiresShortly);
|
|
151
|
+
throw new types_1.RpcError("expires too soon", types_1.ValidationErrors.ExpiresShortly);
|
|
149
152
|
}
|
|
150
153
|
return validationResult;
|
|
151
154
|
}
|
|
152
155
|
async getValidationResultWithTracerV06(userOperation, entryPoint) {
|
|
153
|
-
const tracerResult = await debug_traceCall(this.publicClient, {
|
|
154
|
-
from: zeroAddress,
|
|
156
|
+
const tracerResult = await (0, tracer_1.debug_traceCall)(this.publicClient, {
|
|
157
|
+
from: viem_1.zeroAddress,
|
|
155
158
|
to: entryPoint,
|
|
156
|
-
data: encodeFunctionData({
|
|
157
|
-
abi: EntryPointV06Abi,
|
|
159
|
+
data: (0, viem_1.encodeFunctionData)({
|
|
160
|
+
abi: types_1.EntryPointV06Abi,
|
|
158
161
|
functionName: "simulateValidation",
|
|
159
162
|
args: [userOperation]
|
|
160
163
|
})
|
|
161
164
|
}, {
|
|
162
|
-
tracer: bundlerCollectorTracer
|
|
165
|
+
tracer: BundlerCollectorTracerV06_1.bundlerCollectorTracer
|
|
163
166
|
});
|
|
164
167
|
const lastResult = tracerResult.calls.slice(-1)[0];
|
|
165
168
|
if (lastResult.type !== "REVERT") {
|
|
@@ -171,8 +174,8 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
171
174
|
return [data, tracerResult];
|
|
172
175
|
}
|
|
173
176
|
try {
|
|
174
|
-
const { errorName, args: errorArgs } = decodeErrorResult({
|
|
175
|
-
abi: EntryPointV06Abi,
|
|
177
|
+
const { errorName, args: errorArgs } = (0, viem_1.decodeErrorResult)({
|
|
178
|
+
abi: types_1.EntryPointV06Abi,
|
|
176
179
|
data
|
|
177
180
|
});
|
|
178
181
|
const errFullName = `${errorName}(${errorArgs.toString()})`;
|
|
@@ -193,7 +196,7 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
193
196
|
if (e.code != null) {
|
|
194
197
|
throw e;
|
|
195
198
|
}
|
|
196
|
-
throw new RpcError(data);
|
|
199
|
+
throw new types_1.RpcError(data);
|
|
197
200
|
}
|
|
198
201
|
}
|
|
199
202
|
parseErrorResultV06(userOperation,
|
|
@@ -203,15 +206,15 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
203
206
|
// parse it as FailedOp
|
|
204
207
|
// if its FailedOp, then we have the paymaster param... otherwise its an Error(string)
|
|
205
208
|
let paymaster = errorResult.errorArgs.paymaster;
|
|
206
|
-
if (paymaster === zeroAddress) {
|
|
209
|
+
if (paymaster === viem_1.zeroAddress) {
|
|
207
210
|
paymaster = undefined;
|
|
208
211
|
}
|
|
209
212
|
// eslint-disable-next-line
|
|
210
213
|
const msg = errorResult.errorArgs[1] ?? errorResult.toString();
|
|
211
214
|
if (paymaster == null) {
|
|
212
|
-
throw new RpcError(`account validation failed: ${msg}`, ValidationErrors.SimulateValidation);
|
|
215
|
+
throw new types_1.RpcError(`account validation failed: ${msg}`, types_1.ValidationErrors.SimulateValidation);
|
|
213
216
|
}
|
|
214
|
-
throw new RpcError(`paymaster validation failed: ${msg}`, ValidationErrors.SimulatePaymasterValidation, {
|
|
217
|
+
throw new types_1.RpcError(`paymaster validation failed: ${msg}`, types_1.ValidationErrors.SimulatePaymasterValidation, {
|
|
215
218
|
paymaster
|
|
216
219
|
});
|
|
217
220
|
}
|
|
@@ -221,7 +224,7 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
221
224
|
// add it as "addr" member to the "stakeinfo" struct
|
|
222
225
|
// if no address, then return "undefined" instead of struct.
|
|
223
226
|
function fillEntity(data, info) {
|
|
224
|
-
const addr = getAddressFromInitCodeOrPaymasterAndData(data);
|
|
227
|
+
const addr = (0, utils_1.getAddressFromInitCodeOrPaymasterAndData)(data);
|
|
225
228
|
return addr == null
|
|
226
229
|
? undefined
|
|
227
230
|
: {
|
|
@@ -230,7 +233,7 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
230
233
|
};
|
|
231
234
|
}
|
|
232
235
|
function fillEntityAggregator(data, info) {
|
|
233
|
-
const addr = getAddressFromInitCodeOrPaymasterAndData(data);
|
|
236
|
+
const addr = (0, utils_1.getAddressFromInitCodeOrPaymasterAndData)(data);
|
|
234
237
|
return addr == null
|
|
235
238
|
? undefined
|
|
236
239
|
: {
|
|
@@ -253,22 +256,22 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
253
256
|
};
|
|
254
257
|
}
|
|
255
258
|
async getValidationResultWithTracerV07(userOperation, entryPoint) {
|
|
256
|
-
const packedUserOperation = toPackedUserOperation(userOperation);
|
|
257
|
-
const entryPointSimulationsCallData = encodeFunctionData({
|
|
258
|
-
abi: EntryPointV07SimulationsAbi,
|
|
259
|
+
const packedUserOperation = (0, utils_1.toPackedUserOperation)(userOperation);
|
|
260
|
+
const entryPointSimulationsCallData = (0, viem_1.encodeFunctionData)({
|
|
261
|
+
abi: types_1.EntryPointV07SimulationsAbi,
|
|
259
262
|
functionName: "simulateValidation",
|
|
260
263
|
args: [packedUserOperation]
|
|
261
264
|
});
|
|
262
|
-
const callData = encodeDeployData({
|
|
263
|
-
abi: PimlicoEntryPointSimulationsAbi,
|
|
264
|
-
bytecode: PimlicoEntryPointSimulationsBytecode,
|
|
265
|
+
const callData = (0, viem_1.encodeDeployData)({
|
|
266
|
+
abi: types_1.PimlicoEntryPointSimulationsAbi,
|
|
267
|
+
bytecode: types_1.PimlicoEntryPointSimulationsBytecode,
|
|
265
268
|
args: [entryPoint, entryPointSimulationsCallData]
|
|
266
269
|
});
|
|
267
|
-
const tracerResult = await debug_traceCall(this.publicClient, {
|
|
268
|
-
from: zeroAddress,
|
|
270
|
+
const tracerResult = await (0, tracer_1.debug_traceCall)(this.publicClient, {
|
|
271
|
+
from: viem_1.zeroAddress,
|
|
269
272
|
data: callData
|
|
270
273
|
}, {
|
|
271
|
-
tracer: bundlerCollectorTracer
|
|
274
|
+
tracer: BundlerCollectorTracerV06_1.bundlerCollectorTracer
|
|
272
275
|
});
|
|
273
276
|
const lastResult = tracerResult.calls.slice(-1)[0];
|
|
274
277
|
if (lastResult.type !== "REVERT") {
|
|
@@ -280,8 +283,8 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
280
283
|
return [data, tracerResult];
|
|
281
284
|
}
|
|
282
285
|
try {
|
|
283
|
-
const { errorName, args: errorArgs } = decodeErrorResult({
|
|
284
|
-
abi: EntryPointV07Abi,
|
|
286
|
+
const { errorName, args: errorArgs } = (0, viem_1.decodeErrorResult)({
|
|
287
|
+
abi: types_1.EntryPointV07Abi,
|
|
285
288
|
data
|
|
286
289
|
});
|
|
287
290
|
const errorResult = this.parseErrorResultV07(userOperation, {
|
|
@@ -297,7 +300,7 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
297
300
|
if (e.code != null) {
|
|
298
301
|
throw e;
|
|
299
302
|
}
|
|
300
|
-
throw new RpcError(data);
|
|
303
|
+
throw new types_1.RpcError(data);
|
|
301
304
|
}
|
|
302
305
|
}
|
|
303
306
|
parseErrorResultV07(userOperation,
|
|
@@ -305,35 +308,35 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
305
308
|
errorResult) {
|
|
306
309
|
let decodedResult;
|
|
307
310
|
try {
|
|
308
|
-
decodeErrorResult({
|
|
309
|
-
abi: EntryPointV07SimulationsAbi,
|
|
311
|
+
(0, viem_1.decodeErrorResult)({
|
|
312
|
+
abi: types_1.EntryPointV07SimulationsAbi,
|
|
310
313
|
data: errorResult.errorArgs[1]
|
|
311
314
|
});
|
|
312
|
-
const result = decodeErrorResult({
|
|
313
|
-
abi: EntryPointV07SimulationsAbi,
|
|
315
|
+
const result = (0, viem_1.decodeErrorResult)({
|
|
316
|
+
abi: types_1.EntryPointV07SimulationsAbi,
|
|
314
317
|
data: errorResult.errorArgs[1]
|
|
315
318
|
});
|
|
316
319
|
if (result.errorName === "FailedOp") {
|
|
317
320
|
if ((result.args?.[1]).includes("AA24")) {
|
|
318
|
-
throw new RpcError("Invalid UserOp signature", ValidationErrors.InvalidSignature);
|
|
321
|
+
throw new types_1.RpcError("Invalid UserOp signature", types_1.ValidationErrors.InvalidSignature);
|
|
319
322
|
}
|
|
320
323
|
if ((result.args?.[1]).includes("AA34")) {
|
|
321
|
-
throw new RpcError("Invalid UserOp paymasterData", ValidationErrors.InvalidSignature);
|
|
324
|
+
throw new types_1.RpcError("Invalid UserOp paymasterData", types_1.ValidationErrors.InvalidSignature);
|
|
322
325
|
}
|
|
323
|
-
throw new RpcError(`ValidationResult error: ${result.args?.[1]}`, ValidationErrors.SimulateValidation);
|
|
326
|
+
throw new types_1.RpcError(`ValidationResult error: ${result.args?.[1]}`, types_1.ValidationErrors.SimulateValidation);
|
|
324
327
|
}
|
|
325
328
|
if (result.errorName === "FailedOpWithRevert") {
|
|
326
329
|
const data = result.args?.[2];
|
|
327
|
-
const error = parseFailedOpWithRevert(data);
|
|
328
|
-
throw new RpcError(`ValidationResult error: ${result.args?.[1]} with revert error as: Panic(${error})`, ValidationErrors.SimulateValidation);
|
|
330
|
+
const error = (0, EntryPointSimulationsV07_1.parseFailedOpWithRevert)(data);
|
|
331
|
+
throw new types_1.RpcError(`ValidationResult error: ${result.args?.[1]} with revert error as: Panic(${error})`, types_1.ValidationErrors.SimulateValidation);
|
|
329
332
|
}
|
|
330
|
-
throw new RpcError(`ValidationResult error: ${result.errorName}`, ValidationErrors.SimulateValidation);
|
|
333
|
+
throw new types_1.RpcError(`ValidationResult error: ${result.errorName}`, types_1.ValidationErrors.SimulateValidation);
|
|
331
334
|
}
|
|
332
335
|
catch (e) {
|
|
333
|
-
if (e instanceof RpcError) {
|
|
336
|
+
if (e instanceof types_1.RpcError) {
|
|
334
337
|
throw e;
|
|
335
338
|
}
|
|
336
|
-
decodedResult = decodeAbiParameters([
|
|
339
|
+
decodedResult = (0, viem_1.decodeAbiParameters)([
|
|
337
340
|
{
|
|
338
341
|
components: [
|
|
339
342
|
{
|
|
@@ -484,4 +487,5 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
484
487
|
};
|
|
485
488
|
}
|
|
486
489
|
}
|
|
490
|
+
exports.SafeValidator = SafeValidator;
|
|
487
491
|
//# sourceMappingURL=SafeValidator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SafeValidator.js","sourceRoot":"","sources":["../../../rpc/validation/SafeValidator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SafeValidator.js","sourceRoot":"","sources":["../../../rpc/validation/SafeValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tracerResultParserV06 = void 0;
|
|
4
|
+
const types_1 = require("../../types/index.js");
|
|
2
5
|
// This file contains references to validation rules, in the format [xxx-###]
|
|
3
6
|
// where xxx is OP/STO/COD/EP/SREP/EREP/UREP/ALT, and ### is a number
|
|
4
7
|
// the validation rules are defined in erc-aa-validation.md
|
|
5
|
-
|
|
6
|
-
const abi = [...SenderCreatorAbi, ...EntryPointV06Abi, ...PaymasterAbi];
|
|
8
|
+
const viem_1 = require("viem");
|
|
9
|
+
const abi = [...types_1.SenderCreatorAbi, ...types_1.EntryPointV06Abi, ...types_1.PaymasterAbi];
|
|
7
10
|
// biome-ignore lint/suspicious/noExplicitAny: it's a generic type
|
|
8
11
|
const functionSignatureToMethodName = (hash) => {
|
|
9
12
|
let functionName = undefined;
|
|
10
13
|
for (const item of abi) {
|
|
11
|
-
const signature = getFunctionSelector(item);
|
|
14
|
+
const signature = (0, viem_1.getFunctionSelector)(item);
|
|
12
15
|
if (signature === hash) {
|
|
13
16
|
functionName = item.name;
|
|
14
17
|
}
|
|
@@ -58,7 +61,7 @@ function parseCallStack(tracerResults) {
|
|
|
58
61
|
else {
|
|
59
62
|
const method = callCatch(() => functionSignatureToMethodName(top.method), top.method);
|
|
60
63
|
if (c.type === "REVERT") {
|
|
61
|
-
const parsedError = callCatch(() => decodeErrorResult({ abi: abi, data: returnData }), returnData);
|
|
64
|
+
const parsedError = callCatch(() => (0, viem_1.decodeErrorResult)({ abi: abi, data: returnData }), returnData);
|
|
62
65
|
out.push({
|
|
63
66
|
to: top.to,
|
|
64
67
|
from: top.from,
|
|
@@ -69,7 +72,7 @@ function parseCallStack(tracerResults) {
|
|
|
69
72
|
});
|
|
70
73
|
}
|
|
71
74
|
else {
|
|
72
|
-
const ret = callCatch(() => decodeFunctionResult({
|
|
75
|
+
const ret = callCatch(() => (0, viem_1.decodeFunctionResult)({
|
|
73
76
|
abi: abi,
|
|
74
77
|
functionName: method,
|
|
75
78
|
data: returnData
|
|
@@ -111,14 +114,14 @@ function parseEntitySlots(stakeInfoEntities, keccak) {
|
|
|
111
114
|
if (!addr) {
|
|
112
115
|
continue;
|
|
113
116
|
}
|
|
114
|
-
const addrPadded = pad(addr).toLowerCase();
|
|
117
|
+
const addrPadded = (0, viem_1.pad)(addr).toLowerCase();
|
|
115
118
|
if (!entitySlots[addr]) {
|
|
116
119
|
entitySlots[addr] = new Set();
|
|
117
120
|
}
|
|
118
121
|
const currentEntitySlots = entitySlots[addr];
|
|
119
122
|
// valid slot: the slot was generated by keccak(entityAddr || ...)
|
|
120
123
|
if (k.startsWith(addrPadded)) {
|
|
121
|
-
currentEntitySlots.add(keccak256(k));
|
|
124
|
+
currentEntitySlots.add((0, viem_1.keccak256)(k));
|
|
122
125
|
}
|
|
123
126
|
// disabled 2nd rule: .. or by keccak( ... || OWN) where OWN is previous allowed slot
|
|
124
127
|
// if (k.length === 130 && currentEntitySlots.has(k.slice(-64))) {
|
|
@@ -130,7 +133,7 @@ function parseEntitySlots(stakeInfoEntities, keccak) {
|
|
|
130
133
|
}
|
|
131
134
|
// method-signature for calls from entryPoint
|
|
132
135
|
const callsFromEntryPointMethodSigs = {
|
|
133
|
-
factory: getFunctionSelector({
|
|
136
|
+
factory: (0, viem_1.getFunctionSelector)({
|
|
134
137
|
inputs: [
|
|
135
138
|
{
|
|
136
139
|
internalType: "bytes",
|
|
@@ -149,7 +152,7 @@ const callsFromEntryPointMethodSigs = {
|
|
|
149
152
|
stateMutability: "nonpayable",
|
|
150
153
|
type: "function"
|
|
151
154
|
}),
|
|
152
|
-
account: getFunctionSelector({
|
|
155
|
+
account: (0, viem_1.getFunctionSelector)({
|
|
153
156
|
inputs: [
|
|
154
157
|
{
|
|
155
158
|
components: [
|
|
@@ -235,7 +238,7 @@ const callsFromEntryPointMethodSigs = {
|
|
|
235
238
|
stateMutability: "nonpayable",
|
|
236
239
|
type: "function"
|
|
237
240
|
}),
|
|
238
|
-
paymaster: getFunctionSelector({
|
|
241
|
+
paymaster: (0, viem_1.getFunctionSelector)({
|
|
239
242
|
inputs: [
|
|
240
243
|
{
|
|
241
244
|
components: [
|
|
@@ -335,7 +338,7 @@ const callsFromEntryPointMethodSigs = {
|
|
|
335
338
|
* @param entryPoint the entryPoint that hosted the "simulatedValidation" traced call.
|
|
336
339
|
* @return list of contract addresses referenced by this UserOp
|
|
337
340
|
*/
|
|
338
|
-
|
|
341
|
+
function tracerResultParserV06(userOperation, tracerResults, validationResult, entryPointAddress) {
|
|
339
342
|
// todo: block access to no-code addresses (might need update to tracer)
|
|
340
343
|
// opcodes from [OP-011]
|
|
341
344
|
const bannedOpCodes = new Set([
|
|
@@ -369,13 +372,13 @@ export function tracerResultParserV06(userOperation, tracerResults, validationRe
|
|
|
369
372
|
call.method !== "depositTo");
|
|
370
373
|
// [OP-054]
|
|
371
374
|
if (callInfoEntryPoint) {
|
|
372
|
-
throw new RpcError(`illegal call into EntryPoint during validation ${callInfoEntryPoint?.method}`, ValidationErrors.OpcodeValidation);
|
|
375
|
+
throw new types_1.RpcError(`illegal call into EntryPoint during validation ${callInfoEntryPoint?.method}`, types_1.ValidationErrors.OpcodeValidation);
|
|
373
376
|
}
|
|
374
377
|
// [OP-061]
|
|
375
378
|
const illegalNonZeroValueCall = callStack.find((call) => call.to !== entryPointAddress &&
|
|
376
|
-
hexToBigInt(call.value ?? "0x0") !== 0n);
|
|
379
|
+
(0, viem_1.hexToBigInt)(call.value ?? "0x0") !== 0n);
|
|
377
380
|
if (illegalNonZeroValueCall) {
|
|
378
|
-
throw new RpcError("May not may CALL with value", ValidationErrors.OpcodeValidation);
|
|
381
|
+
throw new types_1.RpcError("May not may CALL with value", types_1.ValidationErrors.OpcodeValidation);
|
|
379
382
|
}
|
|
380
383
|
const sender = userOperation.sender.toLowerCase();
|
|
381
384
|
// stake info per "number" level (factory, sender, paymaster)
|
|
@@ -402,22 +405,22 @@ export function tracerResultParserV06(userOperation, tracerResults, validationRe
|
|
|
402
405
|
const access = currentNumLevel.access;
|
|
403
406
|
// [OP-020]
|
|
404
407
|
if (currentNumLevel.oog ?? false) {
|
|
405
|
-
throw new RpcError(`${entityTitle} internally reverts on oog`, ValidationErrors.OpcodeValidation);
|
|
408
|
+
throw new types_1.RpcError(`${entityTitle} internally reverts on oog`, types_1.ValidationErrors.OpcodeValidation);
|
|
406
409
|
}
|
|
407
410
|
// opcodes from [OP-011]
|
|
408
411
|
for (const opcode of Object.keys(opcodes)) {
|
|
409
412
|
if (bannedOpCodes.has(opcode)) {
|
|
410
|
-
throw new RpcError(`${entityTitle} uses banned opcode: ${opcode}`, ValidationErrors.OpcodeValidation);
|
|
413
|
+
throw new types_1.RpcError(`${entityTitle} uses banned opcode: ${opcode}`, types_1.ValidationErrors.OpcodeValidation);
|
|
411
414
|
}
|
|
412
415
|
}
|
|
413
416
|
// [OP-031]
|
|
414
417
|
if (entityTitle === "factory") {
|
|
415
418
|
if ((opcodes.CREATE2 ?? 0) > 1) {
|
|
416
|
-
throw new RpcError(`${entityTitle} with too many CREATE2`, ValidationErrors.OpcodeValidation);
|
|
419
|
+
throw new types_1.RpcError(`${entityTitle} with too many CREATE2`, types_1.ValidationErrors.OpcodeValidation);
|
|
417
420
|
}
|
|
418
421
|
}
|
|
419
422
|
else if (opcodes.CREATE2) {
|
|
420
|
-
throw new RpcError(`${entityTitle} uses banned opcode: CREATE2`, ValidationErrors.OpcodeValidation);
|
|
423
|
+
throw new types_1.RpcError(`${entityTitle} uses banned opcode: CREATE2`, types_1.ValidationErrors.OpcodeValidation);
|
|
421
424
|
}
|
|
422
425
|
for (const [addr, { reads, writes }] of Object.entries(access)) {
|
|
423
426
|
// testing read/write access on contract "addr"
|
|
@@ -436,7 +439,7 @@ export function tracerResultParserV06(userOperation, tracerResults, validationRe
|
|
|
436
439
|
// @param addr - the address we try to check for association with
|
|
437
440
|
// @param reverseKeccak - a mapping we built for keccak values that contained the address
|
|
438
441
|
function associatedWith(slot, addr, entitySlots) {
|
|
439
|
-
const addrPadded = pad(addr, {
|
|
442
|
+
const addrPadded = (0, viem_1.pad)(addr, {
|
|
440
443
|
size: 32
|
|
441
444
|
}).toLowerCase();
|
|
442
445
|
if (slot.toLowerCase() === addrPadded) {
|
|
@@ -446,11 +449,11 @@ export function tracerResultParserV06(userOperation, tracerResults, validationRe
|
|
|
446
449
|
if (!k) {
|
|
447
450
|
return false;
|
|
448
451
|
}
|
|
449
|
-
const slotN = hexToBigInt(slot);
|
|
452
|
+
const slotN = (0, viem_1.hexToBigInt)(slot);
|
|
450
453
|
// scan all slot entries to check of the given slot is within a structure, starting at that offset.
|
|
451
454
|
// assume a maximum size on a (static) structure size.
|
|
452
455
|
for (const k1 of k.keys()) {
|
|
453
|
-
const kn = hexToBigInt(k1);
|
|
456
|
+
const kn = (0, viem_1.hexToBigInt)(k1);
|
|
454
457
|
if (slotN >= kn && slotN < kn + 128n) {
|
|
455
458
|
return true;
|
|
456
459
|
}
|
|
@@ -494,7 +497,7 @@ export function tracerResultParserV06(userOperation, tracerResults, validationRe
|
|
|
494
497
|
? "write to"
|
|
495
498
|
: "read from";
|
|
496
499
|
const message = `${entityTitle} has forbidden ${readWrite} ${nameAddr(addr, entityTitle)} slot ${slot}`;
|
|
497
|
-
throw new RpcError(message, ValidationErrors.OpcodeValidation, {
|
|
500
|
+
throw new types_1.RpcError(message, types_1.ValidationErrors.OpcodeValidation, {
|
|
498
501
|
[entityTitle]: entStakes?.addr
|
|
499
502
|
});
|
|
500
503
|
}
|
|
@@ -531,7 +534,7 @@ export function tracerResultParserV06(userOperation, tracerResults, validationRe
|
|
|
531
534
|
throw new Error(`internal: ${entityTitle} not in userOp, but has storage accesses in ${JSON.stringify(access)}`);
|
|
532
535
|
}
|
|
533
536
|
if (!isStaked(entStake)) {
|
|
534
|
-
throw new RpcError(failureMessage, ValidationErrors.OpcodeValidation, {
|
|
537
|
+
throw new types_1.RpcError(failureMessage, types_1.ValidationErrors.OpcodeValidation, {
|
|
535
538
|
[entityTitle]: entStakes?.addr
|
|
536
539
|
});
|
|
537
540
|
}
|
|
@@ -551,7 +554,7 @@ export function tracerResultParserV06(userOperation, tracerResults, validationRe
|
|
|
551
554
|
}
|
|
552
555
|
// [OP-041]
|
|
553
556
|
if (illegalZeroCodeAccess) {
|
|
554
|
-
throw new RpcError(`${entityTitle} accesses un-deployed contract address ${illegalZeroCodeAccess?.address} with opcode ${illegalZeroCodeAccess?.opcode}`, ValidationErrors.OpcodeValidation);
|
|
557
|
+
throw new types_1.RpcError(`${entityTitle} accesses un-deployed contract address ${illegalZeroCodeAccess?.address} with opcode ${illegalZeroCodeAccess?.opcode}`, types_1.ValidationErrors.OpcodeValidation);
|
|
555
558
|
}
|
|
556
559
|
let illegalEntryPointCodeAccess = undefined;
|
|
557
560
|
for (const addr of Object.keys(currentNumLevel.extCodeAccessInfo)) {
|
|
@@ -562,7 +565,7 @@ export function tracerResultParserV06(userOperation, tracerResults, validationRe
|
|
|
562
565
|
}
|
|
563
566
|
}
|
|
564
567
|
if (illegalEntryPointCodeAccess) {
|
|
565
|
-
throw new RpcError(`${entityTitle} accesses EntryPoint contract address ${entryPointAddress} with opcode ${illegalEntryPointCodeAccess}`, ValidationErrors.OpcodeValidation);
|
|
568
|
+
throw new types_1.RpcError(`${entityTitle} accesses EntryPoint contract address ${entryPointAddress} with opcode ${illegalEntryPointCodeAccess}`, types_1.ValidationErrors.OpcodeValidation);
|
|
566
569
|
}
|
|
567
570
|
}
|
|
568
571
|
// return list of contract addresses by this UserOp. already known not to contain zero-sized addresses.
|
|
@@ -575,4 +578,5 @@ export function tracerResultParserV06(userOperation, tracerResults, validationRe
|
|
|
575
578
|
}
|
|
576
579
|
return [addresses, storageMap];
|
|
577
580
|
}
|
|
581
|
+
exports.tracerResultParserV06 = tracerResultParserV06;
|
|
578
582
|
//# sourceMappingURL=TracerResultParserV06.js.map
|