@pimlico/alto 0.0.0-main.20250303T125310 → 0.0.0-main.20250324T173034

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 (289) hide show
  1. package/esm/cli/alto.js +5 -3
  2. package/esm/cli/alto.js.map +1 -1
  3. package/esm/cli/config/bundler.d.ts +93 -36
  4. package/esm/cli/config/bundler.js +18 -3
  5. package/esm/cli/config/bundler.js.map +1 -1
  6. package/esm/cli/config/options.d.ts +2 -1
  7. package/esm/cli/config/options.js +65 -5
  8. package/esm/cli/config/options.js.map +1 -1
  9. package/esm/cli/handler.js +3 -4
  10. package/esm/cli/handler.js.map +1 -1
  11. package/esm/cli/setupServer.d.ts +1 -1
  12. package/esm/cli/setupServer.js +109 -49
  13. package/esm/cli/setupServer.js.map +1 -1
  14. package/esm/createConfig.d.ts +1 -0
  15. package/esm/createConfig.js +1 -0
  16. package/esm/createConfig.js.map +1 -1
  17. package/esm/executor/executor.d.ts +3 -3
  18. package/esm/executor/executor.js +1 -3
  19. package/esm/executor/executor.js.map +1 -1
  20. package/esm/executor/executorManager.d.ts +14 -12
  21. package/esm/executor/executorManager.js +131 -97
  22. package/esm/executor/executorManager.js.map +1 -1
  23. package/esm/executor/index.d.ts +1 -1
  24. package/esm/executor/index.js +1 -1
  25. package/esm/executor/senderManager/createMemorySenderManager.d.ts +8 -0
  26. package/esm/executor/senderManager/createMemorySenderManager.js +41 -0
  27. package/esm/executor/senderManager/createMemorySenderManager.js.map +1 -0
  28. package/esm/executor/senderManager/createRedisSenderManager.d.ts +8 -0
  29. package/esm/executor/senderManager/createRedisSenderManager.js +78 -0
  30. package/esm/executor/senderManager/createRedisSenderManager.js.map +1 -0
  31. package/esm/executor/senderManager/flushOnStartUp.d.ts +9 -0
  32. package/esm/executor/senderManager/flushOnStartUp.js +33 -0
  33. package/esm/executor/senderManager/flushOnStartUp.js.map +1 -0
  34. package/esm/executor/senderManager/index.d.ts +15 -0
  35. package/esm/executor/senderManager/index.js +20 -0
  36. package/esm/executor/senderManager/index.js.map +1 -0
  37. package/esm/executor/senderManager/validateAndRefill.d.ts +11 -0
  38. package/esm/executor/senderManager/validateAndRefill.js +111 -0
  39. package/esm/executor/senderManager/validateAndRefill.js.map +1 -0
  40. package/esm/executor/utils.d.ts +8 -2
  41. package/esm/executor/utils.js +9 -1
  42. package/esm/executor/utils.js.map +1 -1
  43. package/esm/handlers/arbitrumGasPriceManager.d.ts +7 -4
  44. package/esm/handlers/arbitrumGasPriceManager.js +19 -13
  45. package/esm/handlers/arbitrumGasPriceManager.js.map +1 -1
  46. package/esm/handlers/eventManager.js +5 -4
  47. package/esm/handlers/eventManager.js.map +1 -1
  48. package/esm/handlers/gasPriceManager.d.ts +1 -4
  49. package/esm/handlers/gasPriceManager.js +81 -48
  50. package/esm/handlers/gasPriceManager.js.map +1 -1
  51. package/esm/handlers/mantleGasPriceManager.d.ts +6 -3
  52. package/esm/handlers/mantleGasPriceManager.js +23 -11
  53. package/esm/handlers/mantleGasPriceManager.js.map +1 -1
  54. package/esm/handlers/optimismManager.d.ts +5 -2
  55. package/esm/handlers/optimismManager.js +8 -5
  56. package/esm/handlers/optimismManager.js.map +1 -1
  57. package/esm/mempool/index.d.ts +0 -1
  58. package/esm/mempool/index.js +0 -1
  59. package/esm/mempool/index.js.map +1 -1
  60. package/esm/mempool/mempool.d.ts +95 -27
  61. package/esm/mempool/mempool.js +132 -252
  62. package/esm/mempool/mempool.js.map +1 -1
  63. package/esm/mempool/monitoring.d.ts +8 -4
  64. package/esm/mempool/monitoring.js +72 -9
  65. package/esm/mempool/monitoring.js.map +1 -1
  66. package/esm/rpc/estimation/gasEstimationHandler.d.ts +10 -4
  67. package/esm/rpc/estimation/gasEstimationHandler.js +16 -19
  68. package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
  69. package/esm/rpc/estimation/gasEstimationsV07.d.ts +7 -0
  70. package/esm/rpc/estimation/gasEstimationsV07.js +69 -4
  71. package/esm/rpc/estimation/gasEstimationsV07.js.map +1 -1
  72. package/esm/rpc/methods/debug_bundler_clearReputation.js.map +1 -1
  73. package/esm/rpc/methods/debug_bundler_dumpMempool.js +2 -2
  74. package/esm/rpc/methods/debug_bundler_dumpMempool.js.map +1 -1
  75. package/esm/rpc/methods/debug_bundler_setBundlingMode.js.map +1 -1
  76. package/esm/rpc/methods/eth_chainId.js +1 -1
  77. package/esm/rpc/methods/eth_chainId.js.map +1 -1
  78. package/esm/rpc/methods/eth_sendUserOperation.js +2 -2
  79. package/esm/rpc/methods/eth_sendUserOperation.js.map +1 -1
  80. package/esm/rpc/methods/index.js +0 -5
  81. package/esm/rpc/methods/index.js.map +1 -1
  82. package/esm/rpc/methods/pimlico_sendUserOperationNow.js +2 -3
  83. package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
  84. package/esm/rpc/rpcHandler.d.ts +4 -7
  85. package/esm/rpc/rpcHandler.js +38 -37
  86. package/esm/rpc/rpcHandler.js.map +1 -1
  87. package/esm/rpc/validation/SafeValidator.js +2 -2
  88. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  89. package/esm/rpc/validation/UnsafeValidator.d.ts +7 -2
  90. package/esm/rpc/validation/UnsafeValidator.js +20 -4
  91. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  92. package/esm/store/createMemoryOutstandingStore.d.ts +28 -0
  93. package/esm/store/createMemoryOutstandingStore.js +221 -0
  94. package/esm/store/createMemoryOutstandingStore.js.map +1 -0
  95. package/esm/store/createMempoolStore.d.ts +8 -0
  96. package/esm/store/createMempoolStore.js +193 -0
  97. package/esm/store/createMempoolStore.js.map +1 -0
  98. package/esm/store/createRedisOutstandingStore.d.ts +27 -0
  99. package/esm/store/createRedisOutstandingStore.js +344 -0
  100. package/esm/store/createRedisOutstandingStore.js.map +1 -0
  101. package/esm/store/createRedisStore.d.ts +9 -0
  102. package/esm/store/createRedisStore.js +131 -0
  103. package/esm/store/createRedisStore.js.map +1 -0
  104. package/esm/store/createStore.d.ts +6 -0
  105. package/esm/store/createStore.js +66 -0
  106. package/esm/store/createStore.js.map +1 -0
  107. package/esm/store/index.d.ts +81 -0
  108. package/esm/store/index.js +2 -0
  109. package/esm/store/index.js.map +1 -0
  110. package/esm/types/interfaces.d.ts +7 -3
  111. package/esm/types/mempool.d.ts +2 -15
  112. package/esm/types/mempool.js.map +1 -1
  113. package/esm/types/schemas.d.ts +4617 -7632
  114. package/esm/types/schemas.js +19 -42
  115. package/esm/types/schemas.js.map +1 -1
  116. package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +6 -0
  117. package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.js +53 -0
  118. package/esm/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +1 -0
  119. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +7 -0
  120. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js +98 -0
  121. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js.map +1 -0
  122. package/esm/utils/minMaxQueue/index.d.ts +12 -0
  123. package/esm/utils/minMaxQueue/index.js +12 -0
  124. package/esm/utils/minMaxQueue/index.js.map +1 -0
  125. package/esm/utils/validation.js +8 -10
  126. package/esm/utils/validation.js.map +1 -1
  127. package/lib/cli/alto.js +3 -1
  128. package/lib/cli/alto.js.map +1 -1
  129. package/lib/cli/config/bundler.d.ts +93 -36
  130. package/lib/cli/config/bundler.js +19 -4
  131. package/lib/cli/config/bundler.js.map +1 -1
  132. package/lib/cli/config/options.d.ts +2 -1
  133. package/lib/cli/config/options.js +66 -6
  134. package/lib/cli/config/options.js.map +1 -1
  135. package/lib/cli/handler.js +3 -4
  136. package/lib/cli/handler.js.map +1 -1
  137. package/lib/cli/setupServer.d.ts +1 -1
  138. package/lib/cli/setupServer.js +108 -48
  139. package/lib/cli/setupServer.js.map +1 -1
  140. package/lib/createConfig.d.ts +1 -0
  141. package/lib/createConfig.js +1 -0
  142. package/lib/createConfig.js.map +1 -1
  143. package/lib/executor/executor.d.ts +3 -3
  144. package/lib/executor/executor.js +1 -3
  145. package/lib/executor/executor.js.map +1 -1
  146. package/lib/executor/executorManager.d.ts +14 -12
  147. package/lib/executor/executorManager.js +131 -97
  148. package/lib/executor/executorManager.js.map +1 -1
  149. package/lib/executor/index.d.ts +1 -1
  150. package/lib/executor/index.js +1 -1
  151. package/lib/executor/senderManager/createMemorySenderManager.d.ts +8 -0
  152. package/lib/executor/senderManager/createMemorySenderManager.js +45 -0
  153. package/lib/executor/senderManager/createMemorySenderManager.js.map +1 -0
  154. package/lib/executor/senderManager/createRedisSenderManager.d.ts +8 -0
  155. package/lib/executor/senderManager/createRedisSenderManager.js +85 -0
  156. package/lib/executor/senderManager/createRedisSenderManager.js.map +1 -0
  157. package/lib/executor/senderManager/flushOnStartUp.d.ts +9 -0
  158. package/lib/executor/senderManager/flushOnStartUp.js +37 -0
  159. package/lib/executor/senderManager/flushOnStartUp.js.map +1 -0
  160. package/lib/executor/senderManager/index.d.ts +15 -0
  161. package/lib/executor/senderManager/index.js +25 -0
  162. package/lib/executor/senderManager/index.js.map +1 -0
  163. package/lib/executor/senderManager/validateAndRefill.d.ts +11 -0
  164. package/lib/executor/senderManager/validateAndRefill.js +115 -0
  165. package/lib/executor/senderManager/validateAndRefill.js.map +1 -0
  166. package/lib/executor/utils.d.ts +8 -2
  167. package/lib/executor/utils.js +9 -1
  168. package/lib/executor/utils.js.map +1 -1
  169. package/lib/handlers/arbitrumGasPriceManager.d.ts +7 -4
  170. package/lib/handlers/arbitrumGasPriceManager.js +19 -13
  171. package/lib/handlers/arbitrumGasPriceManager.js.map +1 -1
  172. package/lib/handlers/eventManager.js +5 -4
  173. package/lib/handlers/eventManager.js.map +1 -1
  174. package/lib/handlers/gasPriceManager.d.ts +1 -4
  175. package/lib/handlers/gasPriceManager.js +81 -48
  176. package/lib/handlers/gasPriceManager.js.map +1 -1
  177. package/lib/handlers/mantleGasPriceManager.d.ts +6 -3
  178. package/lib/handlers/mantleGasPriceManager.js +23 -11
  179. package/lib/handlers/mantleGasPriceManager.js.map +1 -1
  180. package/lib/handlers/optimismManager.d.ts +5 -2
  181. package/lib/handlers/optimismManager.js +8 -5
  182. package/lib/handlers/optimismManager.js.map +1 -1
  183. package/lib/mempool/index.d.ts +0 -1
  184. package/lib/mempool/index.js +0 -1
  185. package/lib/mempool/index.js.map +1 -1
  186. package/lib/mempool/mempool.d.ts +95 -27
  187. package/lib/mempool/mempool.js +133 -253
  188. package/lib/mempool/mempool.js.map +1 -1
  189. package/lib/mempool/monitoring.d.ts +8 -4
  190. package/lib/mempool/monitoring.js +72 -9
  191. package/lib/mempool/monitoring.js.map +1 -1
  192. package/lib/rpc/estimation/gasEstimationHandler.d.ts +10 -4
  193. package/lib/rpc/estimation/gasEstimationHandler.js +15 -18
  194. package/lib/rpc/estimation/gasEstimationHandler.js.map +1 -1
  195. package/lib/rpc/estimation/gasEstimationsV07.d.ts +7 -0
  196. package/lib/rpc/estimation/gasEstimationsV07.js +69 -4
  197. package/lib/rpc/estimation/gasEstimationsV07.js.map +1 -1
  198. package/lib/rpc/methods/debug_bundler_clearReputation.js.map +1 -1
  199. package/lib/rpc/methods/debug_bundler_dumpMempool.js +2 -2
  200. package/lib/rpc/methods/debug_bundler_dumpMempool.js.map +1 -1
  201. package/lib/rpc/methods/debug_bundler_setBundlingMode.js.map +1 -1
  202. package/lib/rpc/methods/eth_chainId.js +1 -1
  203. package/lib/rpc/methods/eth_chainId.js.map +1 -1
  204. package/lib/rpc/methods/eth_sendUserOperation.js +2 -2
  205. package/lib/rpc/methods/eth_sendUserOperation.js.map +1 -1
  206. package/lib/rpc/methods/index.js +0 -5
  207. package/lib/rpc/methods/index.js.map +1 -1
  208. package/lib/rpc/methods/pimlico_sendUserOperationNow.js +2 -3
  209. package/lib/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
  210. package/lib/rpc/rpcHandler.d.ts +4 -7
  211. package/lib/rpc/rpcHandler.js +38 -37
  212. package/lib/rpc/rpcHandler.js.map +1 -1
  213. package/lib/rpc/validation/SafeValidator.js +2 -2
  214. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  215. package/lib/rpc/validation/UnsafeValidator.d.ts +7 -2
  216. package/lib/rpc/validation/UnsafeValidator.js +20 -4
  217. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  218. package/lib/store/createMemoryOutstandingStore.d.ts +28 -0
  219. package/lib/store/createMemoryOutstandingStore.js +226 -0
  220. package/lib/store/createMemoryOutstandingStore.js.map +1 -0
  221. package/lib/store/createMempoolStore.d.ts +8 -0
  222. package/lib/store/createMempoolStore.js +197 -0
  223. package/lib/store/createMempoolStore.js.map +1 -0
  224. package/lib/store/createRedisOutstandingStore.d.ts +27 -0
  225. package/lib/store/createRedisOutstandingStore.js +349 -0
  226. package/lib/store/createRedisOutstandingStore.js.map +1 -0
  227. package/lib/store/createRedisStore.d.ts +9 -0
  228. package/lib/store/createRedisStore.js +138 -0
  229. package/lib/store/createRedisStore.js.map +1 -0
  230. package/lib/store/createStore.d.ts +6 -0
  231. package/lib/store/createStore.js +70 -0
  232. package/lib/store/createStore.js.map +1 -0
  233. package/lib/store/index.d.ts +81 -0
  234. package/lib/store/index.js +6 -0
  235. package/lib/store/index.js.map +1 -0
  236. package/lib/types/interfaces.d.ts +7 -3
  237. package/lib/types/mempool.d.ts +2 -15
  238. package/lib/types/mempool.js.map +1 -1
  239. package/lib/types/schemas.d.ts +4617 -7632
  240. package/lib/types/schemas.js +24 -47
  241. package/lib/types/schemas.js.map +1 -1
  242. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +6 -0
  243. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js +57 -0
  244. package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +1 -0
  245. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +7 -0
  246. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js +105 -0
  247. package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js.map +1 -0
  248. package/lib/utils/minMaxQueue/index.d.ts +12 -0
  249. package/lib/utils/minMaxQueue/index.js +16 -0
  250. package/lib/utils/minMaxQueue/index.js.map +1 -0
  251. package/lib/utils/validation.js +8 -10
  252. package/lib/utils/validation.js.map +1 -1
  253. package/package.json +2 -2
  254. package/esm/executor/senderManager.d.ts +0 -26
  255. package/esm/executor/senderManager.js +0 -216
  256. package/esm/executor/senderManager.js.map +0 -1
  257. package/esm/mempool/nonceQueuer.d.ts +0 -32
  258. package/esm/mempool/nonceQueuer.js +0 -143
  259. package/esm/mempool/nonceQueuer.js.map +0 -1
  260. package/esm/mempool/store.d.ts +0 -22
  261. package/esm/mempool/store.js +0 -124
  262. package/esm/mempool/store.js.map +0 -1
  263. package/esm/rpc/methods/pimlico_experimental_estimateUserOperationGas7702.d.ts +0 -979
  264. package/esm/rpc/methods/pimlico_experimental_estimateUserOperationGas7702.js +0 -22
  265. package/esm/rpc/methods/pimlico_experimental_estimateUserOperationGas7702.js.map +0 -1
  266. package/esm/rpc/methods/pimlico_experimental_sendUserOperation7702.d.ts +0 -422
  267. package/esm/rpc/methods/pimlico_experimental_sendUserOperation7702.js +0 -19
  268. package/esm/rpc/methods/pimlico_experimental_sendUserOperation7702.js.map +0 -1
  269. package/esm/utils/slidingWindowTimedQueue.d.ts +0 -12
  270. package/esm/utils/slidingWindowTimedQueue.js +0 -48
  271. package/esm/utils/slidingWindowTimedQueue.js.map +0 -1
  272. package/lib/executor/senderManager.d.ts +0 -26
  273. package/lib/executor/senderManager.js +0 -220
  274. package/lib/executor/senderManager.js.map +0 -1
  275. package/lib/mempool/nonceQueuer.d.ts +0 -32
  276. package/lib/mempool/nonceQueuer.js +0 -147
  277. package/lib/mempool/nonceQueuer.js.map +0 -1
  278. package/lib/mempool/store.d.ts +0 -22
  279. package/lib/mempool/store.js +0 -128
  280. package/lib/mempool/store.js.map +0 -1
  281. package/lib/rpc/methods/pimlico_experimental_estimateUserOperationGas7702.d.ts +0 -979
  282. package/lib/rpc/methods/pimlico_experimental_estimateUserOperationGas7702.js +0 -25
  283. package/lib/rpc/methods/pimlico_experimental_estimateUserOperationGas7702.js.map +0 -1
  284. package/lib/rpc/methods/pimlico_experimental_sendUserOperation7702.d.ts +0 -422
  285. package/lib/rpc/methods/pimlico_experimental_sendUserOperation7702.js +0 -22
  286. package/lib/rpc/methods/pimlico_experimental_sendUserOperation7702.js.map +0 -1
  287. package/lib/utils/slidingWindowTimedQueue.d.ts +0 -12
  288. package/lib/utils/slidingWindowTimedQueue.js +0 -52
  289. package/lib/utils/slidingWindowTimedQueue.js.map +0 -1
