@pimlico/alto 0.0.0-main.20240607T104359 → 0.0.0-staging.20240606T093925

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.
Files changed (238) hide show
  1. package/lib/cli/index.d.ts +0 -1
  2. package/lib/cli/index.js +0 -1
  3. package/lib/cli/index.js.map +1 -1
  4. package/lib/executor/executor.js +0 -6
  5. package/lib/executor/executor.js.map +1 -1
  6. package/lib/executor/executorManager.js +0 -1
  7. package/lib/executor/executorManager.js.map +1 -1
  8. package/lib/executor/utils.js +1 -3
  9. package/lib/executor/utils.js.map +1 -1
  10. package/lib/index.d.ts +5 -1
  11. package/lib/index.js +120 -1
  12. package/lib/index.js.map +1 -1
  13. package/lib/rpc/server.js +1 -2
  14. package/lib/rpc/server.js.map +1 -1
  15. package/lib/types/mempool.d.ts +1 -2
  16. package/package.json +67 -70
  17. package/esm/cli/alto.d.ts +0 -6
  18. package/esm/cli/alto.js +0 -92
  19. package/esm/cli/alto.js.map +0 -1
  20. package/esm/cli/config/bundler.d.ts +0 -391
  21. package/esm/cli/config/bundler.js +0 -132
  22. package/esm/cli/config/bundler.js.map +0 -1
  23. package/esm/cli/config/index.d.ts +0 -3
  24. package/esm/cli/config/index.js +0 -3
  25. package/esm/cli/config/index.js.map +0 -1
  26. package/esm/cli/config/options.d.ts +0 -11
  27. package/esm/cli/config/options.js +0 -336
  28. package/esm/cli/config/options.js.map +0 -1
  29. package/esm/cli/customTransport.d.ts +0 -14
  30. package/esm/cli/customTransport.js +0 -53
  31. package/esm/cli/customTransport.js.map +0 -1
  32. package/esm/cli/handler.d.ts +0 -3
  33. package/esm/cli/handler.js +0 -116
  34. package/esm/cli/handler.js.map +0 -1
  35. package/esm/cli/index.d.ts +0 -4
  36. package/esm/cli/index.js +0 -4
  37. package/esm/cli/index.js.map +0 -1
  38. package/esm/cli/instrumentation.d.ts +0 -2
  39. package/esm/cli/instrumentation.js +0 -39
  40. package/esm/cli/instrumentation.js.map +0 -1
  41. package/esm/cli/setupServer.d.ts +0 -17
  42. package/esm/cli/setupServer.js +0 -155
  43. package/esm/cli/setupServer.js.map +0 -1
  44. package/esm/cli/util.d.ts +0 -22
  45. package/esm/cli/util.js +0 -30
  46. package/esm/cli/util.js.map +0 -1
  47. package/esm/executor/executor.d.ts +0 -54
  48. package/esm/executor/executor.js +0 -643
  49. package/esm/executor/executor.js.map +0 -1
  50. package/esm/executor/executorManager.d.ts +0 -34
  51. package/esm/executor/executorManager.js +0 -402
  52. package/esm/executor/executorManager.js.map +0 -1
  53. package/esm/executor/index.d.ts +0 -5
  54. package/esm/executor/index.js +0 -5
  55. package/esm/executor/index.js.map +0 -1
  56. package/esm/executor/senderManager.d.ts +0 -17
  57. package/esm/executor/senderManager.js +0 -160
  58. package/esm/executor/senderManager.js.map +0 -1
  59. package/esm/executor/test/utils.d.ts +0 -13
  60. package/esm/executor/test/utils.js +0 -75
  61. package/esm/executor/test/utils.js.map +0 -1
  62. package/esm/executor/utils.d.ts +0 -32
  63. package/esm/executor/utils.js +0 -241
  64. package/esm/executor/utils.js.map +0 -1
  65. package/esm/index.d.ts +0 -2
  66. package/esm/index.js +0 -2
  67. package/esm/index.js.map +0 -1
  68. package/esm/mempool/index.d.ts +0 -5
  69. package/esm/mempool/index.js +0 -5
  70. package/esm/mempool/index.js.map +0 -1
  71. package/esm/mempool/mempool.d.ts +0 -64
  72. package/esm/mempool/mempool.js +0 -489
  73. package/esm/mempool/mempool.js.map +0 -1
  74. package/esm/mempool/monitoring.d.ts +0 -10
  75. package/esm/mempool/monitoring.js +0 -34
  76. package/esm/mempool/monitoring.js.map +0 -1
  77. package/esm/mempool/nullMempool.d.ts +0 -15
  78. package/esm/mempool/nullMempool.js +0 -36
  79. package/esm/mempool/nullMempool.js.map +0 -1
  80. package/esm/mempool/reputationManager.d.ts +0 -115
  81. package/esm/mempool/reputationManager.js +0 -397
  82. package/esm/mempool/reputationManager.js.map +0 -1
  83. package/esm/mempool/store.d.ts +0 -22
  84. package/esm/mempool/store.js +0 -123
  85. package/esm/mempool/store.js.map +0 -1
  86. package/esm/rpc/EntryPointSimulationsV07.d.ts +0 -58
  87. package/esm/rpc/EntryPointSimulationsV07.js +0 -407
  88. package/esm/rpc/EntryPointSimulationsV07.js.map +0 -1
  89. package/esm/rpc/ExecuteSimulator.d.ts +0 -37
  90. package/esm/rpc/ExecuteSimulator.js +0 -48
  91. package/esm/rpc/ExecuteSimulator.js.map +0 -1
  92. package/esm/rpc/gasEstimation.d.ts +0 -17
  93. package/esm/rpc/gasEstimation.js +0 -410
  94. package/esm/rpc/gasEstimation.js.map +0 -1
  95. package/esm/rpc/index.d.ts +0 -5
  96. package/esm/rpc/index.js +0 -5
  97. package/esm/rpc/index.js.map +0 -1
  98. package/esm/rpc/nonceQueuer.d.ts +0 -25
  99. package/esm/rpc/nonceQueuer.js +0 -135
  100. package/esm/rpc/nonceQueuer.js.map +0 -1
  101. package/esm/rpc/rpcHandler.d.ts +0 -64
  102. package/esm/rpc/rpcHandler.js +0 -727
  103. package/esm/rpc/rpcHandler.js.map +0 -1
  104. package/esm/rpc/server.d.ts +0 -31
  105. package/esm/rpc/server.js +0 -239
  106. package/esm/rpc/server.js.map +0 -1
  107. package/esm/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
  108. package/esm/rpc/validation/BundlerCollectorTracerV06.js +0 -255
  109. package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
  110. package/esm/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
  111. package/esm/rpc/validation/BundlerCollectorTracerV07.js +0 -254
  112. package/esm/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
  113. package/esm/rpc/validation/SafeValidator.d.ts +0 -35
  114. package/esm/rpc/validation/SafeValidator.js +0 -487
  115. package/esm/rpc/validation/SafeValidator.js.map +0 -1
  116. package/esm/rpc/validation/TracerResultParserV06.d.ts +0 -13
  117. package/esm/rpc/validation/TracerResultParserV06.js +0 -578
  118. package/esm/rpc/validation/TracerResultParserV06.js.map +0 -1
  119. package/esm/rpc/validation/TracerResultParserV07.d.ts +0 -33
  120. package/esm/rpc/validation/TracerResultParserV07.js +0 -557
  121. package/esm/rpc/validation/TracerResultParserV07.js.map +0 -1
  122. package/esm/rpc/validation/UnsafeValidator.d.ts +0 -63
  123. package/esm/rpc/validation/UnsafeValidator.js +0 -257
  124. package/esm/rpc/validation/UnsafeValidator.js.map +0 -1
  125. package/esm/rpc/validation/index.d.ts +0 -3
  126. package/esm/rpc/validation/index.js +0 -3
  127. package/esm/rpc/validation/index.js.map +0 -1
  128. package/esm/rpc/validation/tracer.d.ts +0 -122
  129. package/esm/rpc/validation/tracer.js +0 -82
  130. package/esm/rpc/validation/tracer.js.map +0 -1
  131. package/esm/types/contracts/BundleBulker.d.ts +0 -120
  132. package/esm/types/contracts/BundleBulker.js +0 -157
  133. package/esm/types/contracts/BundleBulker.js.map +0 -1
  134. package/esm/types/contracts/CallEngine.d.ts +0 -28
  135. package/esm/types/contracts/CallEngine.js +0 -37
  136. package/esm/types/contracts/CallEngine.js.map +0 -1
  137. package/esm/types/contracts/CodeHashGetter.d.ts +0 -37
  138. package/esm/types/contracts/CodeHashGetter.js +0 -45
  139. package/esm/types/contracts/CodeHashGetter.js.map +0 -1
  140. package/esm/types/contracts/EntryPoint.d.ts +0 -1789
  141. package/esm/types/contracts/EntryPoint.js +0 -2304
  142. package/esm/types/contracts/EntryPoint.js.map +0 -1
  143. package/esm/types/contracts/EntryPointSimulations.d.ts +0 -153
  144. package/esm/types/contracts/EntryPointSimulations.js +0 -15
  145. package/esm/types/contracts/EntryPointSimulations.js.map +0 -1
  146. package/esm/types/contracts/IOpInflator.d.ts +0 -61
  147. package/esm/types/contracts/IOpInflator.js +0 -80
  148. package/esm/types/contracts/IOpInflator.js.map +0 -1
  149. package/esm/types/contracts/IPaymaster.d.ts +0 -3
  150. package/esm/types/contracts/IPaymaster.js +0 -117
  151. package/esm/types/contracts/IPaymaster.js.map +0 -1
  152. package/esm/types/contracts/Inflator.d.ts +0 -65
  153. package/esm/types/contracts/Inflator.js +0 -84
  154. package/esm/types/contracts/Inflator.js.map +0 -1
  155. package/esm/types/contracts/PerOpInflator.d.ts +0 -176
  156. package/esm/types/contracts/PerOpInflator.js +0 -229
  157. package/esm/types/contracts/PerOpInflator.js.map +0 -1
  158. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -23
  159. package/esm/types/contracts/PimlicoEntryPointSimulations.js +0 -33
  160. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
  161. package/esm/types/contracts/SenderCreator.d.ts +0 -4
  162. package/esm/types/contracts/SenderCreator.js +0 -23
  163. package/esm/types/contracts/SenderCreator.js.map +0 -1
  164. package/esm/types/contracts/SimpleAccountFactory.d.ts +0 -57
  165. package/esm/types/contracts/SimpleAccountFactory.js +0 -76
  166. package/esm/types/contracts/SimpleAccountFactory.js.map +0 -1
  167. package/esm/types/contracts/TestOpcodesAccount.d.ts +0 -4
  168. package/esm/types/contracts/TestOpcodesAccount.js +0 -281
  169. package/esm/types/contracts/TestOpcodesAccount.js.map +0 -1
  170. package/esm/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
  171. package/esm/types/contracts/TestOpcodesAccountFactory.js +0 -23
  172. package/esm/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
  173. package/esm/types/contracts/TestStorageAccount.d.ts +0 -4
  174. package/esm/types/contracts/TestStorageAccount.js +0 -313
  175. package/esm/types/contracts/TestStorageAccount.js.map +0 -1
  176. package/esm/types/contracts/index.d.ts +0 -17
  177. package/esm/types/contracts/index.js +0 -17
  178. package/esm/types/contracts/index.js.map +0 -1
  179. package/esm/types/gasPrice.d.ts +0 -110
  180. package/esm/types/gasPrice.js +0 -52
  181. package/esm/types/gasPrice.js.map +0 -1
  182. package/esm/types/index.d.ts +0 -11
  183. package/esm/types/index.js +0 -11
  184. package/esm/types/index.js.map +0 -1
  185. package/esm/types/interfaces.d.ts +0 -26
  186. package/esm/types/interfaces.js +0 -2
  187. package/esm/types/interfaces.js.map +0 -1
  188. package/esm/types/mempool.d.ts +0 -79
  189. package/esm/types/mempool.js +0 -16
  190. package/esm/types/mempool.js.map +0 -1
  191. package/esm/types/schemas.d.ts +0 -4791
  192. package/esm/types/schemas.js +0 -497
  193. package/esm/types/schemas.js.map +0 -1
  194. package/esm/types/test/validationTestErrors.d.ts +0 -3
  195. package/esm/types/test/validationTestErrors.js +0 -229
  196. package/esm/types/test/validationTestErrors.js.map +0 -1
  197. package/esm/types/utils.d.ts +0 -24
  198. package/esm/types/utils.js +0 -30
  199. package/esm/types/utils.js.map +0 -1
  200. package/esm/types/validation.d.ts +0 -14327
  201. package/esm/types/validation.js +0 -304
  202. package/esm/types/validation.js.map +0 -1
  203. package/esm/utils/bigInt.d.ts +0 -3
  204. package/esm/utils/bigInt.js +0 -9
  205. package/esm/utils/bigInt.js.map +0 -1
  206. package/esm/utils/compressionHandler.d.ts +0 -11
  207. package/esm/utils/compressionHandler.js +0 -39
  208. package/esm/utils/compressionHandler.js.map +0 -1
  209. package/esm/utils/gasPriceManager.d.ts +0 -34
  210. package/esm/utils/gasPriceManager.js +0 -338
  211. package/esm/utils/gasPriceManager.js.map +0 -1
  212. package/esm/utils/helpers.d.ts +0 -4
  213. package/esm/utils/helpers.js +0 -13
  214. package/esm/utils/helpers.js.map +0 -1
  215. package/esm/utils/index.d.ts +0 -11
  216. package/esm/utils/index.js +0 -10
  217. package/esm/utils/index.js.map +0 -1
  218. package/esm/utils/logger.d.ts +0 -6
  219. package/esm/utils/logger.js +0 -76
  220. package/esm/utils/logger.js.map +0 -1
  221. package/esm/utils/metrics.d.ts +0 -22
  222. package/esm/utils/metrics.js +0 -150
  223. package/esm/utils/metrics.js.map +0 -1
  224. package/esm/utils/rpc-reply.d.ts +0 -17
  225. package/esm/utils/rpc-reply.js +0 -41
  226. package/esm/utils/rpc-reply.js.map +0 -1
  227. package/esm/utils/test.d.ts +0 -17
  228. package/esm/utils/test.js +0 -130
  229. package/esm/utils/test.js.map +0 -1
  230. package/esm/utils/userop.d.ts +0 -49
  231. package/esm/utils/userop.js +0 -408
  232. package/esm/utils/userop.js.map +0 -1
  233. package/esm/utils/validation.d.ts +0 -65
  234. package/esm/utils/validation.js +0 -461
  235. package/esm/utils/validation.js.map +0 -1
  236. package/lib/cli/alto.d.ts +0 -6
  237. package/lib/cli/alto.js +0 -123
  238. package/lib/cli/alto.js.map +0 -1
