@paraswap/dex-lib 3.8.28-fm.3 → 3.8.28

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 (334) hide show
  1. package/.vscode/launch.json +53 -0
  2. package/.vscode/settings.json +2 -0
  3. package/.vscode/tasks.json +15 -0
  4. package/build/abi/AaveV1_lending_pool.json +27 -0
  5. package/build/abi/BProtocol.json +1155 -0
  6. package/build/abi/Jarvis.json +1172 -0
  7. package/build/abi/MStableAsset.json +1545 -0
  8. package/build/abi/OneInchLp.json +1304 -0
  9. package/build/abi/Onebit.json +736 -0
  10. package/build/abi/Shell.json +1294 -0
  11. package/build/abi/TraderJoeV2Router.json +50 -0
  12. package/build/abi/platypus/asset.json +490 -0
  13. package/build/abi/platypus/avax-pool.json +820 -0
  14. package/build/abi/platypus/oracle.json +119 -0
  15. package/build/abi/platypus/pool.json +677 -0
  16. package/build/abi/smardex/all/smardex-router.json +648 -0
  17. package/build/abi/smardex/layer-1/smardex-factory.json +242 -0
  18. package/build/abi/smardex/layer-1/smardex-pool.json +506 -0
  19. package/build/abi/smardex/layer-2/smardex-factory.json +185 -0
  20. package/build/abi/smardex/layer-2/smardex-pool.json +578 -0
  21. package/build/abi/swaap-v1/pool.json +1346 -0
  22. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  23. package/build/abi/wombat/pool.json +1289 -0
  24. package/build/abi/zrx.v2.json +1967 -0
  25. package/build/abi/zrx.v3.json +3454 -0
  26. package/build/abi/zrx.v4.json +2193 -0
  27. package/build/config.js +18 -18
  28. package/build/dex/OneInchLp.d.ts +24 -0
  29. package/build/dex/OneInchLp.js +43 -0
  30. package/build/dex/OneInchLp.js.map +1 -0
  31. package/build/dex/aave-v1/aave-v1.d.ts +34 -0
  32. package/build/dex/aave-v1/aave-v1.js +181 -0
  33. package/build/dex/aave-v1/aave-v1.js.map +1 -0
  34. package/build/dex/aave-v1/config.d.ts +11 -0
  35. package/build/dex/aave-v1/config.js +20 -0
  36. package/build/dex/aave-v1/config.js.map +1 -0
  37. package/build/dex/aave-v1/tokens-mainnet.json +134 -0
  38. package/build/dex/aave-v1/tokens.d.ts +3 -0
  39. package/build/dex/aave-v1/tokens.js +50 -0
  40. package/build/dex/aave-v1/tokens.js.map +1 -0
  41. package/build/dex/aave-v1/types.d.ts +12 -0
  42. package/build/dex/aave-v1/types.js +3 -0
  43. package/build/dex/aave-v1/types.js.map +1 -0
  44. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  45. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  46. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  47. package/build/dex/bProtocol/bProtocol.d.ts +15 -0
  48. package/build/dex/bProtocol/bProtocol.js +56 -0
  49. package/build/dex/bProtocol/bProtocol.js.map +1 -0
  50. package/build/dex/bProtocol/types.d.ts +11 -0
  51. package/build/dex/bProtocol/types.js +8 -0
  52. package/build/dex/bProtocol/types.js.map +1 -0
  53. package/build/dex/bProtocol.d.ts +18 -0
  54. package/build/dex/bProtocol.js +39 -0
  55. package/build/dex/bProtocol.js.map +1 -0
  56. package/build/dex/balancer-v1/balancer-v1.d.ts +2 -2
  57. package/build/dex/balancer-v1/balancer-v1.js +2 -2
  58. package/build/dex/balancer-v1/balancer-v1.js.map +1 -1
  59. package/build/dex/balancer-v2/balancer-v2.d.ts +2 -2
  60. package/build/dex/balancer-v2/balancer-v2.js +2 -2
  61. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  62. package/build/dex/bancor.d.ts +26 -0
  63. package/build/dex/bancor.js +58 -0
  64. package/build/dex/bancor.js.map +1 -0
  65. package/build/dex/camelot/camelot.d.ts +2 -2
  66. package/build/dex/camelot/camelot.js +4 -4
  67. package/build/dex/camelot/camelot.js.map +1 -1
  68. package/build/dex/compound.d.ts +18 -0
  69. package/build/dex/compound.js +46 -0
  70. package/build/dex/compound.js.map +1 -0
  71. package/build/dex/curve-v1/curve-v1.d.ts +1 -1
  72. package/build/dex/curve-v1/curve-v1.js +2 -2
  73. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  74. package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +1 -1
  75. package/build/dex/curve-v1-factory/curve-v1-factory.js +5 -4
  76. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  77. package/build/dex/curve-v2.d.ts +58 -0
  78. package/build/dex/curve-v2.js +180 -0
  79. package/build/dex/curve-v2.js.map +1 -0
  80. package/build/dex/dexalot/dexalot.js +4 -0
  81. package/build/dex/dexalot/dexalot.js.map +1 -1
  82. package/build/dex/dodo-v1.d.ts +33 -0
  83. package/build/dex/dodo-v1.js +63 -0
  84. package/build/dex/dodo-v1.js.map +1 -0
  85. package/build/dex/gmx/gmx.d.ts +2 -2
  86. package/build/dex/gmx/gmx.js +2 -2
  87. package/build/dex/gmx/gmx.js.map +1 -1
  88. package/build/dex/gmx/pool.d.ts +2 -2
  89. package/build/dex/gmx/pool.js +3 -7
  90. package/build/dex/gmx/pool.js.map +1 -1
  91. package/build/dex/hashflow/hashflow.js +4 -0
  92. package/build/dex/hashflow/hashflow.js.map +1 -1
  93. package/build/dex/idex.d.ts +1 -1
  94. package/build/dex/infusion/infusion.d.ts +2 -2
  95. package/build/dex/infusion/infusion.js +4 -4
  96. package/build/dex/infusion/infusion.js.map +1 -1
  97. package/build/dex/jarvis.d.ts +56 -0
  98. package/build/dex/jarvis.js +163 -0
  99. package/build/dex/jarvis.js.map +1 -0
  100. package/build/dex/lido.d.ts +19 -0
  101. package/build/dex/lido.js +42 -0
  102. package/build/dex/lido.js.map +1 -0
  103. package/build/dex/lite-psm/lite-psm.d.ts +3 -3
  104. package/build/dex/lite-psm/lite-psm.js +3 -7
  105. package/build/dex/lite-psm/lite-psm.js.map +1 -1
  106. package/build/dex/mStable.d.ts +44 -0
  107. package/build/dex/mStable.js +75 -0
  108. package/build/dex/mStable.js.map +1 -0
  109. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  110. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  111. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  112. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  113. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  114. package/build/dex/maverick-v1/maverick-v1.d.ts +2 -2
  115. package/build/dex/maverick-v1/maverick-v1.js +1 -3
  116. package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
  117. package/build/dex/maverick-v2/maverick-v2-pool.d.ts +1 -1
  118. package/build/dex/maverick-v2/maverick-v2-pool.js +1 -3
  119. package/build/dex/maverick-v2/maverick-v2-pool.js.map +1 -1
  120. package/build/dex/maverick-v2/maverick-v2.d.ts +2 -2
  121. package/build/dex/maverick-v2/maverick-v2.js +2 -2
  122. package/build/dex/maverick-v2/maverick-v2.js.map +1 -1
  123. package/build/dex/nerve/nerve.d.ts +3 -3
  124. package/build/dex/nerve/nerve.js +5 -9
  125. package/build/dex/nerve/nerve.js.map +1 -1
  126. package/build/dex/onebit/onebit.d.ts +16 -0
  127. package/build/dex/onebit/onebit.js +61 -0
  128. package/build/dex/onebit/onebit.js.map +1 -0
  129. package/build/dex/onebit/types.d.ts +14 -0
  130. package/build/dex/onebit/types.js +8 -0
  131. package/build/dex/onebit/types.js.map +1 -0
  132. package/build/dex/onebit.d.ts +25 -0
  133. package/build/dex/onebit.js +42 -0
  134. package/build/dex/onebit.js.map +1 -0
  135. package/build/dex/oswap/oswap-pool.d.ts +1 -1
  136. package/build/dex/oswap/oswap-pool.js +1 -3
  137. package/build/dex/oswap/oswap-pool.js.map +1 -1
  138. package/build/dex/oswap/oswap.d.ts +1 -1
  139. package/build/dex/oswap/oswap.js +2 -6
  140. package/build/dex/oswap/oswap.js.map +1 -1
  141. package/build/dex/pancakeswap-v3/pancakeswap-v3.d.ts +2 -2
  142. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +2 -4
  143. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  144. package/build/dex/platypus/asset.d.ts +14 -0
  145. package/build/dex/platypus/asset.js +97 -0
  146. package/build/dex/platypus/asset.js.map +1 -0
  147. package/build/dex/platypus/config.d.ts +11 -0
  148. package/build/dex/platypus/config.js +69 -0
  149. package/build/dex/platypus/config.js.map +1 -0
  150. package/build/dex/platypus/platypus.d.ts +63 -0
  151. package/build/dex/platypus/platypus.js +487 -0
  152. package/build/dex/platypus/platypus.js.map +1 -0
  153. package/build/dex/platypus/pool-avax.d.ts +8 -0
  154. package/build/dex/platypus/pool-avax.js +54 -0
  155. package/build/dex/platypus/pool-avax.js.map +1 -0
  156. package/build/dex/platypus/pool-base.d.ts +19 -0
  157. package/build/dex/platypus/pool-base.js +86 -0
  158. package/build/dex/platypus/pool-base.js.map +1 -0
  159. package/build/dex/platypus/pool-pure.d.ts +8 -0
  160. package/build/dex/platypus/pool-pure.js +37 -0
  161. package/build/dex/platypus/pool-pure.js.map +1 -0
  162. package/build/dex/platypus/pool-subscriber.d.ts +14 -0
  163. package/build/dex/platypus/pool-subscriber.js +167 -0
  164. package/build/dex/platypus/pool-subscriber.js.map +1 -0
  165. package/build/dex/platypus/pool.d.ts +8 -0
  166. package/build/dex/platypus/pool.js +58 -0
  167. package/build/dex/platypus/pool.js.map +1 -0
  168. package/build/dex/platypus/types.d.ts +92 -0
  169. package/build/dex/platypus/types.js +10 -0
  170. package/build/dex/platypus/types.js.map +1 -0
  171. package/build/dex/quickswap/spiritswap-v3.d.ts +6 -0
  172. package/build/dex/quickswap/spiritswap-v3.js +19 -0
  173. package/build/dex/quickswap/spiritswap-v3.js.map +1 -0
  174. package/build/dex/shell.d.ts +25 -0
  175. package/build/dex/shell.js +41 -0
  176. package/build/dex/shell.js.map +1 -0
  177. package/build/dex/smardex/config.d.ts +4 -0
  178. package/build/dex/smardex/config.js +64 -0
  179. package/build/dex/smardex/config.js.map +1 -0
  180. package/build/dex/smardex/constants.d.ts +18 -0
  181. package/build/dex/smardex/constants.js +33 -0
  182. package/build/dex/smardex/constants.js.map +1 -0
  183. package/build/dex/smardex/sdk/constants.d.ts +6 -0
  184. package/build/dex/smardex/sdk/constants.js +13 -0
  185. package/build/dex/smardex/sdk/constants.js.map +1 -0
  186. package/build/dex/smardex/sdk/core.d.ts +113 -0
  187. package/build/dex/smardex/sdk/core.js +499 -0
  188. package/build/dex/smardex/sdk/core.js.map +1 -0
  189. package/build/dex/smardex/sdk/errors.d.ts +15 -0
  190. package/build/dex/smardex/sdk/errors.js +22 -0
  191. package/build/dex/smardex/sdk/errors.js.map +1 -0
  192. package/build/dex/smardex/sdk/types.d.ts +62 -0
  193. package/build/dex/smardex/sdk/types.js +3 -0
  194. package/build/dex/smardex/sdk/types.js.map +1 -0
  195. package/build/dex/smardex/sdk/utils.d.ts +44 -0
  196. package/build/dex/smardex/sdk/utils.js +133 -0
  197. package/build/dex/smardex/sdk/utils.js.map +1 -0
  198. package/build/dex/smardex/smardex-event-pool.d.ts +28 -0
  199. package/build/dex/smardex/smardex-event-pool.js +119 -0
  200. package/build/dex/smardex/smardex-event-pool.js.map +1 -0
  201. package/build/dex/smardex/smardex.d.ts +65 -0
  202. package/build/dex/smardex/smardex.js +519 -0
  203. package/build/dex/smardex/smardex.js.map +1 -0
  204. package/build/dex/smardex/types.d.ts +55 -0
  205. package/build/dex/smardex/types.js +3 -0
  206. package/build/dex/smardex/types.js.map +1 -0
  207. package/build/dex/smoothy.d.ts +26 -0
  208. package/build/dex/smoothy.js +48 -0
  209. package/build/dex/smoothy.js.map +1 -0
  210. package/build/dex/solidly/forks-override/cone.d.ts +22 -0
  211. package/build/dex/solidly/forks-override/cone.js +53 -0
  212. package/build/dex/solidly/forks-override/cone.js.map +1 -0
  213. package/build/dex/solidly/forks-override/solisnek.d.ts +8 -0
  214. package/build/dex/solidly/forks-override/solisnek.js +15 -0
  215. package/build/dex/solidly/forks-override/solisnek.js.map +1 -0
  216. package/build/dex/solidly/solidly.d.ts +2 -2
  217. package/build/dex/solidly/solidly.js +4 -4
  218. package/build/dex/solidly/solidly.js.map +1 -1
  219. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  220. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  221. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  222. package/build/dex/stable-pool.d.ts +28 -0
  223. package/build/dex/stable-pool.js +55 -0
  224. package/build/dex/stable-pool.js.map +1 -0
  225. package/build/dex/swaap-v1/config.d.ts +17 -0
  226. package/build/dex/swaap-v1/config.js +56 -0
  227. package/build/dex/swaap-v1/config.js.map +1 -0
  228. package/build/dex/swaap-v1/constants.d.ts +6 -0
  229. package/build/dex/swaap-v1/constants.js +17 -0
  230. package/build/dex/swaap-v1/constants.js.map +1 -0
  231. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +25 -0
  232. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +62 -0
  233. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +1 -0
  234. package/build/dex/swaap-v1/libraries/Const.d.ts +18 -0
  235. package/build/dex/swaap-v1/libraries/Const.js +26 -0
  236. package/build/dex/swaap-v1/libraries/Const.js.map +1 -0
  237. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +77 -0
  238. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +316 -0
  239. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +1 -0
  240. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +75 -0
  241. package/build/dex/swaap-v1/libraries/LogExpMath.js +418 -0
  242. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +1 -0
  243. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +185 -0
  244. package/build/dex/swaap-v1/libraries/MathMMM.js +453 -0
  245. package/build/dex/swaap-v1/libraries/MathMMM.js.map +1 -0
  246. package/build/dex/swaap-v1/libraries/Num.d.ts +31 -0
  247. package/build/dex/swaap-v1/libraries/Num.js +167 -0
  248. package/build/dex/swaap-v1/libraries/Num.js.map +1 -0
  249. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +23 -0
  250. package/build/dex/swaap-v1/libraries/PoolQuotations.js +131 -0
  251. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +1 -0
  252. package/build/dex/swaap-v1/libraries/Struct.d.ts +56 -0
  253. package/build/dex/swaap-v1/libraries/Struct.js +3 -0
  254. package/build/dex/swaap-v1/libraries/Struct.js.map +1 -0
  255. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +45 -0
  256. package/build/dex/swaap-v1/swaap-v1-pool.js +656 -0
  257. package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -0
  258. package/build/dex/swaap-v1/swaap-v1.d.ts +62 -0
  259. package/build/dex/swaap-v1/swaap-v1.js +383 -0
  260. package/build/dex/swaap-v1/swaap-v1.js.map +1 -0
  261. package/build/dex/swaap-v1/types.d.ts +106 -0
  262. package/build/dex/swaap-v1/types.js +9 -0
  263. package/build/dex/swaap-v1/types.js.map +1 -0
  264. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.d.ts +7 -0
  265. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js +20 -0
  266. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js.map +1 -0
  267. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  268. package/build/dex/trader-joe-v2.1.js +79 -0
  269. package/build/dex/trader-joe-v2.1.js.map +1 -0
  270. package/build/dex/trader-joe-v2.d.ts +40 -0
  271. package/build/dex/trader-joe-v2.js +74 -0
  272. package/build/dex/trader-joe-v2.js.map +1 -0
  273. package/build/dex/uniswap-v2/uniswap-v2.d.ts +2 -2
  274. package/build/dex/uniswap-v2/uniswap-v2.js +4 -4
  275. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  276. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  277. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  278. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  279. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  280. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  281. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  282. package/build/dex/uniswap-v3/uniswap-v3.d.ts +2 -2
  283. package/build/dex/uniswap-v3/uniswap-v3.js +2 -4
  284. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  285. package/build/dex/zerox/config.d.ts +2 -0
  286. package/build/dex/zerox/config.js +33 -0
  287. package/build/dex/zerox/config.js.map +1 -0
  288. package/build/dex/zerox/index.d.ts +22 -0
  289. package/build/dex/zerox/index.js +225 -0
  290. package/build/dex/zerox/index.js.map +1 -0
  291. package/build/dex/zerox/order.d.ts +88 -0
  292. package/build/dex/zerox/order.js +53 -0
  293. package/build/dex/zerox/order.js.map +1 -0
  294. package/build/dex/zerox/types.d.ts +73 -0
  295. package/build/dex/zerox/types.js +21 -0
  296. package/build/dex/zerox/types.js.map +1 -0
  297. package/build/executor/types.d.ts +3 -1
  298. package/build/executor/types.js +2 -0
  299. package/build/executor/types.js.map +1 -1
  300. package/build/pricing-helper.d.ts +2 -2
  301. package/build/pricing-helper.js +5 -9
  302. package/build/pricing-helper.js.map +1 -1
  303. package/package.json +1 -1
  304. package/src/config.ts +18 -18
  305. package/src/dex/balancer-v1/balancer-v1.ts +1 -5
  306. package/src/dex/balancer-v2/balancer-v2.ts +1 -5
  307. package/src/dex/camelot/camelot.ts +3 -9
  308. package/src/dex/curve-v1/curve-v1.ts +1 -3
  309. package/src/dex/curve-v1-factory/curve-v1-factory.ts +4 -5
  310. package/src/dex/dexalot/dexalot.ts +4 -0
  311. package/src/dex/gmx/gmx.ts +0 -5
  312. package/src/dex/gmx/pool.ts +2 -8
  313. package/src/dex/hashflow/hashflow.ts +4 -0
  314. package/src/dex/idex.ts +0 -1
  315. package/src/dex/infusion/infusion.ts +3 -9
  316. package/src/dex/lite-psm/lite-psm.ts +2 -10
  317. package/src/dex/maverick-v1/maverick-v1.ts +0 -6
  318. package/src/dex/maverick-v2/maverick-v2-pool.ts +0 -3
  319. package/src/dex/maverick-v2/maverick-v2.ts +1 -5
  320. package/src/dex/nerve/nerve.ts +16 -28
  321. package/src/dex/oswap/oswap-pool.ts +1 -3
  322. package/src/dex/oswap/oswap.ts +2 -8
  323. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +7 -13
  324. package/src/dex/solidly/solidly.ts +3 -9
  325. package/src/dex/uniswap-v2/uniswap-v2.ts +3 -9
  326. package/src/dex/uniswap-v3/uniswap-v3.ts +8 -14
  327. package/src/executor/types.ts +2 -0
  328. package/src/pricing-helper.ts +4 -27
  329. package/build/dex-utils.d.ts +0 -3
  330. package/build/dex-utils.js +0 -10
  331. package/build/dex-utils.js.map +0 -1
  332. package/build/stateful-dual-synchronizer.d.ts +0 -46
  333. package/build/stateful-dual-synchronizer.js +0 -300
  334. package/build/stateful-dual-synchronizer.js.map +0 -1
