@paraswap/dex-lib 4.1.10 → 4.1.11-erc-4626.0

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 (260) 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/ERC4626.json +757 -0
  5. package/build/abi/{integral/pool.json → inception/inception-ineth-pool.json} +558 -537
  6. package/build/abi/inception/inception-ratio-feed.json +329 -0
  7. package/build/abi/inception/inception-vault.json +991 -0
  8. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  9. package/build/abi/usual-m-smart-m/usualM.abi.json +483 -0
  10. package/build/abi/{integral/relayer.json → wombat/pool.json} +474 -721
  11. package/build/dex/aave-v1/aave-v1.d.ts +2 -1
  12. package/build/dex/aave-v1/aave-v1.js +23 -0
  13. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  14. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  15. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  16. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  17. package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
  18. package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
  19. package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
  20. package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
  21. package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
  22. package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
  23. package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
  24. package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
  25. package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
  26. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.d.ts +34 -0
  27. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js +406 -0
  28. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js.map +1 -0
  29. package/build/dex/balancer-v3/gyroECLPPool.d.ts +11 -0
  30. package/build/dex/balancer-v3/gyroECLPPool.js +6 -0
  31. package/build/dex/balancer-v3/gyroECLPPool.js.map +1 -0
  32. package/build/dex/balancer-v3/utils.d.ts +2 -0
  33. package/build/dex/balancer-v3/utils.js +11 -0
  34. package/build/dex/balancer-v3/utils.js.map +1 -0
  35. package/build/dex/erc4626/config.d.ts +3 -0
  36. package/build/dex/erc4626/config.js +42 -0
  37. package/build/dex/erc4626/config.js.map +1 -0
  38. package/build/dex/erc4626/constants.d.ts +3 -0
  39. package/build/dex/erc4626/constants.js +7 -0
  40. package/build/dex/erc4626/constants.js.map +1 -0
  41. package/build/dex/erc4626/erc-4626-pool.d.ts +24 -0
  42. package/build/dex/erc4626/erc-4626-pool.js +92 -0
  43. package/build/dex/erc4626/erc-4626-pool.js.map +1 -0
  44. package/build/dex/erc4626/erc4626.d.ts +46 -0
  45. package/build/dex/erc4626/erc4626.js +247 -0
  46. package/build/dex/erc4626/erc4626.js.map +1 -0
  47. package/build/dex/erc4626/scripts/validate-state.d.ts +0 -0
  48. package/build/dex/erc4626/scripts/validate-state.js +146 -0
  49. package/build/dex/erc4626/scripts/validate-state.js.map +1 -0
  50. package/build/dex/erc4626/types.d.ts +18 -0
  51. package/build/dex/erc4626/types.js +11 -0
  52. package/build/dex/erc4626/types.js.map +1 -0
  53. package/build/dex/inception/config.d.ts +4 -0
  54. package/build/dex/inception/config.js +109 -0
  55. package/build/dex/inception/config.js.map +1 -0
  56. package/build/dex/inception/inception-event-pool.d.ts +16 -0
  57. package/build/dex/inception/inception-event-pool.js +49 -0
  58. package/build/dex/inception/inception-event-pool.js.map +1 -0
  59. package/build/dex/inception/inception.d.ts +43 -0
  60. package/build/dex/inception/inception.js +180 -0
  61. package/build/dex/inception/inception.js.map +1 -0
  62. package/build/dex/inception/tokens.d.ts +9 -0
  63. package/build/dex/inception/tokens.js +28 -0
  64. package/build/dex/inception/tokens.js.map +1 -0
  65. package/build/dex/inception/types.d.ts +22 -0
  66. package/build/dex/{m-token → inception}/types.js.map +1 -1
  67. package/build/dex/inception/utils.d.ts +7 -0
  68. package/build/dex/inception/utils.js +58 -0
  69. package/build/dex/inception/utils.js.map +1 -0
  70. package/build/dex/index.js +2 -2
  71. package/build/dex/index.js.map +1 -1
  72. package/build/dex/jarvis.d.ts +2 -1
  73. package/build/dex/jarvis.js +58 -0
  74. package/build/dex/jarvis.js.map +1 -1
  75. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  76. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  77. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  78. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  79. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  80. package/build/dex/platypus/platypus.d.ts +2 -1
  81. package/build/dex/platypus/platypus.js +45 -0
  82. package/build/dex/platypus/platypus.js.map +1 -1
  83. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  84. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  85. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  86. package/build/dex/stable-pool.js +1 -8
  87. package/build/dex/stable-pool.js.map +1 -1
  88. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  89. package/build/dex/swaap-v1/swaap-v1.js +14 -0
  90. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  91. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  92. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  93. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  94. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  95. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  96. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  97. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
  98. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
  99. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
  100. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
  101. package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
  102. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
  103. package/build/dex/uniswap-v4/config.js +0 -43
  104. package/build/dex/uniswap-v4/config.js.map +1 -1
  105. package/build/dex/uniswap-v4/encoder.js +2 -12
  106. package/build/dex/uniswap-v4/encoder.js.map +1 -1
  107. package/build/dex/uniswap-v4/types.d.ts +2 -36
  108. package/build/dex/uniswap-v4/uniswap-v4.d.ts +6 -6
  109. package/build/dex/uniswap-v4/uniswap-v4.js +47 -29
  110. package/build/dex/uniswap-v4/uniswap-v4.js.map +1 -1
  111. package/build/dex/usual/usual-m-smart-m.d.ts +17 -0
  112. package/build/dex/usual/usual-m-smart-m.js +50 -0
  113. package/build/dex/usual/usual-m-smart-m.js.map +1 -0
  114. package/build/dex/usual-m-smart-m/config.d.ts +3 -0
  115. package/build/dex/usual-m-smart-m/config.js +13 -0
  116. package/build/dex/usual-m-smart-m/config.js.map +1 -0
  117. package/build/dex/usual-m-smart-m/types.d.ts +7 -0
  118. package/build/dex/usual-m-smart-m/types.js +3 -0
  119. package/build/dex/usual-m-smart-m/types.js.map +1 -0
  120. package/build/dex/usual-m-smart-m/usual-m-smart-m.d.ts +35 -0
  121. package/build/dex/usual-m-smart-m/usual-m-smart-m.js +161 -0
  122. package/build/dex/usual-m-smart-m/usual-m-smart-m.js.map +1 -0
  123. package/build/dex/{m-token → usual-m-usd0}/config.d.ts +2 -2
  124. package/build/dex/usual-m-usd0/config.js +14 -0
  125. package/build/dex/usual-m-usd0/config.js.map +1 -0
  126. package/build/dex/usual-m-usd0/types.d.ts +8 -0
  127. package/build/dex/usual-m-usd0/types.js +3 -0
  128. package/build/dex/usual-m-usd0/types.js.map +1 -0
  129. package/build/dex/usual-m-usd0/usual-m-usd0.d.ts +35 -0
  130. package/build/dex/usual-m-usd0/usual-m-usd0.js +159 -0
  131. package/build/dex/usual-m-usd0/usual-m-usd0.js.map +1 -0
  132. package/build/dex/zerox/index.d.ts +4 -26
  133. package/build/dex/zerox/index.js +50 -42
  134. package/build/dex/zerox/index.js.map +1 -1
  135. package/build/dex/zerox/types.d.ts +29 -0
  136. package/build/dex/zerox/types.js +8 -1
  137. package/build/dex/zerox/types.js.map +1 -1
  138. package/package.json +1 -1
  139. package/src/dex/erc4626/config.ts +41 -0
  140. package/src/dex/{wusdm → erc4626}/constants.ts +2 -0
  141. package/src/dex/{wusdm/wusdm-pool.ts → erc4626/erc-4626-pool.ts} +38 -15
  142. package/src/dex/erc4626/erc4626-event.test.ts +134 -0
  143. package/src/dex/{wusdm/wusdm-integration.test.ts → erc4626/erc4626-integration.test.ts} +3 -3
  144. package/src/dex/{wusdm/wusdm.ts → erc4626/erc4626.ts} +69 -64
  145. package/src/dex/erc4626/old-events.test.ts +249 -0
  146. package/src/dex/erc4626/scripts/validate-state.ts +168 -0
  147. package/src/dex/{wusdm → erc4626}/types.ts +6 -6
  148. package/src/dex/index.ts +2 -2
  149. package/tests/constants-e2e.ts +1 -1
  150. package/.idea/aws.xml +0 -17
  151. package/.idea/codeStyles/Project.xml +0 -19
  152. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  153. package/.idea/misc.xml +0 -6
  154. package/.idea/modules.xml +0 -8
  155. package/.idea/paraswap-dex-lib.iml +0 -9
  156. package/.idea/prettier.xml +0 -7
  157. package/.idea/vcs.xml +0 -6
  158. package/build/abi/integral/factory.json +0 -333
  159. package/build/abi/integral/oracle.json +0 -501
  160. package/build/abi/uniswap-v4/pool-manager.abi.json +0 -1366
  161. package/build/abi/uniswap-v4/state-view.abi.json +0 -365
  162. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
  163. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
  164. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
  165. package/build/dex/integral/config.d.ts +0 -4
  166. package/build/dex/integral/config.js +0 -20
  167. package/build/dex/integral/config.js.map +0 -1
  168. package/build/dex/integral/context.d.ts +0 -40
  169. package/build/dex/integral/context.js +0 -158
  170. package/build/dex/integral/context.js.map +0 -1
  171. package/build/dex/integral/integral-factory.d.ts +0 -24
  172. package/build/dex/integral/integral-factory.js +0 -95
  173. package/build/dex/integral/integral-factory.js.map +0 -1
  174. package/build/dex/integral/integral-pool.d.ts +0 -50
  175. package/build/dex/integral/integral-pool.js +0 -149
  176. package/build/dex/integral/integral-pool.js.map +0 -1
  177. package/build/dex/integral/integral-pricing.d.ts +0 -18
  178. package/build/dex/integral/integral-pricing.js +0 -114
  179. package/build/dex/integral/integral-pricing.js.map +0 -1
  180. package/build/dex/integral/integral-relayer.d.ts +0 -42
  181. package/build/dex/integral/integral-relayer.js +0 -192
  182. package/build/dex/integral/integral-relayer.js.map +0 -1
  183. package/build/dex/integral/integral-token.d.ts +0 -27
  184. package/build/dex/integral/integral-token.js +0 -59
  185. package/build/dex/integral/integral-token.js.map +0 -1
  186. package/build/dex/integral/integral.d.ts +0 -41
  187. package/build/dex/integral/integral.js +0 -376
  188. package/build/dex/integral/integral.js.map +0 -1
  189. package/build/dex/integral/types.d.ts +0 -85
  190. package/build/dex/integral/types.js +0 -9
  191. package/build/dex/integral/types.js.map +0 -1
  192. package/build/dex/integral/utils-e2e.d.ts +0 -9
  193. package/build/dex/integral/utils-e2e.js +0 -131
  194. package/build/dex/integral/utils-e2e.js.map +0 -1
  195. package/build/dex/integral/utils.d.ts +0 -17
  196. package/build/dex/integral/utils.js +0 -94
  197. package/build/dex/integral/utils.js.map +0 -1
  198. package/build/dex/m-token/config.js +0 -19
  199. package/build/dex/m-token/config.js.map +0 -1
  200. package/build/dex/m-token/m-token.d.ts +0 -29
  201. package/build/dex/m-token/m-token.js +0 -145
  202. package/build/dex/m-token/m-token.js.map +0 -1
  203. package/build/dex/m-token/m-wrapped-m.d.ts +0 -17
  204. package/build/dex/m-token/m-wrapped-m.js +0 -50
  205. package/build/dex/m-token/m-wrapped-m.js.map +0 -1
  206. package/build/dex/m-token/types.d.ts +0 -12
  207. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  208. package/build/dex/trader-joe-v2.1/optimizer.js +0 -47
  209. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
  210. package/build/dex/uniswap-v4/constants.d.ts +0 -7
  211. package/build/dex/uniswap-v4/constants.js +0 -18
  212. package/build/dex/uniswap-v4/constants.js.map +0 -1
  213. package/build/dex/uniswap-v4/contract-math/BitMath.d.ts +0 -4
  214. package/build/dex/uniswap-v4/contract-math/BitMath.js +0 -93
  215. package/build/dex/uniswap-v4/contract-math/BitMath.js.map +0 -1
  216. package/build/dex/uniswap-v4/contract-math/FixedPoint128.d.ts +0 -3
  217. package/build/dex/uniswap-v4/contract-math/FixedPoint128.js +0 -8
  218. package/build/dex/uniswap-v4/contract-math/FixedPoint128.js.map +0 -1
  219. package/build/dex/uniswap-v4/contract-math/FixedPoint96.d.ts +0 -4
  220. package/build/dex/uniswap-v4/contract-math/FixedPoint96.js +0 -9
  221. package/build/dex/uniswap-v4/contract-math/FixedPoint96.js.map +0 -1
  222. package/build/dex/uniswap-v4/contract-math/FullMath.d.ts +0 -4
  223. package/build/dex/uniswap-v4/contract-math/FullMath.js +0 -19
  224. package/build/dex/uniswap-v4/contract-math/FullMath.js.map +0 -1
  225. package/build/dex/uniswap-v4/contract-math/LiquidityMath.d.ts +0 -3
  226. package/build/dex/uniswap-v4/contract-math/LiquidityMath.js +0 -22
  227. package/build/dex/uniswap-v4/contract-math/LiquidityMath.js.map +0 -1
  228. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.d.ts +0 -10
  229. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.js +0 -91
  230. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.js.map +0 -1
  231. package/build/dex/uniswap-v4/contract-math/SwapMath.d.ts +0 -8
  232. package/build/dex/uniswap-v4/contract-math/SwapMath.js +0 -70
  233. package/build/dex/uniswap-v4/contract-math/SwapMath.js.map +0 -1
  234. package/build/dex/uniswap-v4/contract-math/TickBitMap.d.ts +0 -7
  235. package/build/dex/uniswap-v4/contract-math/TickBitMap.js +0 -86
  236. package/build/dex/uniswap-v4/contract-math/TickBitMap.js.map +0 -1
  237. package/build/dex/uniswap-v4/contract-math/TickMath.d.ts +0 -8
  238. package/build/dex/uniswap-v4/contract-math/TickMath.js +0 -162
  239. package/build/dex/uniswap-v4/contract-math/TickMath.js.map +0 -1
  240. package/build/dex/uniswap-v4/contract-math/UnsafeMath.d.ts +0 -3
  241. package/build/dex/uniswap-v4/contract-math/UnsafeMath.js +0 -10
  242. package/build/dex/uniswap-v4/contract-math/UnsafeMath.js.map +0 -1
  243. package/build/dex/uniswap-v4/contract-math/uniswap-v4-math.d.ts +0 -8
  244. package/build/dex/uniswap-v4/contract-math/uniswap-v4-math.js +0 -12
  245. package/build/dex/uniswap-v4/contract-math/uniswap-v4-math.js.map +0 -1
  246. package/build/dex/uniswap-v4/subgraph.d.ts +0 -5
  247. package/build/dex/uniswap-v4/subgraph.js +0 -80
  248. package/build/dex/uniswap-v4/subgraph.js.map +0 -1
  249. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +0 -30
  250. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +0 -139
  251. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +0 -1
  252. package/build/dex/uniswap-v4/utils.d.ts +0 -2
  253. package/build/dex/uniswap-v4/utils.js +0 -15
  254. package/build/dex/uniswap-v4/utils.js.map +0 -1
  255. package/src/dex/wusdm/config.ts +0 -43
  256. package/src/dex/wusdm/wusdm-event.test.ts +0 -104
  257. /package/build/dex/{m-token → inception}/types.js +0 -0
  258. /package/src/abi/{wUSDM.json → ERC4626.json} +0 -0
  259. /package/src/dex/{wusdm/wusdm-e2e.test.ts → erc4626/erc4626-e2e.test.ts} +0 -0
  260. /package/src/dex/{wusdm/wusdm-gas-estimation.test.ts → erc4626/erc4626-gas-estimation.test.ts} +0 -0
