@pimlico/alto 0.0.7 → 0.0.8

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 (258) hide show
  1. package/esm/cli/alto.js +3 -1
  2. package/esm/cli/alto.js.map +1 -1
  3. package/esm/cli/config/bundler.d.ts +296 -272
  4. package/esm/cli/config/bundler.js +15 -7
  5. package/esm/cli/config/bundler.js.map +1 -1
  6. package/esm/cli/config/options.js +32 -8
  7. package/esm/cli/config/options.js.map +1 -1
  8. package/esm/cli/customTransport.js +40 -7
  9. package/esm/cli/customTransport.js.map +1 -1
  10. package/esm/cli/deploySimulationsContract.d.ts +8 -0
  11. package/esm/cli/deploySimulationsContract.js +26 -0
  12. package/esm/cli/deploySimulationsContract.js.map +1 -0
  13. package/esm/cli/handler.d.ts +2 -2
  14. package/esm/cli/handler.js +67 -89
  15. package/esm/cli/handler.js.map +1 -1
  16. package/esm/cli/instrumentation.js +4 -2
  17. package/esm/cli/instrumentation.js.map +1 -1
  18. package/esm/cli/parseArgs.d.ts +8 -0
  19. package/esm/cli/parseArgs.js +21 -0
  20. package/esm/cli/parseArgs.js.map +1 -0
  21. package/esm/cli/setupServer.d.ts +4 -9
  22. package/esm/cli/setupServer.js +98 -82
  23. package/esm/cli/setupServer.js.map +1 -1
  24. package/esm/createConfig.d.ts +15 -0
  25. package/esm/createConfig.js +8 -0
  26. package/esm/createConfig.js.map +1 -0
  27. package/esm/executor/executor.d.ts +29 -13
  28. package/esm/executor/executor.js +110 -72
  29. package/esm/executor/executor.js.map +1 -1
  30. package/esm/executor/executorManager.d.ts +14 -10
  31. package/esm/executor/executorManager.js +29 -39
  32. package/esm/executor/executorManager.js.map +1 -1
  33. package/esm/executor/senderManager.d.ts +11 -6
  34. package/esm/executor/senderManager.js +25 -32
  35. package/esm/executor/senderManager.js.map +1 -1
  36. package/esm/executor/utilityWalletMonitor.d.ts +9 -5
  37. package/esm/executor/utilityWalletMonitor.js +8 -8
  38. package/esm/executor/utilityWalletMonitor.js.map +1 -1
  39. package/esm/executor/utils.d.ts +2 -1
  40. package/esm/executor/utils.js +7 -2
  41. package/esm/executor/utils.js.map +1 -1
  42. package/esm/handlers/arbitrumGasPriceManager.d.ts +11 -0
  43. package/esm/handlers/arbitrumGasPriceManager.js +29 -0
  44. package/esm/handlers/arbitrumGasPriceManager.js.map +1 -0
  45. package/esm/handlers/eventManager.d.ts +7 -3
  46. package/esm/handlers/eventManager.js +24 -16
  47. package/esm/handlers/eventManager.js.map +1 -1
  48. package/esm/handlers/gasPriceManager.d.ts +13 -40
  49. package/esm/handlers/gasPriceManager.js +81 -205
  50. package/esm/handlers/gasPriceManager.js.map +1 -1
  51. package/esm/handlers/mantleGasPriceManager.d.ts +20 -0
  52. package/esm/handlers/mantleGasPriceManager.js +28 -0
  53. package/esm/handlers/mantleGasPriceManager.js.map +1 -0
  54. package/esm/mempool/mempool.d.ts +13 -10
  55. package/esm/mempool/mempool.js +29 -26
  56. package/esm/mempool/mempool.js.map +1 -1
  57. package/esm/mempool/reputationManager.d.ts +4 -6
  58. package/esm/mempool/reputationManager.js +25 -29
  59. package/esm/mempool/reputationManager.js.map +1 -1
  60. package/esm/mempool/store.d.ts +1 -1
  61. package/esm/rpc/estimation/gasEstimationHandler.d.ts +6 -6
  62. package/esm/rpc/estimation/gasEstimationHandler.js +13 -29
  63. package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
  64. package/esm/rpc/estimation/gasEstimationsV06.d.ts +7 -7
  65. package/esm/rpc/estimation/gasEstimationsV06.js +76 -45
  66. package/esm/rpc/estimation/gasEstimationsV06.js.map +1 -1
  67. package/esm/rpc/estimation/gasEstimationsV07.d.ts +7 -12
  68. package/esm/rpc/estimation/gasEstimationsV07.js +49 -37
  69. package/esm/rpc/estimation/gasEstimationsV07.js.map +1 -1
  70. package/esm/rpc/nonceQueuer.d.ts +10 -6
  71. package/esm/rpc/nonceQueuer.js +10 -10
  72. package/esm/rpc/nonceQueuer.js.map +1 -1
  73. package/esm/rpc/rpcHandler.d.ts +19 -16
  74. package/esm/rpc/rpcHandler.js +75 -68
  75. package/esm/rpc/rpcHandler.js.map +1 -1
  76. package/esm/rpc/server.d.ts +9 -7
  77. package/esm/rpc/server.js +27 -25
  78. package/esm/rpc/server.js.map +1 -1
  79. package/esm/rpc/validation/SafeValidator.d.ts +11 -6
  80. package/esm/rpc/validation/SafeValidator.js +14 -11
  81. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  82. package/esm/rpc/validation/TracerResultParserV06.d.ts +1 -1
  83. package/esm/rpc/validation/TracerResultParserV06.js.map +1 -1
  84. package/esm/rpc/validation/TracerResultParserV07.d.ts +1 -1
  85. package/esm/rpc/validation/TracerResultParserV07.js +1 -1
  86. package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
  87. package/esm/rpc/validation/UnsafeValidator.d.ts +11 -12
  88. package/esm/rpc/validation/UnsafeValidator.js +28 -29
  89. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  90. package/esm/types/contracts/ArbitrumL1FeeAbi.d.ts +32 -0
  91. package/esm/types/contracts/ArbitrumL1FeeAbi.js +42 -0
  92. package/esm/types/contracts/ArbitrumL1FeeAbi.js.map +1 -0
  93. package/esm/types/contracts/EntryPointSimulationsV6.d.ts +34 -0
  94. package/esm/types/contracts/EntryPointSimulationsV6.js +48 -0
  95. package/esm/types/contracts/EntryPointSimulationsV6.js.map +1 -0
  96. package/esm/types/contracts/{EntryPointSimulations.d.ts → EntryPointSimulationsV7.d.ts} +1 -9
  97. package/esm/types/contracts/{EntryPointSimulations.js → EntryPointSimulationsV7.js} +1 -13
  98. package/esm/types/contracts/EntryPointSimulationsV7.js.map +1 -0
  99. package/esm/types/contracts/MantleBvmGasPriceOracle.d.ts +219 -0
  100. package/esm/types/contracts/MantleBvmGasPriceOracle.js +177 -0
  101. package/esm/types/contracts/MantleBvmGasPriceOracle.js.map +1 -0
  102. package/esm/types/contracts/OpL1FeeAbi.d.ts +26 -0
  103. package/esm/types/contracts/OpL1FeeAbi.js +29 -0
  104. package/esm/types/contracts/OpL1FeeAbi.js.map +1 -0
  105. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  106. package/esm/types/contracts/PimlicoEntryPointSimulations.js +1 -1
  107. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  108. package/esm/types/contracts/index.d.ts +5 -1
  109. package/esm/types/contracts/index.js +5 -1
  110. package/esm/types/contracts/index.js.map +1 -1
  111. package/esm/types/interfaces.d.ts +2 -2
  112. package/esm/types/schemas.d.ts +26 -26
  113. package/esm/types/schemas.js +3 -3
  114. package/esm/types/schemas.js.map +1 -1
  115. package/esm/types/utils.d.ts +1 -1
  116. package/esm/utils/bigInt.js +2 -2
  117. package/esm/utils/bigInt.js.map +1 -1
  118. package/esm/utils/helpers.js +1 -1
  119. package/esm/utils/helpers.js.map +1 -1
  120. package/esm/utils/rpc-reply.d.ts +1 -1
  121. package/esm/utils/timedQueue.d.ts +12 -0
  122. package/esm/utils/timedQueue.js +51 -0
  123. package/esm/utils/timedQueue.js.map +1 -0
  124. package/esm/utils/userop.d.ts +2 -2
  125. package/esm/utils/userop.js +2 -2
  126. package/esm/utils/userop.js.map +1 -1
  127. package/esm/utils/validation.d.ts +13 -5
  128. package/esm/utils/validation.js +104 -133
  129. package/esm/utils/validation.js.map +1 -1
  130. package/lib/cli/alto.js +2 -0
  131. package/lib/cli/alto.js.map +1 -1
  132. package/lib/cli/config/bundler.d.ts +296 -272
  133. package/lib/cli/config/bundler.js +14 -6
  134. package/lib/cli/config/bundler.js.map +1 -1
  135. package/lib/cli/config/options.js +32 -8
  136. package/lib/cli/config/options.js.map +1 -1
  137. package/lib/cli/customTransport.js +38 -5
  138. package/lib/cli/customTransport.js.map +1 -1
  139. package/lib/cli/deploySimulationsContract.d.ts +8 -0
  140. package/lib/cli/deploySimulationsContract.js +30 -0
  141. package/lib/cli/deploySimulationsContract.js.map +1 -0
  142. package/lib/cli/handler.d.ts +2 -2
  143. package/lib/cli/handler.js +66 -88
  144. package/lib/cli/handler.js.map +1 -1
  145. package/lib/cli/instrumentation.js +4 -2
  146. package/lib/cli/instrumentation.js.map +1 -1
  147. package/lib/cli/parseArgs.d.ts +8 -0
  148. package/lib/cli/parseArgs.js +25 -0
  149. package/lib/cli/parseArgs.js.map +1 -0
  150. package/lib/cli/setupServer.d.ts +4 -9
  151. package/lib/cli/setupServer.js +98 -82
  152. package/lib/cli/setupServer.js.map +1 -1
  153. package/lib/createConfig.d.ts +15 -0
  154. package/lib/createConfig.js +12 -0
  155. package/lib/createConfig.js.map +1 -0
  156. package/lib/executor/executor.d.ts +29 -13
  157. package/lib/executor/executor.js +106 -68
  158. package/lib/executor/executor.js.map +1 -1
  159. package/lib/executor/executorManager.d.ts +14 -10
  160. package/lib/executor/executorManager.js +27 -37
  161. package/lib/executor/executorManager.js.map +1 -1
  162. package/lib/executor/senderManager.d.ts +11 -6
  163. package/lib/executor/senderManager.js +25 -32
  164. package/lib/executor/senderManager.js.map +1 -1
  165. package/lib/executor/utilityWalletMonitor.d.ts +9 -5
  166. package/lib/executor/utilityWalletMonitor.js +8 -8
  167. package/lib/executor/utilityWalletMonitor.js.map +1 -1
  168. package/lib/executor/utils.d.ts +2 -1
  169. package/lib/executor/utils.js +9 -3
  170. package/lib/executor/utils.js.map +1 -1
  171. package/lib/handlers/arbitrumGasPriceManager.d.ts +11 -0
  172. package/lib/handlers/arbitrumGasPriceManager.js +33 -0
  173. package/lib/handlers/arbitrumGasPriceManager.js.map +1 -0
  174. package/lib/handlers/eventManager.d.ts +7 -3
  175. package/lib/handlers/eventManager.js +24 -16
  176. package/lib/handlers/eventManager.js.map +1 -1
  177. package/lib/handlers/gasPriceManager.d.ts +13 -40
  178. package/lib/handlers/gasPriceManager.js +79 -203
  179. package/lib/handlers/gasPriceManager.js.map +1 -1
  180. package/lib/handlers/mantleGasPriceManager.d.ts +20 -0
  181. package/lib/handlers/mantleGasPriceManager.js +32 -0
  182. package/lib/handlers/mantleGasPriceManager.js.map +1 -0
  183. package/lib/mempool/mempool.d.ts +13 -10
  184. package/lib/mempool/mempool.js +28 -25
  185. package/lib/mempool/mempool.js.map +1 -1
  186. package/lib/mempool/reputationManager.d.ts +4 -6
  187. package/lib/mempool/reputationManager.js +25 -29
  188. package/lib/mempool/reputationManager.js.map +1 -1
  189. package/lib/mempool/store.d.ts +1 -1
  190. package/lib/rpc/estimation/gasEstimationHandler.d.ts +6 -6
  191. package/lib/rpc/estimation/gasEstimationHandler.js +14 -30
  192. package/lib/rpc/estimation/gasEstimationHandler.js.map +1 -1
  193. package/lib/rpc/estimation/gasEstimationsV06.d.ts +7 -7
  194. package/lib/rpc/estimation/gasEstimationsV06.js +75 -44
  195. package/lib/rpc/estimation/gasEstimationsV06.js.map +1 -1
  196. package/lib/rpc/estimation/gasEstimationsV07.d.ts +7 -12
  197. package/lib/rpc/estimation/gasEstimationsV07.js +48 -36
  198. package/lib/rpc/estimation/gasEstimationsV07.js.map +1 -1
  199. package/lib/rpc/nonceQueuer.d.ts +10 -6
  200. package/lib/rpc/nonceQueuer.js +9 -9
  201. package/lib/rpc/nonceQueuer.js.map +1 -1
  202. package/lib/rpc/rpcHandler.d.ts +19 -16
  203. package/lib/rpc/rpcHandler.js +74 -67
  204. package/lib/rpc/rpcHandler.js.map +1 -1
  205. package/lib/rpc/server.d.ts +9 -7
  206. package/lib/rpc/server.js +26 -24
  207. package/lib/rpc/server.js.map +1 -1
  208. package/lib/rpc/validation/SafeValidator.d.ts +11 -6
  209. package/lib/rpc/validation/SafeValidator.js +13 -10
  210. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  211. package/lib/rpc/validation/TracerResultParserV06.d.ts +1 -1
  212. package/lib/rpc/validation/TracerResultParserV07.d.ts +1 -1
  213. package/lib/rpc/validation/TracerResultParserV07.js +1 -1
  214. package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
  215. package/lib/rpc/validation/UnsafeValidator.d.ts +11 -12
  216. package/lib/rpc/validation/UnsafeValidator.js +28 -29
  217. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  218. package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +32 -0
  219. package/lib/types/contracts/ArbitrumL1FeeAbi.js +45 -0
  220. package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +1 -0
  221. package/lib/types/contracts/EntryPointSimulationsV6.d.ts +34 -0
  222. package/lib/types/contracts/EntryPointSimulationsV6.js +51 -0
  223. package/lib/types/contracts/EntryPointSimulationsV6.js.map +1 -0
  224. package/lib/types/contracts/{EntryPointSimulations.d.ts → EntryPointSimulationsV7.d.ts} +1 -9
  225. package/lib/types/contracts/{EntryPointSimulations.js → EntryPointSimulationsV7.js} +2 -14
  226. package/lib/types/contracts/EntryPointSimulationsV7.js.map +1 -0
  227. package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +219 -0
  228. package/lib/types/contracts/MantleBvmGasPriceOracle.js +180 -0
  229. package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +1 -0
  230. package/lib/types/contracts/OpL1FeeAbi.d.ts +26 -0
  231. package/lib/types/contracts/OpL1FeeAbi.js +32 -0
  232. package/lib/types/contracts/OpL1FeeAbi.js.map +1 -0
  233. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  234. package/lib/types/contracts/PimlicoEntryPointSimulations.js +1 -1
  235. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  236. package/lib/types/contracts/index.d.ts +5 -1
  237. package/lib/types/contracts/index.js +5 -1
  238. package/lib/types/contracts/index.js.map +1 -1
  239. package/lib/types/interfaces.d.ts +2 -2
  240. package/lib/types/schemas.d.ts +26 -26
  241. package/lib/types/schemas.js +3 -3
  242. package/lib/types/schemas.js.map +1 -1
  243. package/lib/types/utils.d.ts +1 -1
  244. package/lib/utils/bigInt.js +2 -2
  245. package/lib/utils/bigInt.js.map +1 -1
  246. package/lib/utils/rpc-reply.d.ts +1 -1
  247. package/lib/utils/timedQueue.d.ts +12 -0
  248. package/lib/utils/timedQueue.js +55 -0
  249. package/lib/utils/timedQueue.js.map +1 -0
  250. package/lib/utils/userop.d.ts +2 -2
  251. package/lib/utils/userop.js +1 -1
  252. package/lib/utils/userop.js.map +1 -1
  253. package/lib/utils/validation.d.ts +13 -5
  254. package/lib/utils/validation.js +107 -135
  255. package/lib/utils/validation.js.map +1 -1
  256. package/package.json +1 -1
  257. package/esm/types/contracts/EntryPointSimulations.js.map +0 -1
  258. package/lib/types/contracts/EntryPointSimulations.js.map +0 -1
