@pimlico/alto 0.0.0-staging.20240606T093925 → 0.0.0-staging.20240606T100452
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.d.ts +6 -0
- package/lib/cli/alto.js +92 -0
- package/lib/cli/alto.js.map +1 -0
- package/lib/cli/config/bundler.js +73 -76
- package/lib/cli/config/bundler.js.map +1 -1
- package/lib/cli/config/index.js +2 -18
- package/lib/cli/config/index.js.map +1 -1
- package/lib/cli/config/options.js +10 -13
- package/lib/cli/config/options.js.map +1 -1
- package/lib/cli/customTransport.js +7 -11
- package/lib/cli/customTransport.js.map +1 -1
- package/lib/cli/handler.js +24 -28
- package/lib/cli/handler.js.map +1 -1
- package/lib/cli/index.js +2 -18
- package/lib/cli/index.js.map +1 -1
- package/lib/cli/instrumentation.js +20 -22
- package/lib/cli/instrumentation.js.map +1 -1
- package/lib/cli/setupServer.js +17 -21
- package/lib/cli/setupServer.js.map +1 -1
- package/lib/cli/util.js +1 -5
- package/lib/cli/util.js.map +1 -1
- package/lib/executor/executor.js +56 -84
- package/lib/executor/executor.js.map +1 -1
- package/lib/executor/executorManager.js +7 -11
- package/lib/executor/executorManager.js.map +1 -1
- package/lib/executor/index.js +4 -20
- package/lib/executor/index.js.map +1 -1
- package/lib/executor/senderManager.js +8 -12
- package/lib/executor/senderManager.js.map +1 -1
- package/lib/executor/test/utils.js +22 -28
- package/lib/executor/test/utils.js.map +1 -1
- package/lib/executor/utils.js +31 -61
- package/lib/executor/utils.js.map +1 -1
- package/lib/index.d.ts +1 -5
- package/lib/index.js +1 -122
- package/lib/index.js.map +1 -1
- package/lib/mempool/index.js +4 -20
- package/lib/mempool/index.js.map +1 -1
- package/lib/mempool/mempool.js +55 -59
- package/lib/mempool/mempool.js.map +1 -1
- package/lib/mempool/monitoring.js +1 -5
- package/lib/mempool/monitoring.js.map +1 -1
- package/lib/mempool/nullMempool.js +1 -5
- package/lib/mempool/nullMempool.js.map +1 -1
- package/lib/mempool/reputationManager.js +44 -49
- package/lib/mempool/reputationManager.js.map +1 -1
- package/lib/mempool/store.js +1 -5
- package/lib/mempool/store.js.map +1 -1
- package/lib/rpc/EntryPointSimulationsV07.js +44 -50
- package/lib/rpc/EntryPointSimulationsV07.js.map +1 -1
- package/lib/rpc/ExecuteSimulator.js +2 -5
- package/lib/rpc/ExecuteSimulator.js.map +1 -1
- package/lib/rpc/gasEstimation.js +62 -69
- package/lib/rpc/gasEstimation.js.map +1 -1
- package/lib/rpc/index.js +4 -20
- package/lib/rpc/index.js.map +1 -1
- package/lib/rpc/nonceQueuer.js +16 -20
- package/lib/rpc/nonceQueuer.js.map +1 -1
- package/lib/rpc/rpcHandler.js +76 -103
- package/lib/rpc/rpcHandler.js.map +1 -1
- package/lib/rpc/server.js +26 -56
- package/lib/rpc/server.js.map +1 -1
- package/lib/rpc/validation/BundlerCollectorTracerV06.js +1 -5
- package/lib/rpc/validation/BundlerCollectorTracerV06.js.map +1 -1
- package/lib/rpc/validation/BundlerCollectorTracerV07.js +1 -5
- package/lib/rpc/validation/BundlerCollectorTracerV07.js.map +1 -1
- package/lib/rpc/validation/SafeValidator.js +65 -69
- package/lib/rpc/validation/SafeValidator.js.map +1 -1
- package/lib/rpc/validation/TracerResultParserV06.js +26 -30
- package/lib/rpc/validation/TracerResultParserV06.js.map +1 -1
- package/lib/rpc/validation/TracerResultParserV07.js +29 -36
- package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
- package/lib/rpc/validation/UnsafeValidator.js +46 -73
- package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
- package/lib/rpc/validation/index.js +2 -18
- package/lib/rpc/validation/index.js.map +1 -1
- package/lib/rpc/validation/tracer.js +7 -37
- package/lib/rpc/validation/tracer.js.map +1 -1
- package/lib/types/contracts/BundleBulker.js +1 -4
- package/lib/types/contracts/BundleBulker.js.map +1 -1
- package/lib/types/contracts/CallEngine.js +1 -4
- package/lib/types/contracts/CallEngine.js.map +1 -1
- package/lib/types/contracts/CodeHashGetter.js +2 -5
- package/lib/types/contracts/CodeHashGetter.js.map +1 -1
- package/lib/types/contracts/EntryPoint.js +4 -7
- package/lib/types/contracts/EntryPoint.js.map +1 -1
- package/lib/types/contracts/EntryPointSimulations.js +3 -6
- package/lib/types/contracts/EntryPointSimulations.js.map +1 -1
- package/lib/types/contracts/IOpInflator.js +1 -4
- package/lib/types/contracts/IOpInflator.js.map +1 -1
- package/lib/types/contracts/IPaymaster.js +1 -4
- package/lib/types/contracts/IPaymaster.js.map +1 -1
- package/lib/types/contracts/Inflator.js +1 -4
- package/lib/types/contracts/Inflator.js.map +1 -1
- package/lib/types/contracts/PerOpInflator.js +1 -4
- package/lib/types/contracts/PerOpInflator.js.map +1 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.js +2 -5
- package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/lib/types/contracts/SenderCreator.js +2 -5
- package/lib/types/contracts/SenderCreator.js.map +1 -1
- package/lib/types/contracts/SimpleAccountFactory.js +2 -5
- package/lib/types/contracts/SimpleAccountFactory.js.map +1 -1
- package/lib/types/contracts/TestOpcodesAccount.js +2 -5
- package/lib/types/contracts/TestOpcodesAccount.js.map +1 -1
- package/lib/types/contracts/TestOpcodesAccountFactory.js +2 -5
- package/lib/types/contracts/TestOpcodesAccountFactory.js.map +1 -1
- package/lib/types/contracts/TestStorageAccount.js +2 -5
- package/lib/types/contracts/TestStorageAccount.js.map +1 -1
- package/lib/types/contracts/index.js +16 -32
- package/lib/types/contracts/index.js.map +1 -1
- package/lib/types/gasPrice.js +14 -17
- package/lib/types/gasPrice.js.map +1 -1
- package/lib/types/index.js +10 -26
- package/lib/types/index.js.map +1 -1
- package/lib/types/interfaces.js +1 -2
- package/lib/types/mempool.js +5 -10
- package/lib/types/mempool.js.map +1 -1
- package/lib/types/schemas.js +254 -284
- package/lib/types/schemas.js.map +1 -1
- package/lib/types/test/validationTestErrors.js +2 -5
- package/lib/types/test/validationTestErrors.js.map +1 -1
- package/lib/types/utils.js +5 -9
- package/lib/types/utils.js.map +1 -1
- package/lib/types/validation.js +139 -142
- package/lib/types/validation.js.map +1 -1
- package/lib/utils/bigInt.js +2 -7
- package/lib/utils/bigInt.js.map +1 -1
- package/lib/utils/compressionHandler.js +7 -11
- package/lib/utils/compressionHandler.js.map +1 -1
- package/lib/utils/gasPriceManager.js +30 -57
- package/lib/utils/gasPriceManager.js.map +1 -1
- package/lib/utils/helpers.js +5 -10
- package/lib/utils/helpers.js.map +1 -1
- package/lib/utils/index.js +9 -25
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/logger.js +10 -19
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/metrics.js +20 -24
- package/lib/utils/metrics.js.map +1 -1
- package/lib/utils/rpc-reply.js +1 -3
- package/lib/utils/rpc-reply.js.map +1 -1
- package/lib/utils/test.js +36 -67
- package/lib/utils/test.js.map +1 -1
- package/lib/utils/userop.js +62 -107
- package/lib/utils/userop.js.map +1 -1
- package/lib/utils/validation.js +64 -99
- package/lib/utils/validation.js.map +1 -1
- package/package.json +6 -4
|
@@ -1,27 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const utils_1 = require("../utils/index.js");
|
|
6
|
-
const viem_1 = require("viem");
|
|
7
|
-
var EntityType;
|
|
1
|
+
import { EntryPointV06Abi, RpcError, ValidationErrors } from "../types/index.js";
|
|
2
|
+
import { getAddressFromInitCodeOrPaymasterAndData, isVersion06 } from "../utils/index.js";
|
|
3
|
+
import { getAddress, getContract } from "viem";
|
|
4
|
+
export var EntityType;
|
|
8
5
|
(function (EntityType) {
|
|
9
6
|
EntityType["Account"] = "Account";
|
|
10
7
|
EntityType["Paymaster"] = "Paymaster";
|
|
11
8
|
EntityType["Factory"] = "Factory";
|
|
12
9
|
EntityType["Aggregator"] = "Aggregator";
|
|
13
|
-
})(EntityType || (
|
|
14
|
-
|
|
10
|
+
})(EntityType || (EntityType = {}));
|
|
11
|
+
export const ReputationStatuses = {
|
|
15
12
|
ok: 0n,
|
|
16
13
|
throttled: 1n,
|
|
17
14
|
banned: 2n
|
|
18
15
|
};
|
|
19
|
-
|
|
16
|
+
export const BundlerReputationParams = {
|
|
20
17
|
minInclusionDenominator: 10n,
|
|
21
18
|
throttlingSlack: 10n,
|
|
22
19
|
banSlack: 50n
|
|
23
20
|
};
|
|
24
|
-
class NullReputationManager {
|
|
21
|
+
export class NullReputationManager {
|
|
25
22
|
checkReputation(_userOperation, _entryPoint, _validationResult) {
|
|
26
23
|
return Promise.resolve();
|
|
27
24
|
}
|
|
@@ -59,8 +56,7 @@ class NullReputationManager {
|
|
|
59
56
|
return;
|
|
60
57
|
}
|
|
61
58
|
}
|
|
62
|
-
|
|
63
|
-
class ReputationManager {
|
|
59
|
+
export class ReputationManager {
|
|
64
60
|
publicClient;
|
|
65
61
|
minStake;
|
|
66
62
|
minUnstakeDelay;
|
|
@@ -87,7 +83,7 @@ class ReputationManager {
|
|
|
87
83
|
this.maxMempoolUserOperationsPerSender =
|
|
88
84
|
maxMempoolUserOperationsPerSender ?? 4n;
|
|
89
85
|
this.bundlerReputationParams =
|
|
90
|
-
bundlerReputationParams ??
|
|
86
|
+
bundlerReputationParams ?? BundlerReputationParams;
|
|
91
87
|
for (const address of blackList || []) {
|
|
92
88
|
this.blackList.add(address);
|
|
93
89
|
}
|
|
@@ -100,7 +96,7 @@ class ReputationManager {
|
|
|
100
96
|
}
|
|
101
97
|
setReputation(entryPoint, reputations) {
|
|
102
98
|
for (const reputation of reputations) {
|
|
103
|
-
const address =
|
|
99
|
+
const address = getAddress(reputation.address);
|
|
104
100
|
this.entries[entryPoint][address] = {
|
|
105
101
|
address,
|
|
106
102
|
opsSeen: BigInt(reputation.opsSeen),
|
|
@@ -125,8 +121,8 @@ class ReputationManager {
|
|
|
125
121
|
this.entityCount = {};
|
|
126
122
|
}
|
|
127
123
|
async getStakeStatus(entryPoint, address) {
|
|
128
|
-
const entryPointContract =
|
|
129
|
-
abi:
|
|
124
|
+
const entryPointContract = getContract({
|
|
125
|
+
abi: EntryPointV06Abi,
|
|
130
126
|
address: entryPoint,
|
|
131
127
|
client: {
|
|
132
128
|
public: this.publicClient
|
|
@@ -190,11 +186,11 @@ class ReputationManager {
|
|
|
190
186
|
entry.opsIncluded = 0n;
|
|
191
187
|
}
|
|
192
188
|
crashedHandleOps(op, entryPoint, reason) {
|
|
193
|
-
const isUserOpV06 =
|
|
189
|
+
const isUserOpV06 = isVersion06(op);
|
|
194
190
|
if (reason.startsWith("AA3")) {
|
|
195
191
|
// paymaster
|
|
196
192
|
const paymaster = isUserOpV06
|
|
197
|
-
?
|
|
193
|
+
? getAddressFromInitCodeOrPaymasterAndData(op.paymasterAndData)
|
|
198
194
|
: op.paymaster;
|
|
199
195
|
if (paymaster) {
|
|
200
196
|
this.updateCrashedHandleOps(entryPoint, paymaster);
|
|
@@ -208,7 +204,7 @@ class ReputationManager {
|
|
|
208
204
|
else if (reason.startsWith("AA1")) {
|
|
209
205
|
// init code
|
|
210
206
|
const factory = isUserOpV06
|
|
211
|
-
?
|
|
207
|
+
? getAddressFromInitCodeOrPaymasterAndData(op.initCode)
|
|
212
208
|
: op.factory;
|
|
213
209
|
if (factory) {
|
|
214
210
|
this.updateCrashedHandleOps(entryPoint, factory);
|
|
@@ -229,16 +225,16 @@ class ReputationManager {
|
|
|
229
225
|
updateUserOperationIncludedStatus(userOperation, entryPoint, accountDeployed) {
|
|
230
226
|
const sender = userOperation.sender;
|
|
231
227
|
this.updateIncludedStatus(entryPoint, sender);
|
|
232
|
-
const isUserOpV06 =
|
|
228
|
+
const isUserOpV06 = isVersion06(userOperation);
|
|
233
229
|
const paymaster = isUserOpV06
|
|
234
|
-
?
|
|
230
|
+
? getAddressFromInitCodeOrPaymasterAndData(userOperation.paymasterAndData)
|
|
235
231
|
: userOperation.paymaster;
|
|
236
232
|
if (paymaster) {
|
|
237
233
|
this.updateIncludedStatus(entryPoint, paymaster);
|
|
238
234
|
}
|
|
239
235
|
if (accountDeployed) {
|
|
240
236
|
const factory = (isUserOpV06
|
|
241
|
-
?
|
|
237
|
+
? getAddressFromInitCodeOrPaymasterAndData(userOperation.initCode)
|
|
242
238
|
: userOperation.factory);
|
|
243
239
|
if (factory) {
|
|
244
240
|
this.updateIncludedStatus(entryPoint, factory);
|
|
@@ -248,15 +244,15 @@ class ReputationManager {
|
|
|
248
244
|
updateUserOperationSeenStatus(userOperation, entryPoint) {
|
|
249
245
|
const sender = userOperation.sender;
|
|
250
246
|
this.increaseSeen(entryPoint, sender);
|
|
251
|
-
const isUserOpV06 =
|
|
247
|
+
const isUserOpV06 = isVersion06(userOperation);
|
|
252
248
|
const paymaster = isUserOpV06
|
|
253
|
-
?
|
|
249
|
+
? getAddressFromInitCodeOrPaymasterAndData(userOperation.paymasterAndData)
|
|
254
250
|
: userOperation.paymaster;
|
|
255
251
|
if (paymaster) {
|
|
256
252
|
this.increaseSeen(entryPoint, paymaster);
|
|
257
253
|
}
|
|
258
254
|
const factory = (isUserOpV06
|
|
259
|
-
?
|
|
255
|
+
? getAddressFromInitCodeOrPaymasterAndData(userOperation.initCode)
|
|
260
256
|
: userOperation.factory);
|
|
261
257
|
this.logger.debug({ userOperation, factory }, "updateUserOperationSeenStatus");
|
|
262
258
|
if (factory) {
|
|
@@ -266,16 +262,16 @@ class ReputationManager {
|
|
|
266
262
|
increaseUserOperationCount(userOperation) {
|
|
267
263
|
const sender = userOperation.sender;
|
|
268
264
|
this.entityCount[sender] = (this.entityCount[sender] ?? 0n) + 1n;
|
|
269
|
-
const isUserOpV06 =
|
|
265
|
+
const isUserOpV06 = isVersion06(userOperation);
|
|
270
266
|
const paymaster = isUserOpV06
|
|
271
|
-
?
|
|
267
|
+
? getAddressFromInitCodeOrPaymasterAndData(userOperation.paymasterAndData)
|
|
272
268
|
: userOperation.paymaster;
|
|
273
269
|
if (paymaster) {
|
|
274
270
|
this.entityCount[paymaster] =
|
|
275
271
|
(this.entityCount[paymaster] ?? 0n) + 1n;
|
|
276
272
|
}
|
|
277
273
|
const factory = (isUserOpV06
|
|
278
|
-
?
|
|
274
|
+
? getAddressFromInitCodeOrPaymasterAndData(userOperation.initCode)
|
|
279
275
|
: userOperation.factory);
|
|
280
276
|
if (factory) {
|
|
281
277
|
this.entityCount[factory] = (this.entityCount[factory] ?? 0n) + 1n;
|
|
@@ -284,11 +280,11 @@ class ReputationManager {
|
|
|
284
280
|
decreaseUserOperationCount(userOperation) {
|
|
285
281
|
const sender = userOperation.sender;
|
|
286
282
|
this.entityCount[sender] = (this.entityCount[sender] ?? 0n) - 1n;
|
|
287
|
-
const isUserOpV06 =
|
|
283
|
+
const isUserOpV06 = isVersion06(userOperation);
|
|
288
284
|
this.entityCount[sender] =
|
|
289
285
|
this.entityCount[sender] < 0n ? 0n : this.entityCount[sender];
|
|
290
286
|
const paymaster = isUserOpV06
|
|
291
|
-
?
|
|
287
|
+
? getAddressFromInitCodeOrPaymasterAndData(userOperation.paymasterAndData)
|
|
292
288
|
: userOperation.paymaster;
|
|
293
289
|
if (paymaster) {
|
|
294
290
|
this.entityCount[paymaster] =
|
|
@@ -299,7 +295,7 @@ class ReputationManager {
|
|
|
299
295
|
: this.entityCount[paymaster];
|
|
300
296
|
}
|
|
301
297
|
const factory = (isUserOpV06
|
|
302
|
-
?
|
|
298
|
+
? getAddressFromInitCodeOrPaymasterAndData(userOperation.initCode)
|
|
303
299
|
: userOperation.factory);
|
|
304
300
|
if (factory) {
|
|
305
301
|
this.entityCount[factory] = (this.entityCount[factory] ?? 0n) - 1n;
|
|
@@ -321,14 +317,14 @@ class ReputationManager {
|
|
|
321
317
|
}
|
|
322
318
|
getStatus(entryPoint, address) {
|
|
323
319
|
if (!address || this.whitelist.has(address)) {
|
|
324
|
-
return
|
|
320
|
+
return ReputationStatuses.ok;
|
|
325
321
|
}
|
|
326
322
|
if (this.blackList.has(address)) {
|
|
327
|
-
return
|
|
323
|
+
return ReputationStatuses.banned;
|
|
328
324
|
}
|
|
329
325
|
const entry = this.entries[entryPoint][address];
|
|
330
326
|
if (!entry) {
|
|
331
|
-
return
|
|
327
|
+
return ReputationStatuses.ok;
|
|
332
328
|
}
|
|
333
329
|
const minExpectedIncluded = entry.opsSeen / this.bundlerReputationParams.minInclusionDenominator;
|
|
334
330
|
this.logger.debug({
|
|
@@ -342,27 +338,27 @@ class ReputationManager {
|
|
|
342
338
|
}, "minExpectedIncluded");
|
|
343
339
|
if (minExpectedIncluded <=
|
|
344
340
|
entry.opsIncluded + this.bundlerReputationParams.throttlingSlack) {
|
|
345
|
-
entry.status =
|
|
346
|
-
return
|
|
341
|
+
entry.status = ReputationStatuses.ok;
|
|
342
|
+
return ReputationStatuses.ok;
|
|
347
343
|
}
|
|
348
344
|
if (minExpectedIncluded <=
|
|
349
345
|
entry.opsIncluded + this.bundlerReputationParams.banSlack) {
|
|
350
|
-
entry.status =
|
|
351
|
-
return
|
|
346
|
+
entry.status = ReputationStatuses.throttled;
|
|
347
|
+
return ReputationStatuses.throttled;
|
|
352
348
|
}
|
|
353
|
-
entry.status =
|
|
354
|
-
return
|
|
349
|
+
entry.status = ReputationStatuses.banned;
|
|
350
|
+
return ReputationStatuses.banned;
|
|
355
351
|
}
|
|
356
352
|
checkBanned(entryPoint, entityType, stakeInfo) {
|
|
357
353
|
const status = this.getStatus(entryPoint, stakeInfo.addr);
|
|
358
|
-
if (status ===
|
|
359
|
-
throw new
|
|
354
|
+
if (status === ReputationStatuses.banned) {
|
|
355
|
+
throw new RpcError(`${entityType} ${stakeInfo.addr} is banned from using the pimlico`, ValidationErrors.Reputation);
|
|
360
356
|
}
|
|
361
357
|
}
|
|
362
358
|
checkThrottled(entryPoint, entityType, stakeInfo) {
|
|
363
359
|
const status = this.getStatus(entryPoint, stakeInfo.addr);
|
|
364
|
-
if (status ===
|
|
365
|
-
throw new
|
|
360
|
+
if (status === ReputationStatuses.throttled) {
|
|
361
|
+
throw new RpcError(`${entityType} ${stakeInfo.addr} is throttled by the pimlico`, ValidationErrors.Reputation);
|
|
366
362
|
}
|
|
367
363
|
}
|
|
368
364
|
isWhiteListed(address) {
|
|
@@ -375,12 +371,12 @@ class ReputationManager {
|
|
|
375
371
|
this.checkBanned(entryPoint, entityType, stakeInfo);
|
|
376
372
|
if (stakeInfo.stake < this.minStake) {
|
|
377
373
|
if (stakeInfo.stake === 0n) {
|
|
378
|
-
throw new
|
|
374
|
+
throw new RpcError(`${entityType} ${stakeInfo.addr} is unstaked and must stake minimum ${this.minStake} to use pimlico`, ValidationErrors.InsufficientStake);
|
|
379
375
|
}
|
|
380
|
-
throw new
|
|
376
|
+
throw new RpcError(`${entityType} ${stakeInfo.addr} does not have enough stake to use pimlico`, ValidationErrors.InsufficientStake);
|
|
381
377
|
}
|
|
382
378
|
if (stakeInfo.unstakeDelaySec < this.minUnstakeDelay) {
|
|
383
|
-
throw new
|
|
379
|
+
throw new RpcError(`${entityType} ${stakeInfo.addr} does not have enough unstake delay to use pimlico`, ValidationErrors.InsufficientStake);
|
|
384
380
|
}
|
|
385
381
|
}
|
|
386
382
|
calCulateMaxMempoolUserOperationsPerEntity(entryPoint, address) {
|
|
@@ -398,5 +394,4 @@ class ReputationManager {
|
|
|
398
394
|
(entry.opsIncluded > 10000n ? 10000n : entry.opsIncluded));
|
|
399
395
|
}
|
|
400
396
|
}
|
|
401
|
-
exports.ReputationManager = ReputationManager;
|
|
402
397
|
//# sourceMappingURL=reputationManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reputationManager.js","sourceRoot":"","sources":["../../mempool/reputationManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reputationManager.js","sourceRoot":"","sources":["../../mempool/reputationManager.ts"],"names":[],"mappings":"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"}
|
package/lib/mempool/store.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MemoryStore = void 0;
|
|
4
|
-
class MemoryStore {
|
|
1
|
+
export class MemoryStore {
|
|
5
2
|
// private monitoredTransactions: Map<HexData32, TransactionInfo> = new Map() // tx hash to info
|
|
6
3
|
outstandingUserOperations = [];
|
|
7
4
|
processingUserOperations = [];
|
|
@@ -123,5 +120,4 @@ class MemoryStore {
|
|
|
123
120
|
}
|
|
124
121
|
}
|
|
125
122
|
}
|
|
126
|
-
exports.MemoryStore = MemoryStore;
|
|
127
123
|
//# sourceMappingURL=store.js.map
|
package/lib/mempool/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../mempool/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../mempool/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const ExecuteSimulator_1 = require("./ExecuteSimulator.js");
|
|
6
|
-
const types_1 = require("../types/index.js");
|
|
7
|
-
const utils_1 = require("../utils/index.js");
|
|
1
|
+
import { decodeErrorResult, encodeFunctionData, toHex, decodeAbiParameters } from "viem";
|
|
2
|
+
import { ExecuteSimulatorDeployedBytecode } from "./ExecuteSimulator.js";
|
|
3
|
+
import { EntryPointV07Abi, EntryPointV07SimulationsAbi, ExecutionErrors, ValidationErrors, PimlicoEntryPointSimulationsAbi } from "../types/index.js";
|
|
4
|
+
import { deepHexlify, toPackedUserOperation } from "../utils/index.js";
|
|
8
5
|
const panicCodes = {
|
|
9
6
|
// from https://docs.soliditylang.org/en/v0.8.0/control-structures.html
|
|
10
7
|
1: "assert(false)",
|
|
@@ -17,11 +14,11 @@ const panicCodes = {
|
|
|
17
14
|
65: "memory overflow",
|
|
18
15
|
81: "zero-initialized variable of internal function type"
|
|
19
16
|
};
|
|
20
|
-
function parseFailedOpWithRevert(data) {
|
|
17
|
+
export function parseFailedOpWithRevert(data) {
|
|
21
18
|
const methodSig = data.slice(0, 10);
|
|
22
19
|
const dataParams = `0x${data.slice(10)}`;
|
|
23
20
|
if (methodSig === "0x08c379a0") {
|
|
24
|
-
const [err] =
|
|
21
|
+
const [err] = decodeAbiParameters([
|
|
25
22
|
{
|
|
26
23
|
name: "err",
|
|
27
24
|
type: "string"
|
|
@@ -30,7 +27,7 @@ function parseFailedOpWithRevert(data) {
|
|
|
30
27
|
return err;
|
|
31
28
|
}
|
|
32
29
|
if (methodSig === "0x4e487b71") {
|
|
33
|
-
const [code] =
|
|
30
|
+
const [code] = decodeAbiParameters([
|
|
34
31
|
{
|
|
35
32
|
name: "err",
|
|
36
33
|
type: "uint256"
|
|
@@ -40,42 +37,41 @@ function parseFailedOpWithRevert(data) {
|
|
|
40
37
|
}
|
|
41
38
|
return data;
|
|
42
39
|
}
|
|
43
|
-
exports.parseFailedOpWithRevert = parseFailedOpWithRevert;
|
|
44
40
|
function getStateOverrides({ userOperation, entryPoint, replacedEntryPoint, stateOverride = {} }) {
|
|
45
41
|
return replacedEntryPoint
|
|
46
42
|
? {
|
|
47
43
|
...stateOverride,
|
|
48
44
|
[userOperation.sender]: {
|
|
49
|
-
balance:
|
|
45
|
+
balance: toHex(100000000000000000000000n),
|
|
50
46
|
...(stateOverride
|
|
51
|
-
?
|
|
47
|
+
? deepHexlify(stateOverride?.[userOperation.sender])
|
|
52
48
|
: [])
|
|
53
49
|
},
|
|
54
50
|
[entryPoint]: {
|
|
55
|
-
code:
|
|
51
|
+
code: ExecuteSimulatorDeployedBytecode
|
|
56
52
|
}
|
|
57
53
|
}
|
|
58
54
|
: {
|
|
59
55
|
...stateOverride,
|
|
60
56
|
[userOperation.sender]: {
|
|
61
|
-
balance:
|
|
57
|
+
balance: toHex(100000000000000000000000n),
|
|
62
58
|
...(stateOverride
|
|
63
|
-
?
|
|
59
|
+
? deepHexlify(stateOverride?.[userOperation.sender])
|
|
64
60
|
: [])
|
|
65
61
|
}
|
|
66
62
|
};
|
|
67
63
|
}
|
|
68
64
|
function validateTargetCallDataResult(data) {
|
|
69
|
-
const decodedDelegateAndError =
|
|
70
|
-
abi:
|
|
65
|
+
const decodedDelegateAndError = decodeErrorResult({
|
|
66
|
+
abi: EntryPointV07Abi,
|
|
71
67
|
data: data
|
|
72
68
|
});
|
|
73
69
|
if (!decodedDelegateAndError?.args?.[1]) {
|
|
74
70
|
throw new Error("Unexpected error");
|
|
75
71
|
}
|
|
76
72
|
try {
|
|
77
|
-
const decodedError =
|
|
78
|
-
abi:
|
|
73
|
+
const decodedError = decodeErrorResult({
|
|
74
|
+
abi: EntryPointV07SimulationsAbi,
|
|
79
75
|
data: decodedDelegateAndError.args[1]
|
|
80
76
|
});
|
|
81
77
|
if (decodedError?.args) {
|
|
@@ -85,7 +81,7 @@ function validateTargetCallDataResult(data) {
|
|
|
85
81
|
return {
|
|
86
82
|
result: "failed",
|
|
87
83
|
data: parseFailedOpWithRevert(targetResult),
|
|
88
|
-
code:
|
|
84
|
+
code: ExecutionErrors.UserOperationReverted
|
|
89
85
|
};
|
|
90
86
|
}
|
|
91
87
|
return {
|
|
@@ -95,7 +91,7 @@ function validateTargetCallDataResult(data) {
|
|
|
95
91
|
return {
|
|
96
92
|
result: "failed",
|
|
97
93
|
data: "Unknown error, could not parse target call data result.",
|
|
98
|
-
code:
|
|
94
|
+
code: ExecutionErrors.UserOperationReverted
|
|
99
95
|
};
|
|
100
96
|
}
|
|
101
97
|
catch (e) {
|
|
@@ -103,21 +99,21 @@ function validateTargetCallDataResult(data) {
|
|
|
103
99
|
return {
|
|
104
100
|
result: "failed",
|
|
105
101
|
data: "Unknown error, could not parse target call data result.",
|
|
106
|
-
code:
|
|
102
|
+
code: ExecutionErrors.UserOperationReverted
|
|
107
103
|
};
|
|
108
104
|
}
|
|
109
105
|
}
|
|
110
106
|
function getSimulateHandleOpResult(data) {
|
|
111
|
-
const decodedDelegateAndError =
|
|
112
|
-
abi:
|
|
107
|
+
const decodedDelegateAndError = decodeErrorResult({
|
|
108
|
+
abi: EntryPointV07Abi,
|
|
113
109
|
data: data
|
|
114
110
|
});
|
|
115
111
|
if (!decodedDelegateAndError?.args?.[1]) {
|
|
116
112
|
throw new Error("Unexpected error");
|
|
117
113
|
}
|
|
118
114
|
try {
|
|
119
|
-
const decodedError =
|
|
120
|
-
abi:
|
|
115
|
+
const decodedError = decodeErrorResult({
|
|
116
|
+
abi: EntryPointV07SimulationsAbi,
|
|
121
117
|
data: decodedDelegateAndError.args[1]
|
|
122
118
|
});
|
|
123
119
|
if (decodedError &&
|
|
@@ -126,7 +122,7 @@ function getSimulateHandleOpResult(data) {
|
|
|
126
122
|
return {
|
|
127
123
|
result: "failed",
|
|
128
124
|
data: decodedError.args[1],
|
|
129
|
-
code:
|
|
125
|
+
code: ValidationErrors.SimulateValidation
|
|
130
126
|
};
|
|
131
127
|
}
|
|
132
128
|
if (decodedError &&
|
|
@@ -135,13 +131,13 @@ function getSimulateHandleOpResult(data) {
|
|
|
135
131
|
return {
|
|
136
132
|
result: "failed",
|
|
137
133
|
data: parseFailedOpWithRevert(decodedError.args?.[2]),
|
|
138
|
-
code:
|
|
134
|
+
code: ValidationErrors.SimulateValidation
|
|
139
135
|
};
|
|
140
136
|
}
|
|
141
137
|
}
|
|
142
138
|
catch {
|
|
143
139
|
// no error we go the result
|
|
144
|
-
const decodedResult =
|
|
140
|
+
const decodedResult = decodeAbiParameters([
|
|
145
141
|
{
|
|
146
142
|
components: [
|
|
147
143
|
{
|
|
@@ -188,8 +184,8 @@ function getSimulateHandleOpResult(data) {
|
|
|
188
184
|
throw new Error("Unexpected error");
|
|
189
185
|
}
|
|
190
186
|
async function callPimlicoEntryPointSimulations(publicClient, entryPoint, entryPointSimulationsCallData, entryPointSimulationsAddress, stateOverride) {
|
|
191
|
-
const callData =
|
|
192
|
-
abi:
|
|
187
|
+
const callData = encodeFunctionData({
|
|
188
|
+
abi: PimlicoEntryPointSimulationsAbi,
|
|
193
189
|
functionName: "simulateEntryPoint",
|
|
194
190
|
args: [entryPoint, entryPointSimulationsCallData]
|
|
195
191
|
});
|
|
@@ -205,24 +201,24 @@ async function callPimlicoEntryPointSimulations(publicClient, entryPoint, entryP
|
|
|
205
201
|
stateOverride
|
|
206
202
|
]
|
|
207
203
|
}));
|
|
208
|
-
const returnBytes =
|
|
204
|
+
const returnBytes = decodeAbiParameters([{ name: "ret", type: "bytes[]" }], result);
|
|
209
205
|
return returnBytes[0];
|
|
210
206
|
}
|
|
211
|
-
async function simulateHandleOp(userOperation, entryPoint, publicClient, replacedEntryPoint, targetAddress, targetCallData, entryPointSimulationsAddress, stateOverride = {}) {
|
|
207
|
+
export async function simulateHandleOp(userOperation, entryPoint, publicClient, replacedEntryPoint, targetAddress, targetCallData, entryPointSimulationsAddress, stateOverride = {}) {
|
|
212
208
|
const finalParam = getStateOverrides({
|
|
213
209
|
userOperation,
|
|
214
210
|
entryPoint,
|
|
215
211
|
replacedEntryPoint,
|
|
216
212
|
stateOverride
|
|
217
213
|
});
|
|
218
|
-
const packedUserOperation =
|
|
219
|
-
const entryPointSimulationsSimulateHandleOpCallData =
|
|
220
|
-
abi:
|
|
214
|
+
const packedUserOperation = toPackedUserOperation(userOperation);
|
|
215
|
+
const entryPointSimulationsSimulateHandleOpCallData = encodeFunctionData({
|
|
216
|
+
abi: EntryPointV07SimulationsAbi,
|
|
221
217
|
functionName: "simulateHandleOp",
|
|
222
218
|
args: [packedUserOperation]
|
|
223
219
|
});
|
|
224
|
-
const entryPointSimulationsSimulateTargetCallData =
|
|
225
|
-
abi:
|
|
220
|
+
const entryPointSimulationsSimulateTargetCallData = encodeFunctionData({
|
|
221
|
+
abi: EntryPointV07SimulationsAbi,
|
|
226
222
|
functionName: "simulateCallData",
|
|
227
223
|
args: [packedUserOperation, targetAddress, targetCallData]
|
|
228
224
|
});
|
|
@@ -236,18 +232,17 @@ async function simulateHandleOp(userOperation, entryPoint, publicClient, replace
|
|
|
236
232
|
}
|
|
237
233
|
return getSimulateHandleOpResult(cause[0]);
|
|
238
234
|
}
|
|
239
|
-
exports.simulateHandleOp = simulateHandleOp;
|
|
240
235
|
function getSimulateValidationResult(errorData) {
|
|
241
|
-
const decodedDelegateAndError =
|
|
242
|
-
abi:
|
|
236
|
+
const decodedDelegateAndError = decodeErrorResult({
|
|
237
|
+
abi: EntryPointV07Abi,
|
|
243
238
|
data: errorData
|
|
244
239
|
});
|
|
245
240
|
if (!decodedDelegateAndError?.args?.[1]) {
|
|
246
241
|
throw new Error("Unexpected error");
|
|
247
242
|
}
|
|
248
243
|
try {
|
|
249
|
-
const decodedError =
|
|
250
|
-
abi:
|
|
244
|
+
const decodedError = decodeErrorResult({
|
|
245
|
+
abi: EntryPointV07SimulationsAbi,
|
|
251
246
|
data: decodedDelegateAndError.args[1]
|
|
252
247
|
});
|
|
253
248
|
if (decodedError &&
|
|
@@ -268,7 +263,7 @@ function getSimulateValidationResult(errorData) {
|
|
|
268
263
|
}
|
|
269
264
|
}
|
|
270
265
|
catch {
|
|
271
|
-
const decodedResult =
|
|
266
|
+
const decodedResult = decodeAbiParameters([
|
|
272
267
|
{
|
|
273
268
|
components: [
|
|
274
269
|
{
|
|
@@ -396,11 +391,11 @@ function getSimulateValidationResult(errorData) {
|
|
|
396
391
|
}
|
|
397
392
|
throw new Error("Unexpected error - errorName is not ValidationResult or ValidationResultWithAggregation");
|
|
398
393
|
}
|
|
399
|
-
async function simulateValidation(userOperation, queuedUserOperations, entryPoint, publicClient, entryPointSimulationsAddress) {
|
|
394
|
+
export async function simulateValidation(userOperation, queuedUserOperations, entryPoint, publicClient, entryPointSimulationsAddress) {
|
|
400
395
|
const userOperations = [...queuedUserOperations, userOperation];
|
|
401
|
-
const packedUserOperations = userOperations.map(uo =>
|
|
402
|
-
const entryPointSimulationsCallData =
|
|
403
|
-
abi:
|
|
396
|
+
const packedUserOperations = userOperations.map(uo => toPackedUserOperation(uo));
|
|
397
|
+
const entryPointSimulationsCallData = encodeFunctionData({
|
|
398
|
+
abi: EntryPointV07SimulationsAbi,
|
|
404
399
|
functionName: "simulateValidationLast",
|
|
405
400
|
args: [packedUserOperations]
|
|
406
401
|
});
|
|
@@ -409,5 +404,4 @@ async function simulateValidation(userOperation, queuedUserOperations, entryPoin
|
|
|
409
404
|
simulateValidationResult: getSimulateValidationResult(errorResult[0])
|
|
410
405
|
};
|
|
411
406
|
}
|
|
412
|
-
exports.simulateValidation = simulateValidation;
|
|
413
407
|
//# sourceMappingURL=EntryPointSimulationsV07.js.map
|