@@ -0,0 +1,168 @@
1
+ // import dotenv from 'dotenv';
2
+ // dotenv.config();
3
+
4
+ // import { Network } from '../../../constants';
5
+ // import { DummyDexHelper } from '../../../dex-helper';
6
+ // import { DEPOSIT_TOPIC, TRANSFER_TOPIC, WITHDRAW_TOPIC } from '../constants';
7
+ // import { ERC4626EventPool } from '../erc-4626-pool';
8
+ // import { ERC4626Config } from '../config';
9
+ // import { Interface } from '@ethersproject/abi';
10
+ // import wUSDM_ABI from '../../../abi/ERC4626.json';
11
+ // import ERC20_ABI from '../../../abi/erc20.json';
12
+ // import { BlockHeader } from 'web3-eth';
13
+ // import _ from 'lodash';
14
+ // import { ERC4626PoolState } from '../types';
15
+ // import { ethers } from 'ethers';
16
+
17
+ // const blockHeaders: Record<number, BlockHeader> = {};
18
+
19
+ // async function fetchPoolState(
20
+ // wusdmPool: ERC4626EventPool,
21
+ // blockNumber: number,
22
+ // ): Promise<ERC4626PoolState> {
23
+ // // const eventState = wusdmPool.getState(blockNumber);
24
+ // // if (eventState) return eventState;
25
+ // const onChainState = await wusdmPool.generateState(blockNumber);
26
+ // wusdmPool.setState(onChainState, blockNumber);
27
+ // return onChainState;
28
+ // }
29
+
30
+ // async function checkPoolStateForBlockRange(
31
+ // startBlockNumber: number,
32
+ // endBlockNumber: number,
33
+ // ): Promise<boolean> {
34
+ // console.log(
35
+ // 'startBlockNumber',
36
+ // startBlockNumber,
37
+ // 'endBlockNumber',
38
+ // endBlockNumber,
39
+ // );
40
+ // try {
41
+ // const network = Network.GNOSIS;
42
+ // const dexKey = 'sDAI';
43
+ // const dexHelper = new DummyDexHelper(network);
44
+
45
+ // const wUSDMAddress = ERC4626Config[dexKey][network].vault;
46
+ // const USDMAddress = ERC4626Config[dexKey][network].asset;
47
+ // const wUSDMIface = new Interface([...wUSDM_ABI, ...ERC20_ABI]);
48
+
49
+ // const logger = dexHelper.getLogger(dexKey);
50
+
51
+ // const pool = new ERC4626EventPool(
52
+ // dexKey,
53
+ // network,
54
+ // `wusdm-pool`,
55
+ // dexHelper,
56
+ // wUSDMAddress,
57
+ // USDMAddress,
58
+ // wUSDMIface,
59
+ // logger,
60
+ // DEPOSIT_TOPIC,
61
+ // WITHDRAW_TOPIC,
62
+ // TRANSFER_TOPIC,
63
+ // );
64
+
65
+ // const initState = await fetchPoolState(pool, startBlockNumber);
66
+ // console.log('initState', initState);
67
+
68
+ // // console.log(await pool.getState(startBlockNumber));
69
+
70
+ // const vaultLogs = await dexHelper.provider.getLogs({
71
+ // fromBlock: startBlockNumber,
72
+ // toBlock: endBlockNumber,
73
+ // address: wUSDMAddress,
74
+ // });
75
+
76
+ // const assetLogs = await dexHelper.provider.getLogs({
77
+ // fromBlock: startBlockNumber,
78
+ // toBlock: endBlockNumber,
79
+ // address: USDMAddress,
80
+ // });
81
+
82
+ // const logsToDispatch = [...vaultLogs, ...assetLogs];
83
+
84
+ // console.log(logsToDispatch.length);
85
+
86
+ // // group logs by block number
87
+ // const logsByBlockNumber: Record<number, any[]> = {};
88
+ // for (let log of logsToDispatch) {
89
+ // if (!logsByBlockNumber[log.blockNumber]) {
90
+ // logsByBlockNumber[log.blockNumber] = [];
91
+ // }
92
+ // logsByBlockNumber[log.blockNumber].push(log);
93
+ // }
94
+
95
+ // Object.keys(logsByBlockNumber).forEach(blockNumber => {
96
+ // logsByBlockNumber[Number(blockNumber)] = logsByBlockNumber[
97
+ // Number(blockNumber)
98
+ // ].sort((a, b) => a.logIndex - b.logIndex);
99
+ // });
100
+
101
+ // const sortedBlocks = Object.keys(logsByBlockNumber)
102
+ // .map(Number)
103
+ // .sort((a, b) => Number(a) - Number(b));
104
+
105
+ // for (let blockNumber of sortedBlocks) {
106
+ // console.log('blockNumber', blockNumber);
107
+ // if (!blockHeaders[blockNumber]) {
108
+ // blockHeaders[blockNumber] = await dexHelper.web3Provider.eth.getBlock(
109
+ // blockNumber,
110
+ // );
111
+ // }
112
+
113
+ // await pool?.update(logsByBlockNumber[blockNumber], {
114
+ // [blockNumber]: blockHeaders[blockNumber],
115
+ // });
116
+ // }
117
+
118
+ // const state = pool?.getState(startBlockNumber);
119
+ // const expectedState = await fetchPoolState(pool, endBlockNumber);
120
+ // console.log('state', state, 'expectedState', expectedState);
121
+ // return _.isEqual(state, expectedState);
122
+ // } catch (error) {
123
+ // console.log('error', error);
124
+ // return false;
125
+ // }
126
+ // }
127
+
128
+ // //
129
+
130
+ // async function makeStaticCall(
131
+ // contractAddress: string,
132
+ // calldata: string,
133
+ // blockNumber: number,
134
+ // ): Promise<string> {
135
+ // const dexHelper = new DummyDexHelper(Network.GNOSIS);
136
+ // const result = await dexHelper.web3Provider.eth.call(
137
+ // {
138
+ // to: contractAddress,
139
+ // data: calldata,
140
+ // },
141
+ // blockNumber,
142
+ // );
143
+ // const resultNumber = ethers.BigNumber.from(result).toBigInt();
144
+ // console.log('result', blockNumber, resultNumber);
145
+ // return result;
146
+ // }
147
+
148
+ // // makeStaticCall(
149
+ // // '0xaf204776c7245bf4147c2612bf6e5972ee483701',
150
+ // // '0x01e1d114',
151
+ // // 38964253,
152
+ // // );
153
+
154
+ // const brokenBlockNumber = 38964315;
155
+ // checkPoolStateForBlockRange(
156
+ // brokenBlockNumber - 100,
157
+ // brokenBlockNumber + 100,
158
+ // // 38964251,
159
+ // // 38964254,
160
+ // ).then(result => {
161
+ // console.log('isEqual', result);
162
+ // });
163
+
164
+ // // makeStaticCall(
165
+ // // '0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83',
166
+ // // '0x70a082310000000000000000000000000b338c79644d73d188086c38ff5cc858a76b1162',
167
+ // // 39018709,
168
+ // // );
@@ -1,22 +1,22 @@
1
1
  import { Address } from '../../types';
