@pimlico/alto 0.0.4 → 0.0.6
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/alto.js +0 -4
- package/esm/cli/alto.js.map +1 -1
- package/esm/cli/config/bundler.d.ts +2296 -22
- package/esm/cli/config/bundler.js +31 -4
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.js +53 -4
- package/esm/cli/config/options.js.map +1 -1
- package/esm/cli/customTransport.js +5 -1
- package/esm/cli/customTransport.js.map +1 -1
- package/esm/cli/handler.js +14 -3
- package/esm/cli/handler.js.map +1 -1
- package/esm/cli/instrumentation.js +2 -2
- package/esm/cli/instrumentation.js.map +1 -1
- package/esm/cli/setupServer.d.ts +2 -1
- package/esm/cli/setupServer.js +51 -27
- package/esm/cli/setupServer.js.map +1 -1
- package/esm/executor/executor.d.ts +7 -14
- package/esm/executor/executor.js +139 -128
- package/esm/executor/executor.js.map +1 -1
- package/esm/executor/executorManager.d.ts +58 -4
- package/esm/executor/executorManager.js +207 -53
- package/esm/executor/executorManager.js.map +1 -1
- package/esm/executor/senderManager.d.ts +2 -1
- package/esm/executor/senderManager.js +3 -0
- package/esm/executor/senderManager.js.map +1 -1
- package/esm/executor/utilityWalletMonitor.d.ts +15 -0
- package/esm/executor/utilityWalletMonitor.js +38 -0
- package/esm/executor/utilityWalletMonitor.js.map +1 -0
- package/esm/executor/utils.d.ts +1 -2
- package/esm/executor/utils.js +49 -38
- package/esm/executor/utils.js.map +1 -1
- package/esm/handlers/compressionHandler.js.map +1 -0
- package/esm/handlers/eventManager.d.ts +21 -0
- package/esm/handlers/eventManager.js +166 -0
- package/esm/handlers/eventManager.js.map +1 -0
- package/{lib/utils → esm/handlers}/gasPriceManager.d.ts +19 -5
- package/esm/{utils → handlers}/gasPriceManager.js +58 -13
- package/esm/handlers/gasPriceManager.js.map +1 -0
- package/esm/handlers/index.d.ts +4 -0
- package/esm/handlers/index.js +4 -0
- package/esm/handlers/index.js.map +1 -0
- package/esm/mempool/index.d.ts +0 -1
- package/esm/mempool/index.js +0 -1
- package/esm/mempool/index.js.map +1 -1
- package/esm/mempool/mempool.d.ts +4 -2
- package/esm/mempool/mempool.js +65 -19
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/rpc/EntryPointSimulationsV07.d.ts +2 -2
- package/esm/rpc/EntryPointSimulationsV07.js +10 -7
- package/esm/rpc/EntryPointSimulationsV07.js.map +1 -1
- package/esm/rpc/gasEstimation.d.ts +3 -3
- package/esm/rpc/gasEstimation.js +22 -17
- package/esm/rpc/gasEstimation.js.map +1 -1
- package/esm/rpc/nonceQueuer.d.ts +4 -1
- package/esm/rpc/nonceQueuer.js +9 -3
- package/esm/rpc/nonceQueuer.js.map +1 -1
- package/esm/rpc/rpcHandler.d.ts +53 -3
- package/esm/rpc/rpcHandler.js +132 -231
- package/esm/rpc/rpcHandler.js.map +1 -1
- package/esm/rpc/server.d.ts +2 -1
- package/esm/rpc/server.js +6 -1
- package/esm/rpc/server.js.map +1 -1
- package/esm/rpc/validation/SafeValidator.d.ts +3 -2
- package/esm/rpc/validation/SafeValidator.js +2 -2
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/rpc/validation/UnsafeValidator.d.ts +5 -2
- package/esm/rpc/validation/UnsafeValidator.js +10 -6
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
- package/esm/rpc/validation/tracer.js +1 -0
- package/esm/rpc/validation/tracer.js.map +1 -1
- package/esm/types/schemas.d.ts +1029 -333
- package/esm/types/schemas.js +94 -20
- package/esm/types/schemas.js.map +1 -1
- package/esm/types/utils.d.ts +1 -1
- package/esm/types/validation.js +7 -2
- package/esm/types/validation.js.map +1 -1
- package/esm/utils/bigInt.d.ts +1 -0
- package/esm/utils/bigInt.js +4 -0
- package/esm/utils/bigInt.js.map +1 -1
- package/esm/utils/helpers.d.ts +1 -0
- package/esm/utils/helpers.js +6 -0
- package/esm/utils/helpers.js.map +1 -1
- package/esm/utils/index.d.ts +0 -3
- package/esm/utils/index.js +0 -3
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/metrics.d.ts +4 -0
- package/esm/utils/metrics.js +29 -1
- package/esm/utils/metrics.js.map +1 -1
- package/esm/utils/rpc-reply.d.ts +1 -1
- package/esm/utils/rpc-reply.js +2 -1
- package/esm/utils/rpc-reply.js.map +1 -1
- package/esm/utils/userop.d.ts +66 -6
- package/esm/utils/userop.js +183 -96
- package/esm/utils/userop.js.map +1 -1
- package/esm/utils/validation.d.ts +1 -1
- package/esm/utils/validation.js +9 -13
- package/esm/utils/validation.js.map +1 -1
- package/lib/cli/alto.js +0 -4
- package/lib/cli/alto.js.map +1 -1
- package/lib/cli/config/bundler.d.ts +2296 -22
- package/lib/cli/config/bundler.js +30 -3
- package/lib/cli/config/bundler.js.map +1 -1
- package/lib/cli/config/options.js +53 -4
- package/lib/cli/config/options.js.map +1 -1
- package/lib/cli/customTransport.js +5 -1
- package/lib/cli/customTransport.js.map +1 -1
- package/lib/cli/handler.js +13 -2
- package/lib/cli/handler.js.map +1 -1
- package/lib/cli/instrumentation.js +2 -2
- package/lib/cli/instrumentation.js.map +1 -1
- package/lib/cli/setupServer.d.ts +2 -1
- package/lib/cli/setupServer.js +52 -28
- package/lib/cli/setupServer.js.map +1 -1
- package/lib/executor/executor.d.ts +7 -14
- package/lib/executor/executor.js +138 -128
- package/lib/executor/executor.js.map +1 -1
- package/lib/executor/executorManager.d.ts +58 -4
- package/lib/executor/executorManager.js +205 -51
- package/lib/executor/executorManager.js.map +1 -1
- package/lib/executor/senderManager.d.ts +2 -1
- package/lib/executor/senderManager.js +3 -0
- package/lib/executor/senderManager.js.map +1 -1
- package/lib/executor/utilityWalletMonitor.d.ts +15 -0
- package/lib/executor/utilityWalletMonitor.js +42 -0
- package/lib/executor/utilityWalletMonitor.js.map +1 -0
- package/lib/executor/utils.d.ts +1 -2
- package/lib/executor/utils.js +48 -37
- package/lib/executor/utils.js.map +1 -1
- package/lib/handlers/compressionHandler.js.map +1 -0
- package/lib/handlers/eventManager.d.ts +21 -0
- package/lib/handlers/eventManager.js +196 -0
- package/lib/handlers/eventManager.js.map +1 -0
- package/{esm/utils → lib/handlers}/gasPriceManager.d.ts +19 -5
- package/lib/{utils → handlers}/gasPriceManager.js +58 -13
- package/lib/handlers/gasPriceManager.js.map +1 -0
- package/lib/handlers/index.d.ts +4 -0
- package/lib/handlers/index.js +20 -0
- package/lib/handlers/index.js.map +1 -0
- package/lib/mempool/index.d.ts +0 -1
- package/lib/mempool/index.js +0 -1
- package/lib/mempool/index.js.map +1 -1
- package/lib/mempool/mempool.d.ts +4 -2
- package/lib/mempool/mempool.js +65 -19
- package/lib/mempool/mempool.js.map +1 -1
- package/lib/rpc/EntryPointSimulationsV07.d.ts +2 -2
- package/lib/rpc/EntryPointSimulationsV07.js +10 -7
- package/lib/rpc/EntryPointSimulationsV07.js.map +1 -1
- package/lib/rpc/gasEstimation.d.ts +3 -3
- package/lib/rpc/gasEstimation.js +22 -17
- package/lib/rpc/gasEstimation.js.map +1 -1
- package/lib/rpc/nonceQueuer.d.ts +4 -1
- package/lib/rpc/nonceQueuer.js +9 -3
- package/lib/rpc/nonceQueuer.js.map +1 -1
- package/lib/rpc/rpcHandler.d.ts +53 -3
- package/lib/rpc/rpcHandler.js +129 -251
- package/lib/rpc/rpcHandler.js.map +1 -1
- package/lib/rpc/server.d.ts +2 -1
- package/lib/rpc/server.js +6 -1
- package/lib/rpc/server.js.map +1 -1
- package/lib/rpc/validation/SafeValidator.d.ts +3 -2
- package/lib/rpc/validation/SafeValidator.js +2 -2
- package/lib/rpc/validation/SafeValidator.js.map +1 -1
- package/lib/rpc/validation/UnsafeValidator.d.ts +5 -2
- package/lib/rpc/validation/UnsafeValidator.js +33 -6
- package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
- package/lib/rpc/validation/tracer.js +1 -0
- package/lib/rpc/validation/tracer.js.map +1 -1
- package/lib/types/schemas.d.ts +1029 -333
- package/lib/types/schemas.js +93 -19
- package/lib/types/schemas.js.map +1 -1
- package/lib/types/utils.d.ts +1 -1
- package/lib/types/validation.js +7 -2
- package/lib/types/validation.js.map +1 -1
- package/lib/utils/bigInt.d.ts +1 -0
- package/lib/utils/bigInt.js +6 -1
- package/lib/utils/bigInt.js.map +1 -1
- package/lib/utils/helpers.d.ts +1 -0
- package/lib/utils/helpers.js +8 -1
- package/lib/utils/helpers.js.map +1 -1
- package/lib/utils/index.d.ts +0 -3
- package/lib/utils/index.js +0 -3
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/metrics.d.ts +4 -0
- package/lib/utils/metrics.js +29 -1
- package/lib/utils/metrics.js.map +1 -1
- package/lib/utils/rpc-reply.d.ts +1 -1
- package/lib/utils/rpc-reply.js +2 -1
- package/lib/utils/rpc-reply.js.map +1 -1
- package/lib/utils/userop.d.ts +66 -6
- package/lib/utils/userop.js +208 -96
- package/lib/utils/userop.js.map +1 -1
- package/lib/utils/validation.d.ts +1 -1
- package/lib/utils/validation.js +9 -36
- package/lib/utils/validation.js.map +1 -1
- package/package.json +15 -14
- package/esm/executor/test/utils.d.ts +0 -13
- package/esm/executor/test/utils.js +0 -75
- package/esm/executor/test/utils.js.map +0 -1
- package/esm/mempool/nullMempool.d.ts +0 -15
- package/esm/mempool/nullMempool.js +0 -36
- package/esm/mempool/nullMempool.js.map +0 -1
- package/esm/types/test/validationTestErrors.d.ts +0 -3
- package/esm/types/test/validationTestErrors.js +0 -229
- package/esm/types/test/validationTestErrors.js.map +0 -1
- package/esm/utils/compressionHandler.js.map +0 -1
- package/esm/utils/gasPriceManager.js.map +0 -1
- package/esm/utils/test.d.ts +0 -17
- package/esm/utils/test.js +0 -130
- package/esm/utils/test.js.map +0 -1
- package/lib/executor/test/utils.d.ts +0 -13
- package/lib/executor/test/utils.js +0 -81
- package/lib/executor/test/utils.js.map +0 -1
- package/lib/mempool/nullMempool.d.ts +0 -15
- package/lib/mempool/nullMempool.js +0 -40
- package/lib/mempool/nullMempool.js.map +0 -1
- package/lib/types/test/validationTestErrors.d.ts +0 -3
- package/lib/types/test/validationTestErrors.js +0 -232
- package/lib/types/test/validationTestErrors.js.map +0 -1
- package/lib/utils/compressionHandler.js.map +0 -1
- package/lib/utils/gasPriceManager.js.map +0 -1
- package/lib/utils/test.d.ts +0 -17
- package/lib/utils/test.js +0 -161
- package/lib/utils/test.js.map +0 -1
- /package/esm/{utils → handlers}/compressionHandler.d.ts +0 -0
- /package/esm/{utils → handlers}/compressionHandler.js +0 -0
- /package/lib/{utils → handlers}/compressionHandler.d.ts +0 -0
- /package/lib/{utils → handlers}/compressionHandler.js +0 -0
package/lib/rpc/rpcHandler.js
CHANGED
|
@@ -1,35 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.RpcHandler = void 0;
|
|
27
4
|
const types_1 = require("../types/index.js");
|
|
28
5
|
const utils_1 = require("../utils/index.js");
|
|
29
6
|
const viem_1 = require("viem");
|
|
30
|
-
const
|
|
31
|
-
const zod_1 = require("zod");
|
|
32
|
-
const zod_validation_error_1 = require("zod-validation-error");
|
|
7
|
+
const chains_1 = require("viem/chains");
|
|
33
8
|
class RpcHandler {
|
|
34
9
|
entryPoints;
|
|
35
10
|
publicClient;
|
|
@@ -53,7 +28,9 @@ class RpcHandler {
|
|
|
53
28
|
gasPriceManager;
|
|
54
29
|
gasPriceMultipliers;
|
|
55
30
|
paymasterGasLimitMultiplier;
|
|
56
|
-
|
|
31
|
+
eventManager;
|
|
32
|
+
enableInstantBundlingEndpoint;
|
|
33
|
+
constructor(entryPoints, publicClient, validator, mempool, executor, monitor, nonceQueuer, executorManager, reputationManager, usingTenderly, rpcMaxBlockRange, logger, metrics, enableDebugEndpoints, compressionHandler, legacyTransactions, gasPriceManager, gasPriceMultipliers, chainType, paymasterGasLimitMultiplier, eventManager, enableInstantBundlingEndpoint, dangerousSkipUserOperationValidation = false) {
|
|
57
34
|
this.entryPoints = entryPoints;
|
|
58
35
|
this.publicClient = publicClient;
|
|
59
36
|
this.validator = validator;
|
|
@@ -77,6 +54,8 @@ class RpcHandler {
|
|
|
77
54
|
this.chainType = chainType;
|
|
78
55
|
this.gasPriceManager = gasPriceManager;
|
|
79
56
|
this.paymasterGasLimitMultiplier = paymasterGasLimitMultiplier;
|
|
57
|
+
this.enableInstantBundlingEndpoint = enableInstantBundlingEndpoint;
|
|
58
|
+
this.eventManager = eventManager;
|
|
80
59
|
}
|
|
81
60
|
async handleMethod(request, apiVersion) {
|
|
82
61
|
// call the method with the params
|
|
@@ -167,6 +146,47 @@ class RpcHandler {
|
|
|
167
146
|
method,
|
|
168
147
|
result: await this.pimlico_sendCompressedUserOperation(apiVersion, ...request.params)
|
|
169
148
|
};
|
|
149
|
+
case "pimlico_sendUserOperationNow":
|
|
150
|
+
return {
|
|
151
|
+
method,
|
|
152
|
+
result: await this.pimlico_sendUserOperationNow(apiVersion, ...request.params)
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
ensureEntryPointIsSupported(entryPoint) {
|
|
157
|
+
if (!this.entryPoints.includes(entryPoint)) {
|
|
158
|
+
throw new Error(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
ensureDebugEndpointsAreEnabled(methodName) {
|
|
162
|
+
if (!this.enableDebugEndpoints) {
|
|
163
|
+
throw new types_1.RpcError(`${methodName} is only available in development environment`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
async preMempoolChecks(opHash, userOperation, apiVersion, entryPoint) {
|
|
167
|
+
if (this.legacyTransactions &&
|
|
168
|
+
userOperation.maxFeePerGas !== userOperation.maxPriorityFeePerGas) {
|
|
169
|
+
const reason = "maxPriorityFeePerGas must equal maxFeePerGas on chains that don't support EIP-1559";
|
|
170
|
+
this.eventManager.emitFailedValidation(opHash, reason);
|
|
171
|
+
throw new types_1.RpcError(reason);
|
|
172
|
+
}
|
|
173
|
+
if (apiVersion !== "v1") {
|
|
174
|
+
await this.gasPriceManager.validateGasPrice({
|
|
175
|
+
maxFeePerGas: userOperation.maxFeePerGas,
|
|
176
|
+
maxPriorityFeePerGas: userOperation.maxPriorityFeePerGas
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
if (userOperation.verificationGasLimit < 10000n) {
|
|
180
|
+
const reason = "verificationGasLimit must be at least 10000";
|
|
181
|
+
this.eventManager.emitFailedValidation(opHash, reason);
|
|
182
|
+
throw new types_1.RpcError(reason);
|
|
183
|
+
}
|
|
184
|
+
this.logger.trace({ userOperation, entryPoint }, "beginning validation");
|
|
185
|
+
if (userOperation.preVerificationGas === 0n ||
|
|
186
|
+
userOperation.verificationGasLimit === 0n) {
|
|
187
|
+
const reason = "user operation gas limits must be larger than 0";
|
|
188
|
+
this.eventManager.emitFailedValidation(opHash, reason);
|
|
189
|
+
throw new types_1.RpcError(reason);
|
|
170
190
|
}
|
|
171
191
|
}
|
|
172
192
|
eth_chainId() {
|
|
@@ -176,10 +196,7 @@ class RpcHandler {
|
|
|
176
196
|
return this.entryPoints;
|
|
177
197
|
}
|
|
178
198
|
async eth_estimateUserOperationGas(apiVersion, userOperation, entryPoint, stateOverrides) {
|
|
179
|
-
|
|
180
|
-
if (!this.entryPoints.includes(entryPoint)) {
|
|
181
|
-
throw new Error(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
|
|
182
|
-
}
|
|
199
|
+
this.ensureEntryPointIsSupported(entryPoint);
|
|
183
200
|
if (userOperation.maxFeePerGas === 0n) {
|
|
184
201
|
throw new types_1.RpcError("user operation max fee per gas must be larger than 0 during gas estimation");
|
|
185
202
|
}
|
|
@@ -189,14 +206,9 @@ class RpcHandler {
|
|
|
189
206
|
userOperation.preVerificationGas = 1000000n;
|
|
190
207
|
userOperation.verificationGasLimit = 10000000n;
|
|
191
208
|
userOperation.callGasLimit = 10000000n;
|
|
192
|
-
if (this.chainId ===
|
|
209
|
+
if (this.chainId === chains_1.base.id) {
|
|
193
210
|
userOperation.verificationGasLimit = 5000000n;
|
|
194
211
|
}
|
|
195
|
-
if (this.chainId === chains.celoAlfajores.id ||
|
|
196
|
-
this.chainId === chains.celo.id) {
|
|
197
|
-
userOperation.verificationGasLimit = 1000000n;
|
|
198
|
-
userOperation.callGasLimit = 1000000n;
|
|
199
|
-
}
|
|
200
212
|
if ((0, utils_1.isVersion07)(userOperation)) {
|
|
201
213
|
userOperation.paymasterPostOpGasLimit = 2000000n;
|
|
202
214
|
userOperation.paymasterVerificationGasLimit = 5000000n;
|
|
@@ -247,12 +259,10 @@ class RpcHandler {
|
|
|
247
259
|
paymasterPostOpGasLimit =
|
|
248
260
|
(paymasterPostOpGasLimit * multiplier) / 100n;
|
|
249
261
|
}
|
|
250
|
-
if (this.chainId ===
|
|
251
|
-
this.chainId === chains.baseSepolia.id) {
|
|
262
|
+
if (this.chainId === chains_1.base.id || this.chainId === chains_1.baseSepolia.id) {
|
|
252
263
|
callGasLimit += 10000n;
|
|
253
264
|
}
|
|
254
|
-
if (this.chainId ===
|
|
255
|
-
this.chainId === chains.optimism.id) {
|
|
265
|
+
if (this.chainId === chains_1.base.id || this.chainId === chains_1.optimism.id) {
|
|
256
266
|
callGasLimit = (0, utils_1.maxBigInt)(callGasLimit, 120000n);
|
|
257
267
|
}
|
|
258
268
|
if (userOperation.callData === "0x") {
|
|
@@ -282,10 +292,11 @@ class RpcHandler {
|
|
|
282
292
|
};
|
|
283
293
|
}
|
|
284
294
|
async eth_sendUserOperation(apiVersion, userOperation, entryPoint) {
|
|
295
|
+
const hash = (0, utils_1.getUserOperationHash)(userOperation, entryPoint, this.chainId);
|
|
296
|
+
this.eventManager.emitReceived(hash);
|
|
285
297
|
let status = "rejected";
|
|
286
298
|
try {
|
|
287
299
|
status = await this.addToMempoolIfValid(userOperation, entryPoint, apiVersion);
|
|
288
|
-
const hash = (0, utils_1.getUserOperationHash)(userOperation, entryPoint, this.chainId);
|
|
289
300
|
return hash;
|
|
290
301
|
}
|
|
291
302
|
catch (error) {
|
|
@@ -388,211 +399,53 @@ class RpcHandler {
|
|
|
388
399
|
};
|
|
389
400
|
return result;
|
|
390
401
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
abi: types_1.EntryPointV06Abi,
|
|
394
|
-
name: "UserOperationEvent"
|
|
395
|
-
});
|
|
396
|
-
let fromBlock = undefined;
|
|
397
|
-
let toBlock = undefined;
|
|
398
|
-
if (this.rpcMaxBlockRange !== undefined) {
|
|
399
|
-
const latestBlock = await this.publicClient.getBlockNumber();
|
|
400
|
-
fromBlock = latestBlock - BigInt(this.rpcMaxBlockRange);
|
|
401
|
-
if (fromBlock < 0n) {
|
|
402
|
-
fromBlock = 0n;
|
|
403
|
-
}
|
|
404
|
-
toBlock = "latest";
|
|
405
|
-
}
|
|
406
|
-
const filterResult = await this.publicClient.getLogs({
|
|
407
|
-
address: this.entryPoints,
|
|
408
|
-
event: userOperationEventAbiItem,
|
|
409
|
-
fromBlock,
|
|
410
|
-
toBlock,
|
|
411
|
-
args: {
|
|
412
|
-
userOpHash: userOperationHash
|
|
413
|
-
}
|
|
414
|
-
});
|
|
415
|
-
if (filterResult.length === 0) {
|
|
416
|
-
return null;
|
|
417
|
-
}
|
|
418
|
-
const userOperationEvent = filterResult[0];
|
|
419
|
-
// throw if any of the members of userOperationEvent are undefined
|
|
420
|
-
if (userOperationEvent.args.actualGasCost === undefined ||
|
|
421
|
-
userOperationEvent.args.sender === undefined ||
|
|
422
|
-
userOperationEvent.args.nonce === undefined ||
|
|
423
|
-
userOperationEvent.args.userOpHash === undefined ||
|
|
424
|
-
userOperationEvent.args.success === undefined ||
|
|
425
|
-
userOperationEvent.args.paymaster === undefined ||
|
|
426
|
-
userOperationEvent.args.actualGasUsed === undefined) {
|
|
427
|
-
throw new Error("userOperationEvent has undefined members");
|
|
428
|
-
}
|
|
429
|
-
const txHash = userOperationEvent.transactionHash;
|
|
430
|
-
if (txHash === null) {
|
|
431
|
-
// transaction pending
|
|
432
|
-
return null;
|
|
433
|
-
}
|
|
434
|
-
const getTransactionReceipt = async (txHash) => {
|
|
435
|
-
while (true) {
|
|
436
|
-
try {
|
|
437
|
-
return await this.publicClient.getTransactionReceipt({
|
|
438
|
-
hash: txHash
|
|
439
|
-
});
|
|
440
|
-
}
|
|
441
|
-
catch (e) {
|
|
442
|
-
if (e instanceof viem_1.TransactionReceiptNotFoundError) {
|
|
443
|
-
continue;
|
|
444
|
-
}
|
|
445
|
-
throw e;
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
};
|
|
449
|
-
const receipt = await getTransactionReceipt(txHash);
|
|
450
|
-
const logs = receipt.logs;
|
|
451
|
-
if (logs.some((log) => log.blockHash === null ||
|
|
452
|
-
log.blockNumber === null ||
|
|
453
|
-
log.transactionIndex === null ||
|
|
454
|
-
log.transactionHash === null ||
|
|
455
|
-
log.logIndex === null ||
|
|
456
|
-
log.topics.length === 0)) {
|
|
457
|
-
// transaction pending
|
|
458
|
-
return null;
|
|
459
|
-
}
|
|
460
|
-
const userOperationRevertReasonAbi = (0, viem_1.parseAbi)([
|
|
461
|
-
"event UserOperationRevertReason(bytes32 indexed userOpHash, address indexed sender, uint256 nonce, bytes revertReason)"
|
|
462
|
-
]);
|
|
463
|
-
const userOperationRevertReasonTopicEvent = (0, viem_1.encodeEventTopics)({
|
|
464
|
-
abi: userOperationRevertReasonAbi
|
|
465
|
-
})[0];
|
|
466
|
-
let entryPoint = viem_1.zeroAddress;
|
|
467
|
-
let revertReason = undefined;
|
|
468
|
-
let startIndex = -1;
|
|
469
|
-
let endIndex = -1;
|
|
470
|
-
logs.forEach((log, index) => {
|
|
471
|
-
if (log?.topics[0] === userOperationEvent.topics[0]) {
|
|
472
|
-
// process UserOperationEvent
|
|
473
|
-
if (log.topics[1] === userOperationEvent.topics[1]) {
|
|
474
|
-
// it's our userOpHash. save as end of logs array
|
|
475
|
-
endIndex = index;
|
|
476
|
-
entryPoint = log.address;
|
|
477
|
-
}
|
|
478
|
-
else if (endIndex === -1) {
|
|
479
|
-
// it's a different hash. remember it as beginning index, but only if we didn't find our end index yet.
|
|
480
|
-
startIndex = index;
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
if (log?.topics[0] === userOperationRevertReasonTopicEvent) {
|
|
484
|
-
// process UserOperationRevertReason
|
|
485
|
-
if (log.topics[1] === userOperationEvent.topics[1]) {
|
|
486
|
-
// it's our userOpHash. capture revert reason.
|
|
487
|
-
const decodedLog = (0, viem_1.decodeEventLog)({
|
|
488
|
-
abi: userOperationRevertReasonAbi,
|
|
489
|
-
data: log.data,
|
|
490
|
-
topics: log.topics
|
|
491
|
-
});
|
|
492
|
-
revertReason = decodedLog.args.revertReason;
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
});
|
|
496
|
-
if (endIndex === -1) {
|
|
497
|
-
throw new Error("fatal: no UserOperationEvent in logs");
|
|
498
|
-
}
|
|
499
|
-
const filteredLogs = logs.slice(startIndex + 1, endIndex);
|
|
500
|
-
const logsParsing = zod_1.z.array(types_1.logSchema).safeParse(filteredLogs);
|
|
501
|
-
if (!logsParsing.success) {
|
|
502
|
-
const err = (0, zod_validation_error_1.fromZodError)(logsParsing.error);
|
|
503
|
-
throw err;
|
|
504
|
-
}
|
|
505
|
-
const receiptParsing = types_1.receiptSchema.safeParse({
|
|
506
|
-
...receipt,
|
|
507
|
-
status: receipt.status === "success" ? 1 : 0
|
|
508
|
-
});
|
|
509
|
-
if (!receiptParsing.success) {
|
|
510
|
-
const err = (0, zod_validation_error_1.fromZodError)(receiptParsing.error);
|
|
511
|
-
throw err;
|
|
512
|
-
}
|
|
513
|
-
let paymaster = userOperationEvent.args.paymaster;
|
|
514
|
-
paymaster = paymaster === viem_1.zeroAddress ? undefined : paymaster;
|
|
515
|
-
const userOperationReceipt = {
|
|
516
|
-
userOpHash: userOperationHash,
|
|
517
|
-
entryPoint,
|
|
518
|
-
sender: userOperationEvent.args.sender,
|
|
519
|
-
nonce: userOperationEvent.args.nonce,
|
|
520
|
-
paymaster,
|
|
521
|
-
actualGasUsed: userOperationEvent.args.actualGasUsed,
|
|
522
|
-
actualGasCost: userOperationEvent.args.actualGasCost,
|
|
523
|
-
success: userOperationEvent.args.success,
|
|
524
|
-
reason: revertReason,
|
|
525
|
-
logs: logsParsing.data,
|
|
526
|
-
receipt: receiptParsing.data
|
|
527
|
-
};
|
|
528
|
-
return userOperationReceipt;
|
|
402
|
+
eth_getUserOperationReceipt(userOperationHash) {
|
|
403
|
+
return this.executorManager.getUserOperationReceipt(userOperationHash);
|
|
529
404
|
}
|
|
530
405
|
debug_bundler_clearState() {
|
|
531
|
-
|
|
532
|
-
throw new types_1.RpcError("debug_bundler_clearState is only available in development environment");
|
|
533
|
-
}
|
|
406
|
+
this.ensureDebugEndpointsAreEnabled("debug_bundler_clearState");
|
|
534
407
|
this.mempool.clear();
|
|
535
408
|
this.reputationManager.clear();
|
|
536
409
|
return "ok";
|
|
537
410
|
}
|
|
538
411
|
debug_bundler_clearMempool() {
|
|
539
|
-
|
|
540
|
-
throw new types_1.RpcError("debug_bundler_clearMempool is only available in development environment");
|
|
541
|
-
}
|
|
412
|
+
this.ensureDebugEndpointsAreEnabled("debug_bundler_clearMempool");
|
|
542
413
|
this.mempool.clear();
|
|
543
414
|
this.reputationManager.clearEntityCount();
|
|
544
415
|
return "ok";
|
|
545
416
|
}
|
|
546
417
|
async debug_bundler_dumpMempool(entryPoint) {
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
}
|
|
550
|
-
if (!this.entryPoints.includes(entryPoint)) {
|
|
551
|
-
throw new types_1.RpcError(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
|
|
552
|
-
}
|
|
418
|
+
this.ensureDebugEndpointsAreEnabled("debug_bundler_dumpMempool");
|
|
419
|
+
this.ensureEntryPointIsSupported(entryPoint);
|
|
553
420
|
return this.mempool
|
|
554
421
|
.dumpOutstanding()
|
|
555
422
|
.map((userOpInfo) => (0, types_1.deriveUserOperation)(userOpInfo.mempoolUserOperation));
|
|
556
423
|
}
|
|
557
424
|
async debug_bundler_sendBundleNow() {
|
|
558
|
-
|
|
559
|
-
throw new types_1.RpcError("debug_bundler_sendBundleNow is only available in development environment");
|
|
560
|
-
}
|
|
425
|
+
this.ensureDebugEndpointsAreEnabled("debug_bundler_sendBundleNow");
|
|
561
426
|
const transactions = await this.executorManager.bundleNow();
|
|
562
427
|
return transactions[0];
|
|
563
428
|
}
|
|
564
429
|
debug_bundler_setBundlingMode(bundlingMode) {
|
|
565
|
-
|
|
566
|
-
throw new types_1.RpcError("debug_bundler_setBundlingMode is only available in development environment");
|
|
567
|
-
}
|
|
430
|
+
this.ensureDebugEndpointsAreEnabled("debug_bundler_setBundlingMode");
|
|
568
431
|
this.executorManager.setBundlingMode(bundlingMode);
|
|
569
432
|
return "ok";
|
|
570
433
|
}
|
|
571
434
|
debug_bundler_dumpReputation(entryPoint) {
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
}
|
|
575
|
-
if (!this.entryPoints.includes(entryPoint)) {
|
|
576
|
-
throw new types_1.RpcError(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
|
|
577
|
-
}
|
|
435
|
+
this.ensureDebugEndpointsAreEnabled("debug_bundler_setReputation");
|
|
436
|
+
this.ensureEntryPointIsSupported(entryPoint);
|
|
578
437
|
return this.reputationManager.dumpReputations(entryPoint);
|
|
579
438
|
}
|
|
580
439
|
async debug_bundler_getStakeStatus(address, entryPoint) {
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
}
|
|
584
|
-
if (!this.entryPoints.includes(entryPoint)) {
|
|
585
|
-
throw new types_1.RpcError(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
|
|
586
|
-
}
|
|
440
|
+
this.ensureDebugEndpointsAreEnabled("debug_bundler_getStakeStatus");
|
|
441
|
+
this.ensureEntryPointIsSupported(entryPoint);
|
|
587
442
|
return types_1.bundlerGetStakeStatusResponseSchema.parse({
|
|
588
443
|
method: "debug_bundler_getStakeStatus",
|
|
589
444
|
result: await this.reputationManager.getStakeStatus(entryPoint, address)
|
|
590
445
|
}).result;
|
|
591
446
|
}
|
|
592
447
|
debug_bundler_setReputation(args) {
|
|
593
|
-
|
|
594
|
-
throw new types_1.RpcError("debug_bundler_setReputation is only available in development environment");
|
|
595
|
-
}
|
|
448
|
+
this.ensureDebugEndpointsAreEnabled("debug_bundler_setReputation");
|
|
596
449
|
this.reputationManager.setReputation(args[1], args[0]);
|
|
597
450
|
return "ok";
|
|
598
451
|
}
|
|
@@ -600,57 +453,44 @@ class RpcHandler {
|
|
|
600
453
|
return this.monitor.getUserOperationStatus(userOperationHash);
|
|
601
454
|
}
|
|
602
455
|
async pimlico_getUserOperationGasPrice() {
|
|
603
|
-
|
|
456
|
+
let { maxFeePerGas, maxPriorityFeePerGas } = await this.gasPriceManager.getGasPrice();
|
|
457
|
+
if (this.chainType === "hedera") {
|
|
458
|
+
maxFeePerGas /= 10n ** 9n;
|
|
459
|
+
maxPriorityFeePerGas /= 10n ** 9n;
|
|
460
|
+
}
|
|
604
461
|
const { slow, standard, fast } = this.gasPriceMultipliers;
|
|
605
462
|
return {
|
|
606
463
|
slow: {
|
|
607
|
-
maxFeePerGas: (
|
|
608
|
-
maxPriorityFeePerGas: (
|
|
464
|
+
maxFeePerGas: (maxFeePerGas * slow) / 100n,
|
|
465
|
+
maxPriorityFeePerGas: (maxPriorityFeePerGas * slow) / 100n
|
|
609
466
|
},
|
|
610
467
|
standard: {
|
|
611
|
-
maxFeePerGas: (
|
|
612
|
-
maxPriorityFeePerGas: (
|
|
468
|
+
maxFeePerGas: (maxFeePerGas * standard) / 100n,
|
|
469
|
+
maxPriorityFeePerGas: (maxPriorityFeePerGas * standard) / 100n
|
|
613
470
|
},
|
|
614
471
|
fast: {
|
|
615
|
-
maxFeePerGas: (
|
|
616
|
-
maxPriorityFeePerGas: (
|
|
472
|
+
maxFeePerGas: (maxFeePerGas * fast) / 100n,
|
|
473
|
+
maxPriorityFeePerGas: (maxPriorityFeePerGas * fast) / 100n
|
|
617
474
|
}
|
|
618
475
|
};
|
|
619
476
|
}
|
|
620
477
|
// check if we want to bundle userOperation. If yes, add to mempool
|
|
621
478
|
async addToMempoolIfValid(op, entryPoint, apiVersion) {
|
|
479
|
+
this.ensureEntryPointIsSupported(entryPoint);
|
|
622
480
|
const userOperation = (0, types_1.deriveUserOperation)(op);
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
}
|
|
626
|
-
if (this.chainId === chains.celoAlfajores.id ||
|
|
627
|
-
this.chainId === chains.celo.id) {
|
|
628
|
-
if (userOperation.maxFeePerGas !==
|
|
629
|
-
userOperation.maxPriorityFeePerGas) {
|
|
630
|
-
throw new types_1.RpcError("maxPriorityFeePerGas must equal maxFeePerGas on Celo chains");
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
if (apiVersion !== "v1") {
|
|
634
|
-
await this.gasPriceManager.validateGasPrice({
|
|
635
|
-
maxFeePerGas: userOperation.maxFeePerGas,
|
|
636
|
-
maxPriorityFeePerGas: userOperation.maxPriorityFeePerGas
|
|
637
|
-
});
|
|
638
|
-
}
|
|
639
|
-
if (userOperation.verificationGasLimit < 10000n) {
|
|
640
|
-
throw new types_1.RpcError("verificationGasLimit must be at least 10000");
|
|
641
|
-
}
|
|
642
|
-
this.logger.trace({ userOperation, entryPoint }, "beginning validation");
|
|
643
|
-
if (userOperation.preVerificationGas === 0n ||
|
|
644
|
-
userOperation.verificationGasLimit === 0n) {
|
|
645
|
-
throw new types_1.RpcError("user operation gas limits must be larger than 0");
|
|
646
|
-
}
|
|
481
|
+
const opHash = (0, utils_1.getUserOperationHash)(userOperation, entryPoint, this.chainId);
|
|
482
|
+
await this.preMempoolChecks(opHash, userOperation, apiVersion, entryPoint);
|
|
647
483
|
const currentNonceValue = await this.getNonceValue(userOperation, entryPoint);
|
|
648
484
|
const [, userOperationNonceValue] = (0, utils_1.getNonceKeyAndValue)(userOperation.nonce);
|
|
649
485
|
if (userOperationNonceValue < currentNonceValue) {
|
|
650
|
-
|
|
486
|
+
const reason = "UserOperation failed validation with reason: AA25 invalid account nonce";
|
|
487
|
+
this.eventManager.emitFailedValidation(opHash, reason, "AA25");
|
|
488
|
+
throw new types_1.RpcError(reason, types_1.ValidationErrors.InvalidFields);
|
|
651
489
|
}
|
|
652
490
|
if (userOperationNonceValue > currentNonceValue + 10n) {
|
|
653
|
-
|
|
491
|
+
const reason = "UserOperation failed validaiton with reason: AA25 invalid account nonce";
|
|
492
|
+
this.eventManager.emitFailedValidation(opHash, reason, "AA25");
|
|
493
|
+
throw new types_1.RpcError(reason, types_1.ValidationErrors.InvalidFields);
|
|
654
494
|
}
|
|
655
495
|
let queuedUserOperations = [];
|
|
656
496
|
if (userOperationNonceValue > currentNonceValue &&
|
|
@@ -660,9 +500,10 @@ class RpcHandler {
|
|
|
660
500
|
if (userOperationNonceValue ===
|
|
661
501
|
currentNonceValue + BigInt(queuedUserOperations.length)) {
|
|
662
502
|
if (this.dangerousSkipUserOperationValidation) {
|
|
663
|
-
const success = this.mempool.add(op, entryPoint);
|
|
503
|
+
const [success, errorReason] = this.mempool.add(op, entryPoint);
|
|
664
504
|
if (!success) {
|
|
665
|
-
|
|
505
|
+
this.eventManager.emitFailedValidation(opHash, errorReason, (0, utils_1.getAAError)(errorReason));
|
|
506
|
+
throw new types_1.RpcError(`UserOperation reverted during simulation with reason: ${errorReason}`, types_1.ValidationErrors.InvalidFields);
|
|
666
507
|
}
|
|
667
508
|
}
|
|
668
509
|
else {
|
|
@@ -672,9 +513,10 @@ class RpcHandler {
|
|
|
672
513
|
const validationResult = await this.validator.validateUserOperation(apiVersion !== "v1", userOperation, queuedUserOperations, entryPoint);
|
|
673
514
|
await this.reputationManager.checkReputation(userOperation, entryPoint, validationResult);
|
|
674
515
|
await this.mempool.checkEntityMultipleRoleViolation(userOperation);
|
|
675
|
-
const success = this.mempool.add(op, entryPoint, validationResult.referencedContracts);
|
|
516
|
+
const [success, errorReason] = this.mempool.add(op, entryPoint, validationResult.referencedContracts);
|
|
676
517
|
if (!success) {
|
|
677
|
-
|
|
518
|
+
this.eventManager.emitFailedValidation(opHash, errorReason, (0, utils_1.getAAError)(errorReason));
|
|
519
|
+
throw new types_1.RpcError(`UserOperation reverted during simulation with reason: ${errorReason}`, types_1.ValidationErrors.InvalidFields);
|
|
678
520
|
}
|
|
679
521
|
return "added";
|
|
680
522
|
}
|
|
@@ -682,10 +524,47 @@ class RpcHandler {
|
|
|
682
524
|
this.nonceQueuer.add(op, entryPoint);
|
|
683
525
|
return "queued";
|
|
684
526
|
}
|
|
527
|
+
async pimlico_sendUserOperationNow(apiVersion, userOperation, entryPoint) {
|
|
528
|
+
if (!this.enableInstantBundlingEndpoint) {
|
|
529
|
+
throw new types_1.RpcError("pimlico_sendUserOperationNow endpoint is not enabled", types_1.ValidationErrors.InvalidFields);
|
|
530
|
+
}
|
|
531
|
+
this.ensureEntryPointIsSupported(entryPoint);
|
|
532
|
+
const opHash = (0, utils_1.getUserOperationHash)(userOperation, entryPoint, this.chainId);
|
|
533
|
+
await this.preMempoolChecks(opHash, userOperation, apiVersion, entryPoint);
|
|
534
|
+
const result = (await this.executor.bundle(entryPoint, [userOperation]))[0];
|
|
535
|
+
if (result.status === "failure") {
|
|
536
|
+
const { userOpHash, reason } = result.error;
|
|
537
|
+
this.monitor.setUserOperationStatus(userOpHash, {
|
|
538
|
+
status: "rejected",
|
|
539
|
+
transactionHash: null
|
|
540
|
+
});
|
|
541
|
+
this.logger.warn({
|
|
542
|
+
userOperation: JSON.stringify(result.error.userOperation, (_k, v) => (typeof v === "bigint" ? v.toString() : v)),
|
|
543
|
+
userOpHash,
|
|
544
|
+
reason
|
|
545
|
+
}, "user operation rejected");
|
|
546
|
+
this.metrics.userOperationsSubmitted
|
|
547
|
+
.labels({ status: "failed" })
|
|
548
|
+
.inc();
|
|
549
|
+
const { error } = result;
|
|
550
|
+
throw new types_1.RpcError(`userOperation reverted during simulation with reason: ${error.reason}`);
|
|
551
|
+
}
|
|
552
|
+
const res = result;
|
|
553
|
+
// wait for receipt
|
|
554
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({
|
|
555
|
+
hash: res.value.transactionInfo.transactionHash,
|
|
556
|
+
pollingInterval: 100
|
|
557
|
+
});
|
|
558
|
+
const userOperationReceipt = (0, utils_1.parseUserOperationReceipt)(opHash, receipt);
|
|
559
|
+
return userOperationReceipt;
|
|
560
|
+
}
|
|
685
561
|
async pimlico_sendCompressedUserOperation(apiVersion, compressedCalldata, inflatorAddress, entryPoint) {
|
|
562
|
+
const receivedTimestamp = Date.now();
|
|
686
563
|
let status = "rejected";
|
|
687
564
|
try {
|
|
688
565
|
const { inflatedOp, inflatorId } = await this.validateAndInflateCompressedUserOperation(inflatorAddress, compressedCalldata);
|
|
566
|
+
const hash = (0, utils_1.getUserOperationHash)(inflatedOp, entryPoint, this.chainId);
|
|
567
|
+
this.eventManager.emitReceived(hash, receivedTimestamp);
|
|
689
568
|
const compressedUserOp = {
|
|
690
569
|
compressedCalldata,
|
|
691
570
|
inflatedOp,
|
|
@@ -694,7 +573,6 @@ class RpcHandler {
|
|
|
694
573
|
};
|
|
695
574
|
// check userOps inputs.
|
|
696
575
|
status = await this.addToMempoolIfValid(compressedUserOp, entryPoint, apiVersion);
|
|
697
|
-
const hash = (0, utils_1.getUserOperationHash)(inflatedOp, entryPoint, this.chainId);
|
|
698
576
|
return hash;
|
|
699
577
|
}
|
|
700
578
|
catch (error) {
|
|
@@ -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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"}
|