@pimlico/alto 0.0.0-prool.20240609T211112 → 0.0.0-prool.20240609T212210

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 (163) hide show
  1. package/esm/cli/alto.js +59 -28
  2. package/esm/cli/alto.js.map +1 -1
  3. package/esm/cli/config/bundler.d.ts +38 -38
  4. package/esm/cli/config/bundler.js +77 -74
  5. package/esm/cli/config/bundler.js.map +1 -1
  6. package/esm/cli/config/index.js +18 -2
  7. package/esm/cli/config/index.js.map +1 -1
  8. package/esm/cli/config/options.js +13 -10
  9. package/esm/cli/config/options.js.map +1 -1
  10. package/esm/cli/customTransport.js +11 -7
  11. package/esm/cli/customTransport.js.map +1 -1
  12. package/esm/cli/handler.js +28 -24
  13. package/esm/cli/handler.js.map +1 -1
  14. package/esm/cli/index.js +19 -3
  15. package/esm/cli/index.js.map +1 -1
  16. package/esm/cli/instrumentation.js +22 -20
  17. package/esm/cli/instrumentation.js.map +1 -1
  18. package/esm/cli/setupServer.js +21 -17
  19. package/esm/cli/setupServer.js.map +1 -1
  20. package/esm/cli/util.js +5 -1
  21. package/esm/cli/util.js.map +1 -1
  22. package/esm/executor/executor.js +84 -56
  23. package/esm/executor/executor.js.map +1 -1
  24. package/esm/executor/executorManager.js +11 -7
  25. package/esm/executor/executorManager.js.map +1 -1
  26. package/esm/executor/index.js +20 -4
  27. package/esm/executor/index.js.map +1 -1
  28. package/esm/executor/senderManager.js +12 -8
  29. package/esm/executor/senderManager.js.map +1 -1
  30. package/esm/executor/test/utils.js +28 -22
  31. package/esm/executor/test/utils.js.map +1 -1
  32. package/esm/executor/utils.js +61 -31
  33. package/esm/executor/utils.js.map +1 -1
  34. package/esm/mempool/index.js +20 -4
  35. package/esm/mempool/index.js.map +1 -1
  36. package/esm/mempool/mempool.js +59 -55
  37. package/esm/mempool/mempool.js.map +1 -1
  38. package/esm/mempool/monitoring.js +5 -1
  39. package/esm/mempool/monitoring.js.map +1 -1
  40. package/esm/mempool/nullMempool.js +5 -1
  41. package/esm/mempool/nullMempool.js.map +1 -1
  42. package/esm/mempool/reputationManager.js +49 -44
  43. package/esm/mempool/reputationManager.js.map +1 -1
  44. package/esm/mempool/store.js +5 -1
  45. package/esm/mempool/store.js.map +1 -1
  46. package/esm/rpc/EntryPointSimulationsV07.js +50 -44
  47. package/esm/rpc/EntryPointSimulationsV07.js.map +1 -1
  48. package/esm/rpc/ExecuteSimulator.js +5 -2
  49. package/esm/rpc/ExecuteSimulator.js.map +1 -1
  50. package/esm/rpc/gasEstimation.js +69 -62
  51. package/esm/rpc/gasEstimation.js.map +1 -1
  52. package/esm/rpc/index.js +20 -4
  53. package/esm/rpc/index.js.map +1 -1
  54. package/esm/rpc/nonceQueuer.js +20 -16
  55. package/esm/rpc/nonceQueuer.js.map +1 -1
  56. package/esm/rpc/rpcHandler.js +103 -76
  57. package/esm/rpc/rpcHandler.js.map +1 -1
  58. package/esm/rpc/server.js +58 -28
  59. package/esm/rpc/server.js.map +1 -1
  60. package/esm/rpc/validation/BundlerCollectorTracerV06.js +5 -1
  61. package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +1 -1
  62. package/esm/rpc/validation/BundlerCollectorTracerV07.js +5 -1
  63. package/esm/rpc/validation/BundlerCollectorTracerV07.js.map +1 -1
  64. package/esm/rpc/validation/SafeValidator.js +69 -65
  65. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  66. package/esm/rpc/validation/TracerResultParserV06.js +30 -26
  67. package/esm/rpc/validation/TracerResultParserV06.js.map +1 -1
  68. package/esm/rpc/validation/TracerResultParserV07.js +36 -29
  69. package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
  70. package/esm/rpc/validation/UnsafeValidator.js +73 -46
  71. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  72. package/esm/rpc/validation/index.js +18 -2
  73. package/esm/rpc/validation/index.js.map +1 -1
  74. package/esm/rpc/validation/tracer.d.ts +1 -1
  75. package/esm/rpc/validation/tracer.js +37 -7
  76. package/esm/rpc/validation/tracer.js.map +1 -1
  77. package/esm/types/contracts/BundleBulker.js +4 -1
  78. package/esm/types/contracts/BundleBulker.js.map +1 -1
  79. package/esm/types/contracts/CallEngine.js +4 -1
  80. package/esm/types/contracts/CallEngine.js.map +1 -1
  81. package/esm/types/contracts/CodeHashGetter.js +5 -2
  82. package/esm/types/contracts/CodeHashGetter.js.map +1 -1
  83. package/esm/types/contracts/EntryPoint.js +7 -4
  84. package/esm/types/contracts/EntryPoint.js.map +1 -1
  85. package/esm/types/contracts/EntryPointSimulations.js +6 -3
  86. package/esm/types/contracts/EntryPointSimulations.js.map +1 -1
  87. package/esm/types/contracts/IOpInflator.js +4 -1
  88. package/esm/types/contracts/IOpInflator.js.map +1 -1
  89. package/esm/types/contracts/IPaymaster.js +4 -1
  90. package/esm/types/contracts/IPaymaster.js.map +1 -1
  91. package/esm/types/contracts/Inflator.js +4 -1
  92. package/esm/types/contracts/Inflator.js.map +1 -1
  93. package/esm/types/contracts/PerOpInflator.js +4 -1
  94. package/esm/types/contracts/PerOpInflator.js.map +1 -1
  95. package/esm/types/contracts/PimlicoEntryPointSimulations.js +5 -2
  96. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  97. package/esm/types/contracts/SenderCreator.js +5 -2
  98. package/esm/types/contracts/SenderCreator.js.map +1 -1
  99. package/esm/types/contracts/SimpleAccountFactory.js +5 -2
  100. package/esm/types/contracts/SimpleAccountFactory.js.map +1 -1
  101. package/esm/types/contracts/TestOpcodesAccount.js +5 -2
  102. package/esm/types/contracts/TestOpcodesAccount.js.map +1 -1
  103. package/esm/types/contracts/TestOpcodesAccountFactory.js +5 -2
  104. package/esm/types/contracts/TestOpcodesAccountFactory.js.map +1 -1
  105. package/esm/types/contracts/TestStorageAccount.js +5 -2
  106. package/esm/types/contracts/TestStorageAccount.js.map +1 -1
  107. package/esm/types/contracts/index.js +32 -16
  108. package/esm/types/contracts/index.js.map +1 -1
  109. package/esm/types/gasPrice.js +17 -14
  110. package/esm/types/gasPrice.js.map +1 -1
  111. package/esm/types/index.js +26 -10
  112. package/esm/types/index.js.map +1 -1
  113. package/esm/types/interfaces.js +2 -1
  114. package/esm/types/mempool.js +10 -5
  115. package/esm/types/mempool.js.map +1 -1
  116. package/esm/types/schemas.d.ts +82 -82
  117. package/esm/types/schemas.js +284 -254
  118. package/esm/types/schemas.js.map +1 -1
  119. package/esm/types/test/validationTestErrors.js +5 -2
  120. package/esm/types/test/validationTestErrors.js.map +1 -1
  121. package/esm/types/utils.js +9 -5
  122. package/esm/types/utils.js.map +1 -1
  123. package/esm/types/validation.js +142 -139
  124. package/esm/types/validation.js.map +1 -1
  125. package/esm/utils/bigInt.js +7 -2
  126. package/esm/utils/bigInt.js.map +1 -1
  127. package/esm/utils/compressionHandler.js +11 -7
  128. package/esm/utils/compressionHandler.js.map +1 -1
  129. package/esm/utils/gasPriceManager.js +57 -30
  130. package/esm/utils/gasPriceManager.js.map +1 -1
  131. package/esm/utils/helpers.js +10 -5
  132. package/esm/utils/helpers.js.map +1 -1
  133. package/esm/utils/index.js +26 -10
  134. package/esm/utils/index.js.map +1 -1
  135. package/esm/utils/logger.js +19 -10
  136. package/esm/utils/logger.js.map +1 -1
  137. package/esm/utils/metrics.d.ts +4 -4
  138. package/esm/utils/metrics.js +24 -20
  139. package/esm/utils/metrics.js.map +1 -1
  140. package/esm/utils/rpc-reply.js +3 -1
  141. package/esm/utils/rpc-reply.js.map +1 -1
  142. package/esm/utils/test.d.ts +1 -1
  143. package/esm/utils/test.js +67 -36
  144. package/esm/utils/test.js.map +1 -1
  145. package/esm/utils/toArgs.js +11 -4
  146. package/esm/utils/toArgs.js.map +1 -1
  147. package/esm/utils/userop.js +107 -62
  148. package/esm/utils/userop.js.map +1 -1
  149. package/esm/utils/validation.js +99 -64
  150. package/esm/utils/validation.js.map +1 -1
  151. package/lib/cli/config/bundler.d.ts +37 -37
  152. package/lib/rpc/validation/tracer.d.ts +1 -1
  153. package/lib/types/schemas.d.ts +116 -116
  154. package/lib/types/validation.d.ts +12 -12
  155. package/lib/utils/metrics.d.ts +4 -4
  156. package/lib/utils/test.d.ts +1 -1
  157. package/package.json +1 -1
  158. package/esm/index.d.ts +0 -449
  159. package/esm/index.js +0 -64
  160. package/esm/index.js.map +0 -1
  161. package/lib/index.d.ts +0 -449
  162. package/lib/index.js +0 -67
  163. package/lib/index.js.map +0 -1
