@pimlico/alto 0.0.6 → 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 (292) 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 +348 -306
  4. package/esm/cli/config/bundler.js +26 -7
  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 +46 -8
  8. package/esm/cli/config/options.js.map +1 -1
  9. package/esm/cli/customTransport.js +40 -7
  10. package/esm/cli/customTransport.js.map +1 -1
  11. package/esm/cli/deploySimulationsContract.d.ts +8 -0
  12. package/esm/cli/deploySimulationsContract.js +26 -0
  13. package/esm/cli/deploySimulationsContract.js.map +1 -0
  14. package/esm/cli/handler.d.ts +2 -2
  15. package/esm/cli/handler.js +67 -89
  16. package/esm/cli/handler.js.map +1 -1
  17. package/esm/cli/instrumentation.js +4 -2
  18. package/esm/cli/instrumentation.js.map +1 -1
  19. package/esm/cli/parseArgs.d.ts +8 -0
  20. package/esm/cli/parseArgs.js +21 -0
  21. package/esm/cli/parseArgs.js.map +1 -0
  22. package/esm/cli/setupServer.d.ts +4 -9
  23. package/esm/cli/setupServer.js +98 -82
  24. package/esm/cli/setupServer.js.map +1 -1
  25. package/esm/createConfig.d.ts +15 -0
  26. package/esm/createConfig.js +8 -0
  27. package/esm/createConfig.js.map +1 -0
  28. package/esm/executor/executor.d.ts +29 -13
  29. package/esm/executor/executor.js +110 -72
  30. package/esm/executor/executor.js.map +1 -1
  31. package/esm/executor/executorManager.d.ts +14 -10
  32. package/esm/executor/executorManager.js +42 -42
  33. package/esm/executor/executorManager.js.map +1 -1
  34. package/esm/executor/senderManager.d.ts +11 -6
  35. package/esm/executor/senderManager.js +25 -32
  36. package/esm/executor/senderManager.js.map +1 -1
  37. package/esm/executor/utilityWalletMonitor.d.ts +9 -5
  38. package/esm/executor/utilityWalletMonitor.js +8 -8
  39. package/esm/executor/utilityWalletMonitor.js.map +1 -1
  40. package/esm/executor/utils.d.ts +2 -1
  41. package/esm/executor/utils.js +7 -2
  42. package/esm/executor/utils.js.map +1 -1
  43. package/esm/handlers/arbitrumGasPriceManager.d.ts +11 -0
  44. package/esm/handlers/arbitrumGasPriceManager.js +29 -0
  45. package/esm/handlers/arbitrumGasPriceManager.js.map +1 -0
  46. package/esm/handlers/eventManager.d.ts +7 -3
  47. package/esm/handlers/eventManager.js +24 -16
  48. package/esm/handlers/eventManager.js.map +1 -1
  49. package/esm/handlers/gasPriceManager.d.ts +14 -27
  50. package/esm/handlers/gasPriceManager.js +81 -135
  51. package/esm/handlers/gasPriceManager.js.map +1 -1
  52. package/esm/handlers/mantleGasPriceManager.d.ts +20 -0
  53. package/esm/handlers/mantleGasPriceManager.js +28 -0
  54. package/esm/handlers/mantleGasPriceManager.js.map +1 -0
  55. package/esm/mempool/mempool.d.ts +13 -10
  56. package/esm/mempool/mempool.js +29 -26
  57. package/esm/mempool/mempool.js.map +1 -1
  58. package/esm/mempool/reputationManager.d.ts +4 -6
  59. package/esm/mempool/reputationManager.js +25 -29
  60. package/esm/mempool/reputationManager.js.map +1 -1
  61. package/esm/mempool/store.d.ts +1 -1
  62. package/esm/rpc/estimation/gasEstimationHandler.d.ts +24 -0
  63. package/esm/rpc/estimation/gasEstimationHandler.js +48 -0
  64. package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -0
  65. package/esm/rpc/estimation/gasEstimationsV06.d.ts +19 -0
  66. package/esm/rpc/estimation/gasEstimationsV06.js +146 -0
  67. package/esm/rpc/estimation/gasEstimationsV06.js.map +1 -0
  68. package/esm/rpc/estimation/gasEstimationsV07.d.ts +88 -0
  69. package/esm/rpc/estimation/gasEstimationsV07.js +429 -0
  70. package/esm/rpc/estimation/gasEstimationsV07.js.map +1 -0
  71. package/esm/rpc/estimation/types.d.ts +113 -0
  72. package/esm/rpc/estimation/types.js +122 -0
  73. package/esm/rpc/estimation/types.js.map +1 -0
  74. package/esm/rpc/nonceQueuer.d.ts +10 -6
  75. package/esm/rpc/nonceQueuer.js +10 -10
  76. package/esm/rpc/nonceQueuer.js.map +1 -1
  77. package/esm/rpc/rpcHandler.d.ts +19 -16
  78. package/esm/rpc/rpcHandler.js +83 -72
  79. package/esm/rpc/rpcHandler.js.map +1 -1
  80. package/esm/rpc/server.d.ts +9 -7
  81. package/esm/rpc/server.js +27 -26
  82. package/esm/rpc/server.js.map +1 -1
  83. package/esm/rpc/validation/SafeValidator.d.ts +11 -6
  84. package/esm/rpc/validation/SafeValidator.js +16 -14
  85. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  86. package/esm/rpc/validation/TracerResultParserV06.d.ts +1 -1
  87. package/esm/rpc/validation/TracerResultParserV06.js.map +1 -1
  88. package/esm/rpc/validation/TracerResultParserV07.d.ts +1 -1
  89. package/esm/rpc/validation/TracerResultParserV07.js +1 -1
  90. package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
  91. package/esm/rpc/validation/UnsafeValidator.d.ts +14 -17
  92. package/esm/rpc/validation/UnsafeValidator.js +49 -42
  93. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  94. package/esm/types/contracts/ArbitrumL1FeeAbi.d.ts +32 -0
  95. package/esm/types/contracts/ArbitrumL1FeeAbi.js +42 -0
  96. package/esm/types/contracts/ArbitrumL1FeeAbi.js.map +1 -0
  97. package/esm/types/contracts/EntryPointSimulationsV6.d.ts +34 -0
  98. package/esm/types/contracts/EntryPointSimulationsV6.js +48 -0
  99. package/esm/types/contracts/EntryPointSimulationsV6.js.map +1 -0
  100. package/esm/types/contracts/EntryPointSimulationsV7.d.ts +1370 -0
  101. package/esm/types/contracts/{EntryPointSimulations.js → EntryPointSimulationsV7.js} +197 -385
  102. package/esm/types/contracts/EntryPointSimulationsV7.js.map +1 -0
  103. package/esm/types/contracts/IAccountExecute.d.ts +53 -0
  104. package/esm/types/contracts/IAccountExecute.js +68 -0
  105. package/esm/types/contracts/IAccountExecute.js.map +1 -0
  106. package/esm/types/contracts/MantleBvmGasPriceOracle.d.ts +219 -0
  107. package/esm/types/contracts/MantleBvmGasPriceOracle.js +177 -0
  108. package/esm/types/contracts/MantleBvmGasPriceOracle.js.map +1 -0
  109. package/esm/types/contracts/OpL1FeeAbi.d.ts +26 -0
  110. package/esm/types/contracts/OpL1FeeAbi.js +29 -0
  111. package/esm/types/contracts/OpL1FeeAbi.js.map +1 -0
  112. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  113. package/esm/types/contracts/PimlicoEntryPointSimulations.js +1 -1
  114. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  115. package/esm/types/contracts/index.d.ts +5 -1
  116. package/esm/types/contracts/index.js +5 -1
  117. package/esm/types/contracts/index.js.map +1 -1
  118. package/esm/types/interfaces.d.ts +2 -2
  119. package/esm/types/schemas.d.ts +94 -94
  120. package/esm/types/schemas.js +3 -3
  121. package/esm/types/schemas.js.map +1 -1
  122. package/esm/types/utils.d.ts +1 -1
  123. package/esm/utils/bigInt.js +2 -2
  124. package/esm/utils/bigInt.js.map +1 -1
  125. package/esm/utils/helpers.js +1 -1
  126. package/esm/utils/helpers.js.map +1 -1
  127. package/esm/utils/rpc-reply.d.ts +1 -1
  128. package/esm/utils/timedQueue.d.ts +12 -0
  129. package/esm/utils/timedQueue.js +51 -0
  130. package/esm/utils/timedQueue.js.map +1 -0
  131. package/esm/utils/userop.d.ts +2 -2
  132. package/esm/utils/userop.js +2 -2
  133. package/esm/utils/userop.js.map +1 -1
  134. package/esm/utils/validation.d.ts +14 -6
  135. package/esm/utils/validation.js +115 -132
  136. package/esm/utils/validation.js.map +1 -1
  137. package/lib/cli/alto.js +2 -0
  138. package/lib/cli/alto.js.map +1 -1
  139. package/lib/cli/config/bundler.d.ts +348 -306
  140. package/lib/cli/config/bundler.js +26 -7
  141. package/lib/cli/config/bundler.js.map +1 -1
  142. package/lib/cli/config/options.d.ts +2 -1
  143. package/lib/cli/config/options.js +47 -9
  144. package/lib/cli/config/options.js.map +1 -1
  145. package/lib/cli/customTransport.js +38 -5
  146. package/lib/cli/customTransport.js.map +1 -1
  147. package/lib/cli/deploySimulationsContract.d.ts +8 -0
  148. package/lib/cli/deploySimulationsContract.js +30 -0
  149. package/lib/cli/deploySimulationsContract.js.map +1 -0
  150. package/lib/cli/handler.d.ts +2 -2
  151. package/lib/cli/handler.js +66 -88
  152. package/lib/cli/handler.js.map +1 -1
  153. package/lib/cli/instrumentation.js +4 -2
  154. package/lib/cli/instrumentation.js.map +1 -1
  155. package/lib/cli/parseArgs.d.ts +8 -0
  156. package/lib/cli/parseArgs.js +25 -0
  157. package/lib/cli/parseArgs.js.map +1 -0
  158. package/lib/cli/setupServer.d.ts +4 -9
  159. package/lib/cli/setupServer.js +98 -82
  160. package/lib/cli/setupServer.js.map +1 -1
  161. package/lib/createConfig.d.ts +15 -0
  162. package/lib/createConfig.js +12 -0
  163. package/lib/createConfig.js.map +1 -0
  164. package/lib/executor/executor.d.ts +29 -13
  165. package/lib/executor/executor.js +106 -68
  166. package/lib/executor/executor.js.map +1 -1
  167. package/lib/executor/executorManager.d.ts +14 -10
  168. package/lib/executor/executorManager.js +40 -40
  169. package/lib/executor/executorManager.js.map +1 -1
  170. package/lib/executor/senderManager.d.ts +11 -6
  171. package/lib/executor/senderManager.js +25 -32
  172. package/lib/executor/senderManager.js.map +1 -1
  173. package/lib/executor/utilityWalletMonitor.d.ts +9 -5
  174. package/lib/executor/utilityWalletMonitor.js +8 -8
  175. package/lib/executor/utilityWalletMonitor.js.map +1 -1
  176. package/lib/executor/utils.d.ts +2 -1
  177. package/lib/executor/utils.js +9 -3
  178. package/lib/executor/utils.js.map +1 -1
  179. package/lib/handlers/arbitrumGasPriceManager.d.ts +11 -0
  180. package/lib/handlers/arbitrumGasPriceManager.js +33 -0
  181. package/lib/handlers/arbitrumGasPriceManager.js.map +1 -0
  182. package/lib/handlers/eventManager.d.ts +7 -3
  183. package/lib/handlers/eventManager.js +24 -16
  184. package/lib/handlers/eventManager.js.map +1 -1
  185. package/lib/handlers/gasPriceManager.d.ts +14 -27
  186. package/lib/handlers/gasPriceManager.js +80 -134
  187. package/lib/handlers/gasPriceManager.js.map +1 -1
  188. package/lib/handlers/mantleGasPriceManager.d.ts +20 -0
  189. package/lib/handlers/mantleGasPriceManager.js +32 -0
  190. package/lib/handlers/mantleGasPriceManager.js.map +1 -0
  191. package/lib/mempool/mempool.d.ts +13 -10
  192. package/lib/mempool/mempool.js +28 -25
  193. package/lib/mempool/mempool.js.map +1 -1
  194. package/lib/mempool/reputationManager.d.ts +4 -6
  195. package/lib/mempool/reputationManager.js +25 -29
  196. package/lib/mempool/reputationManager.js.map +1 -1
  197. package/lib/mempool/store.d.ts +1 -1
  198. package/lib/rpc/estimation/gasEstimationHandler.d.ts +24 -0
  199. package/lib/rpc/estimation/gasEstimationHandler.js +52 -0
  200. package/lib/rpc/estimation/gasEstimationHandler.js.map +1 -0
  201. package/lib/rpc/estimation/gasEstimationsV06.d.ts +19 -0
  202. package/lib/rpc/estimation/gasEstimationsV06.js +150 -0
  203. package/lib/rpc/estimation/gasEstimationsV06.js.map +1 -0
  204. package/lib/rpc/estimation/gasEstimationsV07.d.ts +88 -0
  205. package/lib/rpc/estimation/gasEstimationsV07.js +435 -0
  206. package/lib/rpc/estimation/gasEstimationsV07.js.map +1 -0
  207. package/lib/rpc/estimation/types.d.ts +113 -0
  208. package/lib/rpc/estimation/types.js +125 -0
  209. package/lib/rpc/estimation/types.js.map +1 -0
  210. package/lib/rpc/nonceQueuer.d.ts +10 -6
  211. package/lib/rpc/nonceQueuer.js +9 -9
  212. package/lib/rpc/nonceQueuer.js.map +1 -1
  213. package/lib/rpc/rpcHandler.d.ts +19 -16
  214. package/lib/rpc/rpcHandler.js +82 -71
  215. package/lib/rpc/rpcHandler.js.map +1 -1
  216. package/lib/rpc/server.d.ts +9 -7
  217. package/lib/rpc/server.js +26 -25
  218. package/lib/rpc/server.js.map +1 -1
  219. package/lib/rpc/validation/SafeValidator.d.ts +11 -6
  220. package/lib/rpc/validation/SafeValidator.js +16 -14
  221. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  222. package/lib/rpc/validation/TracerResultParserV06.d.ts +1 -1
  223. package/lib/rpc/validation/TracerResultParserV07.d.ts +1 -1
  224. package/lib/rpc/validation/TracerResultParserV07.js +1 -1
  225. package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
  226. package/lib/rpc/validation/UnsafeValidator.d.ts +14 -17
  227. package/lib/rpc/validation/UnsafeValidator.js +49 -42
  228. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  229. package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +32 -0
  230. package/lib/types/contracts/ArbitrumL1FeeAbi.js +45 -0
  231. package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +1 -0
  232. package/lib/types/contracts/EntryPointSimulationsV6.d.ts +34 -0
  233. package/lib/types/contracts/EntryPointSimulationsV6.js +51 -0
  234. package/lib/types/contracts/EntryPointSimulationsV6.js.map +1 -0
  235. package/lib/types/contracts/EntryPointSimulationsV7.d.ts +1370 -0
  236. package/lib/types/contracts/{EntryPointSimulations.js → EntryPointSimulationsV7.js} +198 -386
  237. package/lib/types/contracts/EntryPointSimulationsV7.js.map +1 -0
  238. package/lib/types/contracts/IAccountExecute.d.ts +53 -0
  239. package/lib/types/contracts/IAccountExecute.js +71 -0
  240. package/lib/types/contracts/IAccountExecute.js.map +1 -0
  241. package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +219 -0
  242. package/lib/types/contracts/MantleBvmGasPriceOracle.js +180 -0
  243. package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +1 -0
  244. package/lib/types/contracts/OpL1FeeAbi.d.ts +26 -0
  245. package/lib/types/contracts/OpL1FeeAbi.js +32 -0
  246. package/lib/types/contracts/OpL1FeeAbi.js.map +1 -0
  247. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  248. package/lib/types/contracts/PimlicoEntryPointSimulations.js +1 -1
  249. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  250. package/lib/types/contracts/index.d.ts +5 -1
  251. package/lib/types/contracts/index.js +5 -1
  252. package/lib/types/contracts/index.js.map +1 -1
  253. package/lib/types/interfaces.d.ts +2 -2
  254. package/lib/types/schemas.d.ts +94 -94
  255. package/lib/types/schemas.js +3 -3
  256. package/lib/types/schemas.js.map +1 -1
  257. package/lib/types/utils.d.ts +1 -1
  258. package/lib/utils/bigInt.js +2 -2
  259. package/lib/utils/bigInt.js.map +1 -1
  260. package/lib/utils/rpc-reply.d.ts +1 -1
  261. package/lib/utils/timedQueue.d.ts +12 -0
  262. package/lib/utils/timedQueue.js +55 -0
  263. package/lib/utils/timedQueue.js.map +1 -0
  264. package/lib/utils/userop.d.ts +2 -2
  265. package/lib/utils/userop.js +1 -1
  266. package/lib/utils/userop.js.map +1 -1
  267. package/lib/utils/validation.d.ts +14 -6
  268. package/lib/utils/validation.js +118 -134
  269. package/lib/utils/validation.js.map +1 -1
  270. package/package.json +1 -1
  271. package/esm/rpc/EntryPointSimulationsV07.d.ts +0 -62
  272. package/esm/rpc/EntryPointSimulationsV07.js +0 -410
  273. package/esm/rpc/EntryPointSimulationsV07.js.map +0 -1
  274. package/esm/rpc/ExecuteSimulator.d.ts +0 -37
  275. package/esm/rpc/ExecuteSimulator.js +0 -48
  276. package/esm/rpc/ExecuteSimulator.js.map +0 -1
  277. package/esm/rpc/gasEstimation.d.ts +0 -17
  278. package/esm/rpc/gasEstimation.js +0 -419
  279. package/esm/rpc/gasEstimation.js.map +0 -1
  280. package/esm/types/contracts/EntryPointSimulations.d.ts +0 -152
  281. package/esm/types/contracts/EntryPointSimulations.js.map +0 -1
  282. package/lib/rpc/EntryPointSimulationsV07.d.ts +0 -62
  283. package/lib/rpc/EntryPointSimulationsV07.js +0 -417
  284. package/lib/rpc/EntryPointSimulationsV07.js.map +0 -1
  285. package/lib/rpc/ExecuteSimulator.d.ts +0 -37
  286. package/lib/rpc/ExecuteSimulator.js +0 -51
  287. package/lib/rpc/ExecuteSimulator.js.map +0 -1
  288. package/lib/rpc/gasEstimation.d.ts +0 -17
  289. package/lib/rpc/gasEstimation.js +0 -426
  290. package/lib/rpc/gasEstimation.js.map +0 -1
  291. package/lib/types/contracts/EntryPointSimulations.d.ts +0 -152
  292. package/lib/types/contracts/EntryPointSimulations.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../executor/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../executor/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare class ArbitrumManager {
2
+ private l1BaseFeeQueue;
3
+ private l2BaseFeeQueue;
4
+ constructor(queueValidity: number);
5
+ saveL1BaseFee(baseFee: bigint): void;
6
+ saveL2BaseFee(baseFee: bigint): void;
7
+ getMinL1BaseFee(): bigint;
8
+ getMaxL1BaseFee(): bigint;
9
+ getMaxL2BaseFee(): bigint;
10
+ }
11
+ //# sourceMappingURL=arbitrumGasPriceManager.d.ts.map
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArbitrumManager = void 0;
4
+ const viem_1 = require("viem");
5
+ const timedQueue_1 = require("../utils/timedQueue.js");
6
+ class ArbitrumManager {
7
+ l1BaseFeeQueue;
8
+ l2BaseFeeQueue;
9
+ constructor(queueValidity) {
10
+ this.l1BaseFeeQueue = new timedQueue_1.TimedQueue(queueValidity);
11
+ this.l2BaseFeeQueue = new timedQueue_1.TimedQueue(queueValidity);
12
+ }
13
+ saveL1BaseFee(baseFee) {
14
+ this.l1BaseFeeQueue.saveValue(baseFee);
15
+ }
16
+ saveL2BaseFee(baseFee) {
17
+ this.l2BaseFeeQueue.saveValue(baseFee);
18
+ }
19
+ getMinL1BaseFee() {
20
+ let minL1BaseFee = this.l1BaseFeeQueue.getMinValue() || 1n;
21
+ return minL1BaseFee;
22
+ }
23
+ getMaxL1BaseFee() {
24
+ let maxL1BaseFee = this.l1BaseFeeQueue.getMaxValue() || viem_1.maxUint128;
25
+ return maxL1BaseFee;
26
+ }
27
+ getMaxL2BaseFee() {
28
+ let maxL2BaseFee = this.l2BaseFeeQueue.getMaxValue() || viem_1.maxUint128;
29
+ return maxL2BaseFee;
30
+ }
31
+ }
32
+ exports.ArbitrumManager = ArbitrumManager;
33
+ //# sourceMappingURL=arbitrumGasPriceManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arbitrumGasPriceManager.js","sourceRoot":"","sources":["../../handlers/arbitrumGasPriceManager.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AACjC,oDAAgD;AAEhD,MAAa,eAAe;IAChB,cAAc,CAAY;IAC1B,cAAc,CAAY;IAElC,YAAY,aAAqB;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAU,CAAC,aAAa,CAAC,CAAA;QACnD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAU,CAAC,aAAa,CAAC,CAAA;IACvD,CAAC;IAEM,aAAa,CAAC,OAAe;QAChC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAEM,aAAa,CAAC,OAAe;QAChC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAEM,eAAe;QAClB,IAAI,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA;QAC1D,OAAO,YAAY,CAAA;IACvB,CAAC;IAEM,eAAe;QAClB,IAAI,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,iBAAU,CAAA;QAClE,OAAO,YAAY,CAAA;IACvB,CAAC;IAEM,eAAe;QAClB,IAAI,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,iBAAU,CAAA;QAClE,OAAO,YAAY,CAAA;IACvB,CAAC;CACJ;AA/BD,0CA+BC"}
@@ -1,11 +1,15 @@
1
+ import type { Metrics } from "../utils/index.js";
1
2
  import type { Hex } from "viem";
