@paraswap/dex-lib 2.41.3 → 2.41.4

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 (233) hide show
  1. package/build/dex/dexalot/constants.js.map +1 -1
  2. package/build/dex/dexalot/dexalot.js +18 -10
  3. package/build/dex/dexalot/dexalot.js.map +1 -1
  4. package/build/dex/dexalot/rate-fetcher.js +1 -1
  5. package/build/dex/dexalot/rate-fetcher.js.map +1 -1
  6. package/build/dex/{woo-fi → hello}/config.d.ts +1 -1
  7. package/build/dex/hello/config.js +15 -0
  8. package/build/dex/hello/config.js.map +1 -0
  9. package/build/dex/hello/hello-pool.d.ts +39 -0
  10. package/build/dex/hello/hello-pool.js +64 -0
  11. package/build/dex/hello/hello-pool.js.map +1 -0
  12. package/build/dex/hello/hello.d.ts +37 -0
  13. package/build/dex/hello/hello.js +126 -0
  14. package/build/dex/hello/hello.js.map +1 -0
  15. package/build/dex/hello/types.d.ts +6 -0
  16. package/build/dex/{woo-fi → hello}/types.js.map +1 -1
  17. package/build/dex/index.js +2 -0
  18. package/build/dex/index.js.map +1 -1
  19. package/build/dex/{lighter-v1 → my-test-dex}/config.d.ts +1 -1
  20. package/build/dex/my-test-dex/config.js +15 -0
  21. package/build/dex/my-test-dex/config.js.map +1 -0
  22. package/build/dex/{lighter-v1/lighter-v1-pool.d.ts → my-test-dex/my-test-dex-pool.d.ts} +6 -24
  23. package/build/dex/my-test-dex/my-test-dex-pool.js +64 -0
  24. package/build/dex/my-test-dex/my-test-dex-pool.js.map +1 -0
  25. package/build/dex/{lighter-v1/lighter-v1.d.ts → my-test-dex/my-test-dex.d.ts} +10 -18
  26. package/build/dex/my-test-dex/my-test-dex.js +126 -0
  27. package/build/dex/my-test-dex/my-test-dex.js.map +1 -0
  28. package/build/dex/my-test-dex/types.d.ts +6 -0
  29. package/build/dex/{lighter-v1 → my-test-dex}/types.js.map +1 -1
  30. package/build/dex/solidly/config.js +11 -1
  31. package/build/dex/solidly/config.js.map +1 -1
  32. package/build/dex/solidly/forks-override/chronos.js +10 -3
  33. package/build/dex/solidly/forks-override/chronos.js.map +1 -1
  34. package/build/dex/solidly/forks-override/usdfi.d.ts +8 -0
  35. package/build/dex/solidly/forks-override/usdfi.js +15 -0
  36. package/build/dex/solidly/forks-override/usdfi.js.map +1 -0
  37. package/build/dex/solidly/forks-override/velocimeter.js +6 -2
  38. package/build/dex/solidly/forks-override/velocimeter.js.map +1 -1
  39. package/build/dex/solidly/solidly.js +1 -0
  40. package/build/dex/solidly/solidly.js.map +1 -1
  41. package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/dex/algebra/algebra-e2e.test.ts +1 -1
  44. package/src/dex/dexalot/constants.ts +2 -1
  45. package/src/dex/dexalot/dexalot-e2e.test.ts +9 -9
  46. package/src/dex/dexalot/dexalot.ts +59 -34
  47. package/src/dex/dexalot/rate-fetcher.ts +1 -1
  48. package/src/dex/index.ts +2 -0
  49. package/src/dex/solidly/config.ts +13 -1
  50. package/src/dex/solidly/forks-override/chronos.ts +93 -68
  51. package/src/dex/solidly/forks-override/usdfi.ts +10 -0
  52. package/src/dex/solidly/forks-override/velocimeter.ts +6 -2
  53. package/src/dex/solidly/solidly-e2e.test.ts +20 -0
  54. package/src/dex/solidly/solidly-integration.test.ts +189 -1
  55. package/src/dex/solidly/solidly.ts +1 -0
  56. package/src/dex/swaap-v2/swaap-v2.ts +5 -2
  57. package/tests/constants-e2e.ts +15 -0
  58. package/.idea/aws.xml +0 -17
  59. package/.idea/codeStyles/Project.xml +0 -19
  60. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  61. package/.idea/misc.xml +0 -6
  62. package/.idea/modules.xml +0 -8
  63. package/.idea/paraswap-dex-lib.iml +0 -9
  64. package/.idea/vcs.xml +0 -6
  65. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  66. package/build/abi/curve-v1/StableSwapFRXETH.json +0 -889
  67. package/build/abi/curve-v1/StableSwapWBETH.json +0 -1223
  68. package/build/abi/sushiswap-v3/QuoterV2.json +0 -267
  69. package/build/abi/sushiswap-v3/RouterProcessor3.json +0 -289
  70. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  71. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +0 -285
  72. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +0 -583
  73. package/build/abi/wBETH.json +0 -1527
  74. package/build/abi/woo-fi/WooFeeManager.abi.json +0 -318
  75. package/build/abi/woo-fi/WooPP.abi.json +0 -548
  76. package/build/abi/woo-fi/Wooracle.abi.json +0 -260
  77. package/build/dex/aave-v3/tokens/arbitrum.json +0 -50
  78. package/build/dex/aave-v3/tokens/avalanche.json +0 -74
  79. package/build/dex/aave-v3/tokens/fantom.json +0 -62
  80. package/build/dex/aave-v3/tokens/optimism.json +0 -50
  81. package/build/dex/aave-v3/tokens/polygon.json +0 -116
  82. package/build/dex/algebra/algebra-pool.d.ts +0 -46
  83. package/build/dex/algebra/algebra-pool.js +0 -336
  84. package/build/dex/algebra/algebra-pool.js.map +0 -1
  85. package/build/dex/balancer-v2/LinearMath.d.ts +0 -19
  86. package/build/dex/balancer-v2/LinearMath.js +0 -179
  87. package/build/dex/balancer-v2/LinearMath.js.map +0 -1
  88. package/build/dex/balancer-v2/LinearPool.d.ts +0 -47
  89. package/build/dex/balancer-v2/LinearPool.js +0 -324
  90. package/build/dex/balancer-v2/LinearPool.js.map +0 -1
  91. package/build/dex/balancer-v2/PhantomStablePool.d.ts +0 -47
  92. package/build/dex/balancer-v2/PhantomStablePool.js +0 -294
  93. package/build/dex/balancer-v2/PhantomStablePool.js.map +0 -1
  94. package/build/dex/balancer-v2/StableMath.d.ts +0 -9
  95. package/build/dex/balancer-v2/StableMath.js +0 -272
  96. package/build/dex/balancer-v2/StableMath.js.map +0 -1
  97. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +0 -75
  98. package/build/dex/balancer-v2/balancer-v2-pool.js +0 -417
  99. package/build/dex/balancer-v2/balancer-v2-pool.js.map +0 -1
  100. package/build/dex/curve-v1/pools/frxETHpool.d.ts +0 -7
  101. package/build/dex/curve-v1/pools/frxETHpool.js +0 -27
  102. package/build/dex/curve-v1/pools/frxETHpool.js.map +0 -1
  103. package/build/dex/curve-v1/pools/wbETHpool.d.ts +0 -29
  104. package/build/dex/curve-v1/pools/wbETHpool.js +0 -408
  105. package/build/dex/curve-v1/pools/wbETHpool.js.map +0 -1
  106. package/build/dex/lighter-v1/abi/erc20.json +0 -222
  107. package/build/dex/lighter-v1/abi/factory.json +0 -291
  108. package/build/dex/lighter-v1/abi/order_book.json +0 -594
  109. package/build/dex/lighter-v1/abi/order_book_helper.json +0 -176
  110. package/build/dex/lighter-v1/abi/router.json +0 -488
  111. package/build/dex/lighter-v1/config.js +0 -17
  112. package/build/dex/lighter-v1/config.js.map +0 -1
  113. package/build/dex/lighter-v1/constants.d.ts +0 -2
  114. package/build/dex/lighter-v1/constants.js +0 -13
  115. package/build/dex/lighter-v1/constants.js.map +0 -1
  116. package/build/dex/lighter-v1/lighter-v1-pool.js +0 -310
  117. package/build/dex/lighter-v1/lighter-v1-pool.js.map +0 -1
  118. package/build/dex/lighter-v1/lighter-v1.js +0 -331
  119. package/build/dex/lighter-v1/lighter-v1.js.map +0 -1
  120. package/build/dex/lighter-v1/types.d.ts +0 -40
  121. package/build/dex/pancakeswap-v3/types.d.ts +0 -14
  122. package/build/dex/pancakeswap-v3/types.js.map +0 -1
  123. package/build/dex/quickswap/camelot-v3.d.ts +0 -6
  124. package/build/dex/quickswap/camelot-v3.js +0 -19
  125. package/build/dex/quickswap/camelot-v3.js.map +0 -1
  126. package/build/dex/quickswap/zyberswap-v3.d.ts +0 -6
  127. package/build/dex/quickswap/zyberswap-v3.js +0 -19
  128. package/build/dex/quickswap/zyberswap-v3.js.map +0 -1
  129. package/build/dex/quickswap-v3.d.ts +0 -21
  130. package/build/dex/quickswap-v3.js +0 -40
  131. package/build/dex/quickswap-v3.js.map +0 -1
  132. package/build/dex/ramses-v2/config.d.ts +0 -4
  133. package/build/dex/ramses-v2/config.js +0 -28
  134. package/build/dex/ramses-v2/config.js.map +0 -1
  135. package/build/dex/ramses-v2/constants.d.ts +0 -28
  136. package/build/dex/ramses-v2/constants.js +0 -35
  137. package/build/dex/ramses-v2/constants.js.map +0 -1
  138. package/build/dex/ramses-v2/contract-math/BitMath.d.ts +0 -4
  139. package/build/dex/ramses-v2/contract-math/BitMath.js +0 -93
  140. package/build/dex/ramses-v2/contract-math/BitMath.js.map +0 -1
  141. package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +0 -3
  142. package/build/dex/ramses-v2/contract-math/FixedPoint128.js +0 -8
  143. package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +0 -1
  144. package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +0 -4
  145. package/build/dex/ramses-v2/contract-math/FixedPoint96.js +0 -9
  146. package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +0 -1
  147. package/build/dex/ramses-v2/contract-math/FullMath.d.ts +0 -4
  148. package/build/dex/ramses-v2/contract-math/FullMath.js +0 -19
  149. package/build/dex/ramses-v2/contract-math/FullMath.js.map +0 -1
  150. package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +0 -3
  151. package/build/dex/ramses-v2/contract-math/LiquidityMath.js +0 -22
  152. package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +0 -1
  153. package/build/dex/ramses-v2/contract-math/Oracle.d.ts +0 -10
  154. package/build/dex/ramses-v2/contract-math/Oracle.js +0 -133
  155. package/build/dex/ramses-v2/contract-math/Oracle.js.map +0 -1
  156. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +0 -10
  157. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +0 -91
  158. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +0 -1
  159. package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +0 -8
  160. package/build/dex/ramses-v2/contract-math/SwapMath.js +0 -70
  161. package/build/dex/ramses-v2/contract-math/SwapMath.js.map +0 -1
  162. package/build/dex/ramses-v2/contract-math/Tick.d.ts +0 -7
  163. package/build/dex/ramses-v2/contract-math/Tick.js +0 -45
  164. package/build/dex/ramses-v2/contract-math/Tick.js.map +0 -1
  165. package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +0 -8
  166. package/build/dex/ramses-v2/contract-math/TickBitMap.js +0 -87
  167. package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +0 -1
  168. package/build/dex/ramses-v2/contract-math/TickMath.d.ts +0 -8
  169. package/build/dex/ramses-v2/contract-math/TickMath.js +0 -162
  170. package/build/dex/ramses-v2/contract-math/TickMath.js.map +0 -1
  171. package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +0 -3
  172. package/build/dex/ramses-v2/contract-math/UnsafeMath.js +0 -10
  173. package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +0 -1
  174. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +0 -18
  175. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +0 -392
  176. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +0 -1
  177. package/build/dex/ramses-v2/contract-math/utils.d.ts +0 -3
  178. package/build/dex/ramses-v2/contract-math/utils.js +0 -16
  179. package/build/dex/ramses-v2/contract-math/utils.js.map +0 -1
  180. package/build/dex/ramses-v2/ramses-v2-pool.d.ts +0 -42
  181. package/build/dex/ramses-v2/ramses-v2-pool.js +0 -307
  182. package/build/dex/ramses-v2/ramses-v2-pool.js.map +0 -1
  183. package/build/dex/ramses-v2/ramses-v2.d.ts +0 -61
  184. package/build/dex/ramses-v2/ramses-v2.js +0 -690
  185. package/build/dex/ramses-v2/ramses-v2.js.map +0 -1
  186. package/build/dex/ramses-v2/types.d.ts +0 -154
  187. package/build/dex/ramses-v2/types.js +0 -9
  188. package/build/dex/ramses-v2/types.js.map +0 -1
  189. package/build/dex/ramses-v2/utils.d.ts +0 -6
  190. package/build/dex/ramses-v2/utils.js +0 -71
  191. package/build/dex/ramses-v2/utils.js.map +0 -1
  192. package/build/dex/sushiswap-v3/config.d.ts +0 -4
  193. package/build/dex/sushiswap-v3/config.js +0 -132
  194. package/build/dex/sushiswap-v3/config.js.map +0 -1
  195. package/build/dex/sushiswap-v3/constants.d.ts +0 -4
  196. package/build/dex/sushiswap-v3/constants.js +0 -32
  197. package/build/dex/sushiswap-v3/constants.js.map +0 -1
  198. package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +0 -56
  199. package/build/dex/sushiswap-v3/sushiswap-v3-original.js +0 -598
  200. package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +0 -1
  201. package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +0 -1
  202. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +0 -6
  203. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +0 -1
  204. package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +0 -21
  205. package/build/dex/sushiswap-v3/sushiswap-v3.js +0 -58
  206. package/build/dex/sushiswap-v3/sushiswap-v3.js.map +0 -1
  207. package/build/dex/sushiswap-v3/token.d.ts +0 -6
  208. package/build/dex/sushiswap-v3/token.js +0 -23
  209. package/build/dex/sushiswap-v3/token.js.map +0 -1
  210. package/build/dex/sushiswap-v3/types.d.ts +0 -15
  211. package/build/dex/sushiswap-v3/types.js +0 -18
  212. package/build/dex/sushiswap-v3/types.js.map +0 -1
  213. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +0 -12
  214. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +0 -23
  215. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +0 -1
  216. package/build/dex/woo-fi/config.js +0 -141
  217. package/build/dex/woo-fi/config.js.map +0 -1
  218. package/build/dex/woo-fi/constants.d.ts +0 -5
  219. package/build/dex/woo-fi/constants.js +0 -20
  220. package/build/dex/woo-fi/constants.js.map +0 -1
  221. package/build/dex/woo-fi/types.d.ts +0 -48
  222. package/build/dex/woo-fi/types.js +0 -3
  223. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +0 -14
  224. package/build/dex/woo-fi/woo-fi-decimal-math.js +0 -42
  225. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +0 -1
  226. package/build/dex/woo-fi/woo-fi-math.d.ts +0 -31
  227. package/build/dex/woo-fi/woo-fi-math.js +0 -300
  228. package/build/dex/woo-fi/woo-fi-math.js.map +0 -1
  229. package/build/dex/woo-fi/woo-fi.d.ts +0 -65
  230. package/build/dex/woo-fi/woo-fi.js +0 -480
  231. package/build/dex/woo-fi/woo-fi.js.map +0 -1
  232. /package/build/dex/{lighter-v1 → hello}/types.js +0 -0
  233. /package/build/dex/{pancakeswap-v3 → my-test-dex}/types.js +0 -0