@@ -1,116 +0,0 @@
1
- import { SenderManager } from "../executor/index.js";
2
- import { GasPriceManager, createMetrics, initDebugLogger, initProductionLogger } from "../utils/index.js";
3
- import { Registry } from "prom-client";
4
- import { createPublicClient, createWalletClient } from "viem";
5
- import { fromZodError } from "zod-validation-error";
6
- import { optionArgsSchema } from "./config/index.js";
7
- import { customTransport } from "./customTransport.js";
8
- import { setupServer } from "./setupServer.js";
9
- const parseArgs = (args) => {
10
- // validate every arg, make type safe so if i add a new arg i have to validate it
11
- const parsing = optionArgsSchema.safeParse(args);
12
- if (!parsing.success) {
13
- const error = fromZodError(parsing.error);
14
- throw new Error(error.message);
15
- }
16
- return parsing.data;
17
- };
18
- const preFlightChecks = async (publicClient, parsedArgs) => {
19
- for (const entrypoint of parsedArgs.entrypoints) {
20
- const entryPointCode = await publicClient.getBytecode({
21
- address: entrypoint
22
- });
23
- if (entryPointCode === "0x") {
24
- throw new Error(`entry point ${entrypoint} does not exist`);
25
- }
26
- }
27
- if (parsedArgs["entrypoint-simulation-contract"]) {
28
- const simulations = parsedArgs["entrypoint-simulation-contract"];
29
- const simulationsCode = await publicClient.getBytecode({
30
- address: simulations
31
- });
32
- if (simulationsCode === undefined || simulationsCode === "0x") {
33
- throw new Error(`EntryPointSimulations contract ${simulations} does not exist`);
34
- }
35
- }
36
- };
37
- export async function bundlerHandler(args) {
38
- const parsedArgs = parseArgs(args);
39
- let logger;
40
- if (parsedArgs.json) {
41
- logger = initProductionLogger(parsedArgs["log-level"]);
42
- }
43
- else {
44
- logger = initDebugLogger(parsedArgs["log-level"]);
45
- }
46
- const rootLogger = logger.child({ module: "root" }, { level: parsedArgs["log-level"] });
47
- const getChainId = async () => {
48
- const client = createPublicClient({
49
- transport: customTransport(args["rpc-url"], {
50
- logger: logger.child({ module: "public_client" }, {
51
- level: parsedArgs["public-client-log-level"] ||
52
- parsedArgs["log-level"]
53
- })
54
- })
55
- });
56
- return await client.getChainId();
57
- };
58
- const chainId = await getChainId();
59
- const chain = {
60
- id: chainId,
61
- name: args["network-name"],
62
- nativeCurrency: {
63
- name: "ETH",
64
- symbol: "ETH",
65
- decimals: 18
66
- },
67
- rpcUrls: {
68
- default: { http: [args["rpc-url"]] },
69
- public: { http: [args["rpc-url"]] }
70
- }
71
- };
72
- const client = createPublicClient({
73
- transport: customTransport(args["rpc-url"], {
74
- logger: logger.child({ module: "public_client" }, {
75
- level: parsedArgs["public-client-log-level"] ||
76
- parsedArgs["log-level"]
77
- })
78
- }),
79
- chain
80
- });
81
- const gasPriceManager = new GasPriceManager(chain, client, parsedArgs["legacy-transactions"], logger.child({ module: "gas_price_manager" }, {
82
- level: parsedArgs["public-client-log-level"] ||
83
- parsedArgs["log-level"]
84
- }), parsedArgs["gas-price-bump"], parsedArgs["gas-price-expiry"]);
85
- const registry = new Registry();
86
- registry.setDefaultLabels({
87
- network: chain.name,
88
- chainId
89
- });
90
- const metrics = createMetrics(registry);
91
- await preFlightChecks(client, parsedArgs);
92
- const walletClient = createWalletClient({
93
- transport: customTransport(parsedArgs["send-transaction-rpc-url"] ?? args["rpc-url"], {
94
- logger: logger.child({ module: "wallet_client" }, {
95
- level: parsedArgs["wallet-client-log-level"] ||
96
- parsedArgs["log-level"]
97
- })
98
- }),
99
- chain
100
- });
101
- const senderManager = new SenderManager(parsedArgs["executor-private-keys"], parsedArgs["utility-private-key"], logger.child({ module: "executor" }, {
102
- level: parsedArgs["executor-log-level"] || parsedArgs["log-level"]
103
- }), metrics, parsedArgs["legacy-transactions"], gasPriceManager, parsedArgs["max-executors"]);
104
- await setupServer({
105
- client,
106
- walletClient,
107
- parsedArgs,
108
- logger,
109
- rootLogger,
110
- registry,
111
- metrics,
112
- senderManager,
113
- gasPriceManager
114
- });
115
- }
116
- //# sourceMappingURL=handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../cli/handler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export * from "./config/index.js";
2
- export * from "./alto.js";
3
- export * from "./util.js";
4
- //# sourceMappingURL=index.d.ts.map
package/esm/cli/index.js DELETED
@@ -1,4 +0,0 @@
1
- export * from "./config/index.js";
2
- export * from "./alto.js";
3
- export * from "./util.js";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=instrumentation.d.ts.map
@@ -1,39 +0,0 @@
1
- import { SpanKind } from "@opentelemetry/api";
2
- import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto";
3
- import { FastifyInstrumentation } from "@opentelemetry/instrumentation-fastify";
4
- import { HttpInstrumentation } from "@opentelemetry/instrumentation-http";
5
- import { PinoInstrumentation } from "@opentelemetry/instrumentation-pino";
6
- import { NodeSDK } from "@opentelemetry/sdk-node";
7
- import { ParentBasedSampler, SamplingDecision } from "@opentelemetry/sdk-trace-base";
8
- import { SemanticAttributes } from "@opentelemetry/semantic-conventions";
9
- import { FetchInstrumentation } from "opentelemetry-instrumentation-fetch-node";
10
- class CustomSampler {
11
- shouldSample(_context, _traceId, _spanName, spanKind, attributes) {
12
- const ignoredRoutes = ["/metrics", "/health"];
13
- const httpTarget = attributes[SemanticAttributes.HTTP_TARGET];
14
- if (spanKind === SpanKind.SERVER &&
15
- httpTarget &&
16
- ignoredRoutes.includes(httpTarget.toString())) {
17
- return { decision: SamplingDecision.NOT_RECORD };
18
- }
19
- // fallback
20
- return { decision: SamplingDecision.RECORD_AND_SAMPLED };
21
- }
22
- toString() {
23
- return "CustomSampler";
24
- }
25
- }
26
- const sdk = new NodeSDK({
27
- traceExporter: new OTLPTraceExporter(),
28
- instrumentations: [
29
- new HttpInstrumentation({
30
- requireParentforOutgoingSpans: true
31
- }),
32
- new FetchInstrumentation({}),
33
- new FastifyInstrumentation(),
34
- new PinoInstrumentation()
35
- ],
36
- sampler: new ParentBasedSampler({ root: new CustomSampler() })
37
- });
38
- sdk.start();
39
- //# sourceMappingURL=instrumentation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../cli/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EACH,kBAAkB,EAElB,gBAAgB,EACnB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAE/E,MAAM,aAAa;IACf,YAAY,CACR,QAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,QAAkB,EAClB,UAAsB;QAEtB,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;QAE7C,MAAM,UAAU,GAAG,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;QAE7D,IACI,QAAQ,KAAK,QAAQ,CAAC,MAAM;YAC5B,UAAU;YACV,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EAC/C,CAAC;YACC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAA;QACpD,CAAC;QACD,WAAW;QACX,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,CAAA;IAC5D,CAAC;IACD,QAAQ;QACJ,OAAO,eAAe,CAAA;IAC1B,CAAC;CACJ;AAED,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC;IACpB,aAAa,EAAE,IAAI,iBAAiB,EAAE;IACtC,gBAAgB,EAAE;QACd,IAAI,mBAAmB,CAAC;YACpB,6BAA6B,EAAE,IAAI;SACtC,CAAC;QACF,IAAI,oBAAoB,CAAC,EAAE,CAAC;QAC5B,IAAI,sBAAsB,EAAE;QAC5B,IAAI,mBAAmB,EAAE;KAC5B;IACD,OAAO,EAAE,IAAI,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,aAAa,EAAE,EAAE,CAAC;CACjE,CAAC,CAAA;AAEF,GAAG,CAAC,KAAK,EAAE,CAAA"}
@@ -1,17 +0,0 @@
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
@@ -1,155 +0,0 @@
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["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
@@ -1 +0,0 @@
1
- {"version":3,"file":"setupServer.js","sourceRoot":"","sources":["../../cli/setupServer.ts"],"names":[],"mappings":"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"}
package/esm/cli/util.d.ts DELETED
@@ -1,22 +0,0 @@
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 DELETED
@@ -1,30 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,54 +0,0 @@
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
- mutex: Mutex;
45
- 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, localGasLimitCalculation?: boolean);
46
- getCompressionHandler(): CompressionHandler;
47
- cancelOps(_entryPoint: Address, _ops: UserOperation[]): Promise<void>;
48
- markWalletProcessed(executor: Account): Promise<void>;
49
- replaceTransaction(transactionInfo: TransactionInfo): Promise<ReplaceTransactionResult>;
50
- flushStuckTransactions(): Promise<void>;
51
- bundle(entryPoint: Address, ops: UserOperation[]): Promise<BundleResult[]>;
52
- bundleCompressed(entryPoint: Address, compressedOps: CompressedUserOperation[]): Promise<BundleResult[]>;
53
- }
54
- //# sourceMappingURL=executor.d.ts.map