@@ -1,18 +1,18 @@
1
- import { EntryPointV06Abi, deriveUserOperation, EntryPointV07Abi } from "../types/index.js";
1
+ import { EntryPointV06Abi, EntryPointV07Abi, deriveUserOperation } from "../types/index.js";
2
2
  import { getNonceKeyAndValue, getUserOperationHash, isVersion06 } from "../utils/index.js";
3
3
  import { getContract } from "viem";
4
4
  export class NonceQueuer {
5
5
  queuedUserOperations = [];
6
+ config;
6
7
  mempool;
7
- publicClient;
8
8
  logger;
9
- blockTagSupport;
10
9
  eventManager;
11
- constructor(mempool, publicClient, logger, blockTagSupport, eventManager) {
10
+ constructor({ config, mempool, eventManager }) {
11
+ this.config = config;
12
12
  this.mempool = mempool;
13
- this.publicClient = publicClient;
14
- this.logger = logger;
15
- this.blockTagSupport = blockTagSupport;
13
+ this.logger = config.getLogger({ module: "nonce_queuer" }, {
14
+ level: config.nonceQueuerLogLevel || config.logLevel
15
+ });
16
16
  this.eventManager = eventManager;
17
17
  setInterval(() => {
18
18
  this.process();
@@ -26,7 +26,7 @@ export class NonceQueuer {
26
26
  if (this.queuedUserOperations.length === 0) {
27
27
  return;
28
28
  }
29
- const availableOps = await this.getAvailableUserOperations(this.publicClient);
29
+ const availableOps = await this.getAvailableUserOperations(this.config.publicClient);
30
30
  if (availableOps.length === 0) {
31
31
  return;
32
32
  }
@@ -43,7 +43,7 @@ export class NonceQueuer {
43
43
  add(mempoolUserOperation, entryPoint) {
44
44
  const userOperation = deriveUserOperation(mempoolUserOperation);
45
45
  const [nonceKey, nonceValue] = getNonceKeyAndValue(userOperation.nonce);
46
- const hash = getUserOperationHash(deriveUserOperation(mempoolUserOperation), entryPoint, this.publicClient.chain.id);
46
+ const hash = getUserOperationHash(deriveUserOperation(mempoolUserOperation), entryPoint, this.config.publicClient.chain.id);
47
47
  this.queuedUserOperations.push({
48
48
  entryPoint,
49
49
  userOperationHash: hash,
@@ -80,7 +80,7 @@ export class NonceQueuer {
80
80
  args: [userOperation.sender, qop.nonceKey]
81
81
  };
82
82
  }),
83
- blockTag: this.blockTagSupport ? "latest" : undefined
83
+ blockTag: this.config.blockTagSupport ? "latest" : undefined
84
84
  });
85
85
  }
86
86
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"nonceQueuer.js","sourceRoot":"","sources":["../../rpc/nonceQueuer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nonceQueuer.js","sourceRoot":"","sources":["../../rpc/nonceQueuer.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import type { Executor, ExecutorManager } from "../executor/index.js";
2
+ import type { CompressionHandler, EventManager, GasPriceManager } from "../handlers/index.js";
2
3
  import type { InterfaceReputationManager, MemoryMempool, Monitor } from "../mempool/index.js";
3
- import type { ApiVersion, StateOverrides, GasPriceMultipliers, ChainType } from "../types/index.js";
4
+ import type { ApiVersion, StateOverrides } from "../types/index.js";
4
5
  import { type Address, type BundlerClearMempoolResponseResult, type BundlerClearStateResponseResult, type BundlerDumpMempoolResponseResult, type BundlerDumpReputationsResponseResult, type BundlerGetStakeStatusResponseResult, type BundlerRequest, type BundlerResponse, type BundlerSendBundleNowResponseResult, type BundlerSetBundlingModeResponseResult, type BundlerSetReputationsRequestParams, type BundlingMode, type ChainIdResponseResult, type EstimateUserOperationGasResponseResult, type GetUserOperationByHashResponseResult, type GetUserOperationReceiptResponseResult, type HexData32, type InterfaceValidator, type MempoolUserOperation, type PimlicoGetUserOperationGasPriceResponseResult, type PimlicoGetUserOperationStatusResponseResult, type SendUserOperationResponseResult, type SupportedEntryPointsResponseResult, type UserOperation } from "../types/index.js";
5
6
  import type { Logger, Metrics } from "../utils/index.js";
6
- import type { GasPriceManager, CompressionHandler, EventManager } from "../handlers/index.js";
7
- import { type Chain, type Hex, type PublicClient, type Transport } from "viem";
7
+ import { type Hex } from "viem";
8
8
  import type { NonceQueuer } from "./nonceQueuer.js";
9
+ import type { AltoConfig } from "../createConfig.js";
9
10
  export interface IRpcEndpoint {
10
11
  handleMethod(request: BundlerRequest, apiVersion: ApiVersion): Promise<BundlerResponse>;
11
12
  eth_chainId(): ChainIdResponseResult;
@@ -16,31 +17,33 @@ export interface IRpcEndpoint {
16
17
  eth_getUserOperationReceipt(userOperationHash: HexData32): Promise<GetUserOperationReceiptResponseResult>;
17
18
  }
18
19
  export declare class RpcHandler implements IRpcEndpoint {
19
- entryPoints: Address[];
20
- publicClient: PublicClient<Transport, Chain>;
20
+ config: AltoConfig;
21
21
  validator: InterfaceValidator;
22
22
  mempool: MemoryMempool;
23
23
  executor: Executor;
24
24
  monitor: Monitor;
25
25
  nonceQueuer: NonceQueuer;
26
- usingTenderly: boolean;
27
- rpcMaxBlockRange: number | undefined;
28
26
  logger: Logger;
29
27
  metrics: Metrics;
30
- chainId: number;
31
- chainType: ChainType;
32
- enableDebugEndpoints: boolean;
33
28
  executorManager: ExecutorManager;
34
29
  reputationManager: InterfaceReputationManager;
35
30
  compressionHandler: CompressionHandler | null;
36
- legacyTransactions: boolean;
37
- dangerousSkipUserOperationValidation: boolean;
38
31
  gasPriceManager: GasPriceManager;
39
- gasPriceMultipliers: GasPriceMultipliers;
40
- paymasterGasLimitMultiplier: bigint;
41
32
  eventManager: EventManager;
42
- enableInstantBundlingEndpoint: boolean;
43
- constructor(entryPoints: Address[], publicClient: PublicClient<Transport, Chain>, validator: InterfaceValidator, mempool: MemoryMempool, executor: Executor, monitor: Monitor, nonceQueuer: NonceQueuer, executorManager: ExecutorManager, reputationManager: InterfaceReputationManager, usingTenderly: boolean, rpcMaxBlockRange: number | undefined, logger: Logger, metrics: Metrics, enableDebugEndpoints: boolean, compressionHandler: CompressionHandler | null, legacyTransactions: boolean, gasPriceManager: GasPriceManager, gasPriceMultipliers: GasPriceMultipliers, chainType: ChainType, paymasterGasLimitMultiplier: bigint, eventManager: EventManager, enableInstantBundlingEndpoint: boolean, dangerousSkipUserOperationValidation?: boolean);
33
+ constructor({ config, validator, mempool, executor, monitor, nonceQueuer, executorManager, reputationManager, metrics, compressionHandler, gasPriceManager, eventManager }: {
34
+ config: AltoConfig;
35
+ validator: InterfaceValidator;
36
+ mempool: MemoryMempool;
37
+ executor: Executor;
38
+ monitor: Monitor;
39
+ nonceQueuer: NonceQueuer;
40
+ executorManager: ExecutorManager;
41
+ reputationManager: InterfaceReputationManager;
42
+ metrics: Metrics;
43
+ compressionHandler: CompressionHandler | null;
44
+ eventManager: EventManager;
45
+ gasPriceManager: GasPriceManager;
46
+ });
44
47
  handleMethod(request: BundlerRequest, apiVersion: ApiVersion): Promise<BundlerResponse>;
45
48
  ensureEntryPointIsSupported(entryPoint: Address): void;
46
49
  ensureDebugEndpointsAreEnabled(methodName: string): void;
@@ -1,57 +1,36 @@
1
1
  import { EntryPointV06Abi, EntryPointV07Abi, IOpInflatorAbi, RpcError, ValidationErrors, bundlerGetStakeStatusResponseSchema, deriveUserOperation } from "../types/index.js";
2
- import { calcPreVerificationGas, calcVerificationGasAndCallGasLimit, getAAError, getNonceKeyAndValue, getUserOperationHash, isVersion06, isVersion07, maxBigInt, parseUserOperationReceipt, scaleBigIntByPercent, toUnpackedUserOperation } from "../utils/index.js";
2
+ import { calcPreVerificationGas, calcVerificationGasAndCallGasLimit, deepHexlify, getAAError, getNonceKeyAndValue, getUserOperationHash, isVersion06, isVersion07, maxBigInt, parseUserOperationReceipt, scaleBigIntByPercent, toUnpackedUserOperation } from "../utils/index.js";
3
3
  import { TransactionNotFoundError, decodeFunctionData, getAbiItem, getAddress, getContract, slice, toFunctionSelector } from "viem";
4
4
  import { base, baseSepolia, optimism } from "viem/chains";
5
5
  export class RpcHandler {
6
- entryPoints;
7
- publicClient;
6
+ config;
8
7
  validator;
9
8
  mempool;
10
9
  executor;
11
10
  monitor;
12
11
  nonceQueuer;
13
- usingTenderly;
14
- rpcMaxBlockRange;
15
12
  logger;
16
13
  metrics;
17
- chainId;
18
- chainType;
19
- enableDebugEndpoints;
20
14
  executorManager;
21
15
  reputationManager;
22
16
  compressionHandler;
23
- legacyTransactions;
24
- dangerousSkipUserOperationValidation;
25
17
  gasPriceManager;
26
- gasPriceMultipliers;
27
- paymasterGasLimitMultiplier;
28
18
  eventManager;
29
- enableInstantBundlingEndpoint;
30
- constructor(entryPoints, publicClient, validator, mempool, executor, monitor, nonceQueuer, executorManager, reputationManager, usingTenderly, rpcMaxBlockRange, logger, metrics, enableDebugEndpoints, compressionHandler, legacyTransactions, gasPriceManager, gasPriceMultipliers, chainType, paymasterGasLimitMultiplier, eventManager, enableInstantBundlingEndpoint, dangerousSkipUserOperationValidation = false) {
31
- this.entryPoints = entryPoints;
32
- this.publicClient = publicClient;
19
+ constructor({ config, validator, mempool, executor, monitor, nonceQueuer, executorManager, reputationManager, metrics, compressionHandler, gasPriceManager, eventManager }) {
20
+ this.config = config;
33
21
  this.validator = validator;
34
22
  this.mempool = mempool;
35
23
  this.executor = executor;
36
24
  this.monitor = monitor;
37
25
  this.nonceQueuer = nonceQueuer;
38
- this.usingTenderly = usingTenderly;
39
- this.rpcMaxBlockRange = rpcMaxBlockRange;
40
- this.logger = logger;
26
+ this.logger = config.getLogger({ module: "rpc" }, {
27
+ level: config.rpcLogLevel || config.logLevel
28
+ });
41
29
  this.metrics = metrics;
42
- this.enableDebugEndpoints = enableDebugEndpoints;
43
- this.chainId = publicClient.chain.id;
44
30
  this.executorManager = executorManager;
45
31
  this.reputationManager = reputationManager;
46
32
  this.compressionHandler = compressionHandler;
47
- this.legacyTransactions = legacyTransactions;
48
- this.dangerousSkipUserOperationValidation =
49
- dangerousSkipUserOperationValidation;
50
- this.gasPriceMultipliers = gasPriceMultipliers;
51
- this.chainType = chainType;
52
33
  this.gasPriceManager = gasPriceManager;
53
- this.paymasterGasLimitMultiplier = paymasterGasLimitMultiplier;
54
- this.enableInstantBundlingEndpoint = enableInstantBundlingEndpoint;
55
34
  this.eventManager = eventManager;
56
35
  }
57
36
  async handleMethod(request, apiVersion) {
@@ -151,17 +130,17 @@ export class RpcHandler {
151
130
  }
152
131
  }
153
132
  ensureEntryPointIsSupported(entryPoint) {
154
- if (!this.entryPoints.includes(entryPoint)) {
155
- throw new Error(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.entryPoints.join(", ")}`);
133
+ if (!this.config.entrypoints.includes(entryPoint)) {
134
+ throw new Error(`EntryPoint ${entryPoint} not supported, supported EntryPoints: ${this.config.entrypoints.join(", ")}`);
156
135
  }
157
136
  }
158
137
  ensureDebugEndpointsAreEnabled(methodName) {
159
- if (!this.enableDebugEndpoints) {
138
+ if (!this.config.enableDebugEndpoints) {
160
139
  throw new RpcError(`${methodName} is only available in development environment`);
161
140
  }
162
141
  }
163
142
  async preMempoolChecks(opHash, userOperation, apiVersion, entryPoint) {
164
- if (this.legacyTransactions &&
143
+ if (this.config.legacyTransactions &&
165
144
  userOperation.maxFeePerGas !== userOperation.maxPriorityFeePerGas) {
166
145
  const reason = "maxPriorityFeePerGas must equal maxFeePerGas on chains that don't support EIP-1559";
167
146
  this.eventManager.emitFailedValidation(opHash, reason);
@@ -187,28 +166,39 @@ export class RpcHandler {
187
166
  }
188
167
  }
189
168
  eth_chainId() {
190
- return BigInt(this.chainId);
169
+ return BigInt(this.config.publicClient.chain.id);
191
170
  }
192
171
  eth_supportedEntryPoints() {
193
- return this.entryPoints;
172
+ return this.config.entrypoints;
194
173
  }
195
174
  async eth_estimateUserOperationGas(apiVersion, userOperation, entryPoint, stateOverrides) {
196
175
  this.ensureEntryPointIsSupported(entryPoint);
197
176
  if (userOperation.maxFeePerGas === 0n) {
198
177
  throw new RpcError("user operation max fee per gas must be larger than 0 during gas estimation");
199
178
  }
200
- let preVerificationGas = await calcPreVerificationGas(this.publicClient, userOperation, entryPoint, this.chainId, this.chainType, this.gasPriceManager, false);
179
+ let preVerificationGas = await calcPreVerificationGas({
180
+ config: this.config,
181
+ userOperation,
182
+ entryPoint,
183
+ gasPriceManager: this.gasPriceManager,
184
+ validate: false
185
+ });
201
186
  preVerificationGas = scaleBigIntByPercent(preVerificationGas, 110);
202
187
  // biome-ignore lint/style/noParameterAssign: prepare userOperaiton for simulation
203
188
  userOperation = {
204
189
  ...userOperation,
205
- preVerificationGas: 1000000n,
190
+ preVerificationGas,
206
191
  verificationGasLimit: 10000000n,
207
192
  callGasLimit: 10000000n
208
193
  };
209
- if (this.chainId === base.id) {
194
+ if (this.config.publicClient.chain.id === base.id) {
210
195
  userOperation.verificationGasLimit = 5000000n;
211
196
  }
197
+ if (this.config.chainType === "hedera") {
198
+ // The eth_call gasLimit is set to 12_500_000 on Hedera.
199
+ userOperation.verificationGasLimit = 5000000n;
200
+ userOperation.callGasLimit = 4500000n;
201
+ }
212
202
  if (isVersion07(userOperation)) {
213
203
  userOperation.paymasterPostOpGasLimit = 2000000n;
214
204
  userOperation.paymasterVerificationGasLimit = 5000000n;
@@ -238,8 +228,8 @@ export class RpcHandler {
238
228
  throw new RpcError("UserOperation reverted during simulation with reason: AA25 invalid account nonce", ValidationErrors.InvalidFields);
239
229
  }
240
230
  }
241
- const executionResult = await this.validator.getExecutionResult(userOperation, entryPoint, queuedUserOperations, stateOverrides);
242
- let { verificationGasLimit, callGasLimit } = calcVerificationGasAndCallGasLimit(userOperation, executionResult.data.executionResult, this.chainId, executionResult.data.callDataResult);
231
+ const executionResult = await this.validator.getExecutionResult(userOperation, entryPoint, queuedUserOperations, true, stateOverrides);
232
+ let { verificationGasLimit, callGasLimit } = calcVerificationGasAndCallGasLimit(userOperation, executionResult.data.executionResult, this.config.publicClient.chain.id, executionResult.data.callDataResult);
243
233
  let paymasterVerificationGasLimit = 0n;
244
234
  let paymasterPostOpGasLimit = 0n;
245
235
  if (isVersion07(userOperation) &&
@@ -253,21 +243,36 @@ export class RpcHandler {
253
243
  paymasterPostOpGasLimit =
254
244
  executionResult.data.executionResult.paymasterPostOpGasLimit ||
255
245
  1n;
256
- const multiplier = this.paymasterGasLimitMultiplier;
257
- paymasterVerificationGasLimit =
258
- (paymasterVerificationGasLimit * multiplier) / 100n;
259
- paymasterPostOpGasLimit =
260
- (paymasterPostOpGasLimit * multiplier) / 100n;
246
+ const multiplier = Number(this.config.paymasterGasLimitMultiplier);
247
+ paymasterVerificationGasLimit = scaleBigIntByPercent(paymasterVerificationGasLimit, multiplier);
248
+ paymasterPostOpGasLimit = scaleBigIntByPercent(paymasterPostOpGasLimit, multiplier);
261
249
  }
262
- if (this.chainId === base.id || this.chainId === baseSepolia.id) {
250
+ if (this.config.publicClient.chain.id === base.id ||
251
+ this.config.publicClient.chain.id === baseSepolia.id) {
263
252
  callGasLimit += 10000n;
264
253
  }
265
- if (this.chainId === base.id || this.chainId === optimism.id) {
254
+ if (this.config.publicClient.chain.id === base.id ||
255
+ this.config.publicClient.chain.id === optimism.id) {
266
256
  callGasLimit = maxBigInt(callGasLimit, 120000n);
267
257
  }
268
258
  if (userOperation.callData === "0x") {
269
259
  callGasLimit = 0n;
270
260
  }
261
+ if (isVersion06(userOperation)) {
262
+ callGasLimit = scaleBigIntByPercent(callGasLimit, Number(this.config.callGasLimitMultiplier));
263
+ }
264
+ // If a balance override is provided for the sender, perform an additional simulation
265
+ // to verify the userOperation succeeds with the specified balance.
266
+ if (stateOverrides?.[userOperation.sender]?.balance) {
267
+ await this.validator.getExecutionResult({
268
+ ...userOperation,
269
+ preVerificationGas,
270
+ verificationGasLimit,
271
+ callGasLimit,
272
+ paymasterVerificationGasLimit,
273
+ paymasterPostOpGasLimit
274
+ }, entryPoint, queuedUserOperations, false, deepHexlify(stateOverrides));
275
+ }
271
276
  if (isVersion07(userOperation)) {
272
277
  return {
273
278
  preVerificationGas,
@@ -292,7 +297,7 @@ export class RpcHandler {
292
297
  };
293
298
  }
294
299
  async eth_sendUserOperation(apiVersion, userOperation, entryPoint) {
295
- const hash = getUserOperationHash(userOperation, entryPoint, this.chainId);
300
+ const hash = getUserOperationHash(userOperation, entryPoint, this.config.publicClient.chain.id);
296
301
  this.eventManager.emitReceived(hash);
297
302
  let status = "rejected";
298
303
  try {
@@ -317,18 +322,18 @@ export class RpcHandler {
317
322
  abi: EntryPointV06Abi,
318
323
  name: "UserOperationEvent"
319
324
  });
320
- let fromBlock = undefined;
321
- let toBlock = undefined;
322
- if (this.rpcMaxBlockRange !== undefined) {
323
- const latestBlock = await this.publicClient.getBlockNumber();
324
- fromBlock = latestBlock - BigInt(this.rpcMaxBlockRange);
325
+ let fromBlock;
326
+ let toBlock;
327
+ if (this.config.maxBlockRange !== undefined) {
328
+ const latestBlock = await this.config.publicClient.getBlockNumber();
329
+ fromBlock = latestBlock - BigInt(this.config.maxBlockRange);
325
330
  if (fromBlock < 0n) {
326
331
  fromBlock = 0n;
327
332
  }
328
333
  toBlock = "latest";
329
334
  }
330
- const filterResult = await this.publicClient.getLogs({
331
- address: this.entryPoints,
335
+ const filterResult = await this.config.publicClient.getLogs({
336
+ address: this.config.entrypoints,
332
337
  event: userOperationEventAbiItem,
333
338
  fromBlock,
334
339
  toBlock,
@@ -347,7 +352,9 @@ export class RpcHandler {
347
352
  }
348
353
  const getTransaction = async (txHash) => {
349
354
  try {
350
- return await this.publicClient.getTransaction({ hash: txHash });
355
+ return await this.config.publicClient.getTransaction({
356
+ hash: txHash
357
+ });
351
358
  }
352
359
  catch (e) {
353
360
  if (e instanceof TransactionNotFoundError) {
@@ -454,11 +461,11 @@ export class RpcHandler {
454
461
  }
455
462
  async pimlico_getUserOperationGasPrice() {
456
463
  let { maxFeePerGas, maxPriorityFeePerGas } = await this.gasPriceManager.getGasPrice();
457
- if (this.chainType === "hedera") {
464
+ if (this.config.chainType === "hedera") {
458
465
  maxFeePerGas /= 10n ** 9n;
459
466
  maxPriorityFeePerGas /= 10n ** 9n;
460
467
  }
461
- const { slow, standard, fast } = this.gasPriceMultipliers;
468
+ const { slow, standard, fast } = this.config.gasPriceMultipliers;
462
469
  return {
463
470
  slow: {
464
471
  maxFeePerGas: (maxFeePerGas * slow) / 100n,
@@ -478,7 +485,7 @@ export class RpcHandler {
478
485
  async addToMempoolIfValid(op, entryPoint, apiVersion) {
479
486
  this.ensureEntryPointIsSupported(entryPoint);
480
487
  const userOperation = deriveUserOperation(op);
481
- const opHash = getUserOperationHash(userOperation, entryPoint, this.chainId);
488
+ const opHash = getUserOperationHash(userOperation, entryPoint, this.config.publicClient.chain.id);
482
489
  await this.preMempoolChecks(opHash, userOperation, apiVersion, entryPoint);
483
490
  const currentNonceValue = await this.getNonceValue(userOperation, entryPoint);
484
491
  const [, userOperationNonceValue] = getNonceKeyAndValue(userOperation.nonce);
@@ -499,11 +506,11 @@ export class RpcHandler {
499
506
  }
500
507
  if (userOperationNonceValue ===
501
508
  currentNonceValue + BigInt(queuedUserOperations.length)) {
502
- if (this.dangerousSkipUserOperationValidation) {
509
+ if (this.config.dangerousSkipUserOperationValidation) {
503
510
  const [success, errorReason] = this.mempool.add(op, entryPoint);
504
511
  if (!success) {
505
512
  this.eventManager.emitFailedValidation(opHash, errorReason, getAAError(errorReason));
506
- throw new RpcError(`UserOperation reverted during simulation with reason: ${errorReason}`, ValidationErrors.InvalidFields);
513
+ throw new RpcError(errorReason, ValidationErrors.InvalidFields);
507
514
  }
508
515
  }
509
516
  else {
@@ -516,7 +523,7 @@ export class RpcHandler {
516
523
  const [success, errorReason] = this.mempool.add(op, entryPoint, validationResult.referencedContracts);
517
524
  if (!success) {
518
525
  this.eventManager.emitFailedValidation(opHash, errorReason, getAAError(errorReason));
519
- throw new RpcError(`UserOperation reverted during simulation with reason: ${errorReason}`, ValidationErrors.InvalidFields);
526
+ throw new RpcError(errorReason, ValidationErrors.InvalidFields);
520
527
  }
521
528
  return "added";
522
529
  }
@@ -525,11 +532,11 @@ export class RpcHandler {
525
532
  return "queued";
526
533
  }
527
534
  async pimlico_sendUserOperationNow(apiVersion, userOperation, entryPoint) {
528
- if (!this.enableInstantBundlingEndpoint) {
535
+ if (!this.config.enableInstantBundlingEndpoint) {
529
536
  throw new RpcError("pimlico_sendUserOperationNow endpoint is not enabled", ValidationErrors.InvalidFields);
530
537
  }
531
538
  this.ensureEntryPointIsSupported(entryPoint);
532
- const opHash = getUserOperationHash(userOperation, entryPoint, this.chainId);
539
+ const opHash = getUserOperationHash(userOperation, entryPoint, this.config.publicClient.chain.id);
533
540
  await this.preMempoolChecks(opHash, userOperation, apiVersion, entryPoint);
534
541
  const result = (await this.executor.bundle(entryPoint, [userOperation]))[0];
535
542
  if (result.status === "failure") {
@@ -552,7 +559,7 @@ export class RpcHandler {
552
559
  const res = result;
553
560
  this.executor.markWalletProcessed(res.value.transactionInfo.executor);
554
561
  // wait for receipt
555
- const receipt = await this.publicClient.waitForTransactionReceipt({
562
+ const receipt = await this.config.publicClient.waitForTransactionReceipt({
556
563
  hash: res.value.transactionInfo.transactionHash,
557
564
  pollingInterval: 100
558
565
  });
@@ -564,7 +571,7 @@ export class RpcHandler {
564
571
  let status = "rejected";
565
572
  try {
566
573
  const { inflatedOp, inflatorId } = await this.validateAndInflateCompressedUserOperation(inflatorAddress, compressedCalldata);
567
- const hash = getUserOperationHash(inflatedOp, entryPoint, this.chainId);
574
+ const hash = getUserOperationHash(inflatedOp, entryPoint, this.config.publicClient.chain.id);
568
575
  this.eventManager.emitReceived(hash, receivedTimestamp);
569
576
  const compressedUserOp = {
570
577
  compressedCalldata,
@@ -594,7 +601,7 @@ export class RpcHandler {
594
601
  if (this.compressionHandler === null) {
595
602
  throw new RpcError("Endpoint not supported");
596
603
  }
597
- const inflatorId = await this.compressionHandler.getInflatorRegisteredId(inflatorAddress, this.publicClient);
604
+ const inflatorId = await this.compressionHandler.getInflatorRegisteredId(inflatorAddress, this.config.publicClient);
598
605
  if (inflatorId === 0) {
599
606
  throw new RpcError(`Inflator ${inflatorAddress} is not registered`, ValidationErrors.InvalidFields);
600
607
  }
@@ -603,7 +610,7 @@ export class RpcHandler {
603
610
  address: inflatorAddress,
604
611
  abi: IOpInflatorAbi,
605
612
  client: {
606
- public: this.publicClient
613
+ public: this.config.publicClient
607
614
  }
608
615
  });
609
616
  let inflatedOp;
@@ -629,7 +636,7 @@ export class RpcHandler {
629
636
  ? EntryPointV06Abi
630
637
  : EntryPointV07Abi,
631
638
  client: {
632
- public: this.publicClient
639
+ public: this.config.publicClient
633
640
  }
634
641
  });
635
642
  const [nonceKey] = getNonceKeyAndValue(userOperation.nonce);
@@ -1 +1 @@
1
- {"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../../rpc/rpcHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../../rpc/rpcHandler.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { type ApiVersion } from "../types/index.js";
2
- import type { Logger, Metrics } from "../utils/index.js";
1
+ import type { Metrics } from "../utils/index.js";
3
2
  import { type FastifyReply, type FastifyRequest } from "fastify";
4
3
  import type { Registry } from "prom-client";
5
4
  import type { IRpcEndpoint } from "./rpcHandler.js";
5
+ import type { AltoConfig } from "../createConfig.js";
6
6
  declare module "fastify" {
7
7
  interface FastifyRequest {
8
8
  rpcMethod: string;
@@ -12,15 +12,17 @@ declare module "fastify" {
12
12
  }
13
13
  }
14
14
  export declare class Server {
15
+ private config;
15
16
  private fastify;
16
17
  private rpcEndpoint;
17
- private port;
18
18
  private registry;
19
19
  private metrics;
20
- private apiVersions;
21
- private defaultApiVersion;
22
- private supportedRpcMethods;
23
- constructor(rpcEndpoint: IRpcEndpoint, apiVersions: ApiVersion[], defaultApiVersion: ApiVersion, port: number, requestTimeout: number | undefined, websocketMaxPayloadSize: number, websocketEnabled: boolean, logger: Logger, registry: Registry, metrics: Metrics, supportedRpcMethods: string[] | null);
20
+ constructor({ config, rpcEndpoint, registry, metrics }: {
21
+ config: AltoConfig;
22
+ rpcEndpoint: IRpcEndpoint;
23
+ registry: Registry;
24
+ metrics: Metrics;
25
+ });
24
26
  start(): void;
25
27
  stop(): Promise<void>;
26
28
  healthCheck(_request: FastifyRequest, reply: FastifyReply): Promise<void>;