@@ -18,6 +18,7 @@ import * as util from 'util';
18
18
  import { VelodromeV2 } from './forks-override/velodromeV2';
19
19
  import { Equalizer } from './forks-override/equalizer';
20
20
  import { Velocimeter } from './forks-override/velocimeter';
21
+ import { Usdfi } from './forks-override/usdfi';
21
22
 
22
23
  const amounts18 = [0n, BI_POWS[18], 2000000000000000000n];
23
24
  const amounts6 = [0n, BI_POWS[6], 2000000n];
@@ -976,6 +977,194 @@ describe('Solidly integration tests', () => {
976
977
  });
977
978
  });
978
979
  });
980
+
981
+ describe('Usdfi', function () {
982
+ const dexKey = 'Usdfi';
983
+ const usdfi = new Usdfi(network, dexKey, dexHelper);
984
+
985
+ describe('UniswapV2 like pool', function () {
986
+ const TokenASymbol = 'USDFI';
987
+ const tokenA = Tokens[network][TokenASymbol];
988
+ const TokenBSymbol = 'USDT';
989
+ const tokenB = Tokens[network][TokenBSymbol];
990
+
991
+ const amounts = amounts18;
992
+
993
+ it('getPoolIdentifiers and getPricesVolume', async function () {
994
+ const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
995
+ const pools = await usdfi.getPoolIdentifiers(
996
+ tokenA,
997
+ tokenB,
998
+ SwapSide.SELL,
999
+ blocknumber,
1000
+ );
1001
+ console.log(
1002
+ `${TokenASymbol} <> ${TokenBSymbol} Pool Identifiers: `,
1003
+ pools,
1004
+ );
1005
+
1006
+ expect(pools.length).toBeGreaterThan(0);
1007
+
1008
+ const poolPrices = await usdfi.getPricesVolume(
1009
+ tokenA,
1010
+ tokenB,
1011
+ amounts,
1012
+ SwapSide.SELL,
1013
+ blocknumber,
1014
+ pools,
1015
+ );
1016
+ console.log(
1017
+ `${TokenASymbol} <> ${TokenBSymbol} Pool Prices: `,
1018
+ poolPrices,
1019
+ );
1020
+
1021
+ expect(poolPrices).not.toBeNull();
1022
+ checkPoolPrices(poolPrices!, amounts, SwapSide.SELL, dexKey);
1023
+
1024
+ // Check if onchain pricing equals to calculated ones
1025
+
1026
+ for (const poolPrice of poolPrices || []) {
1027
+ await checkOnChainPricing(
1028
+ usdfi,
1029
+ 'getAmountOut',
1030
+ blocknumber,
1031
+ poolPrice.prices,
1032
+ poolPrice.poolAddresses![0],
1033
+ tokenA.address,
1034
+ amounts,
1035
+ );
1036
+ }
1037
+ });
1038
+
1039
+ it('getTopPoolsForToken', async function () {
1040
+ const poolLiquidity = await usdfi.getTopPoolsForToken(
1041
+ tokenA.address,
1042
+ 10,
1043
+ );
1044
+ console.log(`${TokenASymbol} Top Pools:`, poolLiquidity);
1045
+
1046
+ checkPoolsLiquidity(poolLiquidity, tokenA.address, dexKey);
1047
+ });
1048
+ });
1049
+
1050
+ describe('Curve like stable pool', function () {
1051
+ const TokenASymbol = 'USDT';
1052
+ const tokenA = Tokens[network][TokenASymbol];
1053
+ const TokenBSymbol = 'BUSD';
1054
+ const tokenB = Tokens[network][TokenBSymbol];
1055
+
1056
+ const amounts = amounts6;
1057
+
1058
+ it('getPoolIdentifiers and getPricesVolume', async function () {
1059
+ const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
1060
+ const pools = await usdfi.getPoolIdentifiers(
1061
+ tokenA,
1062
+ tokenB,
1063
+ SwapSide.SELL,
1064
+ blocknumber,
1065
+ );
1066
+ console.log(
1067
+ `${TokenASymbol} <> ${TokenBSymbol} Pool Identifiers: `,
1068
+ pools,
1069
+ );
1070
+
1071
+ expect(pools.length).toBeGreaterThan(0);
1072
+
1073
+ const poolPrices = await usdfi.getPricesVolume(
1074
+ tokenA,
1075
+ tokenB,
1076
+ amounts,
1077
+ SwapSide.SELL,
1078
+ blocknumber,
1079
+ pools,
1080
+ );
1081
+ console.log(
1082
+ `${TokenASymbol} <> ${TokenBSymbol} Pool Prices: `,
1083
+ poolPrices,
1084
+ );
1085
+
1086
+ expect(poolPrices).not.toBeNull();
1087
+ checkPoolPrices(poolPrices!, amounts, SwapSide.SELL, dexKey);
1088
+
1089
+ // Check if onchain pricing equals to calculated ones
1090
+ for (const poolPrice of poolPrices || []) {
1091
+ await checkOnChainPricing(
1092
+ usdfi,
1093
+ 'getAmountOut',
1094
+ blocknumber,
1095
+ poolPrice.prices,
1096
+ poolPrice.poolAddresses![0],
1097
+ tokenA.address,
1098
+ amounts,
1099
+ );
1100
+ }
1101
+ });
1102
+
1103
+ it('getTopPoolsForToken', async function () {
1104
+ const poolLiquidity = await usdfi.getTopPoolsForToken(
1105
+ tokenA.address,
1106
+ 10,
1107
+ );
1108
+ console.log(`${TokenASymbol} Top Pools:`, poolLiquidity);
1109
+
1110
+ checkPoolsLiquidity(poolLiquidity, tokenA.address, dexKey);
1111
+ });
1112
+ });
1113
+
1114
+ describe('FRAX -> frxETH', () => {
1115
+ const TokenASymbol = 'FRAX';
1116
+ const tokenA = Tokens[network][TokenASymbol];
1117
+ const TokenBSymbol = 'frxETH';
1118
+ const tokenB = Tokens[network][TokenBSymbol];
1119
+
1120
+ const amounts = amounts18;
1121
+
1122
+ it('getPoolIdentifiers and getPricesVolume', async function () {
1123
+ const blocknumber = await dexHelper.web3Provider.eth.getBlockNumber();
1124
+ const pools = await usdfi.getPoolIdentifiers(
1125
+ tokenA,
1126
+ tokenB,
1127
+ SwapSide.SELL,
1128
+ blocknumber,
1129
+ );
1130
+ console.log(
1131
+ `${TokenASymbol} <> ${TokenBSymbol} Pool Identifiers: `,
1132
+ pools,
1133
+ );
1134
+
1135
+ expect(pools.length).toBeGreaterThan(0);
1136
+
1137
+ const poolPrices = await usdfi.getPricesVolume(
1138
+ tokenA,
1139
+ tokenB,
1140
+ amounts,
1141
+ SwapSide.SELL,
1142
+ blocknumber,
1143
+ pools,
1144
+ );
1145
+ console.log(
1146
+ `${TokenASymbol} <> ${TokenBSymbol} Pool Prices: `,
1147
+ poolPrices,
1148
+ );
1149
+
1150
+ expect(poolPrices).not.toBeNull();
1151
+ checkPoolPrices(poolPrices!, amounts, SwapSide.SELL, dexKey);
1152
+
1153
+ // Check if onchain pricing equals to calculated ones
1154
+ for (const poolPrice of poolPrices || []) {
1155
+ await checkOnChainPricing(
1156
+ usdfi,
1157
+ 'getAmountOut',
1158
+ blocknumber,
1159
+ poolPrice.prices,
1160
+ poolPrice.poolAddresses![0],
1161
+ tokenA.address,
1162
+ amounts,
1163
+ );
1164
+ }
1165
+ });
1166
+ });
1167
+ });
979
1168
  });