2
2
 
3
- export type WusdmPoolState = {
3
+ export type ERC4626PoolState = {
4
4
  totalShares: bigint;
5
5
  totalAssets: bigint;
6
6
  };
7
7
 
8
- export type WUSDMData = {
8
+ export type ERC4626Data = {
9
9
  exchange: string;
10
10
  };
11
11
 
12
- export enum WUSDMFunctions {
12
+ export enum ERC4626Functions {
13
13
  deposit = 'deposit',
14
14
  redeem = 'redeem',
15
15
  withdraw = 'withdraw',
16
16
  mint = 'mint',
17
17
  }
18
18
 
19
- export type WusdmParams = {
20
- wUSDMAddress: Address;
21
- USDMAddress: Address;
19
+ export type ERC4626Params = {
20
+ vault: Address;
21
+ asset: Address;
22
22
  };
package/src/dex/index.ts CHANGED
@@ -58,7 +58,7 @@ import { CurveV1StableNg } from './curve-v1-stable-ng/curve-v1-stable-ng';
58
58
  import { curveV1Merge } from './curve-v1-factory/optimizer';
59
59
  import { GenericRFQ } from './generic-rfq/generic-rfq';
60
60
  import { WstETH } from './wsteth/wsteth';
61
- import { WUSDM } from './wusdm/wusdm';
61
+ import { ERC4626 } from './erc4626/erc4626';
62
62
  import { Camelot } from './camelot/camelot';
63
63
  import { Hashflow } from './hashflow/hashflow';
64
64
  import { Infusion } from './infusion/infusion';
@@ -169,7 +169,7 @@ const Dexes = [
169
169
  CurveV1Factory,
170
170
  CurveV1StableNg,
171
171
  WstETH,
172
- WUSDM,
172
+ ERC4626,
173
173
  Hashflow,
174
174
  Infusion,
175
175
  MaverickV1,
@@ -1954,7 +1954,7 @@ export const Holders: {
1954
1954
  USDCe: '0xA67EFB69A4f58F568aAB1b9d51110102985835b0',
1955
1955
  USDCn: '0x4B6f17856215eab57c29ebfA18B0a0F74A3627bb',
1956
1956
  USDM: '0x57F5E098CaD7A3D1Eed53991D4d66C45C9AF7812',
1957
- wUSDM: '0x76272a79F7e529247b663fC8857BD69244b0d412',
1957
+ wUSDM: '0xC98D785ECEEa2b074fffc24F682c8AD9fA2D9D8d',
1958
1958
  TRYB: '0xD05007f1BD1304bFAEb370Ec5EbD18fD02a581e6',
1959
1959
  },
1960
1960
  [Network.FANTOM]: {
package/.idea/aws.xml DELETED
@@ -1,17 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="accountSettings">
4
- <option name="activeProfile" value="profile:default" />
5
- <option name="activeRegion" value="us-east-1" />
6
- <option name="recentlyUsedProfiles">
7
- <list>
8
- <option value="profile:default" />
9
- </list>
10
- </option>
11
- <option name="recentlyUsedRegions">
12
- <list>
13
- <option value="us-east-1" />
14
- </list>
15
- </option>
16
- </component>
17
- </project>
@@ -1,19 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <code_scheme name="Project" version="173">
3
- <ScalaCodeStyleSettings>
4
- <option name="MULTILINE_STRING_CLOSING_QUOTES_ON_NEW_LINE" value="true" />
5
- </ScalaCodeStyleSettings>
6
- <TypeScriptCodeStyleSettings version="0">
7
- <option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACKETS" value="true" />
8
- <option name="USE_DOUBLE_QUOTES" value="false" />
9
- <option name="SPACES_WITHIN_IMPORTS" value="true" />
10
- </TypeScriptCodeStyleSettings>
11
- <codeStyleSettings language="TypeScript">
12
- <indentOptions>
13
- <option name="INDENT_SIZE" value="2" />
14
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
15
- <option name="TAB_SIZE" value="2" />
16
- </indentOptions>
17
- </codeStyleSettings>
18
- </code_scheme>
19
- </component>
@@ -1,5 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <state>
3
- <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
4
- </state>
5
- </component>
package/.idea/misc.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectRootManager">
4
- <output url="file://$PROJECT_DIR$/out" />
5
- </component>
6
- </project>
package/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" filepath="$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,9 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="JAVA_MODULE" version="4">
3
- <component name="NewModuleRootManager" inherit-compiler-output="true">
4
- <exclude-output />
5
- <content url="file://$MODULE_DIR$" />
6
- <orderEntry type="inheritedJdk" />
7
- <orderEntry type="sourceFolder" forTests="false" />
8
- </component>
9
- </module>
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PrettierConfiguration">
4
- <option name="myRunOnSave" value="true" />
5
- <option name="myRunOnReformat" value="true" />
6
- </component>
7
- </project>
package/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
5
- </component>
6
- </project>
@@ -1,333 +0,0 @@
1
- [
2
- {
3
- "inputs": [],
4
- "stateMutability": "nonpayable",
5
- "type": "constructor"
6
- },
7
- {
8
- "anonymous": false,
9
- "inputs": [
10
- {
11
- "indexed": false,
12
- "internalType": "address",
13
- "name": "owner",
14
- "type": "address"
15
- }
16
- ],
17
- "name": "OwnerSet",
18
- "type": "event"
19
- },
20
- {
21
- "anonymous": false,
22
- "inputs": [
23
- {
24
- "indexed": true,
25
- "internalType": "address",
26
- "name": "token0",
27
- "type": "address"
28
- },
29
- {
30
- "indexed": true,
31
- "internalType": "address",
32
- "name": "token1",
33
- "type": "address"
34
- },
35
- {
36
- "indexed": false,
37
- "internalType": "address",
38
- "name": "pair",
39
- "type": "address"
40
- },
41
- {
42
- "indexed": false,
43
- "internalType": "uint256",
44
- "name": "",
45
- "type": "uint256"
46
- }
47
- ],
48
- "name": "PairCreated",
49
- "type": "event"
50
- },
51
- {
52
- "inputs": [
53
- {
54
- "internalType": "uint256",
55
- "name": "",
56
- "type": "uint256"
57
- }
58
- ],
59
- "name": "allPairs",
60
- "outputs": [
61
- {
62
- "internalType": "address",
63
- "name": "",
64
- "type": "address"
65
- }
66
- ],
67
- "stateMutability": "view",
68
- "type": "function"
69
- },
70
- {
71
- "inputs": [],
72
- "name": "allPairsLength",
73
- "outputs": [
74
- {
75
- "internalType": "uint256",
76
- "name": "",
77
- "type": "uint256"
78
- }
79
- ],
80
- "stateMutability": "view",
81
- "type": "function"
82
- },
83
- {
84
- "inputs": [
85
- {
86
- "internalType": "address",
87
- "name": "tokenA",
88
- "type": "address"
89
- },
90
- {
91
- "internalType": "address",
92
- "name": "tokenB",
93
- "type": "address"
94
- },
95
- {
96
- "internalType": "address",
97
- "name": "to",
98
- "type": "address"
99
- }
100
- ],
101
- "name": "collect",
102
- "outputs": [],
103
- "stateMutability": "nonpayable",
104
- "type": "function"
105
- },
106
- {
107
- "inputs": [
108
- {
109
- "internalType": "address",
110
- "name": "tokenA",
111
- "type": "address"
112
- },
113
- {
114
- "internalType": "address",
115
- "name": "tokenB",
116
- "type": "address"
117
- },
118
- {
119
- "internalType": "address",
120
- "name": "oracle",
121
- "type": "address"
122
- },
123
- {
124
- "internalType": "address",
125
- "name": "trader",
126
- "type": "address"
127
- }
128
- ],
129
- "name": "createPair",
130
- "outputs": [
131
- {
132
- "internalType": "address",
133
- "name": "pair",
134
- "type": "address"
135
- }
136
- ],
137
- "stateMutability": "nonpayable",
138
- "type": "function"
139
- },
140
- {
141
- "inputs": [
142
- {
143
- "internalType": "address",
144
- "name": "",
145
- "type": "address"
146
- },
147
- {
148
- "internalType": "address",
149
- "name": "",
150
- "type": "address"
151
- }
152
- ],
153
- "name": "getPair",
154
- "outputs": [
155
- {
156
- "internalType": "address",
157
- "name": "",
158
- "type": "address"
159
- }
160
- ],
161
- "stateMutability": "view",
162
- "type": "function"
163
- },
164
- {
165
- "inputs": [],
166
- "name": "owner",
167
- "outputs": [
168
- {
169
- "internalType": "address",
170
- "name": "",
171
- "type": "address"
172
- }
173
- ],
174
- "stateMutability": "view",
175
- "type": "function"
176
- },
177
- {
178
- "inputs": [
179
- {
180
- "internalType": "address",
181
- "name": "tokenA",
182
- "type": "address"
183
- },
184
- {
185
- "internalType": "address",
186
- "name": "tokenB",
187
- "type": "address"
188
- },
189
- {
190
- "internalType": "uint256",
191
- "name": "fee",
192
- "type": "uint256"
193
- }
194
- ],
195
- "name": "setBurnFee",
196
- "outputs": [],
197
- "stateMutability": "nonpayable",
198
- "type": "function"
199
- },
200
- {
201
- "inputs": [
202
- {
203
- "internalType": "address",
204
- "name": "tokenA",
205
- "type": "address"
206
- },
207
- {
208
- "internalType": "address",
209
- "name": "tokenB",
210
- "type": "address"
211
- },
212
- {
213
- "internalType": "uint256",
214
- "name": "fee",
215
- "type": "uint256"
216
- }
217
- ],
218
- "name": "setMintFee",
219
- "outputs": [],
220
- "stateMutability": "nonpayable",
221
- "type": "function"
222
- },
223
- {
224
- "inputs": [
225
- {
226
- "internalType": "address",
227
- "name": "tokenA",
228
- "type": "address"
229
- },
230
- {
231
- "internalType": "address",
232
- "name": "tokenB",
233
- "type": "address"
234
- },
235
- {
236
- "internalType": "address",
237
- "name": "oracle",
238
- "type": "address"
239
- }
240
- ],
241
- "name": "setOracle",
242
- "outputs": [],
243
- "stateMutability": "nonpayable",
244
- "type": "function"
245
- },
246
- {
247
- "inputs": [
248
- {
249
- "internalType": "address",
250
- "name": "_owner",
251
- "type": "address"
252
- }
253
- ],
254
- "name": "setOwner",
255
- "outputs": [],
256
- "stateMutability": "nonpayable",
257
- "type": "function"
258
- },
259
- {
260
- "inputs": [
261
- {
262
- "internalType": "address",
263
- "name": "tokenA",
264
- "type": "address"
265
- },
266
- {
267
- "internalType": "address",
268
- "name": "tokenB",
269
- "type": "address"
270
- },
271
- {
272
- "internalType": "uint256",
273
- "name": "fee",
274
- "type": "uint256"
275
- }
276
- ],
277
- "name": "setSwapFee",
278
- "outputs": [],
279
- "stateMutability": "nonpayable",
280
- "type": "function"
281
- },
282
- {
283
- "inputs": [
284
- {
285
- "internalType": "address",
286
- "name": "tokenA",
287
- "type": "address"
288
- },
289
- {
290
- "internalType": "address",
291
- "name": "tokenB",
292
- "type": "address"
293
- },
294
- {
295
- "internalType": "address",
296
- "name": "trader",
297
- "type": "address"
298
- }
299
- ],
300
- "name": "setTrader",
301
- "outputs": [],
302
- "stateMutability": "nonpayable",
303
- "type": "function"
304
- },
305
- {
306
- "inputs": [
307
- {
308
- "internalType": "address",
309
- "name": "tokenA",
310
- "type": "address"
311
- },
312
- {
313
- "internalType": "address",
314
- "name": "tokenB",
315
- "type": "address"
316
- },
317
- {
318
- "internalType": "uint256",
319
- "name": "amount",
320
- "type": "uint256"
321
- },
322
- {
323
- "internalType": "address",
324
- "name": "to",
325
- "type": "address"
326
- }
327
- ],
328
- "name": "withdraw",
329
- "outputs": [],
330
- "stateMutability": "nonpayable",
331
- "type": "function"
332
- }
333
- ]