@@ -4343,7 +4343,6 @@ export declare const errorCauseSchema: z.ZodObject<{
4343
4343
  errorName: "ValidationResultWithAggregation";
4344
4344
  }>]>;
4345
4345
  }, "strip", z.ZodTypeAny, {
4346
- name: "ContractFunctionRevertedError";
4347
4346
  data: {
4348
4347
  args: {
4349
4348
  aggregator: `0x${string}`;
@@ -4638,8 +4637,8 @@ export declare const errorCauseSchema: z.ZodObject<{
4638
4637
  } | undefined);
4639
4638
  errorName: "ValidationResultWithAggregation";
4640
4639
  };
4641
- }, {
4642
4640
  name: "ContractFunctionRevertedError";
4641
+ }, {
4643
4642
  data: {
4644
4643
  args: [string];
4645
4644
  errorName: "SignatureValidationFailed";
@@ -4851,6 +4850,7 @@ export declare const errorCauseSchema: z.ZodObject<{
4851
4850
  } | undefined] | undefined);
4852
4851
  errorName: "ValidationResultWithAggregation";
4853
4852
  };
4853
+ name: "ContractFunctionRevertedError";
4854
4854
  }>;
4855
4855
  export type ErrorCause = z.infer<typeof errorCauseSchema>;
