@pimlico/alto 0.0.0-main.20240607T104359 → 0.0.0-staging.20240606T095015
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/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.d.ts +0 -1
- package/lib/cli/index.js +2 -19
- 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 -90
- package/lib/executor/executor.js.map +1 -1
- package/lib/executor/executorManager.js +7 -12
- 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 +32 -64
- package/lib/executor/utils.js.map +1 -1
- package/lib/index.d.ts +5 -1
- package/lib/index.js +91 -3
- 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 +27 -58
- 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.d.ts +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 +68 -70
- package/esm/cli/alto.d.ts +0 -6
- package/esm/cli/alto.js +0 -92
- package/esm/cli/alto.js.map +0 -1
- package/esm/cli/config/bundler.d.ts +0 -391
- package/esm/cli/config/bundler.js +0 -132
- package/esm/cli/config/bundler.js.map +0 -1
- package/esm/cli/config/index.d.ts +0 -3
- package/esm/cli/config/index.js +0 -3
- package/esm/cli/config/index.js.map +0 -1
- package/esm/cli/config/options.d.ts +0 -11
- package/esm/cli/config/options.js +0 -336
- package/esm/cli/config/options.js.map +0 -1
- package/esm/cli/customTransport.d.ts +0 -14
- package/esm/cli/customTransport.js +0 -53
- package/esm/cli/customTransport.js.map +0 -1
- package/esm/cli/handler.d.ts +0 -3
- package/esm/cli/handler.js +0 -116
- package/esm/cli/handler.js.map +0 -1
- package/esm/cli/index.d.ts +0 -4
- package/esm/cli/index.js +0 -4
- package/esm/cli/index.js.map +0 -1
- package/esm/cli/instrumentation.d.ts +0 -2
- package/esm/cli/instrumentation.js +0 -39
- package/esm/cli/instrumentation.js.map +0 -1
- package/esm/cli/setupServer.d.ts +0 -17
- package/esm/cli/setupServer.js +0 -155
- package/esm/cli/setupServer.js.map +0 -1
- package/esm/cli/util.d.ts +0 -22
- package/esm/cli/util.js +0 -30
- package/esm/cli/util.js.map +0 -1
- package/esm/executor/executor.d.ts +0 -54
- package/esm/executor/executor.js +0 -643
- package/esm/executor/executor.js.map +0 -1
- package/esm/executor/executorManager.d.ts +0 -34
- package/esm/executor/executorManager.js +0 -402
- package/esm/executor/executorManager.js.map +0 -1
- package/esm/executor/index.d.ts +0 -5
- package/esm/executor/index.js +0 -5
- package/esm/executor/index.js.map +0 -1
- package/esm/executor/senderManager.d.ts +0 -17
- package/esm/executor/senderManager.js +0 -160
- package/esm/executor/senderManager.js.map +0 -1
- 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/executor/utils.d.ts +0 -32
- package/esm/executor/utils.js +0 -241
- package/esm/executor/utils.js.map +0 -1
- package/esm/index.d.ts +0 -2
- package/esm/index.js +0 -2
- package/esm/index.js.map +0 -1
- package/esm/mempool/index.d.ts +0 -5
- package/esm/mempool/index.js +0 -5
- package/esm/mempool/index.js.map +0 -1
- package/esm/mempool/mempool.d.ts +0 -64
- package/esm/mempool/mempool.js +0 -489
- package/esm/mempool/mempool.js.map +0 -1
- package/esm/mempool/monitoring.d.ts +0 -10
- package/esm/mempool/monitoring.js +0 -34
- package/esm/mempool/monitoring.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/mempool/reputationManager.d.ts +0 -115
- package/esm/mempool/reputationManager.js +0 -397
- package/esm/mempool/reputationManager.js.map +0 -1
- package/esm/mempool/store.d.ts +0 -22
- package/esm/mempool/store.js +0 -123
- package/esm/mempool/store.js.map +0 -1
- package/esm/rpc/EntryPointSimulationsV07.d.ts +0 -58
- package/esm/rpc/EntryPointSimulationsV07.js +0 -407
- package/esm/rpc/EntryPointSimulationsV07.js.map +0 -1
- package/esm/rpc/ExecuteSimulator.d.ts +0 -37
- package/esm/rpc/ExecuteSimulator.js +0 -48
- package/esm/rpc/ExecuteSimulator.js.map +0 -1
- package/esm/rpc/gasEstimation.d.ts +0 -17
- package/esm/rpc/gasEstimation.js +0 -410
- package/esm/rpc/gasEstimation.js.map +0 -1
- package/esm/rpc/index.d.ts +0 -5
- package/esm/rpc/index.js +0 -5
- package/esm/rpc/index.js.map +0 -1
- package/esm/rpc/nonceQueuer.d.ts +0 -25
- package/esm/rpc/nonceQueuer.js +0 -135
- package/esm/rpc/nonceQueuer.js.map +0 -1
- package/esm/rpc/rpcHandler.d.ts +0 -64
- package/esm/rpc/rpcHandler.js +0 -727
- package/esm/rpc/rpcHandler.js.map +0 -1
- package/esm/rpc/server.d.ts +0 -31
- package/esm/rpc/server.js +0 -239
- package/esm/rpc/server.js.map +0 -1
- package/esm/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
- package/esm/rpc/validation/BundlerCollectorTracerV06.js +0 -255
- package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
- package/esm/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
- package/esm/rpc/validation/BundlerCollectorTracerV07.js +0 -254
- package/esm/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
- package/esm/rpc/validation/SafeValidator.d.ts +0 -35
- package/esm/rpc/validation/SafeValidator.js +0 -487
- package/esm/rpc/validation/SafeValidator.js.map +0 -1
- package/esm/rpc/validation/TracerResultParserV06.d.ts +0 -13
- package/esm/rpc/validation/TracerResultParserV06.js +0 -578
- package/esm/rpc/validation/TracerResultParserV06.js.map +0 -1
- package/esm/rpc/validation/TracerResultParserV07.d.ts +0 -33
- package/esm/rpc/validation/TracerResultParserV07.js +0 -557
- package/esm/rpc/validation/TracerResultParserV07.js.map +0 -1
- package/esm/rpc/validation/UnsafeValidator.d.ts +0 -63
- package/esm/rpc/validation/UnsafeValidator.js +0 -257
- package/esm/rpc/validation/UnsafeValidator.js.map +0 -1
- package/esm/rpc/validation/index.d.ts +0 -3
- package/esm/rpc/validation/index.js +0 -3
- package/esm/rpc/validation/index.js.map +0 -1
- package/esm/rpc/validation/tracer.d.ts +0 -122
- package/esm/rpc/validation/tracer.js +0 -82
- package/esm/rpc/validation/tracer.js.map +0 -1
- package/esm/types/contracts/BundleBulker.d.ts +0 -120
- package/esm/types/contracts/BundleBulker.js +0 -157
- package/esm/types/contracts/BundleBulker.js.map +0 -1
- package/esm/types/contracts/CallEngine.d.ts +0 -28
- package/esm/types/contracts/CallEngine.js +0 -37
- package/esm/types/contracts/CallEngine.js.map +0 -1
- package/esm/types/contracts/CodeHashGetter.d.ts +0 -37
- package/esm/types/contracts/CodeHashGetter.js +0 -45
- package/esm/types/contracts/CodeHashGetter.js.map +0 -1
- package/esm/types/contracts/EntryPoint.d.ts +0 -1789
- package/esm/types/contracts/EntryPoint.js +0 -2304
- package/esm/types/contracts/EntryPoint.js.map +0 -1
- package/esm/types/contracts/EntryPointSimulations.d.ts +0 -153
- package/esm/types/contracts/EntryPointSimulations.js +0 -15
- package/esm/types/contracts/EntryPointSimulations.js.map +0 -1
- package/esm/types/contracts/IOpInflator.d.ts +0 -61
- package/esm/types/contracts/IOpInflator.js +0 -80
- package/esm/types/contracts/IOpInflator.js.map +0 -1
- package/esm/types/contracts/IPaymaster.d.ts +0 -3
- package/esm/types/contracts/IPaymaster.js +0 -117
- package/esm/types/contracts/IPaymaster.js.map +0 -1
- package/esm/types/contracts/Inflator.d.ts +0 -65
- package/esm/types/contracts/Inflator.js +0 -84
- package/esm/types/contracts/Inflator.js.map +0 -1
- package/esm/types/contracts/PerOpInflator.d.ts +0 -176
- package/esm/types/contracts/PerOpInflator.js +0 -229
- package/esm/types/contracts/PerOpInflator.js.map +0 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -23
- package/esm/types/contracts/PimlicoEntryPointSimulations.js +0 -33
- package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
- package/esm/types/contracts/SenderCreator.d.ts +0 -4
- package/esm/types/contracts/SenderCreator.js +0 -23
- package/esm/types/contracts/SenderCreator.js.map +0 -1
- package/esm/types/contracts/SimpleAccountFactory.d.ts +0 -57
- package/esm/types/contracts/SimpleAccountFactory.js +0 -76
- package/esm/types/contracts/SimpleAccountFactory.js.map +0 -1
- package/esm/types/contracts/TestOpcodesAccount.d.ts +0 -4
- package/esm/types/contracts/TestOpcodesAccount.js +0 -281
- package/esm/types/contracts/TestOpcodesAccount.js.map +0 -1
- package/esm/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
- package/esm/types/contracts/TestOpcodesAccountFactory.js +0 -23
- package/esm/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
- package/esm/types/contracts/TestStorageAccount.d.ts +0 -4
- package/esm/types/contracts/TestStorageAccount.js +0 -313
- package/esm/types/contracts/TestStorageAccount.js.map +0 -1
- package/esm/types/contracts/index.d.ts +0 -17
- package/esm/types/contracts/index.js +0 -17
- package/esm/types/contracts/index.js.map +0 -1
- package/esm/types/gasPrice.d.ts +0 -110
- package/esm/types/gasPrice.js +0 -52
- package/esm/types/gasPrice.js.map +0 -1
- package/esm/types/index.d.ts +0 -11
- package/esm/types/index.js +0 -11
- package/esm/types/index.js.map +0 -1
- package/esm/types/interfaces.d.ts +0 -26
- package/esm/types/interfaces.js +0 -2
- package/esm/types/interfaces.js.map +0 -1
- package/esm/types/mempool.d.ts +0 -79
- package/esm/types/mempool.js +0 -16
- package/esm/types/mempool.js.map +0 -1
- package/esm/types/schemas.d.ts +0 -4791
- package/esm/types/schemas.js +0 -497
- package/esm/types/schemas.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/types/utils.d.ts +0 -24
- package/esm/types/utils.js +0 -30
- package/esm/types/utils.js.map +0 -1
- package/esm/types/validation.d.ts +0 -14327
- package/esm/types/validation.js +0 -304
- package/esm/types/validation.js.map +0 -1
- package/esm/utils/bigInt.d.ts +0 -3
- package/esm/utils/bigInt.js +0 -9
- package/esm/utils/bigInt.js.map +0 -1
- package/esm/utils/compressionHandler.d.ts +0 -11
- package/esm/utils/compressionHandler.js +0 -39
- package/esm/utils/compressionHandler.js.map +0 -1
- package/esm/utils/gasPriceManager.d.ts +0 -34
- package/esm/utils/gasPriceManager.js +0 -338
- package/esm/utils/gasPriceManager.js.map +0 -1
- package/esm/utils/helpers.d.ts +0 -4
- package/esm/utils/helpers.js +0 -13
- package/esm/utils/helpers.js.map +0 -1
- package/esm/utils/index.d.ts +0 -11
- package/esm/utils/index.js +0 -10
- package/esm/utils/index.js.map +0 -1
- package/esm/utils/logger.d.ts +0 -6
- package/esm/utils/logger.js +0 -76
- package/esm/utils/logger.js.map +0 -1
- package/esm/utils/metrics.d.ts +0 -22
- package/esm/utils/metrics.js +0 -150
- package/esm/utils/metrics.js.map +0 -1
- package/esm/utils/rpc-reply.d.ts +0 -17
- package/esm/utils/rpc-reply.js +0 -41
- package/esm/utils/rpc-reply.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/esm/utils/userop.d.ts +0 -49
- package/esm/utils/userop.js +0 -408
- package/esm/utils/userop.js.map +0 -1
- package/esm/utils/validation.d.ts +0 -65
- package/esm/utils/validation.js +0 -461
- package/esm/utils/validation.js.map +0 -1
- package/lib/cli/alto.d.ts +0 -6
- package/lib/cli/alto.js +0 -123
- package/lib/cli/alto.js.map +0 -1
|
@@ -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
|