@paraswap/dex-lib 2.28.9-take-surplus.0 → 2.28.9-take-surplus.1

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 (330) hide show
  1. package/build/abi/RamsesV2StateMulticall.abi.json +891 -0
  2. package/build/abi/aerodrome/aerodrome-pool-factory.json +586 -0
  3. package/build/abi/algebra/AlgebraFactory-v1_1.abi.json +250 -0
  4. package/build/abi/api3-proxy.json +53 -0
  5. package/build/abi/api3-server-v1.json +463 -0
  6. package/build/abi/nomiswap-v2/nomiswap-v2-pool.json +773 -0
  7. package/build/abi/pancakeswap-v3/PancakeswapV3Factory.abi.json +300 -0
  8. package/build/abi/quick-perps/fast-price-events.json +70 -0
  9. package/build/abi/quick-perps/fast-price-feed.json +741 -0
  10. package/build/abi/quick-perps/reader.json +313 -0
  11. package/build/abi/quick-perps/vault-price-feed.json +323 -0
  12. package/build/abi/quick-perps/vault.json +1953 -0
  13. package/build/abi/quickPerps/fast-price-events.json +70 -0
  14. package/build/abi/quickPerps/fast-price-feed.json +748 -0
  15. package/build/abi/quickPerps/reader.json +313 -0
  16. package/build/abi/quickPerps/vault-price-feed.json +477 -0
  17. package/build/abi/quickPerps/vault.json +1953 -0
  18. package/build/abi/ramses-v2/RamsesV2Pool.abi.json +1599 -0
  19. package/build/abi/uniswap-v3/UniswapV3Factory.abi.json +148 -0
  20. package/build/abi/uniswap-v3/UniswapV3QuoterV2.abi.json +155 -0
  21. package/build/composed-event-subscriber.js +8 -2
  22. package/build/composed-event-subscriber.js.map +1 -1
  23. package/build/config.d.ts +0 -1
  24. package/build/config.js +75 -14
  25. package/build/config.js.map +1 -1
  26. package/build/constants.d.ts +2 -1
  27. package/build/constants.js +1 -0
  28. package/build/constants.js.map +1 -1
  29. package/build/dex/algebra/algebra-factory.d.ts +25 -0
  30. package/build/dex/algebra/algebra-factory.js +43 -0
  31. package/build/dex/algebra/algebra-factory.js.map +1 -0
  32. package/build/dex/algebra/algebra-pool-v1_1.d.ts +16 -2
  33. package/build/dex/algebra/algebra-pool-v1_1.js +166 -4
  34. package/build/dex/algebra/algebra-pool-v1_1.js.map +1 -1
  35. package/build/dex/algebra/algebra.d.ts +4 -1
  36. package/build/dex/algebra/algebra.js +42 -21
  37. package/build/dex/algebra/algebra.js.map +1 -1
  38. package/build/dex/algebra/config.js +1 -0
  39. package/build/dex/algebra/config.js.map +1 -1
  40. package/build/dex/algebra/lib/TickTable.js +51 -40
  41. package/build/dex/algebra/lib/TickTable.js.map +1 -1
  42. package/build/dex/algebra/types.d.ts +5 -2
  43. package/build/dex/algebra/utils.d.ts +3 -1
  44. package/build/dex/algebra/utils.js +59 -1
  45. package/build/dex/algebra/utils.js.map +1 -1
  46. package/build/dex/balancer-v2/balancer-v2.js +79 -6
  47. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  48. package/build/dex/balancer-v2/config.js +10 -2
  49. package/build/dex/balancer-v2/config.js.map +1 -1
  50. package/build/dex/balancer-v2/optimizer.js +38 -51
  51. package/build/dex/balancer-v2/optimizer.js.map +1 -1
  52. package/build/dex/balancer-v2/types.d.ts +0 -4
  53. package/build/dex/balancer-v2/types.js.map +1 -1
  54. package/build/dex/curve-v1/config.js +40 -38
  55. package/build/dex/curve-v1/config.js.map +1 -1
  56. package/build/dex/curve-v1-factory/config.js +17 -9
  57. package/build/dex/curve-v1-factory/config.js.map +1 -1
  58. package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +1 -1
  59. package/build/dex/curve-v1-factory/curve-v1-factory.js +205 -182
  60. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  61. package/build/dex/curve-v1-factory/curve-v1-pool-manager.d.ts +2 -1
  62. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +8 -2
  63. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
  64. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js +1 -0
  65. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js.map +1 -1
  66. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js +1 -0
  67. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js.map +1 -1
  68. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js +2 -1
  69. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js.map +1 -1
  70. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js +1 -0
  71. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js.map +1 -1
  72. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js +1 -0
  73. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js.map +1 -1
  74. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js +61 -14
  75. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js.map +1 -1
  76. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js +1 -0
  77. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js.map +1 -1
  78. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js +10 -0
  79. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js.map +1 -1
  80. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js +1 -0
  81. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js.map +1 -1
  82. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js +1 -0
  83. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js.map +1 -1
  84. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js +1 -0
  85. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js.map +1 -1
  86. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js +1 -0
  87. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js.map +1 -1
  88. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js +1 -0
  89. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js.map +1 -1
  90. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js +1 -0
  91. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js.map +1 -1
  92. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js +1 -0
  93. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js.map +1 -1
  94. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.js +11 -4
  95. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.js.map +1 -1
  96. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.d.ts +1 -1
  97. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +2 -2
  98. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
  99. package/build/dex/curve-v1-factory/types.d.ts +4 -1
  100. package/build/dex/curve-v1-factory/types.js +1 -0
  101. package/build/dex/curve-v1-factory/types.js.map +1 -1
  102. package/build/dex/generic-rfq/generic-rfq.d.ts +2 -1
  103. package/build/dex/generic-rfq/generic-rfq.js +9 -5
  104. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  105. package/build/dex/generic-rfq/rate-fetcher.d.ts +1 -1
  106. package/build/dex/generic-rfq/rate-fetcher.js +2 -1
  107. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  108. package/build/dex/generic-rfq/types.d.ts +1 -0
  109. package/build/dex/generic-rfq/types.js.map +1 -1
  110. package/build/dex/hashflow/hashflow.d.ts +1 -0
  111. package/build/dex/hashflow/hashflow.js +1 -0
  112. package/build/dex/hashflow/hashflow.js.map +1 -1
  113. package/build/dex/idex.d.ts +1 -0
  114. package/build/dex/index.d.ts +1 -0
  115. package/build/dex/index.js +21 -0
  116. package/build/dex/index.js.map +1 -1
  117. package/build/dex/maverick-v1/config.js +9 -0
  118. package/build/dex/maverick-v1/config.js.map +1 -1
  119. package/build/dex/maverick-v1/maverick-v1.js +11 -2
  120. package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
  121. package/build/dex/maverick-v1/scripts/event-sequence.d.ts +1 -0
  122. package/build/dex/maverick-v1/scripts/event-sequence.js +110 -0
  123. package/build/dex/maverick-v1/scripts/event-sequence.js.map +1 -0
  124. package/build/dex/pancakeswap-v3/config.js +17 -0
  125. package/build/dex/pancakeswap-v3/config.js.map +1 -1
  126. package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.d.ts +26 -0
  127. package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.js +44 -0
  128. package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.js.map +1 -0
  129. package/build/dex/pancakeswap-v3/pancakeswap-v3.d.ts +3 -0
  130. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +26 -2
  131. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  132. package/build/dex/quick-perps/config.d.ts +11 -0
  133. package/build/dex/quick-perps/config.js +27 -0
  134. package/build/dex/quick-perps/config.js.map +1 -0
  135. package/build/dex/quick-perps/fast-price-feed.d.ts +26 -0
  136. package/build/dex/quick-perps/fast-price-feed.js +176 -0
  137. package/build/dex/quick-perps/fast-price-feed.js.map +1 -0
  138. package/build/dex/quick-perps/pool.d.ts +21 -0
  139. package/build/dex/quick-perps/pool.js +225 -0
  140. package/build/dex/quick-perps/pool.js.map +1 -0
  141. package/build/dex/quick-perps/quick-perps.d.ts +52 -0
  142. package/build/dex/quick-perps/quick-perps.js +211 -0
  143. package/build/dex/quick-perps/quick-perps.js.map +1 -0
  144. package/build/dex/quick-perps/types.d.ts +98 -0
  145. package/build/dex/quick-perps/types.js +3 -0
  146. package/build/dex/quick-perps/types.js.map +1 -0
  147. package/build/dex/quick-perps/usdq.d.ts +15 -0
  148. package/build/dex/quick-perps/usdq.js +61 -0
  149. package/build/dex/quick-perps/usdq.js.map +1 -0
  150. package/build/dex/quick-perps/vault-price-feed.d.ts +43 -0
  151. package/build/dex/quick-perps/vault-price-feed.js +194 -0
  152. package/build/dex/quick-perps/vault-price-feed.js.map +1 -0
  153. package/build/dex/quick-perps/vault-utils.d.ts +8 -0
  154. package/build/dex/quick-perps/vault-utils.js +41 -0
  155. package/build/dex/quick-perps/vault-utils.js.map +1 -0
  156. package/build/dex/quick-perps/vault.d.ts +46 -0
  157. package/build/dex/quick-perps/vault.js +166 -0
  158. package/build/dex/quick-perps/vault.js.map +1 -0
  159. package/build/dex/solidly/config.js +52 -2
  160. package/build/dex/solidly/config.js.map +1 -1
  161. package/build/dex/solidly/forks-override/aerodrome.d.ts +14 -0
  162. package/build/dex/solidly/forks-override/aerodrome.js +48 -0
  163. package/build/dex/solidly/forks-override/aerodrome.js.map +1 -0
  164. package/build/dex/solidly/forks-override/equalizer.d.ts +20 -0
  165. package/build/dex/solidly/forks-override/equalizer.js +46 -0
  166. package/build/dex/solidly/forks-override/equalizer.js.map +1 -0
  167. package/build/dex/solidly/forks-override/ramses.d.ts +44 -0
  168. package/build/dex/solidly/forks-override/ramses.js +144 -0
  169. package/build/dex/solidly/forks-override/ramses.js.map +1 -0
  170. package/build/dex/solidly/forks-override/velodromeV2.d.ts +20 -0
  171. package/build/dex/solidly/forks-override/velodromeV2.js +50 -0
  172. package/build/dex/solidly/forks-override/velodromeV2.js.map +1 -0
  173. package/build/dex/solidly/solidly.js +4 -0
  174. package/build/dex/solidly/solidly.js.map +1 -1
  175. package/build/dex/uniswap-v2/nomiswap-v2.d.ts +24 -0
  176. package/build/dex/uniswap-v2/nomiswap-v2.js +44 -0
  177. package/build/dex/uniswap-v2/nomiswap-v2.js.map +1 -0
  178. package/build/dex/uniswap-v3/config.js +166 -0
  179. package/build/dex/uniswap-v3/config.js.map +1 -1
  180. package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.d.ts +19 -0
  181. package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.js +99 -0
  182. package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.js.map +1 -0
  183. package/build/dex/uniswap-v3/forks/ramses-v2/utils.d.ts +4 -0
  184. package/build/dex/uniswap-v3/forks/ramses-v2/utils.js +63 -0
  185. package/build/dex/uniswap-v3/forks/ramses-v2/utils.js.map +1 -0
  186. package/build/dex/uniswap-v3/types.d.ts +10 -1
  187. package/build/dex/uniswap-v3/types.js.map +1 -1
  188. package/build/dex/uniswap-v3/uniswap-v3-factory.d.ts +26 -0
  189. package/build/dex/uniswap-v3/uniswap-v3-factory.js +44 -0
  190. package/build/dex/uniswap-v3/uniswap-v3-factory.js.map +1 -0
  191. package/build/dex/uniswap-v3/uniswap-v3-pool.d.ts +8 -6
  192. package/build/dex/uniswap-v3/uniswap-v3-pool.js +5 -2
  193. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  194. package/build/dex/uniswap-v3/uniswap-v3.d.ts +7 -4
  195. package/build/dex/uniswap-v3/uniswap-v3.js +51 -10
  196. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  197. package/build/dex/weth/config.js +3 -0
  198. package/build/dex/weth/config.js.map +1 -1
  199. package/build/dex/woo-fi-v2/config.js +13 -0
  200. package/build/dex/woo-fi-v2/config.js.map +1 -1
  201. package/build/dex-helper/dummy-dex-helper.js +7 -1
  202. package/build/dex-helper/dummy-dex-helper.js.map +1 -1
  203. package/build/dex-helper/icache.d.ts +1 -0
  204. package/build/lib/api3-feed.d.ts +30 -0
  205. package/build/lib/api3-feed.js +100 -0
  206. package/build/lib/api3-feed.js.map +1 -0
  207. package/build/lib/decoders.d.ts +3 -0
  208. package/build/lib/decoders.js +9 -1
  209. package/build/lib/decoders.js.map +1 -1
  210. package/build/stateful-event-subscriber.d.ts +1 -0
  211. package/build/stateful-event-subscriber.js +6 -0
  212. package/build/stateful-event-subscriber.js.map +1 -1
  213. package/build/types.d.ts +2 -0
  214. package/build/workers.d.ts +0 -0
  215. package/build/workers.js +2 -0
  216. package/build/workers.js.map +1 -0
  217. package/package.json +1 -1
  218. package/src/abi/RamsesV2Pool.abi.json +1554 -0
  219. package/src/abi/RamsesV2Quoter.abi.json +274 -0
  220. package/src/abi/RamsesV2StateMulticall.abi.json +891 -0
  221. package/src/abi/aerodrome/aerodrome-pool-factory.json +586 -0
  222. package/src/abi/algebra/AlgebraFactory-v1_1.abi.json +250 -0
  223. package/src/abi/api3-proxy.json +53 -0
  224. package/src/abi/api3-server-v1.json +463 -0
  225. package/src/abi/nomiswap-v2/nomiswap-v2-pool.json +773 -0
  226. package/src/abi/pancakeswap-v3/PancakeswapV3Factory.abi.json +300 -0
  227. package/src/abi/quick-perps/fast-price-events.json +70 -0
  228. package/src/abi/quick-perps/fast-price-feed.json +741 -0
  229. package/src/abi/quick-perps/reader.json +313 -0
  230. package/src/abi/quick-perps/vault-price-feed.json +323 -0
  231. package/src/abi/quick-perps/vault.json +1953 -0
  232. package/src/abi/ramses-v2/RamsesV2Pool.abi.json +1599 -0
  233. package/src/composed-event-subscriber.ts +16 -11
  234. package/src/config.ts +80 -14
  235. package/src/constants.ts +1 -0
  236. package/src/dex/algebra/algebra-factory.ts +70 -0
  237. package/src/dex/algebra/algebra-integration.test.ts +316 -16
  238. package/src/dex/algebra/algebra-pool-v1_1.ts +259 -8
  239. package/src/dex/algebra/algebra.ts +73 -22
  240. package/src/dex/algebra/config.ts +1 -0
  241. package/src/dex/algebra/lib/TickTable.ts +75 -74
  242. package/src/dex/algebra/types.ts +6 -2
  243. package/src/dex/algebra/utils.ts +83 -2
  244. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +133 -4
  245. package/src/dex/balancer-v2/balancer-v2.ts +87 -6
  246. package/src/dex/balancer-v2/config.ts +11 -2
  247. package/src/dex/balancer-v2/optimizer.ts +49 -62
  248. package/src/dex/balancer-v2/types.ts +0 -4
  249. package/src/dex/curve-v1/config.ts +40 -38
  250. package/src/dex/curve-v1-factory/config.ts +17 -9
  251. package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +19 -0
  252. package/src/dex/curve-v1-factory/curve-v1-factory-integration.test.ts +165 -45
  253. package/src/dex/curve-v1-factory/curve-v1-factory.ts +477 -415
  254. package/src/dex/curve-v1-factory/curve-v1-pool-manager.ts +15 -2
  255. package/src/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.ts +1 -0
  256. package/src/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.ts +1 -0
  257. package/src/dex/curve-v1-factory/price-handlers/functions/_rates.ts +2 -1
  258. package/src/dex/curve-v1-factory/price-handlers/functions/_xp.ts +1 -0
  259. package/src/dex/curve-v1-factory/price-handlers/functions/_xp_mem.ts +1 -0
  260. package/src/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.ts +71 -13
  261. package/src/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.ts +1 -0
  262. package/src/dex/curve-v1-factory/price-handlers/functions/constants.ts +11 -0
  263. package/src/dex/curve-v1-factory/price-handlers/functions/get_D.ts +2 -0
  264. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_mem.ts +1 -0
  265. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.ts +1 -0
  266. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy.ts +1 -0
  267. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.ts +1 -0
  268. package/src/dex/curve-v1-factory/price-handlers/functions/get_y.ts +1 -0
  269. package/src/dex/curve-v1-factory/price-handlers/functions/get_y_D.ts +1 -0
  270. package/src/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.ts +13 -5
  271. package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +2 -1
  272. package/src/dex/curve-v1-factory/types.ts +3 -1
  273. package/src/dex/generic-rfq/example-api.test.ts +1 -1
  274. package/src/dex/generic-rfq/generic-rfq.ts +12 -4
  275. package/src/dex/generic-rfq/rate-fetcher.ts +4 -2
  276. package/src/dex/generic-rfq/types.ts +1 -0
  277. package/src/dex/hashflow/hashflow-e2e.test.ts +36 -3
  278. package/src/dex/hashflow/hashflow.ts +2 -1
  279. package/src/dex/idex.ts +1 -0
  280. package/src/dex/index.ts +21 -0
  281. package/src/dex/maverick-v1/config.ts +10 -0
  282. package/src/dex/maverick-v1/maverick-v1-e2e.test.ts +115 -1
  283. package/src/dex/maverick-v1/maverick-v1.ts +12 -2
  284. package/src/dex/pancakeswap-v3/config.ts +19 -0
  285. package/src/dex/pancakeswap-v3/pancakeswap-v3-e2e.test.ts +114 -0
  286. package/src/dex/pancakeswap-v3/pancakeswap-v3-factory.ts +73 -0
  287. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +50 -2
  288. package/src/dex/quick-perps/config.ts +31 -0
  289. package/src/dex/quick-perps/fast-price-feed.ts +279 -0
  290. package/src/dex/quick-perps/pool.ts +407 -0
  291. package/src/dex/quick-perps/quick-perps-e2e.test.ts +65 -0
  292. package/src/dex/quick-perps/quick-perps-events.test.ts +100 -0
  293. package/src/dex/quick-perps/quick-perps-integration.test.ts +153 -0
  294. package/src/dex/quick-perps/quick-perps.ts +302 -0
  295. package/src/dex/quick-perps/types.ts +97 -0
  296. package/src/dex/quick-perps/usdq.ts +83 -0
  297. package/src/dex/quick-perps/vault-price-feed.ts +322 -0
  298. package/src/dex/quick-perps/vault-utils.ts +53 -0
  299. package/src/dex/quick-perps/vault.ts +290 -0
  300. package/src/dex/solidly/config.ts +58 -2
  301. package/src/dex/solidly/forks-override/aerodrome.ts +53 -0
  302. package/src/dex/solidly/forks-override/equalizer.ts +58 -0
  303. package/src/dex/solidly/forks-override/ramses.ts +253 -0
  304. package/src/dex/solidly/forks-override/velodromeV2.ts +63 -0
  305. package/src/dex/solidly/solidly-e2e.test.ts +313 -1
  306. package/src/dex/solidly/solidly-integration.test.ts +540 -41
  307. package/src/dex/solidly/solidly.ts +5 -0
  308. package/src/dex/uniswap-v2/nomiswap-v2.ts +63 -0
  309. package/src/dex/uniswap-v2/uniswap-v2-e2e-bsc.test.ts +120 -1
  310. package/src/dex/uniswap-v3/config.ts +174 -0
  311. package/src/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.ts +156 -0
  312. package/src/dex/uniswap-v3/forks/ramses-v2/utils.ts +72 -0
  313. package/src/dex/uniswap-v3/types.ts +14 -1
  314. package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +1071 -346
  315. package/src/dex/uniswap-v3/uniswap-v3-factory.ts +73 -0
  316. package/src/dex/uniswap-v3/uniswap-v3-integration.test.ts +787 -14
  317. package/src/dex/uniswap-v3/uniswap-v3-pool.ts +13 -5
  318. package/src/dex/uniswap-v3/uniswap-v3.ts +87 -20
  319. package/src/dex/weth/config.ts +3 -0
  320. package/src/dex/woo-fi-v2/config.ts +13 -0
  321. package/src/dex/woo-fi-v2/woo-fi-v2-e2e.test.ts +64 -0
  322. package/src/dex-helper/dummy-dex-helper.ts +8 -1
  323. package/src/dex-helper/icache.ts +2 -0
  324. package/src/lib/api3-feed.ts +175 -0
  325. package/src/lib/decoders.ts +13 -0
  326. package/src/stateful-event-subscriber.ts +8 -0
  327. package/src/types.ts +2 -0
  328. package/tests/constants-e2e.ts +102 -6
  329. package/tests/tenderly-simulation.ts +48 -4
  330. package/tests/utils-e2e.ts +21 -11