4856
4856
  export declare const vmExecutionError: z.ZodObject<{
@@ -7132,7 +7132,6 @@ export declare const entryPointExecutionErrorSchemaV06: z.ZodEffects<z.ZodObject
7132
7132
  errorName: "ValidationResultWithAggregation";
7133
7133
  }>]>;
7134
7134
  }, "strip", z.ZodTypeAny, {
7135
- name: "ContractFunctionRevertedError";
7136
7135
  data: {
7137
7136
  args: {
7138
7137
  aggregator: `0x${string}`;
@@ -7427,8 +7426,8 @@ export declare const entryPointExecutionErrorSchemaV06: z.ZodEffects<z.ZodObject
7427
7426
  } | undefined);
7428
7427
  errorName: "ValidationResultWithAggregation";
7429
7428
  };
7430
- }, {
7431
7429
  name: "ContractFunctionRevertedError";
7430
+ }, {
7432
7431
  data: {
7433
7432
  args: [string];
7434
7433
  errorName: "SignatureValidationFailed";
@@ -7640,6 +7639,7 @@ export declare const entryPointExecutionErrorSchemaV06: z.ZodEffects<z.ZodObject
7640
7639
  } | undefined] | undefined);
7641
7640
  errorName: "ValidationResultWithAggregation";
7642
7641
  };
7642
+ name: "ContractFunctionRevertedError";
7643
7643
  }>, z.ZodObject<{
7644
7644
  name: z.ZodLiteral<"CallExecutionError">;
7645
7645
  cause: z.ZodObject<{
@@ -8854,7 +8854,6 @@ export declare const entryPointExecutionErrorSchemaV06: z.ZodEffects<z.ZodObject
8854
8854
  }, "strip", z.ZodTypeAny, {
8855
8855
  name: "ContractFunctionExecutionError";
8856
8856
  cause: {
8857
- name: "ContractFunctionRevertedError";
8858
8857
  data: {
8859
8858
  args: {
8860
8859
  aggregator: `0x${string}`;
@@ -9149,6 +9148,7 @@ export declare const entryPointExecutionErrorSchemaV06: z.ZodEffects<z.ZodObject
9149
9148
  } | undefined);
9150
9149
  errorName: "ValidationResultWithAggregation";
9151
9150
  };
9151
+ name: "ContractFunctionRevertedError";
9152
9152
  } | {
9153
9153
  name: "CallExecutionError";
9154
9154
  cause: {
@@ -9454,7 +9454,6 @@ export declare const entryPointExecutionErrorSchemaV06: z.ZodEffects<z.ZodObject
9454
9454
  }, {
9455
9455
  name: "ContractFunctionExecutionError";
9456
9456
  cause: {
9457
- name: "ContractFunctionRevertedError";
9458
9457
  data: {
9459
9458
  args: [string];
9460
9459
  errorName: "SignatureValidationFailed";
@@ -9666,6 +9665,7 @@ export declare const entryPointExecutionErrorSchemaV06: z.ZodEffects<z.ZodObject
9666
9665
  } | undefined] | undefined);
9667
9666
  errorName: "ValidationResultWithAggregation";
9668
9667
  };
9668
+ name: "ContractFunctionRevertedError";
9669
9669
  } | {
9670
9670
  name: "CallExecutionError";
9671
9671
  cause: {
@@ -9971,7 +9971,6 @@ export declare const entryPointExecutionErrorSchemaV06: z.ZodEffects<z.ZodObject
9971
9971
  }, {
9972
9972
  name: "ContractFunctionExecutionError";
9973
9973
  cause: {
9974
- name: "ContractFunctionRevertedError";
9975
9974
  data: {
9976
9975
  args: [string];
9977
9976
  errorName: "SignatureValidationFailed";
@@ -10183,6 +10182,7 @@ export declare const entryPointExecutionErrorSchemaV06: z.ZodEffects<z.ZodObject
10183
10182
  } | undefined] | undefined);
10184
10183
  errorName: "ValidationResultWithAggregation";
10185
10184
  };
