@paraswap/dex-lib 2.41.0 → 2.41.1-add-usdfi

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 (216) 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/{ramses-v2 → 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/my-test-dex/my-test-dex-pool.d.ts +39 -0
  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/my-test-dex/my-test-dex.d.ts +37 -0
  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/{pancakeswap-v3 → 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/solidly.js +1 -0
  38. package/build/dex/solidly/solidly.js.map +1 -1
  39. package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
  40. package/build/dex/uniswap-v3/uniswap-v3.js +1 -1
  41. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  42. package/package.json +1 -1
  43. package/scripts/dex-integration.ts +1 -1
  44. package/src/dex/algebra/algebra-e2e.test.ts +1 -1
  45. package/src/dex/dexalot/constants.ts +2 -1
  46. package/src/dex/dexalot/dexalot-e2e.test.ts +9 -9
  47. package/src/dex/dexalot/dexalot.ts +59 -34
  48. package/src/dex/dexalot/rate-fetcher.ts +1 -1
  49. package/src/dex/index.ts +2 -0
  50. package/src/dex/solidly/config.ts +13 -1
  51. package/src/dex/solidly/forks-override/chronos.ts +93 -68
  52. package/src/dex/solidly/forks-override/usdfi.ts +10 -0
  53. package/src/dex/solidly/solidly-e2e.test.ts +20 -0
  54. package/src/dex/solidly/solidly-integration.test.ts +189 -0
  55. package/src/dex/solidly/solidly.ts +1 -0
  56. package/src/dex/swaap-v2/swaap-v2.ts +5 -2
  57. package/src/dex/uniswap-v3/uniswap-v3.ts +1 -1
  58. package/tests/constants-e2e.ts +15 -0
  59. package/.idea/aws.xml +0 -17
  60. package/.idea/codeStyles/Project.xml +0 -19
  61. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  62. package/.idea/misc.xml +0 -6
  63. package/.idea/modules.xml +0 -8
  64. package/.idea/paraswap-dex-lib.iml +0 -9
  65. package/.idea/vcs.xml +0 -6
  66. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  67. package/build/abi/curve-v1/StableSwapFRXETH.json +0 -889
  68. package/build/abi/curve-v1/StableSwapWBETH.json +0 -1223
  69. package/build/abi/sushiswap-v3/QuoterV2.json +0 -267
  70. package/build/abi/sushiswap-v3/RouterProcessor3.json +0 -289
  71. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  72. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +0 -285
  73. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +0 -583
  74. package/build/abi/wBETH.json +0 -1527
  75. package/build/abi/woo-fi/WooFeeManager.abi.json +0 -318
  76. package/build/abi/woo-fi/WooPP.abi.json +0 -548
  77. package/build/abi/woo-fi/Wooracle.abi.json +0 -260
  78. package/build/dex/aave-v3/tokens/arbitrum.json +0 -50
  79. package/build/dex/aave-v3/tokens/avalanche.json +0 -74
  80. package/build/dex/aave-v3/tokens/fantom.json +0 -62
  81. package/build/dex/aave-v3/tokens/optimism.json +0 -50
  82. package/build/dex/aave-v3/tokens/polygon.json +0 -116
  83. package/build/dex/algebra/algebra-pool.d.ts +0 -46
  84. package/build/dex/algebra/algebra-pool.js +0 -336
  85. package/build/dex/algebra/algebra-pool.js.map +0 -1
  86. package/build/dex/balancer-v2/LinearMath.d.ts +0 -19
  87. package/build/dex/balancer-v2/LinearMath.js +0 -179
  88. package/build/dex/balancer-v2/LinearMath.js.map +0 -1
  89. package/build/dex/balancer-v2/LinearPool.d.ts +0 -47
  90. package/build/dex/balancer-v2/LinearPool.js +0 -324
  91. package/build/dex/balancer-v2/LinearPool.js.map +0 -1
  92. package/build/dex/balancer-v2/PhantomStablePool.d.ts +0 -47
  93. package/build/dex/balancer-v2/PhantomStablePool.js +0 -294
  94. package/build/dex/balancer-v2/PhantomStablePool.js.map +0 -1
  95. package/build/dex/balancer-v2/StableMath.d.ts +0 -9
  96. package/build/dex/balancer-v2/StableMath.js +0 -272
  97. package/build/dex/balancer-v2/StableMath.js.map +0 -1
  98. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +0 -75
  99. package/build/dex/balancer-v2/balancer-v2-pool.js +0 -417
  100. package/build/dex/balancer-v2/balancer-v2-pool.js.map +0 -1
  101. package/build/dex/curve-v1/pools/frxETHpool.d.ts +0 -7
  102. package/build/dex/curve-v1/pools/frxETHpool.js +0 -27
  103. package/build/dex/curve-v1/pools/frxETHpool.js.map +0 -1
  104. package/build/dex/curve-v1/pools/wbETHpool.d.ts +0 -29
  105. package/build/dex/curve-v1/pools/wbETHpool.js +0 -408
  106. package/build/dex/curve-v1/pools/wbETHpool.js.map +0 -1
  107. package/build/dex/pancakeswap-v3/types.d.ts +0 -14
  108. package/build/dex/quickswap/camelot-v3.d.ts +0 -6
  109. package/build/dex/quickswap/camelot-v3.js +0 -19
  110. package/build/dex/quickswap/camelot-v3.js.map +0 -1
  111. package/build/dex/quickswap/zyberswap-v3.d.ts +0 -6
  112. package/build/dex/quickswap/zyberswap-v3.js +0 -19
  113. package/build/dex/quickswap/zyberswap-v3.js.map +0 -1
  114. package/build/dex/quickswap-v3.d.ts +0 -21
  115. package/build/dex/quickswap-v3.js +0 -40
  116. package/build/dex/quickswap-v3.js.map +0 -1
  117. package/build/dex/ramses-v2/config.js +0 -28
  118. package/build/dex/ramses-v2/config.js.map +0 -1
  119. package/build/dex/ramses-v2/constants.d.ts +0 -28
  120. package/build/dex/ramses-v2/constants.js +0 -35
  121. package/build/dex/ramses-v2/constants.js.map +0 -1
  122. package/build/dex/ramses-v2/contract-math/BitMath.d.ts +0 -4
  123. package/build/dex/ramses-v2/contract-math/BitMath.js +0 -93
  124. package/build/dex/ramses-v2/contract-math/BitMath.js.map +0 -1
  125. package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +0 -3
  126. package/build/dex/ramses-v2/contract-math/FixedPoint128.js +0 -8
  127. package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +0 -1
  128. package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +0 -4
  129. package/build/dex/ramses-v2/contract-math/FixedPoint96.js +0 -9
  130. package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +0 -1
  131. package/build/dex/ramses-v2/contract-math/FullMath.d.ts +0 -4
  132. package/build/dex/ramses-v2/contract-math/FullMath.js +0 -19
  133. package/build/dex/ramses-v2/contract-math/FullMath.js.map +0 -1
  134. package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +0 -3
  135. package/build/dex/ramses-v2/contract-math/LiquidityMath.js +0 -22
  136. package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +0 -1
  137. package/build/dex/ramses-v2/contract-math/Oracle.d.ts +0 -10
  138. package/build/dex/ramses-v2/contract-math/Oracle.js +0 -133
  139. package/build/dex/ramses-v2/contract-math/Oracle.js.map +0 -1
  140. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +0 -10
  141. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +0 -91
  142. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +0 -1
  143. package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +0 -8
  144. package/build/dex/ramses-v2/contract-math/SwapMath.js +0 -70
  145. package/build/dex/ramses-v2/contract-math/SwapMath.js.map +0 -1
  146. package/build/dex/ramses-v2/contract-math/Tick.d.ts +0 -7
  147. package/build/dex/ramses-v2/contract-math/Tick.js +0 -45
  148. package/build/dex/ramses-v2/contract-math/Tick.js.map +0 -1
  149. package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +0 -8
  150. package/build/dex/ramses-v2/contract-math/TickBitMap.js +0 -87
  151. package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +0 -1
  152. package/build/dex/ramses-v2/contract-math/TickMath.d.ts +0 -8
  153. package/build/dex/ramses-v2/contract-math/TickMath.js +0 -162
  154. package/build/dex/ramses-v2/contract-math/TickMath.js.map +0 -1
  155. package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +0 -3
  156. package/build/dex/ramses-v2/contract-math/UnsafeMath.js +0 -10
  157. package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +0 -1
  158. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +0 -18
  159. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +0 -392
  160. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +0 -1
  161. package/build/dex/ramses-v2/contract-math/utils.d.ts +0 -3
  162. package/build/dex/ramses-v2/contract-math/utils.js +0 -16
  163. package/build/dex/ramses-v2/contract-math/utils.js.map +0 -1
  164. package/build/dex/ramses-v2/ramses-v2-pool.d.ts +0 -42
  165. package/build/dex/ramses-v2/ramses-v2-pool.js +0 -307
  166. package/build/dex/ramses-v2/ramses-v2-pool.js.map +0 -1
  167. package/build/dex/ramses-v2/ramses-v2.d.ts +0 -61
  168. package/build/dex/ramses-v2/ramses-v2.js +0 -690
  169. package/build/dex/ramses-v2/ramses-v2.js.map +0 -1
  170. package/build/dex/ramses-v2/types.d.ts +0 -154
  171. package/build/dex/ramses-v2/types.js +0 -9
  172. package/build/dex/ramses-v2/types.js.map +0 -1
  173. package/build/dex/ramses-v2/utils.d.ts +0 -6
  174. package/build/dex/ramses-v2/utils.js +0 -71
  175. package/build/dex/ramses-v2/utils.js.map +0 -1
  176. package/build/dex/sushiswap-v3/config.d.ts +0 -4
  177. package/build/dex/sushiswap-v3/config.js +0 -132
  178. package/build/dex/sushiswap-v3/config.js.map +0 -1
  179. package/build/dex/sushiswap-v3/constants.d.ts +0 -4
  180. package/build/dex/sushiswap-v3/constants.js +0 -32
  181. package/build/dex/sushiswap-v3/constants.js.map +0 -1
  182. package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +0 -56
  183. package/build/dex/sushiswap-v3/sushiswap-v3-original.js +0 -598
  184. package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +0 -1
  185. package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +0 -1
  186. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +0 -6
  187. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +0 -1
  188. package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +0 -21
  189. package/build/dex/sushiswap-v3/sushiswap-v3.js +0 -58
  190. package/build/dex/sushiswap-v3/sushiswap-v3.js.map +0 -1
  191. package/build/dex/sushiswap-v3/token.d.ts +0 -6
  192. package/build/dex/sushiswap-v3/token.js +0 -23
  193. package/build/dex/sushiswap-v3/token.js.map +0 -1
  194. package/build/dex/sushiswap-v3/types.d.ts +0 -15
  195. package/build/dex/sushiswap-v3/types.js +0 -18
  196. package/build/dex/sushiswap-v3/types.js.map +0 -1
  197. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +0 -12
  198. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +0 -23
  199. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +0 -1
  200. package/build/dex/woo-fi/config.js +0 -141
  201. package/build/dex/woo-fi/config.js.map +0 -1
  202. package/build/dex/woo-fi/constants.d.ts +0 -5
  203. package/build/dex/woo-fi/constants.js +0 -20
  204. package/build/dex/woo-fi/constants.js.map +0 -1
  205. package/build/dex/woo-fi/types.d.ts +0 -48
  206. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +0 -14
  207. package/build/dex/woo-fi/woo-fi-decimal-math.js +0 -42
  208. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +0 -1
  209. package/build/dex/woo-fi/woo-fi-math.d.ts +0 -31
  210. package/build/dex/woo-fi/woo-fi-math.js +0 -300
  211. package/build/dex/woo-fi/woo-fi-math.js.map +0 -1
  212. package/build/dex/woo-fi/woo-fi.d.ts +0 -65
  213. package/build/dex/woo-fi/woo-fi.js +0 -480
  214. package/build/dex/woo-fi/woo-fi.js.map +0 -1
  215. /package/build/dex/{pancakeswap-v3 → hello}/types.js +0 -0
  216. /package/build/dex/{woo-fi → my-test-dex}/types.js +0 -0
@@ -1126,6 +1126,26 @@ describe('Solidly E2E', () => {
1126
1126
  }),
1127
1127
  );
1128
1128
  });