980
1169
 
981
1170
  describe('Arbitrum', () => {
@@ -1551,7 +1740,6 @@ describe('Solidly integration tests', () => {
1551
1740
  }
1552
1741
  });
1553
1742
  });
1554
-
1555
1743
  });
1556
1744
  });
1557
1745
  });
@@ -76,6 +76,7 @@ export class Solidly extends UniswapV2 {
76
76
  'Ramses',
77
77
  'Equalizer',
78
78
  'Velocimeter',
79
+ 'Usdfi',
79
80
  ]),
80
81
  );
81
82
 
@@ -55,7 +55,10 @@ import {
55
55
  } from './constants';
56
56
  import { getPoolIdentifier, normalizeTokenAddress, getPairName } from './utils';
57
57
  import { Method } from '../../dex-helper/irequest-wrapper';
58
- import { SlippageCheckError, TooStrictSlippageCheckError } from '../generic-rfq/types';
58
+ import {
59
+ SlippageCheckError,
60
+ TooStrictSlippageCheckError,
61
+ } from '../generic-rfq/types';
59
62
  import { BI_MAX_UINT256 } from '../../bigint-constants';
60
63
 
61
64
  const BLACKLISTED = 'blacklisted';
@@ -567,7 +570,7 @@ export class SwaapV2 extends SimpleExchange implements IDex<SwaapV2Data> {
567
570
  `${this.dexKey}-${this.network}: Encountered restricted user=${options.txOrigin}. Adding to local blacklist cache`,
568
571
  );