10185
+ name: "ContractFunctionRevertedError";
10186
10186
  } | {
10187
10187
  name: "CallExecutionError";
10188
10188
  cause: {
@@ -11262,7 +11262,6 @@ export declare const entryPointExecutionErrorSchemaV07: z.ZodEffects<z.ZodObject
11262
11262
  errorName: "ValidationResultWithAggregation";
11263
11263
  }>]>;
11264
11264
  }, "strip", z.ZodTypeAny, {
11265
- name: "ContractFunctionRevertedError";
11266
11265
  data: {
11267
11266
  args: {
11268
11267
  aggregator: `0x${string}`;
@@ -11557,8 +11556,8 @@ export declare const entryPointExecutionErrorSchemaV07: z.ZodEffects<z.ZodObject
11557
11556
  } | undefined);
11558
11557
  errorName: "ValidationResultWithAggregation";
11559
11558
  };
11560
- }, {
11561
11559
  name: "ContractFunctionRevertedError";
11560
+ }, {
11562
11561
  data: {
11563
11562
  args: [string];
11564
11563
  errorName: "SignatureValidationFailed";
@@ -11770,6 +11769,7 @@ export declare const entryPointExecutionErrorSchemaV07: z.ZodEffects<z.ZodObject
11770
11769
  } | undefined] | undefined);
11771
11770
  errorName: "ValidationResultWithAggregation";
11772
11771
  };
11772
+ name: "ContractFunctionRevertedError";
11773
11773
  }>, z.ZodObject<{
11774
11774
  name: z.ZodLiteral<"CallExecutionError">;
11775
11775
  cause: z.ZodObject<{
@@ -12984,7 +12984,6 @@ export declare const entryPointExecutionErrorSchemaV07: z.ZodEffects<z.ZodObject
12984
12984
  }, "strip", z.ZodTypeAny, {
12985
12985
  name: "ContractFunctionExecutionError";
12986
12986
  cause: {
12987
- name: "ContractFunctionRevertedError";
12988
12987
  data: {
12989
12988
  args: {
12990
12989
  aggregator: `0x${string}`;
@@ -13279,6 +13278,7 @@ export declare const entryPointExecutionErrorSchemaV07: z.ZodEffects<z.ZodObject
13279
13278
  } | undefined);
13280
13279
  errorName: "ValidationResultWithAggregation";
13281
13280
  };
13281
+ name: "ContractFunctionRevertedError";
13282
13282
  } | {
13283
13283
  name: "CallExecutionError";
13284
13284
  cause: {
@@ -13584,7 +13584,6 @@ export declare const entryPointExecutionErrorSchemaV07: z.ZodEffects<z.ZodObject
13584
13584
  }, {
13585
13585
  name: "ContractFunctionExecutionError";
13586
13586
  cause: {
13587
- name: "ContractFunctionRevertedError";
13588
13587
  data: {
13589
13588
  args: [string];
13590
13589
  errorName: "SignatureValidationFailed";
@@ -13796,6 +13795,7 @@ export declare const entryPointExecutionErrorSchemaV07: z.ZodEffects<z.ZodObject
13796
13795
  } | undefined] | undefined);
13797
13796
  errorName: "ValidationResultWithAggregation";
13798
13797
  };
13798
+ name: "ContractFunctionRevertedError";
13799
13799
  } | {
13800
13800
  name: "CallExecutionError";
13801
13801
  cause: {
@@ -14101,7 +14101,6 @@ export declare const entryPointExecutionErrorSchemaV07: z.ZodEffects<z.ZodObject
14101
14101
  }, {
14102
14102
  name: "ContractFunctionExecutionError";
14103
14103
  cause: {
14104
- name: "ContractFunctionRevertedError";
14105
14104
  data: {
14106
14105
  args: [string];
14107
14106
  errorName: "SignatureValidationFailed";
@@ -14313,6 +14312,7 @@ export declare const entryPointExecutionErrorSchemaV07: z.ZodEffects<z.ZodObject
14313
14312
  } | undefined] | undefined);
14314
14313
  errorName: "ValidationResultWithAggregation";
14315
14314
  };