1129
+
1130
+ describe('Usdfi', () => {
1131
+ const dexKey = 'Usdfi';
1132
+ const tokenASymbol: string = 'FRAX';
1133
+ const tokenBSymbol: string = 'frxETH';
1134
+
1135
+ const tokenAAmount: string = '100000000000000000';
1136
+ const tokenBAmount: string = '1111100000';
1137
+ const nativeTokenAmount = '100000000000000000';
1138
+
1139
+ testForNetwork(
1140
+ network,
1141
+ dexKey,
1142
+ tokenASymbol,
1143
+ tokenBSymbol,
1144
+ tokenAAmount,
1145
+ tokenBAmount,
1146
+ nativeTokenAmount,
1147
+ );
1148
+ });
1129
1149
  });
1130
1150
 
1131
1151
  describe('Avalanche', () => {
@@ -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 { Fvm } from './forks-override/fvm';
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', () => {
@@ -76,6 +76,7 @@ export class Solidly extends UniswapV2 {
76
76
  'Ramses',
77
77
  'Equalizer',
78
78
  'Fvm',
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
  );
@@ -542,7 +542,7 @@ export class UniswapV3
542
542
  tokenIn: from.address,
543
543
  tokenOut: to.address,
544
544
  fee: pool.feeCodeAsString,
545
- currentFee: states[index].fee.toString(),
545
+ currentFee: states[index]?.fee.toString(),
546
546
  },
547
547
  ],
548
548
  exchange: pool.poolAddress,
@@ -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>