@pimlico/alto 0.0.0-main.20250307T203608 → 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 +87 -36
  4. package/esm/cli/config/bundler.js +15 -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 +59 -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 +37 -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 +87 -36
  130. package/lib/cli/config/bundler.js +16 -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 +60 -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 +37 -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
@@ -111,9 +111,9 @@ class ExecutorManager {
111
111
  return [];
112
112
  });
113
113
  if (!gasPriceParams || nonce === undefined) {
114
- this.resubmitUserOperations(userOps, entryPoint, "Failed to get nonce and gas parameters for bundling");
114
+ await this.resubmitUserOperations(userOps, entryPoint, "Failed to get nonce and gas parameters for bundling");
115
115
  // Free executor if failed to get initial params.
116
- this.senderManager.markWalletProcessed(wallet);
116
+ await this.senderManager.markWalletProcessed(wallet);
117
117
  return undefined;
118
118
  }
119
119
  const bundleResult = await this.executor.bundle({
@@ -125,18 +125,18 @@ class ExecutorManager {
125
125
  });
126
126
  // Free wallet if no bundle was sent.
127
127
  if (bundleResult.status !== "bundle_success") {
128
- this.senderManager.markWalletProcessed(wallet);
128
+ await this.senderManager.markWalletProcessed(wallet);
129
129
  }
130
130
  // All ops failed simulation, drop them and return.
131
131
  if (bundleResult.status === "all_ops_failed_simulation") {
132
132
  const { rejectedUserOps } = bundleResult;
133
- this.dropUserOps(rejectedUserOps);
133
+ await this.dropUserOps(entryPoint, rejectedUserOps);
134
134
  return undefined;
135
135
  }
136
136
  // Unhandled error during simulation, drop all ops.
137
137
  if (bundleResult.status === "unhandled_simulation_failure") {
138
138
  const { rejectedUserOps } = bundleResult;
139
- this.dropUserOps(rejectedUserOps);
139
+ await this.dropUserOps(entryPoint, rejectedUserOps);
140
140
  this.metrics.bundlesSubmitted.labels({ status: "failed" }).inc();
141
141
  return undefined;
142
142
  }
@@ -144,17 +144,17 @@ class ExecutorManager {
144
144
  if (bundleResult.status === "bundle_submission_failure" &&
145
145
  bundleResult.reason instanceof viem_1.InsufficientFundsError) {
146
146
  const { reason, userOpsToBundle, rejectedUserOps } = bundleResult;
147
- this.dropUserOps(rejectedUserOps);
148
- this.resubmitUserOperations(userOpsToBundle, entryPoint, reason.name);
147
+ await this.dropUserOps(entryPoint, rejectedUserOps);
148
+ await this.resubmitUserOperations(userOpsToBundle, entryPoint, reason.name);
149
149
  this.metrics.bundlesSubmitted.labels({ status: "resubmit" }).inc();
150
150
  return undefined;
151
151
  }
152
152
  // Encountered unhandled error during bundle simulation.
153
153
  if (bundleResult.status === "bundle_submission_failure") {
154
154
  const { rejectedUserOps, userOpsToBundle, reason } = bundleResult;
155
- this.dropUserOps(rejectedUserOps);
155
+ await this.dropUserOps(entryPoint, rejectedUserOps);
156
156
  // NOTE: these ops passed validation, so we can try resubmitting them
157
- this.resubmitUserOperations(userOpsToBundle, entryPoint, reason instanceof abitype_1.BaseError
157
+ await this.resubmitUserOperations(userOpsToBundle, entryPoint, reason instanceof abitype_1.BaseError
158
158
  ? reason.name
159
159
  : "Encountered unhandled error during bundle simulation");
160
160
  this.metrics.bundlesSubmitted.labels({ status: "failed" }).inc();
@@ -176,8 +176,8 @@ class ExecutorManager {
176
176
  firstSubmitted: Date.now(),
177
177
  timesPotentiallyIncluded: 0
178
178
  };
179
- this.markUserOperationsAsSubmitted(userOpsBundled, transactionInfo);
180
- this.dropUserOps(rejectedUserOps);
179
+ await this.markUserOperationsAsSubmitted(userOpsBundled, transactionInfo);
180
+ await this.dropUserOps(entryPoint, rejectedUserOps);
181
181
  this.metrics.bundlesSubmitted.labels({ status: "success" }).inc();
182
182
  return transactionHash;
183
183
  }
@@ -237,59 +237,77 @@ class ExecutorManager {
237
237
  }
238
238
  // Free executor if tx landed onchain
239
239
  if (bundlingStatus.status !== "not_found") {
240
- this.senderManager.markWalletProcessed(transactionInfo.executor);
240
+ await this.senderManager.markWalletProcessed(transactionInfo.executor);
241
241
  }
242
242
  if (bundlingStatus.status === "included") {
243
243
  const { userOperationDetails } = bundlingStatus;
244
- this.markUserOpsIncluded(userOps, entryPoint, blockNumber, transactionHash, userOperationDetails);
244
+ await this.markUserOpsIncluded(userOps, entryPoint, blockNumber, transactionHash, userOperationDetails);
245
245
  }
246
246
  if (bundlingStatus.status === "reverted") {
247
- await Promise.all(userOps.map((userOpInfo) => {
247
+ await Promise.all(userOps.map(async (userOpInfo) => {
248
248
  const { userOpHash } = userOpInfo;
249
- this.checkFrontrun({
249
+ await this.checkFrontrun({
250
+ entryPoint,
250
251
  userOpHash,
251
252
  transactionHash,
252
253
  blockNumber
253
254
  });
254
255
  }));
255
- this.removeSubmitted(userOps);
256
+ await this.removeSubmitted(entryPoint, userOps);
256
257
  }
257
258
  }
258
- checkFrontrun({ userOpHash, transactionHash, blockNumber }) {
259
+ async checkFrontrun({ userOpHash, entryPoint, transactionHash, blockNumber }) {
259
260
  const unwatch = this.config.publicClient.watchBlockNumber({
260
261
  onBlockNumber: async (currentBlockNumber) => {
261
262
  if (currentBlockNumber > blockNumber + 1n) {
262
- const userOperationReceipt = await this.getUserOperationReceipt(userOpHash);
263
- if (userOperationReceipt) {
264
- const transactionHash = userOperationReceipt.receipt.transactionHash;
265
- const blockNumber = userOperationReceipt.receipt.blockNumber;
266
- this.mempool.removeSubmitted(userOpHash);
267
- this.monitor.setUserOperationStatus(userOpHash, {
268
- status: "included",
269
- transactionHash
270
- });
271
- this.eventManager.emitFrontranOnChain(userOpHash, transactionHash, blockNumber);
272
- this.logger.info({
273
- userOpHash,
274
- transactionHash
275
- }, "user op frontrun onchain");
276
- this.metrics.userOperationsOnChain
277
- .labels({ status: "frontran" })
278
- .inc(1);
263
+ try {
264
+ const userOperationReceipt = await this.getUserOperationReceipt(userOpHash);
265
+ if (userOperationReceipt) {
266
+ const transactionHash = userOperationReceipt.receipt.transactionHash;
267
+ const blockNumber = userOperationReceipt.receipt.blockNumber;
268
+ await this.mempool.removeSubmitted({
269
+ entryPoint,
270
+ userOpHash
271
+ });
272
+ await this.monitor.setUserOperationStatus(userOpHash, {
273
+ status: "included",
274
+ transactionHash
275
+ });
276
+ await this.eventManager.emitFrontranOnChain(userOpHash, transactionHash, blockNumber);
277
+ this.logger.info({
278
+ userOpHash,
279
+ transactionHash
280
+ }, "user op frontrun onchain");
281
+ this.metrics.userOperationsOnChain
282
+ .labels({ status: "frontran" })
283
+ .inc(1);
284
+ }
285
+ else {
286
+ await this.monitor.setUserOperationStatus(userOpHash, {
287
+ status: "failed",
288
+ transactionHash
289
+ });
290
+ await this.eventManager.emitFailedOnChain(userOpHash, transactionHash, blockNumber);
291
+ this.logger.info({
292
+ userOpHash,
293
+ transactionHash
294
+ }, "user op failed onchain");
295
+ this.metrics.userOperationsOnChain
296
+ .labels({ status: "reverted" })
297
+ .inc(1);
298
+ }
279
299
  }
280
- else {
281
- this.monitor.setUserOperationStatus(userOpHash, {
300
+ catch (error) {
301
+ this.logger.error({
302
+ userOpHash,
303
+ transactionHash,
304
+ error
305
+ }, "Error checking frontrun status");
306
+ // Still mark as failed since we couldn't verify inclusion
307
+ await this.monitor.setUserOperationStatus(userOpHash, {
282
308
  status: "failed",
283
309
  transactionHash
284
310
  });
285
- this.eventManager.emitFailedOnChain(userOpHash, transactionHash, blockNumber);
286
- this.logger.info({
287
- userOpHash,
288
- transactionHash
289
- }, "user op failed onchain");
290
- this.metrics.userOperationsOnChain
291
- .labels({ status: "reverted" })
292
- .inc(1);
293
311
  }
294
312
  unwatch();
295
313
  }
@@ -393,14 +411,22 @@ class ExecutorManager {
393
411
  }
394
412
  this.currentlyHandlingBlock = true;
395
413
  this.logger.debug({ blockNumber: block.number }, "handling block");
396
- const submittedEntries = this.mempool.dumpSubmittedOps();
414
+ const dumpSubmittedEntries = async () => {
415
+ const submittedEntries = [];
416
+ for (const entryPoint of this.config.entrypoints) {
417
+ const entries = await this.mempool.dumpSubmittedOps(entryPoint);
418
+ submittedEntries.push(...entries);
419
+ }
420
+ return submittedEntries;
421
+ };
422
+ const submittedEntries = await dumpSubmittedEntries();
397
423
  if (submittedEntries.length === 0) {
398
424
  this.stopWatchingBlocks();
399
425
  this.currentlyHandlingBlock = false;
400
426
  return;
401
427
  }
402
428
  // refresh op statuses
403
- const ops = this.mempool.dumpSubmittedOps();
429
+ const ops = await dumpSubmittedEntries();
404
430
  const txs = getTransactionsFromUserOperationEntries(ops);
405
431
  await Promise.all(txs.map((txInfo) => this.refreshTransactionStatus(txInfo)));
406
432
  // for all still not included check if needs to be replaced (based on gas price)
@@ -410,7 +436,7 @@ class ExecutorManager {
410
436
  maxFeePerGas: 0n,
411
437
  maxPriorityFeePerGas: 0n
412
438
  }));
413
- const transactionInfos = getTransactionsFromUserOperationEntries(this.mempool.dumpSubmittedOps());
439
+ const transactionInfos = getTransactionsFromUserOperationEntries(await dumpSubmittedEntries());
414
440
  await Promise.all(transactionInfos.map(async (txInfo) => {
415
441
  const { transactionRequest } = txInfo;
416
442
  const { maxFeePerGas, maxPriorityFeePerGas } = transactionRequest;
@@ -433,7 +459,7 @@ class ExecutorManager {
433
459
  async replaceTransaction(txInfo, reason) {
434
460
  // Setup vars
435
461
  const { bundle, executor, transactionRequest, transactionHash: oldTxHash } = txInfo;
436
- const { userOps } = bundle;
462
+ const { userOps, entryPoint } = bundle;
437
463
  const gasPriceParameters = await this.gasPriceManager
438
464
  .tryGetNetworkGasPrice()
439
465
  .catch((_) => {
@@ -444,13 +470,14 @@ class ExecutorManager {
444
470
  ...userOpInfo,
445
471
  reason: "Failed to get network gas price during replacement"
446
472
  }));
447
- this.failedToReplaceTransaction({
473
+ await this.failedToReplaceTransaction({
474
+ entryPoint,
448
475
  rejectedUserOps,
449
476
  oldTxHash,
450
477
  reason: "Failed to get network gas price during replacement"
451
478
  });
452
479
  // Free executor if failed to get initial params.
453
- this.senderManager.markWalletProcessed(txInfo.executor);
480
+ await this.senderManager.markWalletProcessed(txInfo.executor);
454
481
  return;
455
482
  }
456
483
  const bundleResult = await this.executor.bundle({
@@ -466,19 +493,17 @@ class ExecutorManager {
466
493
  });
467
494
  // Free wallet and return if potentially included too many times.
468
495
  if (txInfo.timesPotentiallyIncluded >= 3) {
469
- if (txInfo.timesPotentiallyIncluded >= 3) {
470
- this.removeSubmitted(bundle.userOps);
471
- this.logger.warn({
472
- oldTxHash,
473
- userOps: (0, utils_2.getUserOpHashes)(bundleResult.rejectedUserOps)
474
- }, "transaction potentially already included too many times, removing");
475
- }
476
- this.senderManager.markWalletProcessed(txInfo.executor);
496
+ this.removeSubmitted(entryPoint, bundle.userOps);
497
+ this.logger.warn({
498
+ oldTxHash,
499
+ userOps: (0, utils_2.getUserOpHashes)(bundleResult.rejectedUserOps)
500
+ }, "transaction potentially already included too many times, removing");
501
+ await this.senderManager.markWalletProcessed(txInfo.executor);
477
502
  return;
478
503
  }
479
504
  // Free wallet if no bundle was sent or potentially included.
480
505
  if (bundleResult.status !== "bundle_success") {
481
- this.senderManager.markWalletProcessed(txInfo.executor);
506
+ await this.senderManager.markWalletProcessed(txInfo.executor);
482
507
  }
483
508
  // Check if the transaction is potentially included.
484
509
  const nonceTooLow = bundleResult.status === "bundle_submission_failure" &&
@@ -511,7 +536,8 @@ class ExecutorManager {
511
536
  }
512
537
  if (bundleResult.status === "unhandled_simulation_failure") {
513
538
  const { rejectedUserOps, reason } = bundleResult;
514
- this.failedToReplaceTransaction({
539
+ await this.failedToReplaceTransaction({
540
+ entryPoint,
515
541
  oldTxHash,
516
542
  reason,
517
543
  rejectedUserOps
@@ -519,7 +545,8 @@ class ExecutorManager {
519
545
  return;
520
546
  }
521
547
  if (bundleResult.status === "all_ops_failed_simulation") {
522
- this.failedToReplaceTransaction({
548
+ await this.failedToReplaceTransaction({
549
+ entryPoint,
523
550
  oldTxHash,
524
551
  reason: "all ops failed simulation",
525
552
  rejectedUserOps: bundleResult.rejectedUserOps
@@ -529,10 +556,11 @@ class ExecutorManager {
529
556
  if (bundleResult.status === "bundle_submission_failure") {
530
557
  const { reason, rejectedUserOps } = bundleResult;
531
558
  const submissionFailureReason = reason instanceof abitype_1.BaseError ? reason.name : "INTERNAL FAILURE";
532
- this.failedToReplaceTransaction({
559
+ await this.failedToReplaceTransaction({
533
560
  oldTxHash,
534
561
  rejectedUserOps,
535
- reason: submissionFailureReason
562
+ reason: submissionFailureReason,
563
+ entryPoint
536
564
  });
537
565
  return;
538
566
  }
@@ -552,11 +580,14 @@ class ExecutorManager {
552
580
  userOps: userOpsReplaced
553
581
  }
554
582
  };
555
- userOpsReplaced.map((userOp) => {
556
- this.mempool.replaceSubmitted(userOp, newTxInfo);
557
- });
583
+ await Promise.all(userOpsReplaced.map(async (userOpInfo) => {
584
+ await this.mempool.replaceSubmitted({
585
+ userOpInfo,
586
+ transactionInfo: newTxInfo
587
+ });
588
+ }));
558
589
  // Drop all userOperations that were rejected during simulation.
559
- this.dropUserOps(rejectedUserOps);
590
+ await this.dropUserOps(entryPoint, rejectedUserOps);
560
591
  this.logger.info({
561
592
  oldTxHash,
562
593
  newTxHash,
@@ -564,40 +595,43 @@ class ExecutorManager {
564
595
  }, "replaced transaction");
565
596
  return;
566
597
  }
567
- markUserOperationsAsSubmitted(userOpInfos, transactionInfo) {
568
- userOpInfos.map((userOpInfo) => {
598
+ async markUserOperationsAsSubmitted(userOpInfos, transactionInfo) {
599
+ await Promise.all(userOpInfos.map(async (userOpInfo) => {
569
600
  const { userOpHash } = userOpInfo;
570
- this.mempool.markSubmitted(userOpHash, transactionInfo);
601
+ await this.mempool.markSubmitted({
602
+ userOpHash,
603
+ transactionInfo
604
+ });
571
605
  this.startWatchingBlocks(this.handleBlock.bind(this));
572
606
  this.metrics.userOperationsSubmitted
573
607
  .labels({ status: "success" })
574
608
  .inc();
575
- });
609
+ }));
576
610
  }
577
- resubmitUserOperations(userOps, entryPoint, reason) {
578
- userOps.map((userOpInfo) => {
611
+ async resubmitUserOperations(userOps, entryPoint, reason) {
612
+ await Promise.all(userOps.map(async (userOpInfo) => {
579
613
  const { userOpHash, userOp } = userOpInfo;
580
- this.logger.info({
614
+ this.logger.warn({
581
615
  userOpHash,
582
616
  reason
583
617
  }, "resubmitting user operation");
584
- this.mempool.removeProcessing(userOpHash);
585
- this.mempool.add(userOp, entryPoint);
618
+ await this.mempool.removeProcessing({ entryPoint, userOpHash });
619
+ await this.mempool.add(userOp, entryPoint);
586
620
  this.metrics.userOperationsResubmitted.inc();
587
- });
621
+ }));
588
622
  }
589
- failedToReplaceTransaction({ oldTxHash, rejectedUserOps, reason }) {
623
+ async failedToReplaceTransaction({ oldTxHash, rejectedUserOps, reason, entryPoint }) {
590
624
  this.logger.warn({ oldTxHash, reason }, "failed to replace transaction");
591
- this.dropUserOps(rejectedUserOps);
625
+ await this.dropUserOps(entryPoint, rejectedUserOps);
592
626
  }
593
- removeSubmitted(userOps) {
594
- userOps.map((userOpInfo) => {
627
+ async removeSubmitted(entryPoint, userOps) {
628
+ await Promise.all(userOps.map(async (userOpInfo) => {
595
629
  const { userOpHash } = userOpInfo;
596
- this.mempool.removeSubmitted(userOpHash);
597
- });
630
+ await this.mempool.removeSubmitted({ entryPoint, userOpHash });
631
+ }));
598
632
  }
599
- markUserOpsIncluded(userOps, entryPoint, blockNumber, transactionHash, userOperationDetails) {
600
- userOps.map((userOpInfo) => {
633
+ async markUserOpsIncluded(userOps, entryPoint, blockNumber, transactionHash, userOperationDetails) {
634
+ await Promise.all(userOps.map(async (userOpInfo) => {
601
635
  this.metrics.userOperationsOnChain
602
636
  .labels({ status: "included" })
603
637
  .inc();
@@ -605,15 +639,15 @@ class ExecutorManager {
605
639
  const opDetails = userOperationDetails[userOpHash];
606
640
  const firstSubmitted = userOpInfo.addedToMempool;
607
641
  this.metrics.userOperationInclusionDuration.observe((Date.now() - firstSubmitted) / 1000);
608
- this.mempool.removeSubmitted(userOpHash);
642
+ await this.mempool.removeSubmitted({ entryPoint, userOpHash });
609
643
  this.reputationManager.updateUserOperationIncludedStatus(userOp, entryPoint, opDetails.accountDeployed);
610
644
  if (opDetails.status === "succesful") {
611
- this.eventManager.emitIncludedOnChain(userOpHash, transactionHash, blockNumber);
645
+ await this.eventManager.emitIncludedOnChain(userOpHash, transactionHash, blockNumber);
612
646
  }
613
647
  else {
614
- this.eventManager.emitExecutionRevertedOnChain(userOpHash, transactionHash, opDetails.revertReason || "0x", blockNumber);
648
+ await this.eventManager.emitExecutionRevertedOnChain(userOpHash, transactionHash, opDetails.revertReason || "0x", blockNumber);
615
649
  }
616
- this.monitor.setUserOperationStatus(userOpHash, {
650
+ await this.monitor.setUserOperationStatus(userOpHash, {
617
651
  status: "included",
618
652
  transactionHash
619
653
  });
@@ -621,15 +655,15 @@ class ExecutorManager {
621
655
  opHash: userOpHash,
622
656
  transactionHash
623
657
  }, "user op included");
624
- });
658
+ }));
625
659
  }
626
- dropUserOps(rejectedUserOps) {
627
- rejectedUserOps.map((rejectedUserOp) => {
660
+ async dropUserOps(entryPoint, rejectedUserOps) {
661
+ await Promise.all(rejectedUserOps.map(async (rejectedUserOp) => {
628
662
  const { userOp, reason, userOpHash } = rejectedUserOp;
629
- this.mempool.removeProcessing(userOpHash);
630
- this.mempool.removeSubmitted(userOpHash);
631
- this.eventManager.emitDropped(userOpHash, reason, (0, utils_1.getAAError)(reason));
632
- this.monitor.setUserOperationStatus(userOpHash, {
663
+ await this.mempool.removeProcessing({ entryPoint, userOpHash });
664
+ await this.mempool.removeSubmitted({ entryPoint, userOpHash });
665
+ await this.eventManager.emitDropped(userOpHash, reason, (0, utils_1.getAAError)(reason));
666
+ await this.monitor.setUserOperationStatus(userOpHash, {
633
667
  status: "rejected",
634
668
  transactionHash: null
635
669
  });
@@ -641,7 +675,7 @@ class ExecutorManager {
641
675
  this.metrics.userOperationsSubmitted
642
676
  .labels({ status: "failed" })
643
677
  .inc();
644
- });
678
+ }));
645
679
  }
646
680
  }
647
681
  exports.ExecutorManager = ExecutorManager;
@@ -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";
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./senderManager.js"), exports);
17
+ __exportStar(require("./senderManager/index.js"), exports);
18
18
  __exportStar(require("./executor.js"), exports);
19
19
  __exportStar(require("./executorManager.js"), exports);
20
20
  __exportStar(require("./utils.js"), exports);
@@ -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,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMemorySenderManager = void 0;
4
+ const _1 = require("./index.js");
5
+ const async_mutex_1 = require("async-mutex");
6
+ const createMemorySenderManager = ({ config, metrics }) => {
7
+ const wallets = (0, _1.getAvailableWallets)(config);
8
+ const availableWallets = [...wallets];
9
+ const semaphore = new async_mutex_1.Semaphore(availableWallets.length);
10
+ const logger = config.getLogger({ module: "sender-manager" }, { level: config.executorLogLevel || config.logLevel });
11
+ metrics.walletsTotal.set(wallets.length);
12
+ metrics.walletsAvailable.set(wallets.length);
13
+ logger.info("Created memory sender manager");
14
+ return {
15
+ getAllWallets: () => [...wallets],
16
+ getWallet: async () => {
17
+ logger.trace("waiting for semaphore ");
18
+ await semaphore.acquire();
19
+ const wallet = availableWallets.shift();
20
+ // should never happen because of semaphore
21
+ if (!wallet) {
22
+ semaphore.release();
23
+ logger.error("no more wallets");
24
+ throw new Error("no more wallets");
25
+ }
26
+ logger.trace({ executor: wallet.address }, "got wallet from sender manager");
27
+ metrics.walletsAvailable.set(availableWallets.length);
28
+ return wallet;
29
+ },
30
+ markWalletProcessed: async (wallet) => {
31
+ if (!availableWallets.some((w) => w.address === wallet.address)) {
32
+ availableWallets.push(wallet);
33
+ semaphore.release();
34
+ logger.trace({ executor: wallet.address }, "pushed wallet to sender manager");
35
+ }
36
+ metrics.walletsAvailable.set(availableWallets.length);
37
+ },
38
+ getActiveWallets: () => {
39
+ // Active wallets are those that are in the total pool but not in the available pool
40
+ return wallets.filter((wallet) => !availableWallets.some((available) => available.address === wallet.address));
41
+ }
42
+ };
43
+ };
44
+ exports.createMemorySenderManager = createMemorySenderManager;
45
+ //# sourceMappingURL=createMemorySenderManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMemorySenderManager.js","sourceRoot":"","sources":["../../../executor/senderManager/createMemorySenderManager.ts"],"names":[],"mappings":";;;AACA,wBAAsD;AAEtD,6CAAuC;AAGhC,MAAM,yBAAyB,GAAG,CAAC,EACtC,MAAM,EACN,OAAO,EACgC,EAAiB,EAAE;IAC1D,MAAM,OAAO,GAAG,IAAA,sBAAmB,EAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,gBAAgB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAA;IAErC,MAAM,SAAS,GAAc,IAAI,uBAAS,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;AA/DY,QAAA,yBAAyB,6BA+DrC"}
@@ -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