14315
+ name: "ContractFunctionRevertedError";
14316
14316
  } | {
14317
14317
  name: "CallExecutionError";
14318
14318
  cause: {
@@ -1,8 +1,8 @@
1
1
  import { Counter, Gauge, Histogram, type Registry } from "prom-client";
2
2
  export type Metrics = ReturnType<typeof createMetrics>;
3
3
  export declare function createMetrics(registry: Registry, register?: boolean): {
4
- httpRequests: Counter<"code" | "route" | "network" | "chainId" | "rpc_method" | "rpc_status" | "method">;
5
- httpRequestsDuration: Histogram<"code" | "route" | "network" | "chainId" | "rpc_method" | "rpc_status" | "method" | "api_version">;
4
+ httpRequests: Counter<"code" | "method" | "route" | "network" | "chainId" | "rpc_method" | "rpc_status">;
5
+ httpRequestsDuration: Histogram<"code" | "method" | "route" | "network" | "chainId" | "rpc_method" | "rpc_status" | "api_version">;
6
6
  userOperationsInMempool: Gauge<"status" | "network" | "chainId">;
7
7
  walletsAvailable: Gauge<never>;
8
8
  walletsTotal: Gauge<never>;
@@ -10,13 +10,13 @@ export declare function createMetrics(registry: Registry, register?: boolean): {
10
10
  userOperationsSubmitted: Counter<"status">;
11
11
  bundlesIncluded: Counter<never>;
12
12
  bundlesSubmitted: Counter<"status">;
13
- userOperationsReceived: Counter<"status" | "type">;
13
+ userOperationsReceived: Counter<"type" | "status">;
14
14
  userOperationsValidationSuccess: Counter<never>;
15
15
  userOperationsValidationFailure: Counter<never>;
16
16
  userOperationInclusionDuration: Histogram<never>;
17
17
  verificationGasLimitEstimationTime: Histogram<never>;
18
18
  verificationGasLimitEstimationCount: Histogram<never>;
19
- replacedTransactions: Counter<"status" | "reason">;
19
+ replacedTransactions: Counter<"reason" | "status">;
20
20
  userOperationsResubmitted: Counter<never>;
21
21
  };
22
22
  //# sourceMappingURL=metrics.d.ts.map
@@ -1,4 +1,4 @@
1
- /// <reference types="node" resolution-mode="require"/>
1
+ /// <reference types="node" />
2
2
  import { type ChildProcess } from "child_process";
3
3
  import type { HexData, HexData32, UserOperationV06 } from "../types/index.js";
4
4
  import { type Abi } from "abitype";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pimlico/alto",
3
- "version": "0.0.0-prool.20240609T211112",
3
+ "version": "0.0.0-prool.20240609T212210",
4
4
  "description": "A performant and modular ERC-4337 Bundler written in Typescript",
5
5
  "repository": "https://github.com/pimlicolabs/alto.git",
6
6
  "author": "Pimlico",
package/esm/index.d.ts DELETED
@@ -1,449 +0,0 @@
1
- export type AltoParameters = {
2
- /**
3
- * API version (used for internal Pimlico versioning compatibility).
4
- */
5
- apiVersion?: readonly string[] | undefined;
6
- /**
7
- * Override the sender native token balance during estimation
8
- */
9
- balanceOverride?: boolean | undefined;
10
- /**
11
- * Binary path of the `alto` executable.
12
- */
13
- binary?: string | undefined;
14
- /**
15
- * Address of the `BundleBulker` contract.
16
- */
17
- bundleBulkerAddress?: `0x${string}` | undefined;
18
- /**
19
- * Set if the bundler bundle user operations automatically or only when calling `debug_bundler_sendBundleNow`.
20
- * @default "auto"
21
- */
22
- bundleMode?: "auto" | "manual" | undefined;
23
- /**
24
- * Indicates weather the chain is a OP stack chain, arbitrum chain, or default EVM chain.
25
- */
26
- chainType?: "default" | "op-stack" | "arbitrum" | undefined;
27
- /**
28
- * Path to JSON config file.
29
- */
30
- config?: string | undefined;
31
- /**
32
- * Skip user operation validation, use with caution.
33
- */
34
- dangerousSkipUserOperationValidation?: boolean | undefined;
35
- /**
36
- * Default API version.
37
- */
38
- defaultApiVersion?: string | undefined;
39
- /**
40
- * Enable debug endpoints.
41
- * @default false
42
- */
43
- enableDebugEndpoints?: boolean | undefined;
44
- /**
45
- * Include user ops with the same sender in the single bundle.
46
- * @default true
47
- */
48
- enforceUniqueSendersPerBundle?: boolean | undefined;
49
- /**
50
- * EntryPoint contract addresses.
51
- */
52
- entrypoints: readonly `0x${string}`[];
53
- /**
54
- * Address of the EntryPoint simulations contract.
55
- */
56
- entrypointSimulationContract?: `0x${string}` | undefined;
57
- /**
58
- * Private keys of the executor accounts.
59
- */
60
- executorPrivateKeys?: readonly `0x${string}`[];
61
- /**
62
- * Interval to refill the signer balance (seconds).
63
- * @default 1200
64
- */
65
- executorRefillInterval?: number | undefined;
66
- /**
67
- * Should the node make expiration checks.
68
- * @default true
69
- */
70
- expirationCheck?: boolean | undefined;
71
- /**
72
- * Amount to multiply the gas prices fetched from the node.
73
- * @default "100"
74
- */
75
- gasPriceBump?: string | undefined;
76
- /**
77
- * Maximum that the gas prices fetched using pimlico_getUserOperationGasPrice will be accepted for (seconds).
78
- * @default 10
79
- */
80
- gasPriceExpiry?: number | undefined;
81
- /**
82
- * The minimum percentage of incoming user operation gas prices compared to the gas price used by the bundler to submit bundles.
83
- * @default 101
84
- */
85
- gasPriceFloorPercent?: number | undefined;
86
- /**
87
- * Amount to multiply the gas prices fetched using `pimlico_getUserOperationGasPrice`.
88
- * @default "105,110,115"
89
- */
90
- gasPriceMultipliers?: readonly string[] | undefined;
91
- /**
92
- * Use a fixed value for gas limits during bundle transaction gas limit estimations
93
- */
94
- fixedGasLimitForEstimation?: string | undefined;
95
- /**
96
- * Flush stuck transactions with old nonces during bundler startup.
97
- */
98
- flushStuckTransactionsDuringStartup?: boolean | undefined;
99
- /**
100
- * Log in JSON format.
101
- */
102
- json?: boolean | undefined;
103
- /**
104
- * Send legacy transactions instead of an EIP-1559 transactions.
105
- * @default false
106
- */
107
- legacyTransactions?: boolean | undefined;
108
- /**
109
- * Calculate the bundle transaction gas limits locally instead of using the RPC gas limit estimation.
110
- */
111
- localGasLimitCalculation?: boolean | undefined;
112
- /**
113
- * Default log level.
114
- */
115
- logLevel?: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | undefined;
116
- /**
117
- * Max block range for `eth_getLogs` calls.
118
- */
119
- maxBlockRange?: number | undefined;
120
- /**
121
- * Maximum number of operations allowed in the mempool before a bundle is submitted.
122
- * @default 10
123
- */
124
- maxBundleSize?: number | undefined;
125
- /**
126
- * Maximum time to wait for a bundle to be submitted (ms).
127
- * @default 1000
128
- */
129
- maxBundleWait?: number | undefined;
130
- /**
131
- * Maximum amount of gas per bundle.
132
- * @default "5000000"
133
- */
134
- maxGasPerBundle?: string | undefined;
135
- /**
136
- * Maximum number of executor accounts to use from the list of executor private keys.
137
- */
138
- maxExecutors?: number | undefined;
139
- /**
140
- * Maximum amount of parallel user ops to keep in the meempool (same sender, different nonce keys).
141
- * @default 10
142
- */
143
- mempoolMaxParallelOps?: number | undefined;
144
- /**
145
- * Maximum amount of sequential user ops to keep in the mempool (same sender and nonce key, different nonce values).
146
- * @default 0
147
- */
148
- mempoolMaxQueuedOps?: number | undefined;
149
- /**
150
- * Minimum stake required for a relay (in 10e18).
151
- * @default 1
152
- */
153
- minEntityStake?: number | undefined;
154
- /**
155
- * Minimum unstake delay (seconds).
156
- * @default 1
157
- */
158
- minEntityUnstakeDelay?: number | undefined;
159
- /**
160
- * Minimum balance required for each executor account (below which the utility account will refill).
161
- */
162
- minExecutorBalance?: string | undefined;
163
- /**
164
- * Name of the network (used for metrics).
165
- * @default "localhost"
166
- */
167
- networkName?: string | undefined;
168
- /**
169
- * Amount to multiply the paymaster gas limits fetched from simulations.
170
- */
171
- paymasterGasLimitMultiplier?: string | undefined;
172
- /**
173
- * Address of the `PerOpInflator` contract.
174
- */
175
- perOpInflatorAddress?: `0x${string}` | undefined;
176
- /**
177
- * Polling interval for querying for new blocks (ms).
178
- * @default 1000
179
- */
180
- pollingInterval?: number | undefined;
181
- /**
182
- * Port to listen on.
183
- * @default 3000
184
- */
185
- port?: number | undefined;
186
- /**
187
- * RPC url to connect to.
188
- */
189
- rpcUrl: string;
190
- /**
191
- * Enable safe mode (enforcing all ERC-4337 rules).
192
- * @default true
193
- */
194
- safeMode?: boolean | undefined;
195
- /**
196
- * RPC url to send transactions to (e.g. flashbots relay).
197
- */
198
- sendTransactionRpcUrl?: string | undefined;
199
- /**
200
- * Timeout for incoming requests (in ms).
201
- */
202
- timeout?: number | undefined;
203
- /**
204
- * Private key of the utility account.
205
- */
206
- utilityPrivateKey?: string | undefined;
207
- /**
208
- * Maximum payload size for websocket messages in bytes (default to 1MB).
209
- */
210
- websocketMaxPayloadSize?: number | undefined;
211
- /**
212
- * Enable websocket server.
213
- */
214
- websocket?: boolean | undefined;
215
- };
216
- /**
217
- * Defines an Alto instance.
218
- *
219
- * @example
220
- * ```ts
221
- * const instance = alto({
222
- * entrypoints: ['0x0000000071727De22E5E9d8BAf0edAc6f37da032'],
223
- * rpcUrl: `http://localhost:8545`,
224
- * executorPrivateKeys: ['0x...'],
225
- * })
226
- * await instance.start()
227
- * // ...
228
- * await instance.stop()
229
- * ```
230
- */
231
- export declare const alto: import("prool").DefineInstanceReturnType<{
232
- args: {
233
- /**
234
- * API version (used for internal Pimlico versioning compatibility).
235
- */
236
- apiVersion?: readonly string[] | undefined;
237
- /**
238
- * Override the sender native token balance during estimation
239
- */
240
- balanceOverride?: boolean | undefined;
241
- /**
242
- * Binary path of the `alto` executable.
243
- */
244
- binary?: string | undefined;
245
- /**
246
- * Address of the `BundleBulker` contract.
247
- */
248
- bundleBulkerAddress?: `0x${string}` | undefined;
249
- /**
250
- * Set if the bundler bundle user operations automatically or only when calling `debug_bundler_sendBundleNow`.
251
- * @default "auto"
252
- */
253
- bundleMode?: "auto" | "manual" | undefined;
254
- /**
255
- * Indicates weather the chain is a OP stack chain, arbitrum chain, or default EVM chain.
256
- */
257
- chainType?: "default" | "op-stack" | "arbitrum" | undefined;
258
- /**
259
- * Path to JSON config file.
260
- */
261
- config?: string | undefined;
262
- /**
263
- * Skip user operation validation, use with caution.
264
- */
265
- dangerousSkipUserOperationValidation?: boolean | undefined;
266
- /**
267
- * Default API version.
268
- */
269
- defaultApiVersion?: string | undefined;
270
- /**
271
- * Enable debug endpoints.
272
- * @default false
273
- */
274
- enableDebugEndpoints?: boolean | undefined;
275
- /**
276
- * Include user ops with the same sender in the single bundle.
277
- * @default true
278
- */
279
- enforceUniqueSendersPerBundle?: boolean | undefined;
280
- /**
281
- * EntryPoint contract addresses.
282
- */
283
- entrypoints: readonly `0x${string}`[];
284
- /**
285
- * Address of the EntryPoint simulations contract.
286
- */
287
- entrypointSimulationContract?: `0x${string}` | undefined;
288
- /**
289
- * Private keys of the executor accounts.
290
- */
291
- executorPrivateKeys?: readonly `0x${string}`[] | undefined;
292
- /**
293
- * Interval to refill the signer balance (seconds).
294
- * @default 1200
295
- */
296
- executorRefillInterval?: number | undefined;
297
- /**
298
- * Should the node make expiration checks.
299
- * @default true
300
- */
301
- expirationCheck?: boolean | undefined;
302
- /**
303
- * Amount to multiply the gas prices fetched from the node.
304
- * @default "100"
305
- */
306
- gasPriceBump?: string | undefined;
307
- /**
308
- * Maximum that the gas prices fetched using pimlico_getUserOperationGasPrice will be accepted for (seconds).
309
- * @default 10
310
- */
311
- gasPriceExpiry?: number | undefined;
312
- /**
313
- * The minimum percentage of incoming user operation gas prices compared to the gas price used by the bundler to submit bundles.
314
- * @default 101
315
- */
316
- gasPriceFloorPercent?: number | undefined;
317
- /**
318
- * Amount to multiply the gas prices fetched using `pimlico_getUserOperationGasPrice`.
319
- * @default "105,110,115"
320
- */
321
- gasPriceMultipliers?: readonly string[] | undefined;
322
- /**
323
- * Use a fixed value for gas limits during bundle transaction gas limit estimations
324
- */
325
- fixedGasLimitForEstimation?: string | undefined;
326
- /**
327
- * Flush stuck transactions with old nonces during bundler startup.
328
- */
329
- flushStuckTransactionsDuringStartup?: boolean | undefined;
330
- /**
331
- * Log in JSON format.
332
- */
333
- json?: boolean | undefined;
334
- /**
335
- * Send legacy transactions instead of an EIP-1559 transactions.
336
- * @default false
337
- */
338
- legacyTransactions?: boolean | undefined;
339
- /**
340
- * Calculate the bundle transaction gas limits locally instead of using the RPC gas limit estimation.
341
- */
342
- localGasLimitCalculation?: boolean | undefined;
343
- /**
344
- * Default log level.
345
- */
346
- logLevel?: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | undefined;
347
- /**
348
- * Max block range for `eth_getLogs` calls.
349
- */
350
- maxBlockRange?: number | undefined;
351
- /**
352
- * Maximum number of operations allowed in the mempool before a bundle is submitted.
353
- * @default 10
354
- */
355
- maxBundleSize?: number | undefined;
356
- /**
357
- * Maximum time to wait for a bundle to be submitted (ms).
358
- * @default 1000
359
- */
360
- maxBundleWait?: number | undefined;
361
- /**
362
- * Maximum amount of gas per bundle.
363
- * @default "5000000"
364
- */
365
- maxGasPerBundle?: string | undefined;
366
- /**
367
- * Maximum number of executor accounts to use from the list of executor private keys.
368
- */
369
- maxExecutors?: number | undefined;
370
- /**
371
- * Maximum amount of parallel user ops to keep in the meempool (same sender, different nonce keys).
372
- * @default 10
373
- */
374
- mempoolMaxParallelOps?: number | undefined;
375
- /**
376
- * Maximum amount of sequential user ops to keep in the mempool (same sender and nonce key, different nonce values).
377
- * @default 0
378
- */
379
- mempoolMaxQueuedOps?: number | undefined;
380
- /**
381
- * Minimum stake required for a relay (in 10e18).
382
- * @default 1
383
- */
384
- minEntityStake?: number | undefined;
385
- /**
386
- * Minimum unstake delay (seconds).
387
- * @default 1
388
- */
389
- minEntityUnstakeDelay?: number | undefined;
390
- /**
391
- * Minimum balance required for each executor account (below which the utility account will refill).
392
- */
393
- minExecutorBalance?: string | undefined;
394
- /**
395
- * Name of the network (used for metrics).
396
- * @default "localhost"
397
- */
398
- networkName?: string | undefined;
399
- /**
400
- * Amount to multiply the paymaster gas limits fetched from simulations.
401
- */
402
- paymasterGasLimitMultiplier?: string | undefined;
403
- /**
404
- * Address of the `PerOpInflator` contract.
405
- */
406
- perOpInflatorAddress?: `0x${string}` | undefined;
407
- /**
408
- * Polling interval for querying for new blocks (ms).
409
- * @default 1000
410
- */
411
- pollingInterval?: number | undefined;
412
- /**
413
- * Port to listen on.
414
- * @default 3000
415
- */
416
- port?: number | undefined;
417
- /**
418
- * RPC url to connect to.
419
- */
420
- rpcUrl: string;
421
- /**
422
- * Enable safe mode (enforcing all ERC-4337 rules).
423
- * @default true
424
- */
425
- safeMode?: boolean | undefined;
426
- /**
427
- * RPC url to send transactions to (e.g. flashbots relay).
428
- */
429
- sendTransactionRpcUrl?: string | undefined;
430
- /**
431
- * Timeout for incoming requests (in ms).
432
- */
433
- timeout?: number | undefined;
434
- /**
435
- * Private key of the utility account.
436
- */
437
- utilityPrivateKey?: string | undefined;
438
- /**
439
- * Maximum payload size for websocket messages in bytes (default to 1MB).
440
- */
441
- websocketMaxPayloadSize?: number | undefined;
442
- /**
443
- * Enable websocket server.
444
- */
445
- websocket?: boolean | undefined;
446
- };
447
- readonly process: import("prool/processes/execa").Process_internal;
448
- }, AltoParameters | undefined>;
449
- //# sourceMappingURL=index.d.ts.map