@@ -0,0 +1,891 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "internalType": "contract IRamsesV2Factory",
6
+ "name": "factory",
7
+ "type": "address"
8
+ },
9
+ {
10
+ "internalType": "address",
11
+ "name": "tokenIn",
12
+ "type": "address"
13
+ },
14
+ {
15
+ "internalType": "address",
16
+ "name": "tokenOut",
17
+ "type": "address"
18
+ },
19
+ {
20
+ "internalType": "uint24",
21
+ "name": "fee",
22
+ "type": "uint24"
23
+ },
24
+ {
25
+ "internalType": "int16",
26
+ "name": "tickBitmapStart",
27
+ "type": "int16"
28
+ },
29
+ {
30
+ "internalType": "int16",
31
+ "name": "tickBitmapEnd",
32
+ "type": "int16"
33
+ }
34
+ ],
35
+ "name": "getAdditionalBitmapWithTicks",
36
+ "outputs": [
37
+ {
38
+ "components": [
39
+ {
40
+ "internalType": "int16",
41
+ "name": "index",
42
+ "type": "int16"
43
+ },
44
+ {
45
+ "internalType": "uint256",
46
+ "name": "value",
47
+ "type": "uint256"
48
+ }
49
+ ],
50
+ "internalType": "struct IRamsesV2StateMulticall.TickBitMapMappings[]",
51
+ "name": "tickBitmap",
52
+ "type": "tuple[]"
53
+ },
54
+ {
55
+ "components": [
56
+ {
57
+ "internalType": "int24",
58
+ "name": "index",
59
+ "type": "int24"
60
+ },
61
+ {
62
+ "components": [
63
+ {
64
+ "internalType": "uint128",
65
+ "name": "liquidityGross",
66
+ "type": "uint128"
67
+ },
68
+ {
69
+ "internalType": "int128",
70
+ "name": "liquidityNet",
71
+ "type": "int128"
72
+ },
73
+ {
74
+ "internalType": "uint128",
75
+ "name": "cleanUnusedSlot",
76
+ "type": "uint128"
77
+ },
78
+ {
79
+ "internalType": "int128",
80
+ "name": "cleanUnusedSlot2",
81
+ "type": "int128"
82
+ },
83
+ {
84
+ "internalType": "uint256",
85
+ "name": "feeGrowthOutside0X128",
86
+ "type": "uint256"
87
+ },
88
+ {
89
+ "internalType": "uint256",
90
+ "name": "feeGrowthOutside1X128",
91
+ "type": "uint256"
92
+ },
93
+ {
94
+ "internalType": "int56",
95
+ "name": "tickCumulativeOutside",
96
+ "type": "int56"
97
+ },
98
+ {
99
+ "internalType": "uint160",
100
+ "name": "secondsPerLiquidityOutsideX128",
101
+ "type": "uint160"
102
+ },
103
+ {
104
+ "internalType": "uint32",
105
+ "name": "secondsOutside",
106
+ "type": "uint32"
107
+ },
108
+ {
109
+ "internalType": "bool",
110
+ "name": "initialized",
111
+ "type": "bool"
112
+ }
113
+ ],
114
+ "internalType": "struct IRamsesV2StateMulticall.TickInfo",
115
+ "name": "value",
116
+ "type": "tuple"
117
+ }
118
+ ],
119
+ "internalType": "struct IRamsesV2StateMulticall.TickInfoMappings[]",
120
+ "name": "ticks",
121
+ "type": "tuple[]"
122
+ }
123
+ ],
124
+ "stateMutability": "view",
125
+ "type": "function"
126
+ },
127
+ {
128
+ "inputs": [
129
+ {
130
+ "internalType": "contract IRamsesV2Factory",
131
+ "name": "factory",
132
+ "type": "address"
133
+ },
134
+ {
135
+ "internalType": "address",
136
+ "name": "tokenIn",
137
+ "type": "address"
138
+ },
139
+ {
140
+ "internalType": "address",
141
+ "name": "tokenOut",
142
+ "type": "address"
143
+ },
144
+ {
145
+ "internalType": "uint24",
146
+ "name": "fee",
147
+ "type": "uint24"
148
+ },
149
+ {
150
+ "internalType": "int16",
151
+ "name": "tickBitmapStart",
152
+ "type": "int16"
153
+ },
154
+ {
155
+ "internalType": "int16",
156
+ "name": "tickBitmapEnd",
157
+ "type": "int16"
158
+ }
159
+ ],
160
+ "name": "getAdditionalBitmapWithoutTicks",
161
+ "outputs": [
162
+ {
163
+ "components": [
164
+ {
165
+ "internalType": "int16",
166
+ "name": "index",
167
+ "type": "int16"
168
+ },
169
+ {
170
+ "internalType": "uint256",
171
+ "name": "value",
172
+ "type": "uint256"
173
+ }
174
+ ],
175
+ "internalType": "struct IRamsesV2StateMulticall.TickBitMapMappings[]",
176
+ "name": "tickBitmap",
177
+ "type": "tuple[]"
178
+ }
179
+ ],
180
+ "stateMutability": "view",
181
+ "type": "function"
182
+ },
183
+ {
184
+ "inputs": [
185
+ {
186
+ "internalType": "contract IRamsesV2Factory",
187
+ "name": "factory",
188
+ "type": "address"
189
+ },
190
+ {
191
+ "internalType": "address",
192
+ "name": "tokenIn",
193
+ "type": "address"
194
+ },
195
+ {
196
+ "internalType": "address",
197
+ "name": "tokenOut",
198
+ "type": "address"
199
+ },
200
+ {
201
+ "internalType": "uint24",
202
+ "name": "fee",
203
+ "type": "uint24"
204
+ },
205
+ {
206
+ "internalType": "int16",
207
+ "name": "tickBitmapStart",
208
+ "type": "int16"
209
+ },
210
+ {
211
+ "internalType": "int16",
212
+ "name": "tickBitmapEnd",
213
+ "type": "int16"
214
+ }
215
+ ],
216
+ "name": "getFullState",
217
+ "outputs": [
218
+ {
219
+ "components": [
220
+ {
221
+ "internalType": "contract IRamsesV2Pool",
222
+ "name": "pool",
223
+ "type": "address"
224
+ },
225
+ {
226
+ "internalType": "uint256",
227
+ "name": "blockTimestamp",
228
+ "type": "uint256"
229
+ },
230
+ {
231
+ "components": [
232
+ {
233
+ "internalType": "uint160",
234
+ "name": "sqrtPriceX96",
235
+ "type": "uint160"
236
+ },
237
+ {
238
+ "internalType": "int24",
239
+ "name": "tick",
240
+ "type": "int24"
241
+ },
242
+ {
243
+ "internalType": "uint16",
244
+ "name": "observationIndex",
245
+ "type": "uint16"
246
+ },
247
+ {
248
+ "internalType": "uint16",
249
+ "name": "observationCardinality",
250
+ "type": "uint16"
251
+ },
252
+ {
253
+ "internalType": "uint16",
254
+ "name": "observationCardinalityNext",
255
+ "type": "uint16"
256
+ },
257
+ {
258
+ "internalType": "uint8",
259
+ "name": "feeProtocol",
260
+ "type": "uint8"
261
+ },
262
+ {
263
+ "internalType": "bool",
264
+ "name": "unlocked",
265
+ "type": "bool"
266
+ }
267
+ ],
268
+ "internalType": "struct IRamsesV2StateMulticall.Slot0",
269
+ "name": "slot0",
270
+ "type": "tuple"
271
+ },
272
+ {
273
+ "internalType": "uint128",
274
+ "name": "liquidity",
275
+ "type": "uint128"
276
+ },
277
+ {
278
+ "internalType": "int24",
279
+ "name": "tickSpacing",
280
+ "type": "int24"
281
+ },
282
+ {
283
+ "internalType": "uint128",
284
+ "name": "maxLiquidityPerTick",
285
+ "type": "uint128"
286
+ },
287
+ {
288
+ "components": [
289
+ {
290
+ "internalType": "uint32",
291
+ "name": "blockTimestamp",
292
+ "type": "uint32"
293
+ },
294
+ {
295
+ "internalType": "int56",
296
+ "name": "tickCumulative",
297
+ "type": "int56"
298
+ },
299
+ {
300
+ "internalType": "uint160",
301
+ "name": "secondsPerLiquidityCumulativeX128",
302
+ "type": "uint160"
303
+ },
304
+ {
305
+ "internalType": "bool",
306
+ "name": "initialized",
307
+ "type": "bool"
308
+ },
309
+ {
310
+ "internalType": "uint160",
311
+ "name": "secondsPerBoostedLiquidityPeriodX128",
312
+ "type": "uint160"
313
+ },
314
+ {
315
+ "internalType": "uint32",
316
+ "name": "boostedInRange",
317
+ "type": "uint32"
318
+ }
319
+ ],
320
+ "internalType": "struct IRamsesV2StateMulticall.Observation",
321
+ "name": "observation",
322
+ "type": "tuple"
323
+ },
324
+ {
325
+ "components": [
326
+ {
327
+ "internalType": "int16",
328
+ "name": "index",
329
+ "type": "int16"
330
+ },
331
+ {
332
+ "internalType": "uint256",
333
+ "name": "value",
334
+ "type": "uint256"
335
+ }
336
+ ],
337
+ "internalType": "struct IRamsesV2StateMulticall.TickBitMapMappings[]",
338
+ "name": "tickBitmap",
339
+ "type": "tuple[]"
340
+ },
341
+ {
342
+ "components": [
343
+ {
344
+ "internalType": "int24",
345
+ "name": "index",
346
+ "type": "int24"
347
+ },
348
+ {
349
+ "components": [
350
+ {
351
+ "internalType": "uint128",
352
+ "name": "liquidityGross",
353
+ "type": "uint128"
354
+ },
355
+ {
356
+ "internalType": "int128",
357
+ "name": "liquidityNet",
358
+ "type": "int128"
359
+ },
360
+ {
361
+ "internalType": "uint128",
362
+ "name": "cleanUnusedSlot",
363
+ "type": "uint128"
364
+ },
365
+ {
366
+ "internalType": "int128",
367
+ "name": "cleanUnusedSlot2",
368
+ "type": "int128"
369
+ },
370
+ {
371
+ "internalType": "uint256",
372
+ "name": "feeGrowthOutside0X128",
373
+ "type": "uint256"
374
+ },
375
+ {
376
+ "internalType": "uint256",
377
+ "name": "feeGrowthOutside1X128",
378
+ "type": "uint256"
379
+ },
380
+ {
381
+ "internalType": "int56",
382
+ "name": "tickCumulativeOutside",
383
+ "type": "int56"
384
+ },
385
+ {
386
+ "internalType": "uint160",
387
+ "name": "secondsPerLiquidityOutsideX128",
388
+ "type": "uint160"
389
+ },
390
+ {
391
+ "internalType": "uint32",
392
+ "name": "secondsOutside",
393
+ "type": "uint32"
394
+ },
395
+ {
396
+ "internalType": "bool",
397
+ "name": "initialized",
398
+ "type": "bool"
399
+ }
400
+ ],
401
+ "internalType": "struct IRamsesV2StateMulticall.TickInfo",
402
+ "name": "value",
403
+ "type": "tuple"
404
+ }
405
+ ],
406
+ "internalType": "struct IRamsesV2StateMulticall.TickInfoMappings[]",
407
+ "name": "ticks",
408
+ "type": "tuple[]"
409
+ }
410
+ ],
411
+ "internalType": "struct IRamsesV2StateMulticall.StateResult",
412
+ "name": "state",
413
+ "type": "tuple"
414
+ }
415
+ ],
416
+ "stateMutability": "view",
417
+ "type": "function"
418
+ },
419
+ {
420
+ "inputs": [
421
+ {
422
+ "internalType": "contract IRamsesV2Factory",
423
+ "name": "factory",
424
+ "type": "address"
425
+ },
426
+ {
427
+ "internalType": "address",
428
+ "name": "tokenIn",
429
+ "type": "address"
430
+ },
431
+ {
432
+ "internalType": "address",
433
+ "name": "tokenOut",
434
+ "type": "address"
435
+ },
436
+ {
437
+ "internalType": "uint24",
438
+ "name": "fee",
439
+ "type": "uint24"
440
+ },
441
+ {
442
+ "internalType": "int16",
443
+ "name": "leftBitmapAmount",
444
+ "type": "int16"
445
+ },
446
+ {
447
+ "internalType": "int16",
448
+ "name": "rightBitmapAmount",
449
+ "type": "int16"
450
+ }
451
+ ],
452
+ "name": "getFullStateWithRelativeBitmaps",
453
+ "outputs": [
454
+ {
455
+ "components": [
456
+ {
457
+ "internalType": "contract IRamsesV2Pool",
458
+ "name": "pool",
459
+ "type": "address"
460
+ },
461
+ {
462
+ "internalType": "uint256",
463
+ "name": "blockTimestamp",
464
+ "type": "uint256"
465
+ },
466
+ {
467
+ "components": [
468
+ {
469
+ "internalType": "uint160",
470
+ "name": "sqrtPriceX96",
471
+ "type": "uint160"
472
+ },
473
+ {
474
+ "internalType": "int24",
475
+ "name": "tick",
476
+ "type": "int24"
477
+ },
478
+ {
479
+ "internalType": "uint16",
480
+ "name": "observationIndex",
481
+ "type": "uint16"
482
+ },
483
+ {
484
+ "internalType": "uint16",
485
+ "name": "observationCardinality",
486
+ "type": "uint16"
487
+ },
488
+ {
489
+ "internalType": "uint16",
490
+ "name": "observationCardinalityNext",
491
+ "type": "uint16"
492
+ },
493
+ {
494
+ "internalType": "uint8",
495
+ "name": "feeProtocol",
496
+ "type": "uint8"
497
+ },
498
+ {
499
+ "internalType": "bool",
500
+ "name": "unlocked",
501
+ "type": "bool"
502
+ }
503
+ ],
504
+ "internalType": "struct IRamsesV2StateMulticall.Slot0",
505
+ "name": "slot0",
506
+ "type": "tuple"
507
+ },
508
+ {
509
+ "internalType": "uint128",
510
+ "name": "liquidity",
511
+ "type": "uint128"
512
+ },
513
+ {
514
+ "internalType": "int24",
515
+ "name": "tickSpacing",
516
+ "type": "int24"
517
+ },
518
+ {
519
+ "internalType": "uint128",
520
+ "name": "maxLiquidityPerTick",
521
+ "type": "uint128"
522
+ },
523
+ {
524
+ "components": [
525
+ {
526
+ "internalType": "uint32",
527
+ "name": "blockTimestamp",
528
+ "type": "uint32"
529
+ },
530
+ {
531
+ "internalType": "int56",
532
+ "name": "tickCumulative",
533
+ "type": "int56"
534
+ },
535
+ {
536
+ "internalType": "uint160",
537
+ "name": "secondsPerLiquidityCumulativeX128",
538
+ "type": "uint160"
539
+ },
540
+ {
541
+ "internalType": "bool",
542
+ "name": "initialized",
543
+ "type": "bool"
544
+ },
545
+ {
546
+ "internalType": "uint160",
547
+ "name": "secondsPerBoostedLiquidityPeriodX128",
548
+ "type": "uint160"
549
+ },
550
+ {
551
+ "internalType": "uint32",
552
+ "name": "boostedInRange",
553
+ "type": "uint32"
554
+ }
555
+ ],
556
+ "internalType": "struct IRamsesV2StateMulticall.Observation",
557
+ "name": "observation",
558
+ "type": "tuple"
559
+ },
560
+ {
561
+ "components": [
562
+ {
563
+ "internalType": "int16",
564
+ "name": "index",
565
+ "type": "int16"
566
+ },
567
+ {
568
+ "internalType": "uint256",
569
+ "name": "value",
570
+ "type": "uint256"
571
+ }
572
+ ],
573
+ "internalType": "struct IRamsesV2StateMulticall.TickBitMapMappings[]",
574
+ "name": "tickBitmap",
575
+ "type": "tuple[]"
576
+ },
577
+ {
578
+ "components": [
579
+ {
580
+ "internalType": "int24",
581
+ "name": "index",
582
+ "type": "int24"
583
+ },
584
+ {
585
+ "components": [
586
+ {
587
+ "internalType": "uint128",
588
+ "name": "liquidityGross",
589
+ "type": "uint128"
590
+ },
591
+ {
592
+ "internalType": "int128",
593
+ "name": "liquidityNet",
594
+ "type": "int128"
595
+ },
596
+ {
597
+ "internalType": "uint128",
598
+ "name": "cleanUnusedSlot",
599
+ "type": "uint128"
600
+ },
601
+ {
602
+ "internalType": "int128",
603
+ "name": "cleanUnusedSlot2",
604
+ "type": "int128"
605
+ },
606
+ {
607
+ "internalType": "uint256",
608
+ "name": "feeGrowthOutside0X128",
609
+ "type": "uint256"
610
+ },
611
+ {
612
+ "internalType": "uint256",
613
+ "name": "feeGrowthOutside1X128",
614
+ "type": "uint256"
615
+ },
616
+ {
617
+ "internalType": "int56",
618
+ "name": "tickCumulativeOutside",
619
+ "type": "int56"
620
+ },
621
+ {
622
+ "internalType": "uint160",
623
+ "name": "secondsPerLiquidityOutsideX128",
624
+ "type": "uint160"
625
+ },
626
+ {
627
+ "internalType": "uint32",
628
+ "name": "secondsOutside",
629
+ "type": "uint32"
630
+ },
631
+ {
632
+ "internalType": "bool",
633
+ "name": "initialized",
634
+ "type": "bool"
635
+ }
636
+ ],
637
+ "internalType": "struct IRamsesV2StateMulticall.TickInfo",
638
+ "name": "value",
639
+ "type": "tuple"
640
+ }
641
+ ],
642
+ "internalType": "struct IRamsesV2StateMulticall.TickInfoMappings[]",
643
+ "name": "ticks",
644
+ "type": "tuple[]"
645
+ }
646
+ ],
647
+ "internalType": "struct IRamsesV2StateMulticall.StateResult",
648
+ "name": "state",
649
+ "type": "tuple"
650
+ }
651
+ ],
652
+ "stateMutability": "view",
653
+ "type": "function"
654
+ },
655
+ {
656
+ "inputs": [
657
+ {
658
+ "internalType": "contract IRamsesV2Factory",
659
+ "name": "factory",
660
+ "type": "address"
661
+ },
662
+ {
663
+ "internalType": "address",
664
+ "name": "tokenIn",
665
+ "type": "address"
666
+ },
667
+ {
668
+ "internalType": "address",
669
+ "name": "tokenOut",
670
+ "type": "address"
671
+ },
672
+ {
673
+ "internalType": "uint24",
674
+ "name": "fee",
675
+ "type": "uint24"
676
+ },
677
+ {
678
+ "internalType": "int16",
679
+ "name": "tickBitmapStart",
680
+ "type": "int16"
681
+ },
682
+ {
683
+ "internalType": "int16",
684
+ "name": "tickBitmapEnd",
685
+ "type": "int16"
686
+ }
687
+ ],
688
+ "name": "getFullStateWithoutTicks",
689
+ "outputs": [
690
+ {
691
+ "components": [
692
+ {
693
+ "internalType": "contract IRamsesV2Pool",
694
+ "name": "pool",
695
+ "type": "address"
696
+ },
697
+ {
698
+ "internalType": "uint256",
699
+ "name": "blockTimestamp",
700
+ "type": "uint256"
701
+ },
702
+ {
703
+ "components": [
704
+ {
705
+ "internalType": "uint160",
706
+ "name": "sqrtPriceX96",
707
+ "type": "uint160"
708
+ },
709
+ {
710
+ "internalType": "int24",
711
+ "name": "tick",
712
+ "type": "int24"
713
+ },
714
+ {
715
+ "internalType": "uint16",
716
+ "name": "observationIndex",
717
+ "type": "uint16"
718
+ },
719
+ {
720
+ "internalType": "uint16",
721
+ "name": "observationCardinality",
722
+ "type": "uint16"
723
+ },
724
+ {
725
+ "internalType": "uint16",
726
+ "name": "observationCardinalityNext",
727
+ "type": "uint16"
728
+ },
729
+ {
730
+ "internalType": "uint8",
731
+ "name": "feeProtocol",
732
+ "type": "uint8"
733
+ },
734
+ {
735
+ "internalType": "bool",
736
+ "name": "unlocked",
737
+ "type": "bool"
738
+ }
739
+ ],
740
+ "internalType": "struct IRamsesV2StateMulticall.Slot0",
741
+ "name": "slot0",
742
+ "type": "tuple"
743
+ },
744
+ {
745
+ "internalType": "uint128",
746
+ "name": "liquidity",
747
+ "type": "uint128"
748
+ },
749
+ {
750
+ "internalType": "int24",
751
+ "name": "tickSpacing",
752
+ "type": "int24"
753
+ },
754
+ {
755
+ "internalType": "uint128",
756
+ "name": "maxLiquidityPerTick",
757
+ "type": "uint128"
758
+ },
759
+ {
760
+ "components": [
761
+ {
762
+ "internalType": "uint32",
763
+ "name": "blockTimestamp",
764
+ "type": "uint32"
765
+ },
766
+ {
767
+ "internalType": "int56",
768
+ "name": "tickCumulative",
769
+ "type": "int56"
770
+ },
771
+ {
772
+ "internalType": "uint160",
773
+ "name": "secondsPerLiquidityCumulativeX128",
774
+ "type": "uint160"
775
+ },
776
+ {
777
+ "internalType": "bool",
778
+ "name": "initialized",
779
+ "type": "bool"
780
+ },
781
+ {
782
+ "internalType": "uint160",
783
+ "name": "secondsPerBoostedLiquidityPeriodX128",
784
+ "type": "uint160"
785
+ },
786
+ {
787
+ "internalType": "uint32",
788
+ "name": "boostedInRange",
789
+ "type": "uint32"
790
+ }
791
+ ],
792
+ "internalType": "struct IRamsesV2StateMulticall.Observation",
793
+ "name": "observation",
794
+ "type": "tuple"
795
+ },
796
+ {
797
+ "components": [
798
+ {
799
+ "internalType": "int16",
800
+ "name": "index",
801
+ "type": "int16"
802
+ },
803
+ {
804
+ "internalType": "uint256",
805
+ "name": "value",
806
+ "type": "uint256"
807
+ }
808
+ ],
809
+ "internalType": "struct IRamsesV2StateMulticall.TickBitMapMappings[]",
810
+ "name": "tickBitmap",
811
+ "type": "tuple[]"
812
+ },
813
+ {
814
+ "components": [
815
+ {
816
+ "internalType": "int24",
817
+ "name": "index",
818
+ "type": "int24"
819
+ },
820
+ {
821
+ "components": [
822
+ {
823
+ "internalType": "uint128",
824
+ "name": "liquidityGross",
825
+ "type": "uint128"
826
+ },
827
+ {
828
+ "internalType": "int128",
829
+ "name": "liquidityNet",
830
+ "type": "int128"
831
+ },
832
+ {
833
+ "internalType": "uint128",
834
+ "name": "cleanUnusedSlot",
835
+ "type": "uint128"
836
+ },
837
+ {
838
+ "internalType": "int128",
839
+ "name": "cleanUnusedSlot2",
840
+ "type": "int128"
841
+ },
842
+ {
843
+ "internalType": "uint256",
844
+ "name": "feeGrowthOutside0X128",
845
+ "type": "uint256"
846
+ },
847
+ {
848
+ "internalType": "uint256",
849
+ "name": "feeGrowthOutside1X128",
850
+ "type": "uint256"
851
+ },
852
+ {
853
+ "internalType": "int56",
854
+ "name": "tickCumulativeOutside",
855
+ "type": "int56"
856
+ },
857
+ {
858
+ "internalType": "uint160",
859
+ "name": "secondsPerLiquidityOutsideX128",
860
+ "type": "uint160"
861
+ },
862
+ {
863
+ "internalType": "uint32",
864
+ "name": "secondsOutside",
865
+ "type": "uint32"
866
+ },
867
+ {
868
+ "internalType": "bool",
869
+ "name": "initialized",
870
+ "type": "bool"
871
+ }
872
+ ],
873
+ "internalType": "struct IRamsesV2StateMulticall.TickInfo",
874
+ "name": "value",
875
+ "type": "tuple"
876
+ }
877
+ ],
878
+ "internalType": "struct IRamsesV2StateMulticall.TickInfoMappings[]",
879
+ "name": "ticks",
880
+ "type": "tuple[]"
881
+ }
882
+ ],
883
+ "internalType": "struct IRamsesV2StateMulticall.StateResult",
884
+ "name": "state",
885
+ "type": "tuple"
886
+ }
887
+ ],
888
+ "stateMutability": "view",
889
+ "type": "function"
890
+ }
891
+ ]