@@ -151,11 +151,7 @@ export class Infusion extends UniswapV2 {
151
151
  return pair;
152
152
  }
153
153
 
154
- async batchCatchUpPairs(
155
- pairs: [Token, Token][],
156
- blockNumber: number,
157
- fmode?: boolean,
158
- ) {
154
+ async batchCatchUpPairs(pairs: [Token, Token][], blockNumber: number) {
159
155
  if (!blockNumber) return;
160
156
  const pairsToFetch: InfusionPair[] = [];
161
157
  for (const _pair of pairs) {
@@ -167,7 +163,7 @@ export class Infusion extends UniswapV2 {
167
163
  if (!(pair && pair.exchange)) continue;
168
164
  if (!pair.pool) {
169
165
  pairsToFetch.push(pair);
170
- } else if (!fmode && !pair.pool.getState(blockNumber)) {
166
+ } else if (!pair.pool.getState(blockNumber)) {
171
167
  pairsToFetch.push(pair);
172
168
  }
173
169
  }
@@ -281,8 +277,6 @@ export class Infusion extends UniswapV2 {
281
277
  srcDexFee: 0,
282
278
  destDexFee: 0,
283
279
  },
284
- isFirstSwap?: boolean,
285
- fmode?: boolean,
286
280
  ): Promise<ExchangePrices<InfusionData> | null> {
287
281
  try {
288
282
  if (side === SwapSide.BUY) return null; // Buy side not implemented yet
@@ -300,7 +294,7 @@ export class Infusion extends UniswapV2 {
300
294
  .sort((a, b) => (a > b ? 1 : -1))
301
295
  .join('_');
302
296
 
303
- await this.batchCatchUpPairs([[from, to]], blockNumber, fmode);
297
+ await this.batchCatchUpPairs([[from, to]], blockNumber);
304
298
 
305
299
  const resultPromises = [false, true].map(async stable => {
306
300
  // We don't support fee on transfer for stable pools yet
@@ -13,7 +13,6 @@ import {
13
13
  DexExchangeParam,
14
14
  ExchangeTxInfo,
15
15
  PreprocessTransactionOptions,
16
- TransferFeeParams,
17
16
  } from '../../types';
18
17
  import { SwapSide, Network, NULL_ADDRESS } from '../../constants';
19
18
  import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
@@ -145,11 +144,9 @@ export class LitePsm
145
144
  async getPoolState(
146
145
  pool: LitePsmEventPool,
147
146
  blockNumber: number,
148
- fmode?: boolean,
149
- ): Promise<PoolState | null> {
147
+ ): Promise<PoolState> {
150
148
  const eventState = pool.getState(blockNumber);
151
149
  if (eventState) return eventState;
152
- if (fmode) return null;
153
150
  const onChainState = await pool.generateState(blockNumber);
154
151
  pool.setState(onChainState, blockNumber);
155
152
  return onChainState;
@@ -204,9 +201,6 @@ export class LitePsm
204
201
  side: SwapSide,
205
202
  blockNumber: number,
206
203
  limitPools?: string[],
207
- transferFees?: TransferFeeParams,
208
- isFirstSwap?: boolean,
209
- fmode?: boolean,
210
204
  ): Promise<null | ExchangePrices<LitePsmData>> {
211
205
  const eventPool = this.getEventPool(srcToken, destToken);
212
206
  if (!eventPool) return null;
@@ -214,9 +208,7 @@ export class LitePsm
214
208
  const poolIdentifier = eventPool.getIdentifier();
215
209
  if (limitPools && !limitPools.includes(poolIdentifier)) return null;
216
210
 
217
- const poolState = await this.getPoolState(eventPool, blockNumber, fmode);
218
-
219
- if (!poolState) return null;
211
+ const poolState = await this.getPoolState(eventPool, blockNumber);
220
212
 
221
213
  const unitVolume = getBigIntPow(
222
214
  (side === SwapSide.SELL ? srcToken : destToken).decimals,
@@ -10,7 +10,6 @@ import {
10
10
  PoolLiquidity,
11
11
  Logger,
12
12
  DexExchangeParam,
13
- TransferFeeParams,
14
13
  } from '../../types';
15
14
  import { SwapSide, Network } from '../../constants';
16
15
  import { getDexKeysWithNetwork, getBigIntPow, isTruthy } from '../../utils';
@@ -210,9 +209,6 @@ export class MaverickV1
210
209
  side: SwapSide,
211
210
  blockNumber: number,
212
211
  limitPools?: string[],
213
- transferFees?: TransferFeeParams,
214
- isFirstSwap?: boolean,
215
- fmode?: boolean,
216
212
  ): Promise<null | ExchangePrices<MaverickV1Data>> {
217
213
  try {
218
214
  const from = this.dexHelper.config.wrapETH(srcToken);
@@ -240,8 +236,6 @@ export class MaverickV1
240
236
  allowedPools.map(async (pool: MaverickV1EventPool) => {
241
237
  try {
242
238
  let state = pool.getState(blockNumber);
243
- if (fmode && !state) return null;
244
-
245
239
  if (state === null) {
246
240
  state = await pool.generateState(blockNumber);
247
241
  pool.setState(state, blockNumber);
@@ -346,15 +346,12 @@ export class MaverickV2EventPool extends StatefulEventSubscriber<PoolState> {
346
346
 
347
347
  async getOrGenerateState(
348
348
  blockNumber: number,
349
- fmode?: boolean,
350
349
  ): Promise<DeepReadonly<PoolState> | null> {
351
350
  const state = this.getState(blockNumber);
352
351
  if (state) {
353
352
  return state;
354
353
  }
355
354
 
356
- if (fmode) return null;
357
-
358
355
  this.logger.error(
359
356
  `No state found for ${this.name} ${this.addressesSubscribed[0]}, generating new one`,
360
357
  );
@@ -9,7 +9,6 @@ import {
9
9
  Logger,
10
10
  NumberAsString,
11
11
  DexExchangeParam,
12
- TransferFeeParams,
13
12
  } from '../../types';
14
13
  import { SwapSide, Network, NULL_ADDRESS } from '../../constants';
15
14
  import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
@@ -144,9 +143,6 @@ export class MaverickV2 extends SimpleExchange implements IDex<MaverickV2Data> {
144
143
  side: SwapSide,
145
144
  blockNumber: number,
146
145
  limitPools?: string[],
147
- transferFees?: TransferFeeParams,
148
- isFirstSwap?: boolean,
149
- fmode?: boolean,
150
146
  ): Promise<null | ExchangePrices<MaverickV2Data>> {
151
147
  try {
152
148
  const from = this.dexHelper.config.wrapETH(srcToken);
@@ -170,7 +166,7 @@ export class MaverickV2 extends SimpleExchange implements IDex<MaverickV2Data> {
170
166
 
171
167
  const tasks = allowedPools.map(async (pool: MaverickV2EventPool) => {
172
168
  try {
173
- const state = await pool.getOrGenerateState(blockNumber, fmode);
169
+ const state = await pool.getOrGenerateState(blockNumber);
174
170
  if (!state) {
175
171
  this.logger.debug(`Received null state for pool ${pool.address}`);
176
172
  return null;
@@ -11,12 +11,11 @@ import {
11
11
  Logger,
12
12
  NumberAsString,
13
13
  DexExchangeParam,
14
- TransferFeeParams,
15
14
  } from '../../types';
16
15
  import nervePoolABIDefault from '../../abi/nerve/nerve-pool.json';
17
16
  import { SwapSide, Network } from '../../constants';
18
17
  import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
19
- import { getDexKeysWithNetwork, getBigIntPow, isTruthy } from '../../utils';
18
+ import { getDexKeysWithNetwork, getBigIntPow } from '../../utils';
20
19
  import { IDex } from '../../dex/idex';
21
20
  import { IDexHelper } from '../../dex-helper/idex-helper';
22
21
  import {
@@ -112,7 +111,6 @@ export class Nerve
112
111
  async getStates(
113
112
  pools?: NerveEventPool[],
114
113
  blockNumber?: number,
115
- fmode?: boolean,
116
114
  ): Promise<DeepReadonly<{ state: PoolState; pool: NerveEventPool }[]>> {
117
115
  const _pools = pools === undefined ? this.allPools : pools;
118
116
 
@@ -123,23 +121,20 @@ export class Nerve
123
121
 
124
122
  // TODO: Need to batch this RPC calls in one multicall
125
123
  return Promise.all(
126
- _pools
127
- .map(async eventPool => {
128
- let state = eventPool.getState(_blockNumber);
129
- if (!state || !state.isValid) {
130
- this.logger.info(
131
- `State for ${this.dexKey} pool ${eventPool.name} on ${this.network} is stale or invalid on block ${_blockNumber}. Generating new one`,
132
- );
133
- if (fmode) return null;
134
- const newState = await eventPool.generateState(_blockNumber);
135
- eventPool.setState(newState, _blockNumber);
136
- return { state: newState, pool: eventPool };
137
- } else {
138
- return { state, pool: eventPool };
139
- }
140
- })
141
- .filter(isTruthy),
142
- ) as Promise<{ state: PoolState; pool: NerveEventPool }[]>;
124
+ _pools.map(async eventPool => {
125
+ let state = eventPool.getState(_blockNumber);
126
+ if (!state || !state.isValid) {
127
+ this.logger.info(
128
+ `State for ${this.dexKey} pool ${eventPool.name} on ${this.network} is stale or invalid on block ${_blockNumber}. Generating new one`,
129
+ );
130
+ const newState = await eventPool.generateState(_blockNumber);
131
+ eventPool.setState(newState, _blockNumber);
132
+ return { state: newState, pool: eventPool };
133
+ } else {
134
+ return { state, pool: eventPool };
135
+ }
136
+ }),
137
+ );
143
138
  }
144
139
 
145
140
  async getPoolIdentifiers(
@@ -170,9 +165,6 @@ export class Nerve
170
165
  side: SwapSide,
171
166
  blockNumber: number,
172
167
  limitPools?: string[],
173
- transferFees?: TransferFeeParams,
174
- isFirstSwap?: boolean,
175
- fmode?: boolean,
176
168
  ): Promise<null | ExchangePrices<NerveData>> {
177
169
  try {
178
170
  if (side === SwapSide.BUY) return null;
@@ -207,11 +199,7 @@ export class Nerve
207
199
  )
208
200
  : filterPoolsByIdentifiers(limitPools, this.allPools);
209
201
 
210
- const statePoolPair = await this.getStates(
211
- selectedPools,
212
- blockNumber,
213
- fmode,
214
- );
202
+ const statePoolPair = await this.getStates(selectedPools, blockNumber);
215
203
 
216
204
  // here side === SwapSide.SELL
217
205
  const unitVolume = getBigIntPow(_srcToken.decimals);
@@ -126,11 +126,9 @@ export class OSwapEventPool extends StatefulEventSubscriber<OSwapPoolState> {
126
126
  async getStateOrGenerate(
127
127
  blockNumber: number,
128
128
  readonly: boolean = true,
129
- fmode?: boolean,
130
- ): Promise<OSwapPoolState | null> {
129
+ ): Promise<OSwapPoolState> {
131
130
  let state = this.getState(blockNumber);
132
131
  if (!state) {
133
- if (fmode) return null;
134
132
  state = await this.generateState(blockNumber);
135
133
  if (!readonly) this.setState(state, blockNumber);
136
134
  }
@@ -1,5 +1,5 @@
1
1
  import { Interface } from '@ethersproject/abi';
2
- import { assert, AsyncOrSync } from 'ts-essentials';
2
+ import { AsyncOrSync } from 'ts-essentials';
3
3
  import {
4
4
  Token,
5
5
  Address,
@@ -203,8 +203,6 @@ export class OSwap extends SimpleExchange implements IDex<OSwapData> {
203
203
  srcDexFee: 0,
204
204
  destDexFee: 0,
205
205
  },
206
- isFirstSwap?: boolean,
207
- fmode?: boolean,
208
206
  ): Promise<null | ExchangePrices<OSwapData>> {
209
207
  try {
210
208
  // Get the pool to use.
@@ -222,9 +220,7 @@ export class OSwap extends SimpleExchange implements IDex<OSwapData> {
222
220
  return null;
223
221
  }
224
222
 
225
- const state = await eventPool.getStateOrGenerate(blockNumber, fmode);
226
-
227
- if (!state) return null;
223
+ const state = await eventPool.getStateOrGenerate(blockNumber);
228
224
 
229
225
  // Calculate the prices
230
226
  const unitAmount = getBigIntPow(18);
@@ -383,8 +379,6 @@ export class OSwap extends SimpleExchange implements IDex<OSwapData> {
383
379
  await this.dexHelper.web3Provider.eth.getBlockNumber();
384
380
  const state = await eventPool.getStateOrGenerate(blockNumber);
385
381
 
386
- assert(state, 'OSwap pool state not found');
387
-
388
382
  const usd0 = await this.dexHelper.getTokenUSDPrice(
389
383
  { address: pool.token0, decimals: 18 },
390
384
  BigInt(state.balance0),
@@ -12,7 +12,6 @@ import {
12
12
  NumberAsString,
13
13
  PoolPrices,
14
14
  DexExchangeParam,
15
- TransferFeeParams,
16
15
  } from '../../types';
17
16
  import { SwapSide, Network, CACHE_PREFIX } from '../../constants';
18
17
  import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
@@ -547,9 +546,6 @@ export class PancakeswapV3
547
546
  side: SwapSide,
548
547
  blockNumber: number,
549
548
  limitPools?: string[],
550
- transferFees?: TransferFeeParams,
551
- isFirstSwap?: boolean,
552
- fmode?: boolean,
553
549
  ): Promise<null | ExchangePrices<UniswapV3Data>> {
554
550
  try {
555
551
  const _srcToken = this.dexHelper.config.wrapETH(srcToken);
@@ -636,15 +632,13 @@ export class PancakeswapV3
636
632
  },
637
633
  );
638
634
 
639
- const rpcResultsPromise = fmode
640
- ? null
641
- : this.getPricingFromRpc(
642
- _srcToken,
643
- _destToken,
644
- amounts,
645
- side,
646
- this.network === Network.ZKEVM ? [] : poolsToUse.poolWithoutState,
647
- );
635
+ const rpcResultsPromise = this.getPricingFromRpc(
636
+ _srcToken,
637
+ _destToken,
638
+ amounts,
639
+ side,
640
+ this.network === Network.ZKEVM ? [] : poolsToUse.poolWithoutState,
641
+ );
648
642
 
649
643
  const states = poolsToUse.poolWithState.map(
650
644
  p => p.getState(blockNumber)!,
@@ -171,11 +171,7 @@ export class Solidly extends UniswapV2 {
171
171
  return pair;
172
172
  }
173
173
 
174
- async batchCatchUpPairs(
175
- pairs: [Token, Token][],
176
- blockNumber: number,
177
- fmode?: boolean,
178
- ) {
174
+ async batchCatchUpPairs(pairs: [Token, Token][], blockNumber: number) {
179
175
  if (!blockNumber) return;
180
176
  const pairsToFetch: SolidlyPair[] = [];
181
177
  for (const _pair of pairs) {
@@ -184,7 +180,7 @@ export class Solidly extends UniswapV2 {
184
180
  if (!(pair && pair.exchange)) continue;
185
181
  if (!pair.pool) {
186
182
  pairsToFetch.push(pair);
187
- } else if (!fmode && !pair.pool.getState(blockNumber)) {
183
+ } else if (!pair.pool.getState(blockNumber)) {
188
184
  pairsToFetch.push(pair);
189
185
  }
190
186
  }
@@ -310,8 +306,6 @@ export class Solidly extends UniswapV2 {
310
306
  srcDexFee: 0,
311
307
  destDexFee: 0,
312
308
  },
313
- isFirstSwap?: boolean,
314
- fmode?: boolean,
315
309
  ): Promise<ExchangePrices<UniswapV2Data> | null> {
316
310
  try {
317
311
  if (side === SwapSide.BUY) return null; // Buy side not implemented yet
@@ -329,7 +323,7 @@ export class Solidly extends UniswapV2 {
329
323
  .sort((a, b) => (a > b ? 1 : -1))
330
324
  .join('_');
331
325
 
332
- await this.batchCatchUpPairs([[from, to]], blockNumber, fmode);
326
+ await this.batchCatchUpPairs([[from, to]], blockNumber);
333
327
 
334
328
  const resultPromises = [false, true].map(async stable => {
335
329
  // We don't support fee on transfer for stable pools yet
@@ -445,11 +445,7 @@ export class UniswapV2
445
445
  }
446
446
  }
447
447
 
448
- async batchCatchUpPairs(
449
- pairs: [Token, Token][],
450
- blockNumber: number,
451
- fmode?: boolean,
452
- ) {
448
+ async batchCatchUpPairs(pairs: [Token, Token][], blockNumber: number) {
453
449
  if (!blockNumber) return;
454
450
  const pairsToFetch: UniswapV2Pair[] = [];
455
451
  for (const _pair of pairs) {
@@ -457,7 +453,7 @@ export class UniswapV2
457
453
  if (!(pair && pair.exchange)) continue;
458
454
  if (!pair.pool) {
459
455
  pairsToFetch.push(pair);
460
- } else if (!fmode && !pair.pool.getState(blockNumber)) {
456
+ } else if (!pair.pool.getState(blockNumber)) {
461
457
  pairsToFetch.push(pair);
462
458
  }
463
459
  }
@@ -564,8 +560,6 @@ export class UniswapV2
564
560
  srcDexFee: 0,
565
561
  destDexFee: 0,
566
562
  },
567
- isFirstSwap?: boolean,
568
- fmode?: boolean,
569
563
  ): Promise<ExchangePrices<UniswapV2Data> | null> {
570
564
  try {
571
565
  const from = this.dexHelper.config.wrapETH(_from);
@@ -587,7 +581,7 @@ export class UniswapV2
587
581
  if (limitPools && limitPools.every(p => p !== poolIdentifier))
588
582
  return null;
589
583
 
590
- await this.batchCatchUpPairs([[from, to]], blockNumber, fmode);
584
+ await this.batchCatchUpPairs([[from, to]], blockNumber);
591
585
  const isSell = side === SwapSide.SELL;
592
586
  const pairParam = await this.getPairOrderedParams(
593
587
  from,
@@ -14,7 +14,6 @@ import {
14
14
  PreprocessTransactionOptions,
15
15
  SimpleExchangeParam,
16
16
  Token,
17
- TransferFeeParams,
18
17
  TxInfo,
19
18
  } from '../../types';
20
19
  import { CACHE_PREFIX, Network, SwapSide } from '../../constants';
@@ -662,9 +661,6 @@ export class UniswapV3
662
661
  side: SwapSide,
663
662
  blockNumber: number,
664
663
  limitPools?: string[],
665
- transferFees?: TransferFeeParams,
666
- isFirstSwap?: boolean,
667
- fmode?: boolean,
668
664
  ): Promise<null | ExchangePrices<UniswapV3Data>> {
669
665
  try {
670
666
  const _srcToken = this.dexHelper.config.wrapETH(srcToken);
@@ -741,16 +737,14 @@ export class UniswapV3
741
737
  p => p.getState(blockNumber)!,
742
738
  );
743
739
 
744
- const rpcResultsPromise = fmode
745
- ? null
746
- : this.getPricingFromRpc(
747
- _srcToken,
748
- _destToken,
749
- amounts,
750
- side,
751
- this.network === Network.ZKEVM ? [] : poolsToUse.poolWithoutState,
752
- this.network === Network.ZKEVM ? [] : states,
753
- );
740
+ const rpcResultsPromise = this.getPricingFromRpc(
741
+ _srcToken,
742
+ _destToken,
743
+ amounts,
744
+ side,
745
+ this.network === Network.ZKEVM ? [] : poolsToUse.poolWithoutState,
746
+ this.network === Network.ZKEVM ? [] : states,
747
+ );
754
748
 
755
749
  const unitAmount = getBigIntPow(
756
750
  side == SwapSide.SELL ? _srcToken.decimals : _destToken.decimals,
@@ -25,6 +25,8 @@ export enum SpecialDex {
25
25
  SWAP_ON_AUGUSTUS_RFQ = 9, // swapOnAugustusRFQ
26
26
  EXECUTE_VERTICAL_BRANCHING = 10, // execute vertical branching
27
27
  BUY_ON_SOLIDLY_V3 = 11,
28
+ SWAP_ON_DEXALOT = 12,
29
+ SWAP_ON_HASHFLOW = 13,
28
30
  }
29
31
 
30
32
  export enum Executors {
@@ -111,24 +111,14 @@ export class PricingHelper {
111
111
  blockNumber: number,
112
112
  dexKeys: string[],
113
113
  filterConstantPricePool: boolean = false,
114
- overrideTimeout?: number,
115
114
  ): Promise<{ [dexKey: string]: string[] | null }> {
116
115
  const poolIdentifiers = await Promise.all(
117
116
  dexKeys.map(async key => {
118
117
  try {
119
118
  return await new Promise<string[] | null>((resolve, reject) => {
120
- const now = Date.now();
121
- const timeout = overrideTimeout ?? FETCH_POOL_IDENTIFIER_TIMEOUT;
122
119
  const timer = setTimeout(
123
- () =>
124
- reject(
125
- new Error(
126
- `Timeout of ${timeout}ms breached after ${
127
- Date.now() - now
128
- }ms for ${key}`,
129
- ),
130
- ),
131
- timeout,
120
+ () => reject(new Error(`Timeout`)),
121
+ FETCH_POOL_IDENTIFIER_TIMEOUT,
132
122
  );
133
123
  const dexInstance = this.dexAdapterService.getDexByKey(key);
134
124
 
@@ -202,8 +192,6 @@ export class PricingHelper {
202
192
  destDexFee: 0,
203
193
  },
204
194
  rollupL1ToL2GasRatio?: number,
205
- overrideTimeout?: number,
206
- fmode?: boolean,
207
195
  ): Promise<PoolPrices<any>[]> {
208
196
  const dexPoolPrices = await Promise.all(
209
197
  dexKeys.map(async key => {
@@ -214,18 +202,9 @@ export class PricingHelper {
214
202
 
215
203
  return await new Promise<PoolPrices<any>[] | null>(
216
204
  (resolve, reject) => {
217
- const now = Date.now();
218
- const timeout = overrideTimeout ?? FETCH_POOL_PRICES_TIMEOUT;
219
205
  const timer = setTimeout(
220
- () =>
221
- reject(
222
- new Error(
223
- `Timeout of ${timeout}ms breached after ${
224
- Date.now() - now
225
- }ms for ${key}`,
226
- ),
227
- ),
228
- timeout,
206
+ () => reject(new Error(`Timeout`)),
207
+ FETCH_POOL_PRICES_TIMEOUT,
229
208
  );
230
209
 
231
210
  const dexInstance = this.dexAdapterService.getDexByKey(key);
@@ -247,8 +226,6 @@ export class PricingHelper {
247
226
  blockNumber,
248
227
  limitPools ? limitPools : undefined,
249
228
  transferFees,
250
- false,
251
- fmode,
252
229
  )
253
230
  .then(poolPrices => {
254
231
  try {
@@ -1,3 +0,0 @@
1
- export declare class DexPoolNotFoundError extends Error {
2
- constructor(dexKey: string, poolIdentifier: string);
3
- }
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DexPoolNotFoundError = void 0;
4
- class DexPoolNotFoundError extends Error {
5
- constructor(dexKey, poolIdentifier) {
6
- super(`Pool ${poolIdentifier} not found for DEX ${dexKey}`);
7
- }
8
- }
9
- exports.DexPoolNotFoundError = DexPoolNotFoundError;
10
- //# sourceMappingURL=dex-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dex-utils.js","sourceRoot":"","sources":["../src/dex-utils.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,MAAc,EAAE,cAAsB;QAChD,KAAK,CAAC,QAAQ,cAAc,sBAAsB,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF;AAJD,oDAIC"}
@@ -1,46 +0,0 @@
1
- import { AsyncOrSync, DeepReadonly } from 'ts-essentials';
2
- import { Log, Logger } from './types';
3
- import { BlockHeader } from 'web3-eth';
4
- import { EventSubscriber } from './dex-helper/iblock-manager';
5
- import { IDexHelper } from './dex-helper';
6
- export declare type InitializeStateOptions<State> = {
7
- state?: DeepReadonly<State>;
8
- initCallback?: (state: DeepReadonly<State>) => void;
9
- forceRegenerate?: boolean;
10
- };
11
- declare type ObjectOrString<State> = DeepReadonly<State> | string;
12
- declare type ObjectOrStringOrNull<State> = ObjectOrString<State> | null;
13
- export declare abstract class StatefulDualSynchronizer<State> implements EventSubscriber {
14
- dexKey: string;
15
- poolIdentifier: string;
16
- protected dexHelper: IDexHelper;
17
- protected logger: Logger;
18
- protected state: ObjectOrStringOrNull<State>;
19
- protected stateBlockNumber: number;
20
- protected stateHistory: {
21
- [blockNumber: number]: ObjectOrString<State>;
22
- };
23
- protected invalid: boolean;
24
- isTracking: () => boolean;
25
- addressesSubscribed: string[];
26
- parentName: string;
27
- name: string;
28
- isInitialized: boolean;
29
- constructor(dexKey: string, poolIdentifier: string, dexHelper: IDexHelper, logger: Logger);
30
- getStateBlockNumber(): Readonly<number>;
31
- initialize(blockNumber: number, options?: InitializeStateOptions<State>): Promise<void>;
32
- protected abstract processLog(state: DeepReadonly<State>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): AsyncOrSync<DeepReadonly<State> | null>;
33
- protected processBlockLogs(state: DeepReadonly<State>, logs: Readonly<Log>[], blockHeader: Readonly<BlockHeader>): Promise<DeepReadonly<State> | null>;
34
- abstract generateState(blockNumber?: number | 'latest'): AsyncOrSync<DeepReadonly<State>>;
35
- restart(blockNumber: number): void;
36
- update(logs: Readonly<Log>[], blockHeaders: Readonly<{
37
- [blockNumber: number]: Readonly<BlockHeader>;
38
- }>): Promise<void>;
39
- rollback(blockNumber: number): void;
40
- invalidate(): void;
41
- getState(minBlockNumber: number): DeepReadonly<State> | null;
42
- getStaleState(): DeepReadonly<State> | null;
43
- _setState(state: ObjectOrStringOrNull<State>, blockNumber: number): void;
44
- setState(state: ObjectOrString<State>, blockNumber: number): void;
45
- }
46
- export {};