569
572
  } else {
570
- if(e instanceof TooStrictSlippageCheckError) {
573
+ if (e instanceof TooStrictSlippageCheckError) {
571
574
  this.logger.warn(
572
575
  `${this.dexKey}-${this.network}: failed to build transaction on side ${side} with too strict slippage. Skipping restriction`,
573
576
  );
@@ -583,6 +583,18 @@ export const Tokens: {
583
583
  address: '0x4268B8F0B87b6Eae5d897996E6b845ddbD99Adf3',
584
584
  decimals: 6,
585
585
  },
586
+ FRAX: {
587
+ address: '0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40',
588
+ decimals: 18,
589
+ },
590
+ frxETH: {
591
+ address: '0x64048A7eEcF3a2F1BA9e144aAc3D7dB6e58F555e',
592
+ decimals: 18,
593
+ },
594
+ USDFI: {
595
+ address: '0x11A38e06699b238D6D9A0C7A01f3AC63a07ad318',
596
+ decimals: 18,
597
+ },
586
598
  },
587
599
  [Network.AVALANCHE]: {
588
600
  USDCe: {
@@ -1071,6 +1083,9 @@ export const Holders: {
1071
1083
  anyBTC: '0x4ffef8e8a75c20ab0ddf96c50d2457277d27923c',
1072
1084
  nUSD: '0x28ec0b36f0819ecb5005cab836f4ed5a2eca4d13',
1073
1085
  axlUSD: '0xc03fbeda9069b22a120ae6a09349a0b5eea5570a',
1086
+ FRAX: '0xEB4576fE753DAB07635c0Bb6c8f0A355e1Db5d31',
1087
+ frxETH: '0xf324adC872005197A6f7DAE214d3b63aa0C3625F',
1088
+ USDFI: '0x2E00D722e091836B39Db3e4dcE6eE51c90c5B221',
1074
1089
  },
1075
1090
  [Network.AVALANCHE]: {
1076
1091
  AVAX: '0xD6216fC19DB775Df9774a6E33526131dA7D19a2c',
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>
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>