@pimlico/alto 0.0.2 → 0.0.3
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.d.ts +6 -0
- package/esm/cli/alto.js +92 -0
- package/esm/cli/alto.js.map +1 -0
- package/esm/cli/config/bundler.d.ts +397 -0
- package/esm/cli/config/bundler.js +133 -0
- package/esm/cli/config/bundler.js.map +1 -0
- package/esm/cli/config/index.d.ts +3 -0
- package/esm/cli/config/index.js +3 -0
- package/esm/cli/config/index.js.map +1 -0
- package/esm/cli/config/options.d.ts +11 -0
- package/esm/cli/config/options.js +342 -0
- package/esm/cli/config/options.js.map +1 -0
- package/esm/cli/customTransport.d.ts +14 -0
- package/esm/cli/customTransport.js +53 -0
- package/esm/cli/customTransport.js.map +1 -0
- package/esm/cli/handler.d.ts +3 -0
- package/esm/cli/handler.js +116 -0
- package/esm/cli/handler.js.map +1 -0
- package/esm/cli/index.d.ts +4 -0
- package/esm/cli/index.js +4 -0
- package/esm/cli/index.js.map +1 -0
- package/esm/cli/instrumentation.d.ts +2 -0
- package/esm/cli/instrumentation.js +39 -0
- package/esm/cli/instrumentation.js.map +1 -0
- package/esm/cli/setupServer.d.ts +17 -0
- package/esm/cli/setupServer.js +155 -0
- package/esm/cli/setupServer.js.map +1 -0
- package/esm/cli/util.d.ts +22 -0
- package/esm/cli/util.js +30 -0
- package/esm/cli/util.js.map +1 -0
- package/esm/executor/executor.d.ts +55 -0
- package/esm/executor/executor.js +645 -0
- package/esm/executor/executor.js.map +1 -0
- package/esm/executor/executorManager.d.ts +34 -0
- package/esm/executor/executorManager.js +402 -0
- package/esm/executor/executorManager.js.map +1 -0
- package/esm/executor/index.d.ts +5 -0
- package/esm/executor/index.js +5 -0
- package/esm/executor/index.js.map +1 -0
- package/esm/executor/senderManager.d.ts +17 -0
- package/esm/executor/senderManager.js +160 -0
- package/esm/executor/senderManager.js.map +1 -0
- package/esm/executor/test/utils.d.ts +13 -0
- package/esm/executor/test/utils.js +75 -0
- package/esm/executor/test/utils.js.map +1 -0
- package/esm/executor/utils.d.ts +32 -0
- package/esm/executor/utils.js +241 -0
- package/esm/executor/utils.js.map +1 -0
- package/esm/index.d.ts +2 -0
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -0
- package/esm/mempool/index.d.ts +5 -0
- package/esm/mempool/index.js +5 -0
- package/esm/mempool/index.js.map +1 -0
- package/esm/mempool/mempool.d.ts +64 -0
- package/esm/mempool/mempool.js +489 -0
- package/esm/mempool/mempool.js.map +1 -0
- package/esm/mempool/monitoring.d.ts +10 -0
- package/esm/mempool/monitoring.js +34 -0
- package/esm/mempool/monitoring.js.map +1 -0
- package/esm/mempool/nullMempool.d.ts +15 -0
- package/esm/mempool/nullMempool.js +36 -0
- package/esm/mempool/nullMempool.js.map +1 -0
- package/esm/mempool/reputationManager.d.ts +115 -0
- package/esm/mempool/reputationManager.js +397 -0
- package/esm/mempool/reputationManager.js.map +1 -0
- package/esm/mempool/store.d.ts +22 -0
- package/esm/mempool/store.js +123 -0
- package/esm/mempool/store.js.map +1 -0
- package/esm/rpc/EntryPointSimulationsV07.d.ts +58 -0
- package/esm/rpc/EntryPointSimulationsV07.js +407 -0
- package/esm/rpc/EntryPointSimulationsV07.js.map +1 -0
- package/esm/rpc/ExecuteSimulator.d.ts +37 -0
- package/esm/rpc/ExecuteSimulator.js +48 -0
- package/esm/rpc/ExecuteSimulator.js.map +1 -0
- package/esm/rpc/gasEstimation.d.ts +17 -0
- package/esm/rpc/gasEstimation.js +410 -0
- package/esm/rpc/gasEstimation.js.map +1 -0
- package/esm/rpc/index.d.ts +5 -0
- package/esm/rpc/index.js +5 -0
- package/esm/rpc/index.js.map +1 -0
- package/esm/rpc/nonceQueuer.d.ts +25 -0
- package/esm/rpc/nonceQueuer.js +135 -0
- package/esm/rpc/nonceQueuer.js.map +1 -0
- package/esm/rpc/rpcHandler.d.ts +64 -0
- package/esm/rpc/rpcHandler.js +727 -0
- package/esm/rpc/rpcHandler.js.map +1 -0
- package/esm/rpc/server.d.ts +31 -0
- package/esm/rpc/server.js +239 -0
- package/esm/rpc/server.js.map +1 -0
- package/esm/rpc/validation/BundlerCollectorTracerV06.d.ts +102 -0
- package/esm/rpc/validation/BundlerCollectorTracerV06.js +255 -0
- package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +1 -0
- package/esm/rpc/validation/BundlerCollectorTracerV07.d.ts +102 -0
- package/esm/rpc/validation/BundlerCollectorTracerV07.js +254 -0
- package/esm/rpc/validation/BundlerCollectorTracerV07.js.map +1 -0
- package/esm/rpc/validation/SafeValidator.d.ts +35 -0
- package/esm/rpc/validation/SafeValidator.js +487 -0
- package/esm/rpc/validation/SafeValidator.js.map +1 -0
- package/esm/rpc/validation/TracerResultParserV06.d.ts +13 -0
- package/esm/rpc/validation/TracerResultParserV06.js +578 -0
- package/esm/rpc/validation/TracerResultParserV06.js.map +1 -0
- package/esm/rpc/validation/TracerResultParserV07.d.ts +33 -0
- package/esm/rpc/validation/TracerResultParserV07.js +557 -0
- package/esm/rpc/validation/TracerResultParserV07.js.map +1 -0
- package/esm/rpc/validation/UnsafeValidator.d.ts +63 -0
- package/esm/rpc/validation/UnsafeValidator.js +257 -0
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -0
- package/esm/rpc/validation/index.d.ts +3 -0
- package/esm/rpc/validation/index.js +3 -0
- package/esm/rpc/validation/index.js.map +1 -0
- package/esm/rpc/validation/tracer.d.ts +122 -0
- package/esm/rpc/validation/tracer.js +82 -0
- package/esm/rpc/validation/tracer.js.map +1 -0
- package/esm/types/contracts/BundleBulker.d.ts +120 -0
- package/esm/types/contracts/BundleBulker.js +157 -0
- package/esm/types/contracts/BundleBulker.js.map +1 -0
- package/esm/types/contracts/CallEngine.d.ts +28 -0
- package/esm/types/contracts/CallEngine.js +37 -0
- package/esm/types/contracts/CallEngine.js.map +1 -0
- package/esm/types/contracts/CodeHashGetter.d.ts +37 -0
- package/esm/types/contracts/CodeHashGetter.js +45 -0
- package/esm/types/contracts/CodeHashGetter.js.map +1 -0
- package/esm/types/contracts/EntryPoint.d.ts +1789 -0
- package/esm/types/contracts/EntryPoint.js +2304 -0
- package/esm/types/contracts/EntryPoint.js.map +1 -0
- package/esm/types/contracts/EntryPointSimulations.d.ts +153 -0
- package/esm/types/contracts/EntryPointSimulations.js +15 -0
- package/esm/types/contracts/EntryPointSimulations.js.map +1 -0
- package/esm/types/contracts/IOpInflator.d.ts +61 -0
- package/esm/types/contracts/IOpInflator.js +80 -0
- package/esm/types/contracts/IOpInflator.js.map +1 -0
- package/esm/types/contracts/IPaymaster.d.ts +3 -0
- package/esm/types/contracts/IPaymaster.js +117 -0
- package/esm/types/contracts/IPaymaster.js.map +1 -0
- package/esm/types/contracts/Inflator.d.ts +65 -0
- package/esm/types/contracts/Inflator.js +84 -0
- package/esm/types/contracts/Inflator.js.map +1 -0
- package/esm/types/contracts/PerOpInflator.d.ts +176 -0
- package/esm/types/contracts/PerOpInflator.js +229 -0
- package/esm/types/contracts/PerOpInflator.js.map +1 -0
- package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +23 -0
- package/esm/types/contracts/PimlicoEntryPointSimulations.js +33 -0
- package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -0
- package/esm/types/contracts/SenderCreator.d.ts +4 -0
- package/esm/types/contracts/SenderCreator.js +23 -0
- package/esm/types/contracts/SenderCreator.js.map +1 -0
- package/esm/types/contracts/SimpleAccountFactory.d.ts +57 -0
- package/esm/types/contracts/SimpleAccountFactory.js +76 -0
- package/esm/types/contracts/SimpleAccountFactory.js.map +1 -0
- package/esm/types/contracts/TestOpcodesAccount.d.ts +4 -0
- package/esm/types/contracts/TestOpcodesAccount.js +281 -0
- package/esm/types/contracts/TestOpcodesAccount.js.map +1 -0
- package/esm/types/contracts/TestOpcodesAccountFactory.d.ts +4 -0
- package/esm/types/contracts/TestOpcodesAccountFactory.js +23 -0
- package/esm/types/contracts/TestOpcodesAccountFactory.js.map +1 -0
- package/esm/types/contracts/TestStorageAccount.d.ts +4 -0
- package/esm/types/contracts/TestStorageAccount.js +313 -0
- package/esm/types/contracts/TestStorageAccount.js.map +1 -0
- package/esm/types/contracts/index.d.ts +17 -0
- package/esm/types/contracts/index.js +17 -0
- package/esm/types/contracts/index.js.map +1 -0
- package/esm/types/gasPrice.d.ts +110 -0
- package/esm/types/gasPrice.js +52 -0
- package/esm/types/gasPrice.js.map +1 -0
- package/esm/types/index.d.ts +11 -0
- package/esm/types/index.js +11 -0
- package/esm/types/index.js.map +1 -0
- package/esm/types/interfaces.d.ts +26 -0
- package/esm/types/interfaces.js +2 -0
- package/esm/types/interfaces.js.map +1 -0
- package/esm/types/mempool.d.ts +79 -0
- package/esm/types/mempool.js +16 -0
- package/esm/types/mempool.js.map +1 -0
- package/esm/types/schemas.d.ts +4791 -0
- package/esm/types/schemas.js +497 -0
- package/esm/types/schemas.js.map +1 -0
- package/esm/types/test/validationTestErrors.d.ts +3 -0
- package/esm/types/test/validationTestErrors.js +229 -0
- package/esm/types/test/validationTestErrors.js.map +1 -0
- package/esm/types/utils.d.ts +24 -0
- package/esm/types/utils.js +30 -0
- package/esm/types/utils.js.map +1 -0
- package/esm/types/validation.d.ts +14327 -0
- package/esm/types/validation.js +304 -0
- package/esm/types/validation.js.map +1 -0
- package/esm/utils/bigInt.d.ts +3 -0
- package/esm/utils/bigInt.js +9 -0
- package/esm/utils/bigInt.js.map +1 -0
- package/esm/utils/compressionHandler.d.ts +11 -0
- package/esm/utils/compressionHandler.js +39 -0
- package/esm/utils/compressionHandler.js.map +1 -0
- package/esm/utils/gasPriceManager.d.ts +34 -0
- package/esm/utils/gasPriceManager.js +338 -0
- package/esm/utils/gasPriceManager.js.map +1 -0
- package/esm/utils/helpers.d.ts +4 -0
- package/esm/utils/helpers.js +13 -0
- package/esm/utils/helpers.js.map +1 -0
- package/esm/utils/index.d.ts +11 -0
- package/esm/utils/index.js +10 -0
- package/esm/utils/index.js.map +1 -0
- package/esm/utils/logger.d.ts +6 -0
- package/esm/utils/logger.js +76 -0
- package/esm/utils/logger.js.map +1 -0
- package/esm/utils/metrics.d.ts +22 -0
- package/esm/utils/metrics.js +150 -0
- package/esm/utils/metrics.js.map +1 -0
- package/esm/utils/rpc-reply.d.ts +17 -0
- package/esm/utils/rpc-reply.js +41 -0
- package/esm/utils/rpc-reply.js.map +1 -0
- package/esm/utils/test.d.ts +17 -0
- package/esm/utils/test.js +130 -0
- package/esm/utils/test.js.map +1 -0
- package/esm/utils/userop.d.ts +49 -0
- package/esm/utils/userop.js +408 -0
- package/esm/utils/userop.js.map +1 -0
- package/esm/utils/validation.d.ts +65 -0
- package/esm/utils/validation.js +461 -0
- package/esm/utils/validation.js.map +1 -0
- package/lib/cli/config/bundler.d.ts +6 -0
- package/lib/cli/config/bundler.js +2 -1
- package/lib/cli/config/bundler.js.map +1 -1
- package/lib/cli/config/options.js +6 -0
- package/lib/cli/config/options.js.map +1 -1
- package/lib/cli/setupServer.js +1 -1
- package/lib/cli/setupServer.js.map +1 -1
- package/lib/executor/executor.d.ts +2 -1
- package/lib/executor/executor.js +6 -4
- package/lib/executor/executor.js.map +1 -1
- package/lib/executor/utils.d.ts +1 -1
- package/lib/executor/utils.js +4 -4
- package/lib/executor/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SenderManager } from "../executor/index.js";
|
|
2
|
+
import type { GasPriceManager, Logger, Metrics } from "../utils/index.js";
|
|
3
|
+
import type { Registry } from "prom-client";
|
|
4
|
+
import type { Chain, PublicClient, Transport, WalletClient } from "viem";
|
|
5
|
+
import type { IOptions } from "./config/index.js";
|
|
6
|
+
export declare const setupServer: ({ client, walletClient, parsedArgs, logger, rootLogger, registry, metrics, senderManager, gasPriceManager }: {
|
|
7
|
+
client: PublicClient<Transport, Chain>;
|
|
8
|
+
walletClient: WalletClient<Transport, Chain>;
|
|
9
|
+
parsedArgs: IOptions;
|
|
10
|
+
logger: Logger;
|
|
11
|
+
rootLogger: Logger;
|
|
12
|
+
registry: Registry;
|
|
13
|
+
metrics: Metrics;
|
|
14
|
+
senderManager: SenderManager;
|
|
15
|
+
gasPriceManager: GasPriceManager;
|
|
16
|
+
}) => Promise<void>;
|
|
17
|
+
//# sourceMappingURL=setupServer.d.ts.map
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { Executor, ExecutorManager } from "../executor/index.js";
|
|
2
|
+
import { MemoryMempool, Monitor, NullReputationManager, ReputationManager } from "../mempool/index.js";
|
|
3
|
+
import { NonceQueuer, RpcHandler, SafeValidator, Server, UnsafeValidator } from "../rpc/index.js";
|
|
4
|
+
import { CompressionHandler } from "../utils/index.js";
|
|
5
|
+
const getReputationManager = ({ client, parsedArgs, logger }) => {
|
|
6
|
+
if (parsedArgs["safe-mode"]) {
|
|
7
|
+
return new ReputationManager(client, parsedArgs.entrypoints, BigInt(parsedArgs["min-entity-stake"]), BigInt(parsedArgs["min-entity-unstake-delay"]), logger.child({ module: "reputation_manager" }, {
|
|
8
|
+
level: parsedArgs["reputation-manager-log-level"] ||
|
|
9
|
+
parsedArgs["log-level"]
|
|
10
|
+
}));
|
|
11
|
+
}
|
|
12
|
+
return new NullReputationManager();
|
|
13
|
+
};
|
|
14
|
+
const getValidator = ({ client, parsedArgs, logger, senderManager, metrics, gasPriceManager }) => {
|
|
15
|
+
if (parsedArgs["safe-mode"]) {
|
|
16
|
+
return new SafeValidator(client, senderManager, logger.child({ module: "rpc" }, {
|
|
17
|
+
level: parsedArgs["rpc-log-level"] || parsedArgs["log-level"]
|
|
18
|
+
}), metrics, gasPriceManager, parsedArgs["chain-type"], parsedArgs["entrypoint-simulation-contract"], parsedArgs["fixed-gas-limit-for-estimation"], parsedArgs.tenderly, parsedArgs["balance-override"]);
|
|
19
|
+
}
|
|
20
|
+
return new UnsafeValidator(client, logger.child({ module: "rpc" }, { level: parsedArgs["rpc-log-level"] || parsedArgs["log-level"] }), metrics, gasPriceManager, parsedArgs["chain-type"], parsedArgs["entrypoint-simulation-contract"], parsedArgs["fixed-gas-limit-for-estimation"], parsedArgs.tenderly, parsedArgs["balance-override"], parsedArgs["expiration-check"]);
|
|
21
|
+
};
|
|
22
|
+
const getMonitor = () => {
|
|
23
|
+
return new Monitor();
|
|
24
|
+
};
|
|
25
|
+
const getMempool = ({ monitor, reputationManager, validator, client, parsedArgs, logger, metrics }) => {
|
|
26
|
+
return new MemoryMempool(monitor, reputationManager, validator, client, parsedArgs["safe-mode"], logger.child({ module: "mempool" }, {
|
|
27
|
+
level: parsedArgs["mempool-log-level"] || parsedArgs["log-level"]
|
|
28
|
+
}), metrics, parsedArgs["mempool-max-parallel-ops"], parsedArgs["mempool-max-queued-ops"], parsedArgs["enforce-unique-senders-per-bundle"]);
|
|
29
|
+
};
|
|
30
|
+
const getCompressionHandler = async ({ client, parsedArgs }) => {
|
|
31
|
+
let compressionHandler = null;
|
|
32
|
+
if (parsedArgs["bundle-bulker-address"] !== undefined &&
|
|
33
|
+
parsedArgs["per-op-inflator-address"] !== undefined) {
|
|
34
|
+
compressionHandler = await CompressionHandler.createAsync(parsedArgs["bundle-bulker-address"], parsedArgs["per-op-inflator-address"], client);
|
|
35
|
+
}
|
|
36
|
+
return compressionHandler;
|
|
37
|
+
};
|
|
38
|
+
const getExecutor = ({ client, walletClient, senderManager, reputationManager, parsedArgs, logger, metrics, compressionHandler, gasPriceManager }) => {
|
|
39
|
+
return new Executor(client, walletClient, senderManager, reputationManager, parsedArgs.entrypoints, logger.child({ module: "executor" }, {
|
|
40
|
+
level: parsedArgs["executor-log-level"] || parsedArgs["log-level"]
|
|
41
|
+
}), metrics, compressionHandler, gasPriceManager, !parsedArgs.tenderly, parsedArgs["legacy-transactions"], parsedArgs["fixed-gas-limit-for-estimation"], parsedArgs["block-tag-support-disabled"], parsedArgs["local-gas-limit-calculation"]);
|
|
42
|
+
};
|
|
43
|
+
const getExecutorManager = ({ executor, mempool, monitor, reputationManager, client, parsedArgs, logger, metrics, gasPriceManager }) => {
|
|
44
|
+
return new ExecutorManager(executor, parsedArgs.entrypoints, mempool, monitor, reputationManager, client, parsedArgs["polling-interval"], logger.child({ module: "executor" }, {
|
|
45
|
+
level: parsedArgs["executor-log-level"] || parsedArgs["log-level"]
|
|
46
|
+
}), metrics, parsedArgs["bundle-mode"], parsedArgs["max-bundle-wait"], parsedArgs["max-gas-per-bundle"], gasPriceManager);
|
|
47
|
+
};
|
|
48
|
+
const getNonceQueuer = ({ mempool, client, parsedArgs, logger }) => {
|
|
49
|
+
return new NonceQueuer(mempool, client, logger.child({ module: "nonce_queuer" }, {
|
|
50
|
+
level: parsedArgs["nonce-queuer-log-level"] ||
|
|
51
|
+
parsedArgs["log-level"]
|
|
52
|
+
}));
|
|
53
|
+
};
|
|
54
|
+
const getRpcHandler = ({ client, validator, mempool, executor, monitor, nonceQueuer, executorManager, reputationManager, parsedArgs, logger, metrics, compressionHandler, gasPriceManager }) => {
|
|
55
|
+
return new RpcHandler(parsedArgs.entrypoints, client, validator, mempool, executor, monitor, nonceQueuer, executorManager, reputationManager, parsedArgs.tenderly ?? false, parsedArgs["max-block-range"], logger.child({ module: "rpc" }, { level: parsedArgs["rpc-log-level"] || parsedArgs["log-level"] }), metrics, parsedArgs["enable-debug-endpoints"], compressionHandler, parsedArgs["legacy-transactions"], gasPriceManager, parsedArgs["gas-price-multipliers"], parsedArgs["chain-type"], parsedArgs["paymaster-gas-limit-multiplier"], parsedArgs["dangerous-skip-user-operation-validation"]);
|
|
56
|
+
};
|
|
57
|
+
const getServer = ({ rpcEndpoint, parsedArgs, logger, registry, metrics }) => {
|
|
58
|
+
return new Server(rpcEndpoint, parsedArgs["api-version"], parsedArgs["default-api-version"], parsedArgs.port, parsedArgs.timeout, parsedArgs["websocket-max-payload-size"], parsedArgs.websocket, logger.child({ module: "rpc" }, { level: parsedArgs["rpc-log-level"] || parsedArgs["log-level"] }), registry, metrics);
|
|
59
|
+
};
|
|
60
|
+
export const setupServer = async ({ client, walletClient, parsedArgs, logger, rootLogger, registry, metrics, senderManager, gasPriceManager }) => {
|
|
61
|
+
const validator = getValidator({
|
|
62
|
+
client,
|
|
63
|
+
logger,
|
|
64
|
+
parsedArgs,
|
|
65
|
+
senderManager,
|
|
66
|
+
metrics,
|
|
67
|
+
gasPriceManager
|
|
68
|
+
});
|
|
69
|
+
const reputationManager = getReputationManager({
|
|
70
|
+
client,
|
|
71
|
+
parsedArgs,
|
|
72
|
+
logger
|
|
73
|
+
});
|
|
74
|
+
await senderManager.validateAndRefillWallets(client, walletClient, parsedArgs["min-executor-balance"]);
|
|
75
|
+
setInterval(async () => {
|
|
76
|
+
await senderManager.validateAndRefillWallets(client, walletClient, parsedArgs["min-executor-balance"]);
|
|
77
|
+
}, parsedArgs["executor-refill-interval"] * 1000);
|
|
78
|
+
const monitor = getMonitor();
|
|
79
|
+
const mempool = getMempool({
|
|
80
|
+
monitor,
|
|
81
|
+
reputationManager,
|
|
82
|
+
validator,
|
|
83
|
+
client,
|
|
84
|
+
parsedArgs,
|
|
85
|
+
logger,
|
|
86
|
+
metrics
|
|
87
|
+
});
|
|
88
|
+
const compressionHandler = await getCompressionHandler({
|
|
89
|
+
client,
|
|
90
|
+
parsedArgs
|
|
91
|
+
});
|
|
92
|
+
const executor = getExecutor({
|
|
93
|
+
client,
|
|
94
|
+
walletClient,
|
|
95
|
+
senderManager,
|
|
96
|
+
reputationManager,
|
|
97
|
+
parsedArgs,
|
|
98
|
+
logger,
|
|
99
|
+
metrics,
|
|
100
|
+
compressionHandler,
|
|
101
|
+
gasPriceManager
|
|
102
|
+
});
|
|
103
|
+
const executorManager = getExecutorManager({
|
|
104
|
+
executor,
|
|
105
|
+
mempool,
|
|
106
|
+
monitor,
|
|
107
|
+
reputationManager,
|
|
108
|
+
client,
|
|
109
|
+
parsedArgs,
|
|
110
|
+
logger,
|
|
111
|
+
metrics,
|
|
112
|
+
gasPriceManager
|
|
113
|
+
});
|
|
114
|
+
const nonceQueuer = getNonceQueuer({ mempool, client, parsedArgs, logger });
|
|
115
|
+
const rpcEndpoint = getRpcHandler({
|
|
116
|
+
client,
|
|
117
|
+
validator,
|
|
118
|
+
mempool,
|
|
119
|
+
executor,
|
|
120
|
+
monitor,
|
|
121
|
+
nonceQueuer,
|
|
122
|
+
executorManager,
|
|
123
|
+
reputationManager,
|
|
124
|
+
parsedArgs,
|
|
125
|
+
logger,
|
|
126
|
+
metrics,
|
|
127
|
+
compressionHandler,
|
|
128
|
+
gasPriceManager
|
|
129
|
+
});
|
|
130
|
+
if (parsedArgs["flush-stuck-transactions-during-startup"]) {
|
|
131
|
+
executor.flushStuckTransactions();
|
|
132
|
+
}
|
|
133
|
+
rootLogger.info(`Initialized ${senderManager.wallets.length} executor wallets`);
|
|
134
|
+
const server = getServer({
|
|
135
|
+
rpcEndpoint,
|
|
136
|
+
parsedArgs,
|
|
137
|
+
logger,
|
|
138
|
+
registry,
|
|
139
|
+
metrics
|
|
140
|
+
});
|
|
141
|
+
server.start();
|
|
142
|
+
const gracefulShutdown = async (signal) => {
|
|
143
|
+
rootLogger.info(`${signal} received, shutting down`);
|
|
144
|
+
await server.stop();
|
|
145
|
+
rootLogger.info("server stopped");
|
|
146
|
+
const outstanding = mempool.dumpOutstanding().length;
|
|
147
|
+
const submitted = mempool.dumpSubmittedOps().length;
|
|
148
|
+
const processing = mempool.dumpProcessing().length;
|
|
149
|
+
rootLogger.info({ outstanding, submitted, processing }, "dumping mempool before shutdown");
|
|
150
|
+
process.exit(0);
|
|
151
|
+
};
|
|
152
|
+
process.on("SIGINT", gracefulShutdown);
|
|
153
|
+
process.on("SIGTERM", gracefulShutdown);
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=setupServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupServer.js","sourceRoot":"","sources":["../../cli/setupServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Argv, Options } from "yargs";
|
|
2
|
+
export type CliCommandOptions<OwnArgs> = Required<{
|
|
3
|
+
[key in keyof OwnArgs]: Options;
|
|
4
|
+
}>;
|
|
5
|
+
export interface CliCommand<OwnArgs = Record<never, never>, ParentArgs = Record<never, never>, R = any> {
|
|
6
|
+
command: string;
|
|
7
|
+
describe: string;
|
|
8
|
+
examples?: {
|
|
9
|
+
command: string;
|
|
10
|
+
description: string;
|
|
11
|
+
}[];
|
|
12
|
+
options?: CliCommandOptions<OwnArgs>;
|
|
13
|
+
subcommands?: CliCommand<any, OwnArgs & ParentArgs>[];
|
|
14
|
+
handler?: (args: OwnArgs & ParentArgs) => Promise<R>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Register a CliCommand type to yargs. Recursively registers subcommands too.
|
|
18
|
+
* @param yargs
|
|
19
|
+
* @param cliCommand
|
|
20
|
+
*/
|
|
21
|
+
export declare function registerCommandToYargs(yargs: Argv<any>, cliCommand: CliCommand<any, any>): void;
|
|
22
|
+
//# sourceMappingURL=util.d.ts.map
|
package/esm/cli/util.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Register a CliCommand type to yargs. Recursively registers subcommands too.
|
|
3
|
+
* @param yargs
|
|
4
|
+
* @param cliCommand
|
|
5
|
+
*/
|
|
6
|
+
export function registerCommandToYargs(
|
|
7
|
+
// biome-ignore lint/suspicious/noExplicitAny: it's a generic type
|
|
8
|
+
yargs,
|
|
9
|
+
// biome-ignore lint/suspicious/noExplicitAny: it's a generic type
|
|
10
|
+
cliCommand) {
|
|
11
|
+
yargs.command({
|
|
12
|
+
command: cliCommand.command,
|
|
13
|
+
describe: cliCommand.describe,
|
|
14
|
+
builder: (yargsBuilder) => {
|
|
15
|
+
yargsBuilder.options(cliCommand.options || {});
|
|
16
|
+
for (const subcommand of cliCommand.subcommands || []) {
|
|
17
|
+
registerCommandToYargs(yargsBuilder, subcommand);
|
|
18
|
+
}
|
|
19
|
+
if (cliCommand.examples) {
|
|
20
|
+
for (const example of cliCommand.examples) {
|
|
21
|
+
yargsBuilder.example(`$0 ${example.command}`, example.description);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return yargs;
|
|
25
|
+
},
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
27
|
+
handler: cliCommand.handler || function emptyHandler() { }
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../cli/util.ts"],"names":[],"mappings":"AAuBA;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;AAClC,kEAAkE;AAClE,KAAgB;AAChB,kEAAkE;AAClE,UAAgC;IAEhC,KAAK,CAAC,OAAO,CAAC;QACV,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,OAAO,EAAE,CAAC,YAAY,EAAE,EAAE;YACtB,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;YAC9C,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;gBACpD,sBAAsB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACpD,CAAC;YACD,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACtB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACxC,YAAY,CAAC,OAAO,CAChB,MAAM,OAAO,CAAC,OAAO,EAAE,EACvB,OAAO,CAAC,WAAW,CACtB,CAAA;gBACL,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAA;QAChB,CAAC;QACD,gEAAgE;QAChE,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,SAAS,YAAY,KAAU,CAAC;KAClE,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { SenderManager } from "./index.js";
|
|
2
|
+
import type { InterfaceReputationManager } from "../mempool/index.js";
|
|
3
|
+
import { type Address, type BundleResult, type CompressedUserOperation, type HexData32, type TransactionInfo, type UserOperation } from "../types/index.js";
|
|
4
|
+
import type { GasPriceManager, Logger, Metrics } from "../utils/index.js";
|
|
5
|
+
import { type CompressionHandler } from "../utils/index.js";
|
|
6
|
+
import { Mutex } from "async-mutex";
|
|
7
|
+
import { type Account, type Chain, type PublicClient, type Transport, type WalletClient } from "viem";
|
|
8
|
+
export interface GasEstimateResult {
|
|
9
|
+
preverificationGas: bigint;
|
|
10
|
+
verificationGasLimit: bigint;
|
|
11
|
+
callGasLimit: bigint;
|
|
12
|
+
}
|
|
13
|
+
export type ReplaceTransactionResult = {
|
|
14
|
+
status: "replaced";
|
|
15
|
+
transactionInfo: TransactionInfo;
|
|
16
|
+
} | {
|
|
17
|
+
status: "potentially_already_included";
|
|
18
|
+
} | {
|
|
19
|
+
status: "failed";
|
|
20
|
+
};
|
|
21
|
+
export declare class NullExecutor {
|
|
22
|
+
bundle(_entryPoint: Address, _ops: UserOperation[]): Promise<BundleResult[]>;
|
|
23
|
+
bundleCompressed(_entryPoint: Address, _compressedOps: CompressedUserOperation[]): Promise<BundleResult[]>;
|
|
24
|
+
replaceTransaction(_entryPoint: Address, _transactionInfo: TransactionInfo): Promise<ReplaceTransactionResult>;
|
|
25
|
+
replaceOps(_opHashes: HexData32[]): Promise<void>;
|
|
26
|
+
cancelOps(_entryPoint: Address, _ops: UserOperation[]): Promise<void>;
|
|
27
|
+
markWalletProcessed(_executor: Account): Promise<void>;
|
|
28
|
+
flushStuckTransactions(): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
export declare class Executor {
|
|
31
|
+
publicClient: PublicClient;
|
|
32
|
+
walletClient: WalletClient<Transport, Chain, Account | undefined>;
|
|
33
|
+
entryPoints: Address[];
|
|
34
|
+
senderManager: SenderManager;
|
|
35
|
+
logger: Logger;
|
|
36
|
+
metrics: Metrics;
|
|
37
|
+
simulateTransaction: boolean;
|
|
38
|
+
legacyTransactions: boolean;
|
|
39
|
+
fixedGasLimitForEstimation?: bigint;
|
|
40
|
+
localGasLimitCalculation: boolean;
|
|
41
|
+
reputationManager: InterfaceReputationManager;
|
|
42
|
+
compressionHandler: CompressionHandler | null;
|
|
43
|
+
gasPriceManager: GasPriceManager;
|
|
44
|
+
disableBlockTagSupport: boolean;
|
|
45
|
+
mutex: Mutex;
|
|
46
|
+
constructor(publicClient: PublicClient, walletClient: WalletClient<Transport, Chain, Account | undefined>, senderManager: SenderManager, reputationManager: InterfaceReputationManager, entryPoints: Address[], logger: Logger, metrics: Metrics, compressionHandler: CompressionHandler | null, gasPriceManager: GasPriceManager, simulateTransaction?: boolean, legacyTransactions?: boolean, fixedGasLimitForEstimation?: bigint, disableBlockTagSupport?: boolean, localGasLimitCalculation?: boolean);
|
|
47
|
+
getCompressionHandler(): CompressionHandler;
|
|
48
|
+
cancelOps(_entryPoint: Address, _ops: UserOperation[]): Promise<void>;
|
|
49
|
+
markWalletProcessed(executor: Account): Promise<void>;
|
|
50
|
+
replaceTransaction(transactionInfo: TransactionInfo): Promise<ReplaceTransactionResult>;
|
|
51
|
+
flushStuckTransactions(): Promise<void>;
|
|
52
|
+
bundle(entryPoint: Address, ops: UserOperation[]): Promise<BundleResult[]>;
|
|
53
|
+
bundleCompressed(entryPoint: Address, compressedOps: CompressedUserOperation[]): Promise<BundleResult[]>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=executor.d.ts.map
|