2
- import type { Logger, Metrics } from "../utils/index.js";
3
+ import type { AltoConfig } from "../createConfig.js";
3
4
  export declare class EventManager {
4
- private redis;
5
5
  private chainId;
6
6
  private logger;
7
7
  private metrics;
8
- constructor(endpoint: string | undefined, chainId: number, logger: Logger, metrics: Metrics);
8
+ private redisEventManagerQueue?;
9
+ constructor({ config, metrics }: {
10
+ config: AltoConfig;
11
+ metrics: Metrics;
12
+ });
9
13
  emitExecutionRevertedOnChain(userOperationHash: Hex, transactionHash: Hex, reason: Hex, blockNumber: bigint): Promise<void>;
10
14
  emitFailedOnChain(userOperationHash: Hex, transactionHash: Hex, blockNumber: bigint): Promise<void>;
11
15
  emitFrontranOnChain(userOperationHash: Hex, transactionHash: Hex, blockNumber: bigint): Promise<void>;
@@ -27,23 +27,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.EventManager = void 0;
30
- // biome-ignore lint/style/noNamespaceImport: explicitly make it clear when sentry is used
31
30
  const sentry = __importStar(require("@sentry/node"));
32
31
  const ioredis_1 = __importDefault(require("ioredis"));
32
+ const bull_1 = __importDefault(require("bull"));
33
33
  class EventManager {
34
- redis;
35
34
  chainId;
36
35
  logger;
37
36
  metrics;
38
- constructor(endpoint, chainId, logger, metrics) {
39
- this.chainId = chainId;
40
- this.logger = logger;
37
+ redisEventManagerQueue;
38
+ constructor({ config, metrics }) {
39
+ this.chainId = config.publicClient.chain.id;
40
+ this.logger = config.getLogger({ module: "event_manager" }, {
41
+ level: config.logLevel
42
+ });
41
43
  this.metrics = metrics;
42
- if (endpoint) {
43
- this.redis = new ioredis_1.default(endpoint);
44
+ if (config.redisQueueEndpoint && config.redisEventManagerQueueName) {
45
+ const redis = new ioredis_1.default(config.redisQueueEndpoint);
46
+ this.redisEventManagerQueue = new bull_1.default(config.redisEventManagerQueueName, {
47
+ createClient: () => {
48
+ return redis;
49
+ }
50
+ });
44
51
  return;
45
52
  }
46
- this.redis = undefined;
47
53
  }
48
54
  // emits when the userOperation was mined onchain but reverted during the callphase
49
55
  async emitExecutionRevertedOnChain(userOperationHash, transactionHash, reason, blockNumber) {
@@ -163,7 +169,7 @@ class EventManager {
163
169
  });
164
170
  }
165
171
  async emitEvent({ userOperationHash, event, timestamp }) {
166
- if (!this.redis) {
172
+ if (!this.redisEventManagerQueue) {
167
173
  return;
168
174
  }
169
175
  const entry = {
@@ -173,21 +179,23 @@ class EventManager {
173
179
  ...event
174
180
  };
175
181
  // log to redis here
176
- let lpushStatus;
182
+ let jobStatus;
177
183
  try {
178
- await this.redis.lpush("UserOperationStatusEventsQueue", JSON.stringify(entry));
179
- lpushStatus = "success";
184
+ await this.redisEventManagerQueue.add(entry, {
185
+ removeOnComplete: true,
186
+ removeOnFail: true
187
+ });
188
+ jobStatus = "success";
180
189
  }
181
190
  catch (e) {
182
- this.logger.error("Failed to send userOperation status event due to ", JSON.stringify(e));
191
+ this.logger.error(e, "Failed to send userOperation status event due to ");
183
192
  sentry.captureException(e);
184
- lpushStatus = "failed";
193
+ jobStatus = "failed";
185
194
  }
186
195
  this.metrics.emittedOpEvents
187
196
  .labels({
188
- // biome-ignore lint/style/useNamingConvention: event_type
189
197
  event_type: event.eventType,
190
- status: lpushStatus
198
+ status: jobStatus
191
199
  })
192
200
  .inc();
193
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eventManager.js","sourceRoot":"","sources":["../../handlers/eventManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eventManager.js","sourceRoot":"","sources":["../../handlers/eventManager.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,16 @@
1
- import { type GasPriceParameters, type ChainType } from "../types/index.js";
2
- import { type Logger } from "../utils/index.js";
3
- import { type Chain, type PublicClient } from "viem";
1
+ import { type GasPriceParameters } from "../types/index.js";
2
+ import type { AltoConfig } from "../createConfig.js";
3
+ import { ArbitrumManager } from "./arbitrumGasPriceManager.js";
4
+ import { MantleManager } from "./mantleGasPriceManager.js";
4
5
  export declare class GasPriceManager {
5
- private chain;
6
- private publicClient;
7
- private legacyTransactions;
6
+ private readonly config;
7
+ private baseFeePerGasQueue;
8
+ private maxFeePerGasQueue;
9
+ private maxPriorityFeePerGasQueue;
8
10
  private logger;
9
- private queueBaseFeePerGas;
10
- private queueMaxFeePerGas;
11
- private queueMaxPriorityFeePerGas;
12
- private maxQueueSize;
13
- private gasBumpMultiplier;
14
- private gasPriceRefreshIntervalInSeconds;
15
- private chainType;
16
- constructor(chain: Chain, publicClient: PublicClient, legacyTransactions: boolean, logger: Logger, gasBumpMultiplier: bigint, gasPriceTimeValidityInSeconds: number, gasPriceRefreshIntervalInSeconds: number, chainType: ChainType);
11
+ arbitrumManager: ArbitrumManager;
12
+ mantleManager: MantleManager;
13
+ constructor(config: AltoConfig);
17
14
  init(): Promise<[{
18
15
  maxFeePerGas: bigint;
19
16
  maxPriorityFeePerGas: bigint;
@@ -22,24 +19,14 @@ export declare class GasPriceManager {
22
19
  private getPolygonGasPriceParameters;
23
20
  private bumpTheGasPrice;
24
21
  private getFallBackMaxPriorityFeePerGas;
25
- private getNextBaseFee;
26
22
  private getLegacyTransactionGasPrice;
27
23
  private estimateGasPrice;
28
- private saveBaseFeePerGas;
29
- private saveMaxFeePerGas;
30
- private saveMaxPriorityFeePerGas;
31
- private saveGasPrice;
32
24
  private innerGetGasPrice;
33
25
  private updateBaseFee;
34
- getBaseFee(): bigint | Promise<bigint>;
26
+ getBaseFee(): Promise<bigint>;
35
27
  private updateGasPrice;
36
- getGasPrice(): Promise<{
37
- maxFeePerGas: bigint;
38
- maxPriorityFeePerGas: bigint;
39
- }> | {
40
- maxFeePerGas: bigint;
41
- maxPriorityFeePerGas: bigint;
42
- };
28
+ getGasPrice(): Promise<GasPriceParameters>;
29
+ getNetworkGasPrice(): Promise<GasPriceParameters>;
43
30
  getMaxBaseFeePerGas(): Promise<bigint>;
44
31
  private getMinMaxFeePerGas;
45
32
  private getMinMaxPriorityFeePerGas;
@@ -29,6 +29,9 @@ const utils_1 = require("../utils/index.js");
29
29
  const sentry = __importStar(require("@sentry/node"));
30
30
  const viem_1 = require("viem");
31
31
  const chains_1 = require("viem/chains");
32
+ const timedQueue_1 = require("../utils/timedQueue.js");
33
+ const arbitrumGasPriceManager_1 = require("./arbitrumGasPriceManager.js");
34
+ const mantleGasPriceManager_1 = require("./mantleGasPriceManager.js");
32
35
  var ChainId;
33
36
  (function (ChainId) {
34
37
  ChainId[ChainId["Goerli"] = 5] = "Goerli";
@@ -48,40 +51,38 @@ function getGasStationUrl(chainId) {
48
51
  }
49
52
  }
50
53
  class GasPriceManager {
51
- chain;
52
- publicClient;
53
- legacyTransactions;
54
+ config;
55
+ baseFeePerGasQueue;
56
+ maxFeePerGasQueue;
57
+ maxPriorityFeePerGasQueue;
54
58
  logger;
55
- queueBaseFeePerGas = []; // Store pairs of [price, timestamp]
56
- queueMaxFeePerGas = []; // Store pairs of [price, timestamp]
57
- queueMaxPriorityFeePerGas = []; // Store pairs of [price, timestamp]
58
- maxQueueSize;
59
- gasBumpMultiplier;
60
- gasPriceRefreshIntervalInSeconds;
61
- chainType;
62
- constructor(chain, publicClient, legacyTransactions, logger, gasBumpMultiplier, gasPriceTimeValidityInSeconds, gasPriceRefreshIntervalInSeconds, chainType) {
63
- this.maxQueueSize = gasPriceTimeValidityInSeconds;
64
- this.chain = chain;
65
- this.publicClient = publicClient;
66
- this.legacyTransactions = legacyTransactions;
67
- this.logger = logger;
68
- this.gasBumpMultiplier = gasBumpMultiplier;
69
- this.gasPriceRefreshIntervalInSeconds = gasPriceRefreshIntervalInSeconds;
70
- this.chainType = chainType;
59
+ arbitrumManager;
60
+ mantleManager;
61
+ constructor(config) {
62
+ this.config = config;
63
+ this.logger = config.getLogger({ module: "gas_price_manager" }, {
64
+ level: config.publicClientLogLevel || config.logLevel
65
+ });
66
+ const queueValidity = this.config.gasPriceExpiry * 1_000;
67
+ this.baseFeePerGasQueue = new timedQueue_1.TimedQueue(queueValidity);
68
+ this.maxFeePerGasQueue = new timedQueue_1.TimedQueue(queueValidity);
69
+ this.maxPriorityFeePerGasQueue = new timedQueue_1.TimedQueue(queueValidity);
71
70
  // Periodically update gas prices if specified
72
- if (this.gasPriceRefreshIntervalInSeconds > 0) {
71
+ if (this.config.gasPriceRefreshInterval > 0) {
73
72
  setInterval(() => {
74
- if (this.legacyTransactions === false) {
73
+ if (this.config.legacyTransactions === false) {
75
74
  this.updateBaseFee();
76
75
  }
77
76
  this.updateGasPrice();
78
- }, this.gasPriceRefreshIntervalInSeconds * 1000);
77
+ }, this.config.gasPriceRefreshInterval * 1000);
79
78
  }
79
+ this.arbitrumManager = new arbitrumGasPriceManager_1.ArbitrumManager(queueValidity);
80
+ this.mantleManager = new mantleGasPriceManager_1.MantleManager(queueValidity);
80
81
  }
81
82
  init() {
82
83
  return Promise.all([
83
84
  this.updateGasPrice(),
84
- this.legacyTransactions === false
85
+ this.config.legacyTransactions === false
85
86
  ? this.updateBaseFee()
86
87
  : Promise.resolve()
87
88
  ]);
@@ -97,7 +98,7 @@ class GasPriceManager {
97
98
  }
98
99
  }
99
100
  async getPolygonGasPriceParameters() {
100
- const gasStationUrl = getGasStationUrl(this.chain.id);
101
+ const gasStationUrl = getGasStationUrl(this.config.publicClient.chain.id);
101
102
  try {
102
103
  const data = await (await fetch(gasStationUrl)).json();
103
104
  // take the standard speed here, SDK options will define the extra tip
@@ -110,21 +111,22 @@ class GasPriceManager {
110
111
  }
111
112
  }
112
113
  bumpTheGasPrice(gasPriceParameters) {
113
- const bumpAmount = this.gasBumpMultiplier;
114
- const maxPriorityFeePerGas = (0, utils_1.maxBigInt)(gasPriceParameters.maxPriorityFeePerGas, this.getDefaultGasFee(this.chain.id));
114
+ const bumpAmount = this.config.gasPriceBump;
115
+ const maxPriorityFeePerGas = (0, utils_1.maxBigInt)(gasPriceParameters.maxPriorityFeePerGas, this.getDefaultGasFee(this.config.publicClient.chain.id));
115
116
  const maxFeePerGas = (0, utils_1.maxBigInt)(gasPriceParameters.maxFeePerGas, maxPriorityFeePerGas);
116
117
  const result = {
117
118
  maxFeePerGas: (maxFeePerGas * bumpAmount) / 100n,
118
119
  maxPriorityFeePerGas: (maxPriorityFeePerGas * bumpAmount) / 100n
119
120
  };
120
- if (this.chain.id === chains_1.celo.id || this.chain.id === chains_1.celoAlfajores.id) {
121
+ if (this.config.publicClient.chain.id === chains_1.celo.id ||
122
+ this.config.publicClient.chain.id === chains_1.celoAlfajores.id) {
121
123
  const maxFee = (0, utils_1.maxBigInt)(result.maxFeePerGas, result.maxPriorityFeePerGas);
122
124
  return {
123
125
  maxFeePerGas: maxFee,
124
126
  maxPriorityFeePerGas: maxFee
125
127
  };
126
128
  }
127
- if (this.chain.id === chains_1.dfk.id) {
129
+ if (this.config.publicClient.chain.id === chains_1.dfk.id) {
128
130
  const maxFeePerGas = (0, utils_1.maxBigInt)(5000000000n, result.maxFeePerGas);
129
131
  const maxPriorityFeePerGas = (0, utils_1.maxBigInt)(5000000000n, result.maxPriorityFeePerGas);
130
132
  return {
@@ -133,7 +135,7 @@ class GasPriceManager {
133
135
  };
134
136
  }
135
137
  // set a minimum maxPriorityFee & maxFee to 1.5gwei on avalanche (because eth_maxPriorityFeePerGas returns 0)
136
- if (this.chain.id === chains_1.avalanche.id) {
138
+ if (this.config.publicClient.chain.id === chains_1.avalanche.id) {
137
139
  const maxFeePerGas = (0, utils_1.maxBigInt)((0, viem_1.parseGwei)("1.5"), result.maxFeePerGas);
138
140
  const maxPriorityFeePerGas = (0, utils_1.maxBigInt)((0, viem_1.parseGwei)("1.5"), result.maxPriorityFeePerGas);
139
141
  return {
@@ -155,30 +157,11 @@ class GasPriceManager {
155
157
  const feeAverage = feeHistory.reward.reduce((acc, cur) => cur[0] + acc, 0n) / 10n;
156
158
  return (0, utils_1.minBigInt)(feeAverage, gasPrice);
157
159
  }
158
- async getNextBaseFee(publicClient) {
159
- const block = await publicClient.getBlock({
160
- blockTag: "latest"
161
- });
162
- const currentBaseFeePerGas = block.baseFeePerGas || (await publicClient.getGasPrice());
163
- const currentGasUsed = block.gasUsed;
164
- const gasTarget = block.gasLimit / 2n;
165
- if (currentGasUsed === gasTarget) {
166
- return currentBaseFeePerGas;
167
- }
168
- if (currentGasUsed > gasTarget) {
169
- const gasUsedDelta = currentGasUsed - gasTarget;
170
- const baseFeePerGasDelta = (0, utils_1.maxBigInt)((currentBaseFeePerGas * gasUsedDelta) / gasTarget / 8n, 1n);
171
- return currentBaseFeePerGas + baseFeePerGasDelta;
172
- }
173
- const gasUsedDelta = currentGasUsed - gasTarget;
174
- const baseFeePerGasDelta = (currentBaseFeePerGas * gasUsedDelta) / gasTarget / 8n;
175
- return currentBaseFeePerGas - baseFeePerGasDelta;
176
- }
177
160
  async getLegacyTransactionGasPrice() {
178
161
  let gasPrice;
179
162
  try {
180
- const gasInfo = await this.publicClient.estimateFeesPerGas({
181
- chain: this.chain,
163
+ const gasInfo = await this.config.publicClient.estimateFeesPerGas({
164
+ chain: this.config.publicClient.chain,
182
165
  type: "legacy"
183
166
  });
184
167
  gasPrice = gasInfo.gasPrice;
@@ -191,7 +174,7 @@ class GasPriceManager {
191
174
  if (gasPrice === undefined) {
192
175
  this.logger.warn("gasPrice is undefined, using fallback value");
193
176
  try {
194
- gasPrice = await this.publicClient.getGasPrice();
177
+ gasPrice = await this.config.publicClient.getGasPrice();
195
178
  }
196
179
  catch (e) {
197
180
  this.logger.error("failed to get fallback gasPrice");
@@ -208,8 +191,8 @@ class GasPriceManager {
208
191
  let maxFeePerGas;
209
192
  let maxPriorityFeePerGas;
210
193
  try {
211
- const fees = await this.publicClient.estimateFeesPerGas({
212
- chain: this.chain
194
+ const fees = await this.config.publicClient.estimateFeesPerGas({
195
+ chain: this.config.publicClient.chain
213
196
  });
214
197
  maxFeePerGas = fees.maxFeePerGas;
215
198
  maxPriorityFeePerGas = fees.maxPriorityFeePerGas;
@@ -224,7 +207,7 @@ class GasPriceManager {
224
207
  this.logger.warn("maxPriorityFeePerGas is undefined, using fallback value");
225
208
  try {
226
209
  maxPriorityFeePerGas =
227
- await this.getFallBackMaxPriorityFeePerGas(this.publicClient, maxFeePerGas ?? 0n);
210
+ await this.getFallBackMaxPriorityFeePerGas(this.config.publicClient, maxFeePerGas ?? 0n);
228
211
  }
229
212
  catch (e) {
230
213
  this.logger.error("failed to get fallback maxPriorityFeePerGas");
@@ -236,7 +219,7 @@ class GasPriceManager {
236
219
  this.logger.warn("maxFeePerGas is undefined, using fallback value");
237
220
  try {
238
221
  maxFeePerGas =
239
- (await this.getNextBaseFee(this.publicClient)) +
222
+ (await this.config.publicClient.getGasPrice()) +
240
223
  maxPriorityFeePerGas;
241
224
  }
242
225
  catch (e) {
@@ -250,60 +233,11 @@ class GasPriceManager {
250
233
  }
251
234
  return { maxFeePerGas, maxPriorityFeePerGas };
252
235
  }
253
- saveBaseFeePerGas(gasPrice, timestamp) {
254
- const queue = this.queueBaseFeePerGas;
255
- const last = queue.length > 0 ? queue[queue.length - 1] : null;
256
- if (!last || timestamp - last.timestamp >= 1000) {
257
- if (queue.length >= this.maxQueueSize) {
258
- queue.shift();
259
- }
260
- queue.push({ baseFeePerGas: gasPrice, timestamp });
261
- }
262
- else if (gasPrice < last.baseFeePerGas) {
263
- last.baseFeePerGas = gasPrice;
264
- last.timestamp = timestamp;
265
- }
266
- }
267
- saveMaxFeePerGas(gasPrice, timestamp) {
268
- const queue = this.queueMaxFeePerGas;
269
- const last = queue.length > 0 ? queue[queue.length - 1] : null;
270
- if (!last || timestamp - last.timestamp >= 1000) {
271
- if (queue.length >= this.maxQueueSize) {
272
- queue.shift();
273
- }
274
- queue.push({ maxFeePerGas: gasPrice, timestamp });
275
- }
276
- else if (gasPrice < last.maxFeePerGas) {
277
- last.maxFeePerGas = gasPrice;
278
- last.timestamp = timestamp;
279
- }
280
- }
281
- saveMaxPriorityFeePerGas(gasPrice, timestamp) {
282
- const queue = this.queueMaxPriorityFeePerGas;
283
- const last = queue.length > 0 ? queue[queue.length - 1] : null;
284
- if (!last || timestamp - last.timestamp >= 1000) {
285
- if (queue.length >= this.maxQueueSize) {
286
- queue.shift();
287
- }
288
- queue.push({ maxPriorityFeePerGas: gasPrice, timestamp });
289
- }
290
- else if (gasPrice < last.maxPriorityFeePerGas) {
291
- last.maxPriorityFeePerGas = gasPrice;
292
- last.timestamp = timestamp;
293
- }
294
- }
295
- saveGasPrice(gasPrice, timestamp) {
296
- return new Promise((resolve) => {
297
- this.saveMaxFeePerGas(gasPrice.maxFeePerGas, timestamp);
298
- this.saveMaxPriorityFeePerGas(gasPrice.maxPriorityFeePerGas, timestamp);
299
- resolve();
300
- });
301
- }
302
236
  async innerGetGasPrice() {
303
237
  let maxFeePerGas = 0n;
304
238
  let maxPriorityFeePerGas = 0n;
305
- if (this.chain.id === chains_1.polygon.id ||
306
- this.chain.id === chains_1.polygonMumbai.id) {
239
+ if (this.config.publicClient.chain.id === chains_1.polygon.id ||
240
+ this.config.publicClient.chain.id === chains_1.polygonMumbai.id) {
307
241
  const polygonEstimate = await this.getPolygonGasPriceParameters();
308
242
  if (polygonEstimate) {
309
243
  const gasPrice = this.bumpTheGasPrice({
@@ -316,7 +250,7 @@ class GasPriceManager {
316
250
  };
317
251
  }
318
252
  }
319
- if (this.legacyTransactions) {
253
+ if (this.config.legacyTransactions) {
320
254
  const gasPrice = this.bumpTheGasPrice(await this.getLegacyTransactionGasPrice());
321
255
  return {
322
256
  maxFeePerGas: (0, utils_1.maxBigInt)(gasPrice.maxFeePerGas, maxFeePerGas),
@@ -336,65 +270,77 @@ class GasPriceManager {
336
270
  };
337
271
  }
338
272
  async updateBaseFee() {
339
- const latestBlock = await this.publicClient.getBlock();
273
+ const latestBlock = await this.config.publicClient.getBlock();
340
274
  if (latestBlock.baseFeePerGas === null) {
341
275
  throw new types_1.RpcError("block does not have baseFeePerGas");
342
276
  }
343
277
  const baseFee = latestBlock.baseFeePerGas;
344
- this.saveBaseFeePerGas(baseFee, Date.now());
278
+ this.baseFeePerGasQueue.saveValue(baseFee);
345
279
  return baseFee;
346
280
  }
347
- getBaseFee() {
348
- if (this.legacyTransactions) {
281
+ async getBaseFee() {
282
+ if (this.config.legacyTransactions) {
349
283
  throw new types_1.RpcError("baseFee is not available for legacy transactions");
350
284
  }
351
- if (this.gasPriceRefreshIntervalInSeconds === 0) {
352
- return this.updateBaseFee();
285
+ if (this.config.gasPriceRefreshInterval === 0) {
286
+ return await this.updateBaseFee();
287
+ }
288
+ let baseFee = this.baseFeePerGasQueue.getLatestValue();
289
+ if (!baseFee) {
290
+ baseFee = await this.getBaseFee();
353
291
  }
354
- const { baseFeePerGas } = this.queueBaseFeePerGas[this.queueBaseFeePerGas.length - 1];
355
- return baseFeePerGas;
292
+ return baseFee;
356
293
  }
357
294
  async updateGasPrice() {
358
295
  const gasPrice = await this.innerGetGasPrice();
359
- this.saveGasPrice({
360
- maxFeePerGas: gasPrice.maxFeePerGas,
361
- maxPriorityFeePerGas: gasPrice.maxPriorityFeePerGas
362
- }, Date.now());
296
+ this.maxFeePerGasQueue.saveValue(gasPrice.maxFeePerGas);
297
+ this.maxPriorityFeePerGasQueue.saveValue(gasPrice.maxPriorityFeePerGas);
363
298
  return gasPrice;
364
299
  }
365
- getGasPrice() {
366
- if (this.gasPriceRefreshIntervalInSeconds === 0) {
367
- return this.updateGasPrice();
300
+ async getGasPrice() {
301
+ if (this.config.gasPriceRefreshInterval === 0) {
302
+ return await this.updateGasPrice();
303
+ }
304
+ const maxFeePerGas = this.maxFeePerGasQueue.getLatestValue();
305
+ const maxPriorityFeePerGas = this.maxPriorityFeePerGasQueue.getLatestValue();
306
+ if (!maxFeePerGas || !maxPriorityFeePerGas) {
307
+ throw new types_1.RpcError("No gas price available");
368
308
  }
369
- const { maxPriorityFeePerGas } = this.queueMaxPriorityFeePerGas[this.queueMaxPriorityFeePerGas.length - 1];
370
- const { maxFeePerGas } = this.queueMaxFeePerGas[this.queueMaxFeePerGas.length - 1];
371
309
  return {
372
310
  maxFeePerGas,
373
311
  maxPriorityFeePerGas
374
312
  };
375
313
  }
314
+ async getNetworkGasPrice() {
315
+ return await this.innerGetGasPrice();
316
+ }
376
317
  async getMaxBaseFeePerGas() {
377
- if (this.queueBaseFeePerGas.length === 0) {
378
- await this.getBaseFee();
318
+ let maxBaseFeePerGas = this.baseFeePerGasQueue.getMaxValue();
319
+ if (!maxBaseFeePerGas) {
320
+ maxBaseFeePerGas = await this.getBaseFee();
379
321
  }
380
- return this.queueBaseFeePerGas.reduce((acc, cur) => (0, utils_1.maxBigInt)(cur.baseFeePerGas, acc), this.queueBaseFeePerGas[0].baseFeePerGas);
322
+ return maxBaseFeePerGas;
381
323
  }
382
324
  async getMinMaxFeePerGas() {
383
- if (this.queueMaxFeePerGas.length === 0) {
384
- await this.getGasPrice();
325
+ let minMaxFeePerGas = this.maxFeePerGasQueue.getMinValue();
326
+ if (!minMaxFeePerGas) {
327
+ const gasPrice = await this.getGasPrice();
328
+ minMaxFeePerGas = gasPrice.maxFeePerGas;
385
329
  }
386
- return this.queueMaxFeePerGas.reduce((acc, cur) => (0, utils_1.minBigInt)(cur.maxFeePerGas, acc), this.queueMaxFeePerGas[0].maxFeePerGas);
330
+ return minMaxFeePerGas;
387
331
  }
388
332
  async getMinMaxPriorityFeePerGas() {
389
- if (this.queueMaxPriorityFeePerGas.length === 0) {
390
- await this.getGasPrice();
333
+ let minMaxPriorityFeePerGas = this.maxPriorityFeePerGasQueue.getMinValue();
334
+ if (!minMaxPriorityFeePerGas) {
335
+ const gasPrices = await this.getGasPrice();
336
+ minMaxPriorityFeePerGas = gasPrices.maxPriorityFeePerGas;
391
337
  }
392
- return this.queueMaxPriorityFeePerGas.reduce((acc, cur) => (0, utils_1.minBigInt)(cur.maxPriorityFeePerGas, acc), this.queueMaxPriorityFeePerGas[0].maxPriorityFeePerGas);
338
+ return minMaxPriorityFeePerGas;
393
339
  }
394
340
  async validateGasPrice(gasPrice) {
395
341
  let lowestMaxFeePerGas = await this.getMinMaxFeePerGas();
396
342
  let lowestMaxPriorityFeePerGas = await this.getMinMaxPriorityFeePerGas();
397
- if (this.chainType === "hedera") {
343
+ if (this.config.chainType === "hedera") {
398
344
  lowestMaxFeePerGas /= 10n ** 9n;
399
345
  lowestMaxPriorityFeePerGas /= 10n ** 9n;
400
346
  }