@@ -108,9 +108,9 @@ export class ExecutorManager {
108
108
  return [];
109
109
  });
110
110
  if (!gasPriceParams || nonce === undefined) {
111
- this.resubmitUserOperations(userOps, entryPoint, "Failed to get nonce and gas parameters for bundling");
111
+ await this.resubmitUserOperations(userOps, entryPoint, "Failed to get nonce and gas parameters for bundling");
112
112
  // Free executor if failed to get initial params.
113
- this.senderManager.markWalletProcessed(wallet);
113
+ await this.senderManager.markWalletProcessed(wallet);
114
114
  return undefined;
115
115
  }
116
116
  const bundleResult = await this.executor.bundle({
@@ -122,18 +122,18 @@ export class ExecutorManager {
122
122
  });
123
123
  // Free wallet if no bundle was sent.
124
124
  if (bundleResult.status !== "bundle_success") {
125
- this.senderManager.markWalletProcessed(wallet);
125
+ await this.senderManager.markWalletProcessed(wallet);
126
126
  }
127
127
  // All ops failed simulation, drop them and return.
128
128
  if (bundleResult.status === "all_ops_failed_simulation") {
129
129
  const { rejectedUserOps } = bundleResult;
130
- this.dropUserOps(rejectedUserOps);
130
+ await this.dropUserOps(entryPoint, rejectedUserOps);
131
131
  return undefined;
132
132
  }
133
133
  // Unhandled error during simulation, drop all ops.
134
134
  if (bundleResult.status === "unhandled_simulation_failure") {
135
135
  const { rejectedUserOps } = bundleResult;
136
- this.dropUserOps(rejectedUserOps);
136
+ await this.dropUserOps(entryPoint, rejectedUserOps);
137
137
  this.metrics.bundlesSubmitted.labels({ status: "failed" }).inc();
138
138
  return undefined;
139
139
  }
@@ -141,17 +141,17 @@ export class ExecutorManager {
141
141
  if (bundleResult.status === "bundle_submission_failure" &&
142
142
  bundleResult.reason instanceof InsufficientFundsError) {
143
143
  const { reason, userOpsToBundle, rejectedUserOps } = bundleResult;
144
- this.dropUserOps(rejectedUserOps);
145
- this.resubmitUserOperations(userOpsToBundle, entryPoint, reason.name);
144
+ await this.dropUserOps(entryPoint, rejectedUserOps);
145
+ await this.resubmitUserOperations(userOpsToBundle, entryPoint, reason.name);
146
146
  this.metrics.bundlesSubmitted.labels({ status: "resubmit" }).inc();
147
147
  return undefined;
148
148
  }
149
149
  // Encountered unhandled error during bundle simulation.
150
150
  if (bundleResult.status === "bundle_submission_failure") {
151
151
  const { rejectedUserOps, userOpsToBundle, reason } = bundleResult;
152
- this.dropUserOps(rejectedUserOps);
152
+ await this.dropUserOps(entryPoint, rejectedUserOps);
153
153
  // NOTE: these ops passed validation, so we can try resubmitting them
154
- this.resubmitUserOperations(userOpsToBundle, entryPoint, reason instanceof BaseError
154
+ await this.resubmitUserOperations(userOpsToBundle, entryPoint, reason instanceof BaseError
155
155
  ? reason.name
156
156
  : "Encountered unhandled error during bundle simulation");
157
157
  this.metrics.bundlesSubmitted.labels({ status: "failed" }).inc();
@@ -173,8 +173,8 @@ export class ExecutorManager {
173
173
  firstSubmitted: Date.now(),
174
174
  timesPotentiallyIncluded: 0
175
175
  };
176
- this.markUserOperationsAsSubmitted(userOpsBundled, transactionInfo);
177
- this.dropUserOps(rejectedUserOps);
176
+ await this.markUserOperationsAsSubmitted(userOpsBundled, transactionInfo);
177
+ await this.dropUserOps(entryPoint, rejectedUserOps);
178
178
  this.metrics.bundlesSubmitted.labels({ status: "success" }).inc();
179
179
  return transactionHash;
180
180
  }
@@ -234,59 +234,77 @@ export class ExecutorManager {
234
234
  }
235
235
  // Free executor if tx landed onchain
236
236
  if (bundlingStatus.status !== "not_found") {
237
- this.senderManager.markWalletProcessed(transactionInfo.executor);
237
+ await this.senderManager.markWalletProcessed(transactionInfo.executor);
238
238
  }
239
239
  if (bundlingStatus.status === "included") {
240
240
  const { userOperationDetails } = bundlingStatus;
241
- this.markUserOpsIncluded(userOps, entryPoint, blockNumber, transactionHash, userOperationDetails);
241
+ await this.markUserOpsIncluded(userOps, entryPoint, blockNumber, transactionHash, userOperationDetails);
242
242
  }
243
243
  if (bundlingStatus.status === "reverted") {
244
- await Promise.all(userOps.map((userOpInfo) => {
244
+ await Promise.all(userOps.map(async (userOpInfo) => {
245
245
  const { userOpHash } = userOpInfo;
246
- this.checkFrontrun({
246
+ await this.checkFrontrun({
247
+ entryPoint,
247
248
  userOpHash,
248
249
  transactionHash,
249
250
  blockNumber
250
251
  });
251
252
  }));
252
- this.removeSubmitted(userOps);
253
+ await this.removeSubmitted(entryPoint, userOps);
253
254
  }
254
255
  }
255
- checkFrontrun({ userOpHash, transactionHash, blockNumber }) {
256
+ async checkFrontrun({ userOpHash, entryPoint, transactionHash, blockNumber }) {
256
257
  const unwatch = this.config.publicClient.watchBlockNumber({
257
258
  onBlockNumber: async (currentBlockNumber) => {
258
259
  if (currentBlockNumber > blockNumber + 1n) {
259
- const userOperationReceipt = await this.getUserOperationReceipt(userOpHash);
260
- if (userOperationReceipt) {
261
- const transactionHash = userOperationReceipt.receipt.transactionHash;
262
- const blockNumber = userOperationReceipt.receipt.blockNumber;
263
- this.mempool.removeSubmitted(userOpHash);
264
- this.monitor.setUserOperationStatus(userOpHash, {
265
- status: "included",
266
- transactionHash
267
- });
268
- this.eventManager.emitFrontranOnChain(userOpHash, transactionHash, blockNumber);
269
- this.logger.info({
270
- userOpHash,
271
- transactionHash
272
- }, "user op frontrun onchain");
273
- this.metrics.userOperationsOnChain
274
- .labels({ status: "frontran" })
275
- .inc(1);
260
+ try {
261
+ const userOperationReceipt = await this.getUserOperationReceipt(userOpHash);
262
+ if (userOperationReceipt) {
263
+ const transactionHash = userOperationReceipt.receipt.transactionHash;
264
+ const blockNumber = userOperationReceipt.receipt.blockNumber;
265
+ await this.mempool.removeSubmitted({
266
+ entryPoint,
267
+ userOpHash
268
+ });
269
+ await this.monitor.setUserOperationStatus(userOpHash, {
270
+ status: "included",
271
+ transactionHash
272
+ });
273
+ await this.eventManager.emitFrontranOnChain(userOpHash, transactionHash, blockNumber);
274
+ this.logger.info({
275
+ userOpHash,
276
+ transactionHash
277
+ }, "user op frontrun onchain");
278
+ this.metrics.userOperationsOnChain
279
+ .labels({ status: "frontran" })
280
+ .inc(1);
281
+ }
282
+ else {
283
+ await this.monitor.setUserOperationStatus(userOpHash, {
284
+ status: "failed",
285
+ transactionHash
286
+ });
287
+ await this.eventManager.emitFailedOnChain(userOpHash, transactionHash, blockNumber);
288
+ this.logger.info({
289
+ userOpHash,
290
+ transactionHash
291
+ }, "user op failed onchain");
292
+ this.metrics.userOperationsOnChain
293
+ .labels({ status: "reverted" })
294
+ .inc(1);
295
+ }
276
296
  }
277
- else {
278
- this.monitor.setUserOperationStatus(userOpHash, {
297
+ catch (error) {
298
+ this.logger.error({
299
+ userOpHash,
300
+ transactionHash,
301
+ error
302
+ }, "Error checking frontrun status");
303
+ // Still mark as failed since we couldn't verify inclusion
304
+ await this.monitor.setUserOperationStatus(userOpHash, {
279
305
  status: "failed",
280
306
  transactionHash
281
307
  });
282
- this.eventManager.emitFailedOnChain(userOpHash, transactionHash, blockNumber);
283
- this.logger.info({
284
- userOpHash,
285
- transactionHash
286
- }, "user op failed onchain");
287
- this.metrics.userOperationsOnChain
288
- .labels({ status: "reverted" })
289
- .inc(1);
290
308
  }
291
309
  unwatch();
292
310
  }
@@ -390,14 +408,22 @@ export class ExecutorManager {
390
408
  }
391
409
  this.currentlyHandlingBlock = true;
392
410
  this.logger.debug({ blockNumber: block.number }, "handling block");
393
- const submittedEntries = this.mempool.dumpSubmittedOps();
411
+ const dumpSubmittedEntries = async () => {
412
+ const submittedEntries = [];
413
+ for (const entryPoint of this.config.entrypoints) {
414
+ const entries = await this.mempool.dumpSubmittedOps(entryPoint);
415
+ submittedEntries.push(...entries);
416
+ }
417
+ return submittedEntries;
418
+ };
419
+ const submittedEntries = await dumpSubmittedEntries();
394
420
  if (submittedEntries.length === 0) {
395
421
  this.stopWatchingBlocks();
396
422
  this.currentlyHandlingBlock = false;
397
423
  return;
398
424
  }
399
425
  // refresh op statuses
400
- const ops = this.mempool.dumpSubmittedOps();
426
+ const ops = await dumpSubmittedEntries();
401
427
  const txs = getTransactionsFromUserOperationEntries(ops);
402
428
  await Promise.all(txs.map((txInfo) => this.refreshTransactionStatus(txInfo)));
403
429
  // for all still not included check if needs to be replaced (based on gas price)
@@ -407,7 +433,7 @@ export class ExecutorManager {
407
433
  maxFeePerGas: 0n,
408
434
  maxPriorityFeePerGas: 0n
409
435
  }));
410
- const transactionInfos = getTransactionsFromUserOperationEntries(this.mempool.dumpSubmittedOps());
436
+ const transactionInfos = getTransactionsFromUserOperationEntries(await dumpSubmittedEntries());
411
437
  await Promise.all(transactionInfos.map(async (txInfo) => {
412
438
  const { transactionRequest } = txInfo;
413
439
  const { maxFeePerGas, maxPriorityFeePerGas } = transactionRequest;
@@ -430,7 +456,7 @@ export class ExecutorManager {
430
456
  async replaceTransaction(txInfo, reason) {
431
457
  // Setup vars
432
458
  const { bundle, executor, transactionRequest, transactionHash: oldTxHash } = txInfo;
433
- const { userOps } = bundle;
459
+ const { userOps, entryPoint } = bundle;
434
460
  const gasPriceParameters = await this.gasPriceManager
435
461
  .tryGetNetworkGasPrice()
436
462
  .catch((_) => {
@@ -441,13 +467,14 @@ export class ExecutorManager {
441
467
  ...userOpInfo,
442
468
  reason: "Failed to get network gas price during replacement"
443
469
  }));
444
- this.failedToReplaceTransaction({
470
+ await this.failedToReplaceTransaction({
471
+ entryPoint,
445
472
  rejectedUserOps,
446
473
  oldTxHash,
447
474
  reason: "Failed to get network gas price during replacement"
448
475
  });
449
476
  // Free executor if failed to get initial params.
450
- this.senderManager.markWalletProcessed(txInfo.executor);
477
+ await this.senderManager.markWalletProcessed(txInfo.executor);
451
478
  return;
452
479
  }
453
480
  const bundleResult = await this.executor.bundle({
@@ -463,19 +490,17 @@ export class ExecutorManager {
463
490
  });
464
491
  // Free wallet and return if potentially included too many times.
465
492
  if (txInfo.timesPotentiallyIncluded >= 3) {
466
- if (txInfo.timesPotentiallyIncluded >= 3) {
467
- this.removeSubmitted(bundle.userOps);
468
- this.logger.warn({
469
- oldTxHash,
470
- userOps: getUserOpHashes(bundleResult.rejectedUserOps)
471
- }, "transaction potentially already included too many times, removing");
472
- }
473
- this.senderManager.markWalletProcessed(txInfo.executor);
493
+ this.removeSubmitted(entryPoint, bundle.userOps);
494
+ this.logger.warn({
495
+ oldTxHash,
496
+ userOps: getUserOpHashes(bundleResult.rejectedUserOps)
497
+ }, "transaction potentially already included too many times, removing");
498
+ await this.senderManager.markWalletProcessed(txInfo.executor);
474
499
  return;
475
500
  }
476
501
  // Free wallet if no bundle was sent or potentially included.
477
502
  if (bundleResult.status !== "bundle_success") {
478
- this.senderManager.markWalletProcessed(txInfo.executor);
503
+ await this.senderManager.markWalletProcessed(txInfo.executor);
479
504
  }
480
505
  // Check if the transaction is potentially included.
481
506
  const nonceTooLow = bundleResult.status === "bundle_submission_failure" &&
@@ -508,7 +533,8 @@ export class ExecutorManager {
508
533
  }
509
534
  if (bundleResult.status === "unhandled_simulation_failure") {
510
535
  const { rejectedUserOps, reason } = bundleResult;
511
- this.failedToReplaceTransaction({
536
+ await this.failedToReplaceTransaction({
537
+ entryPoint,
512
538
  oldTxHash,
513
539
  reason,
514
540
  rejectedUserOps
@@ -516,7 +542,8 @@ export class ExecutorManager {
516
542
  return;
517
543
  }
518
544
  if (bundleResult.status === "all_ops_failed_simulation") {
519
- this.failedToReplaceTransaction({
545
+ await this.failedToReplaceTransaction({
546
+ entryPoint,
520
547
  oldTxHash,
521
548
  reason: "all ops failed simulation",
522
549
  rejectedUserOps: bundleResult.rejectedUserOps
@@ -526,10 +553,11 @@ export class ExecutorManager {
526
553
  if (bundleResult.status === "bundle_submission_failure") {
527
554
  const { reason, rejectedUserOps } = bundleResult;
528
555
  const submissionFailureReason = reason instanceof BaseError ? reason.name : "INTERNAL FAILURE";
529
- this.failedToReplaceTransaction({
556
+ await this.failedToReplaceTransaction({
530
557
  oldTxHash,
531
558
  rejectedUserOps,
532
- reason: submissionFailureReason
559
+ reason: submissionFailureReason,
560
+ entryPoint
533
561
  });
534
562
  return;
535
563
  }
@@ -549,11 +577,14 @@ export class ExecutorManager {
549
577
  userOps: userOpsReplaced
550
578
  }
551
579
  };
552
- userOpsReplaced.map((userOp) => {
553
- this.mempool.replaceSubmitted(userOp, newTxInfo);
554
- });
580
+ await Promise.all(userOpsReplaced.map(async (userOpInfo) => {
581
+ await this.mempool.replaceSubmitted({
582
+ userOpInfo,
583
+ transactionInfo: newTxInfo
584
+ });
585
+ }));
555
586
  // Drop all userOperations that were rejected during simulation.
556
- this.dropUserOps(rejectedUserOps);
587
+ await this.dropUserOps(entryPoint, rejectedUserOps);
557
588
  this.logger.info({
558
589
  oldTxHash,
559
590
  newTxHash,
@@ -561,40 +592,43 @@ export class ExecutorManager {
561
592
  }, "replaced transaction");
562
593
  return;
563
594
  }
564
- markUserOperationsAsSubmitted(userOpInfos, transactionInfo) {
565
- userOpInfos.map((userOpInfo) => {
595
+ async markUserOperationsAsSubmitted(userOpInfos, transactionInfo) {
596
+ await Promise.all(userOpInfos.map(async (userOpInfo) => {
566
597
  const { userOpHash } = userOpInfo;
567
- this.mempool.markSubmitted(userOpHash, transactionInfo);
598
+ await this.mempool.markSubmitted({
599
+ userOpHash,
600
+ transactionInfo
601
+ });
568
602
  this.startWatchingBlocks(this.handleBlock.bind(this));
569
603
  this.metrics.userOperationsSubmitted
570
604
  .labels({ status: "success" })
571
605
  .inc();
572
- });
606
+ }));
573
607
  }
574
- resubmitUserOperations(userOps, entryPoint, reason) {
575
- userOps.map((userOpInfo) => {
608
+ async resubmitUserOperations(userOps, entryPoint, reason) {
609
+ await Promise.all(userOps.map(async (userOpInfo) => {
576
610
  const { userOpHash, userOp } = userOpInfo;
577
- this.logger.info({
611
+ this.logger.warn({
578
612
  userOpHash,
579
613
  reason
580
614
  }, "resubmitting user operation");
581
- this.mempool.removeProcessing(userOpHash);
582
- this.mempool.add(userOp, entryPoint);
615
+ await this.mempool.removeProcessing({ entryPoint, userOpHash });
616
+ await this.mempool.add(userOp, entryPoint);
583
617
  this.metrics.userOperationsResubmitted.inc();
584
- });
618
+ }));
585
619
  }
586
- failedToReplaceTransaction({ oldTxHash, rejectedUserOps, reason }) {
620
+ async failedToReplaceTransaction({ oldTxHash, rejectedUserOps, reason, entryPoint }) {
587
621
  this.logger.warn({ oldTxHash, reason }, "failed to replace transaction");
588
- this.dropUserOps(rejectedUserOps);
622
+ await this.dropUserOps(entryPoint, rejectedUserOps);
589
623
  }
590
- removeSubmitted(userOps) {
591
- userOps.map((userOpInfo) => {
624
+ async removeSubmitted(entryPoint, userOps) {
625
+ await Promise.all(userOps.map(async (userOpInfo) => {
592
626
  const { userOpHash } = userOpInfo;
593
- this.mempool.removeSubmitted(userOpHash);
594
- });
627
+ await this.mempool.removeSubmitted({ entryPoint, userOpHash });
628
+ }));
595
629
  }
596
- markUserOpsIncluded(userOps, entryPoint, blockNumber, transactionHash, userOperationDetails) {
597
- userOps.map((userOpInfo) => {
630
+ async markUserOpsIncluded(userOps, entryPoint, blockNumber, transactionHash, userOperationDetails) {
631
+ await Promise.all(userOps.map(async (userOpInfo) => {
598
632
  this.metrics.userOperationsOnChain
599
633
  .labels({ status: "included" })
600
634
  .inc();
@@ -602,15 +636,15 @@ export class ExecutorManager {
602
636
  const opDetails = userOperationDetails[userOpHash];
603
637
  const firstSubmitted = userOpInfo.addedToMempool;
604
638
  this.metrics.userOperationInclusionDuration.observe((Date.now() - firstSubmitted) / 1000);
605
- this.mempool.removeSubmitted(userOpHash);
639
+ await this.mempool.removeSubmitted({ entryPoint, userOpHash });
606
640
  this.reputationManager.updateUserOperationIncludedStatus(userOp, entryPoint, opDetails.accountDeployed);
607
641
  if (opDetails.status === "succesful") {
608
- this.eventManager.emitIncludedOnChain(userOpHash, transactionHash, blockNumber);
642
+ await this.eventManager.emitIncludedOnChain(userOpHash, transactionHash, blockNumber);
609
643
  }
610
644
  else {
611
- this.eventManager.emitExecutionRevertedOnChain(userOpHash, transactionHash, opDetails.revertReason || "0x", blockNumber);
645
+ await this.eventManager.emitExecutionRevertedOnChain(userOpHash, transactionHash, opDetails.revertReason || "0x", blockNumber);
612
646
  }
613
- this.monitor.setUserOperationStatus(userOpHash, {
647
+ await this.monitor.setUserOperationStatus(userOpHash, {
614
648
  status: "included",
615
649
  transactionHash
616
650
  });
@@ -618,15 +652,15 @@ export class ExecutorManager {
618
652
  opHash: userOpHash,
619
653
  transactionHash
620
654
  }, "user op included");
621
- });
655
+ }));
622
656
  }
623
- dropUserOps(rejectedUserOps) {
624
- rejectedUserOps.map((rejectedUserOp) => {
657
+ async dropUserOps(entryPoint, rejectedUserOps) {
658
+ await Promise.all(rejectedUserOps.map(async (rejectedUserOp) => {
625
659
  const { userOp, reason, userOpHash } = rejectedUserOp;
626
- this.mempool.removeProcessing(userOpHash);
627
- this.mempool.removeSubmitted(userOpHash);
628
- this.eventManager.emitDropped(userOpHash, reason, getAAError(reason));
629
- this.monitor.setUserOperationStatus(userOpHash, {
660
+ await this.mempool.removeProcessing({ entryPoint, userOpHash });
661
+ await this.mempool.removeSubmitted({ entryPoint, userOpHash });
662
+ await this.eventManager.emitDropped(userOpHash, reason, getAAError(reason));
663
+ await this.monitor.setUserOperationStatus(userOpHash, {
630
664
  status: "rejected",
631
665
  transactionHash: null
632
666
  });
@@ -638,7 +672,7 @@ export class ExecutorManager {
638
672
  this.metrics.userOperationsSubmitted
639
673
  .labels({ status: "failed" })
640
674
  .inc();
641
- });
675
+ }));
642
676
  }
643
677
  }
644
678
  //# sourceMappingURL=executorManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executorManager.js","sourceRoot":"","sources":["../../executor/executorManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executorManager.js","sourceRoot":"","sources":["../../executor/executorManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export * from "./senderManager.js";
1
+ export * from "./senderManager/index.js";
2
2
  export * from "./executor.js";
3
3
  export * from "./executorManager.js";
4
4
  export * from "./utils.js";
@@ -1,4 +1,4 @@
1
- export * from "./senderManager.js";
1
+ export * from "./senderManager/index.js";
2
2
  export * from "./executor.js";
3
3
  export * from "./executorManager.js";
4
4
  export * from "./utils.js";
@@ -0,0 +1,8 @@
1
+ import { Metrics } from "../../utils/index.js";
2
+ import { SenderManager } from "./index.js";
3
+ import { AltoConfig } from "../../createConfig.js";
4
+ export declare const createMemorySenderManager: ({ config, metrics }: {
5
+ config: AltoConfig;
6
+ metrics: Metrics;
7
+ }) => SenderManager;
8
+ //# sourceMappingURL=createMemorySenderManager.d.ts.map
@@ -0,0 +1,41 @@
1
+ import { getAvailableWallets } from "./index.js";
2
+ import { Semaphore } from "async-mutex";
3
+ export const createMemorySenderManager = ({ config, metrics }) => {
4
+ const wallets = getAvailableWallets(config);
5
+ const availableWallets = [...wallets];
6
+ const semaphore = new Semaphore(availableWallets.length);
7
+ const logger = config.getLogger({ module: "sender-manager" }, { level: config.executorLogLevel || config.logLevel });
8
+ metrics.walletsTotal.set(wallets.length);
9
+ metrics.walletsAvailable.set(wallets.length);
10
+ logger.info("Created memory sender manager");
11
+ return {
12
+ getAllWallets: () => [...wallets],
13
+ getWallet: async () => {
14
+ logger.trace("waiting for semaphore ");
15
+ await semaphore.acquire();
16
+ const wallet = availableWallets.shift();
17
+ // should never happen because of semaphore
18
+ if (!wallet) {
19
+ semaphore.release();
20
+ logger.error("no more wallets");
21
+ throw new Error("no more wallets");
22
+ }
23
+ logger.trace({ executor: wallet.address }, "got wallet from sender manager");
24
+ metrics.walletsAvailable.set(availableWallets.length);
25
+ return wallet;
26
+ },
27
+ markWalletProcessed: async (wallet) => {
28
+ if (!availableWallets.some((w) => w.address === wallet.address)) {
29
+ availableWallets.push(wallet);
30
+ semaphore.release();
31
+ logger.trace({ executor: wallet.address }, "pushed wallet to sender manager");
32
+ }
33
+ metrics.walletsAvailable.set(availableWallets.length);
34
+ },
35
+ getActiveWallets: () => {
36
+ // Active wallets are those that are in the total pool but not in the available pool
37
+ return wallets.filter((wallet) => !availableWallets.some((available) => available.address === wallet.address));
38
+ }
39
+ };
40
+ };
41
+ //# sourceMappingURL=createMemorySenderManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMemorySenderManager.js","sourceRoot":"","sources":["../../../executor/senderManager/createMemorySenderManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,mBAAmB,EAAE,MAAM,GAAG,CAAA;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACtC,MAAM,EACN,OAAO,EACgC,EAAiB,EAAE;IAC1D,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,gBAAgB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAA;IAErC,MAAM,SAAS,GAAc,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACnE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAC3B,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAC5B,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,QAAQ,EAAE,CACxD,CAAA;IAED,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAE5C,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;IAC5C,OAAO;QACH,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;QACjC,SAAS,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;YACtC,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;YAEzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAA;YAEvC,2CAA2C;YAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,SAAS,CAAC,OAAO,EAAE,CAAA;gBACnB,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACtC,CAAC;YAED,MAAM,CAAC,KAAK,CACR,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,EAC5B,gCAAgC,CACnC,CAAA;YAED,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;YAErD,OAAO,MAAM,CAAA;QACjB,CAAC;QACD,mBAAmB,EAAE,KAAK,EAAE,MAAe,EAAE,EAAE;YAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC7B,SAAS,CAAC,OAAO,EAAE,CAAA;gBACnB,MAAM,CAAC,KAAK,CACR,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,EAC5B,iCAAiC,CACpC,CAAA;YACL,CAAC;YAED,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACzD,CAAC;QACD,gBAAgB,EAAE,GAAG,EAAE;YACnB,oFAAoF;YACpF,OAAO,OAAO,CAAC,MAAM,CACjB,CAAC,MAAM,EAAE,EAAE,CACP,CAAC,gBAAgB,CAAC,IAAI,CAClB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CACtD,CACR,CAAA;QACL,CAAC;KACJ,CAAA;AACL,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { Metrics } from "../../utils/index.js";
2
+ import { AltoConfig } from "../../createConfig.js";
3
+ import { SenderManager } from "../senderManager/index.js";
4
+ export declare const createRedisSenderManager: ({ config, metrics }: {
5
+ config: AltoConfig;
6
+ metrics: Metrics;
7
+ }) => Promise<SenderManager>;
8
+ //# sourceMappingURL=createRedisSenderManager.d.ts.map