@paraswap/dex-lib 3.9.7-fluid-dex.0 → 3.9.7-fluid-dex.2

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.
@@ -10,7 +10,6 @@ exports.FluidDexConfig = {
10
10
  resolver: '0xE8a07a32489BD9d5a00f01A55749Cf5cB854Fd13',
11
11
  dexFactory: '0x91716C4EDA1Fb55e84Bf8b4c7085f84285c19085',
12
12
  },
13
- pools: [],
14
13
  },
15
14
  },
16
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,cAAc,GAA4B;IACrD,QAAQ,EAAE;QACR,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,eAAe,EAAE;gBACf,cAAc,EAAE,4CAA4C;gBAC5D,QAAQ,EAAE,4CAA4C;gBACtD,UAAU,EAAE,4CAA4C;aACzD;YACD,KAAK,EAAE,EAAE;SACV;KACF;CACF,CAAC;AAEF,mGAAmG;AACnG,kGAAkG;AAClG,2DAA2D;AAC9C,QAAA,kBAAkB,GAAG,MAAO,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE7B,QAAA,cAAc,GAA4B;IACrD,QAAQ,EAAE;QACR,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,eAAe,EAAE;gBACf,cAAc,EAAE,4CAA4C;gBAC5D,QAAQ,EAAE,4CAA4C;gBACtD,UAAU,EAAE,4CAA4C;aACzD;SACF;KACF;CACF,CAAC;AAEF,mGAAmG;AACnG,kGAAkG;AAClG,2DAA2D;AAC9C,QAAA,kBAAkB,GAAG,MAAO,CAAC"}
@@ -30,7 +30,6 @@ export declare class FluidDex extends SimpleExchange implements IDex<FluidDexDat
30
30
  FEE_100_PERCENT: bigint;
31
31
  constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
32
32
  private fetchFluidDexPools;
33
- updatePoolAndEventPool(blockNumber: number): Promise<void>;
34
33
  initializePricing(blockNumber: number): Promise<void>;
35
34
  getAdapters(side: SwapSide): null;
36
35
  decodePools: (result: MultiResult<BytesLike> | BytesLike) => Pool[];
@@ -38,8 +38,6 @@ const fluid_dex_generate_pool_1 = require("./fluid-dex-generate-pool");
38
38
  const utils_1 = require("../../utils");
39
39
  const utils_2 = require("../../executor/utils");
40
40
  const decoders_1 = require("../../lib/decoders");
41
- // @ts-ignore
42
- const constants_e2e_1 = require("../../../tests/constants-e2e");
43
41
  class FluidDex extends simple_exchange_1.SimpleExchange {
44
42
  constructor(network, dexKey, dexHelper) {
45
43
  super(dexHelper, dexKey);
@@ -50,6 +48,7 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
50
48
  this.hasConstantPriceLargeAmounts = false;
51
49
  this.needWrapNative = false;
52
50
  this.isFeeOnTransferSupported = false;
51
+ this.pools = [];
53
52
  this.FEE_100_PERCENT = BigInt(1000000);
54
53
  this.decodePools = (result) => {
55
54
  return (0, decoders_1.generalDecoder)(result, ['tuple(address pool, address token0, address token1)[]'], undefined, decoded => {
@@ -62,7 +61,6 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
62
61
  };
63
62
  this.logger = dexHelper.getLogger(dexKey);
64
63
  this.fluidCommonAddresses = new fluid_dex_generate_pool_1.FluidDexCommonAddresses('FluidDex', config_1.FluidDexConfig['FluidDex'][network].commonAddresses, network, dexHelper, this.logger);
65
- this.pools = config_1.FluidDexConfig['FluidDex'][network].pools;
66
64
  this.fluidDexPoolIface = new abi_1.Interface(fluid_dex_abi_json_1.default);
67
65
  }
68
66
  async fetchFluidDexPools(blockNumber) {
@@ -74,7 +72,11 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
74
72
  token1: pool.token1.toLowerCase(),
75
73
  }));
76
74
  }
77
- async updatePoolAndEventPool(blockNumber) {
75
+ // Initialize pricing is called once in the start of
76
+ // pricing service. It is intended to setup the integration
77
+ // for pricing requests. It is optional for a DEX to
78
+ // implement this function
79
+ async initializePricing(blockNumber) {
78
80
  this.pools = await this.fetchFluidDexPools(blockNumber);
79
81
  for (const pool of this.pools) {
80
82
  if (!this.eventPools[pool.id]) {
@@ -82,13 +84,6 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
82
84
  }
83
85
  }
84
86
  }
85
- // Initialize pricing is called once in the start of
86
- // pricing service. It is intended to setup the integration
87
- // for pricing requests. It is optional for a DEX to
88
- // implement this function
89
- async initializePricing(blockNumber) {
90
- await this.updatePoolAndEventPool(blockNumber);
91
- }
92
87
  getAdapters(side) {
93
88
  return null;
94
89
  }
@@ -97,7 +92,6 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
97
92
  // across DEXes. It is recommended to use
98
93
  // ${dexKey}_${poolAddress} as a poolIdentifier
99
94
  async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
100
- await this.updatePoolAndEventPool(blockNumber);
101
95
  const pool = await this.getPoolByTokenPair(srcToken.address, destToken.address);
102
96
  return pool ? [pool.id] : [];
103
97
  }
@@ -120,8 +114,9 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
120
114
  // should be used. If limitPools is undefined then
121
115
  // any pools can be used.
122
116
  async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
123
- await this.updatePoolAndEventPool(blockNumber);
124
117
  try {
118
+ if (srcToken.address.toLowerCase() === destToken.address.toLowerCase())
119
+ return null;
125
120
  if (side === constants_1.SwapSide.BUY)
126
121
  throw new Error(`Buy not supported`);
127
122
  // Get the pool to use.
@@ -192,89 +187,18 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
192
187
  // Returns list of top pools based on liquidity. Max
193
188
  // limit number pools should be returned.
194
189
  async getTopPoolsForToken(tokenAddress, limit) {
195
- const latestBlockNumber_ = await this.dexHelper.provider.getBlockNumber();
196
- let liquidityAmounts = {};
197
- for (const pool of this.pools) {
198
- if (pool.token0 === tokenAddress.toLowerCase() ||
199
- pool.token1 === tokenAddress.toLowerCase()) {
200
- const state = await this.eventPools[pool.id].getStateOrGenerate(latestBlockNumber_, false);
201
- liquidityAmounts[pool.id] =
202
- pool.token0 === tokenAddress
203
- ? state.collateralReserves.token0RealReserves +
204
- state.debtReserves.token0RealReserves
205
- : state.collateralReserves.token1RealReserves +
206
- state.debtReserves.token1RealReserves;
207
- }
208
- }
209
- const entries = Object.entries(liquidityAmounts);
210
- // Sort the entries based on the values in descending order
211
- entries.sort((a, b) => {
212
- if (b[1] > a[1])
213
- return 1;
214
- if (b[1] < a[1])
215
- return -1;
216
- return 0;
217
- });
218
- // Take the top k entries
219
- const topKEntries = entries.slice(0, limit);
220
- // Convert the array back to an object
221
- const sortedAmounts = Object.fromEntries(topKEntries);
222
- const poolLiquidities = [];
223
- for (const [id, amount] of Object.entries(sortedAmounts)) {
224
- const pool = this.pools.find(p => p.id === id);
225
- if (!pool)
226
- continue; // Skip if pool not found
227
- const state = await this.eventPools[pool.id].getStateOrGenerate(latestBlockNumber_, false);
228
- let token0decimals;
229
- for (const [networkStr, symbolMapping] of Object.entries(constants_e2e_1.Tokens)) {
230
- let found = false;
231
- for (const [symbol, tokenParams] of Object.entries(symbolMapping)) {
232
- if (tokenParams.address.toLowerCase() === pool.token0.toLowerCase()) {
233
- token0decimals = tokenParams.decimals;
234
- found = true;
235
- break;
236
- }
237
- if (found)
238
- break;
239
- }
240
- }
241
- let token1decimals;
242
- for (const [networkStr, symbolMapping] of Object.entries(constants_e2e_1.Tokens)) {
243
- let found = false;
244
- for (const [symbol, tokenParams] of Object.entries(symbolMapping)) {
245
- if (tokenParams.address.toLowerCase() === pool.token1.toLowerCase()) {
246
- token1decimals = tokenParams.decimals;
247
- found = true;
248
- break;
249
- }
250
- if (found)
251
- break;
252
- }
253
- }
254
- const usd0 = await this.dexHelper.getTokenUSDPrice({ address: pool.token0, decimals: token0decimals }, state.collateralReserves.token0RealReserves +
255
- state.debtReserves.token0RealReserves);
256
- const usd1 = await this.dexHelper.getTokenUSDPrice({ address: pool.token1, decimals: token1decimals }, state.collateralReserves.token1RealReserves +
257
- state.debtReserves.token1RealReserves);
258
- poolLiquidities.push({
259
- exchange: 'FluidDex',
260
- address: pool.address,
261
- connectorTokens: [],
262
- liquidityUSD: Number(usd0 + usd1), // converted to number
263
- });
264
- }
265
- return poolLiquidities;
190
+ //@TODO
191
+ return [];
266
192
  }
267
193
  async getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side, context, executorAddress) {
268
- const latestBlockNumber_ = await this.dexHelper.provider.getBlockNumber();
269
- await this.updatePoolAndEventPool(latestBlockNumber_);
270
194
  if (side === constants_1.SwapSide.BUY)
271
195
  throw new Error(`Buy not supported`);
272
196
  let args;
273
- let returnAmountPos = undefined;
197
+ let returnAmountPos;
274
198
  const method = 'swapIn';
275
199
  returnAmountPos = (0, utils_2.extractReturnAmountPosition)(this.fluidDexPoolIface, method, 'amountOut_', 1);
276
200
  const pool = await this.getPoolByTokenPair(srcToken, destToken);
277
- if (pool.token0.toLowerCase() != srcToken.toLowerCase()) {
201
+ if (pool.token0.toLowerCase() !== srcToken.toLowerCase()) {
278
202
  args = [false, BigInt(srcAmount), BigInt(destAmount), recipient];
279
203
  }
280
204
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"fluid-dex.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/fluid-dex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fluid-dex.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/fluid-dex.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,6 @@ export declare type FluidDexPool = {
39
39
  };
40
40
  export declare type DexParams = {
41
41
  commonAddresses: CommonAddresses;
42
- pools: FluidDexPool[];
43
42
  };
44
43
  export declare type CommonAddresses = {
45
44
  liquidityProxy: Address;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "3.9.7-fluid-dex.0",
3
+ "version": "3.9.7-fluid-dex.2",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -1,6 +1,6 @@
1
1
  import { DexParams } from './types';
2
- import { DexConfigMap, AdapterMappings } from '../../types';
3
- import { Network, SwapSide } from '../../constants';
2
+ import { DexConfigMap } from '../../types';
3
+ import { Network } from '../../constants';
4
4
 
5
5
  export const FluidDexConfig: DexConfigMap<DexParams> = {
6
6
  FluidDex: {
@@ -10,7 +10,6 @@ export const FluidDexConfig: DexConfigMap<DexParams> = {
10
10
  resolver: '0xE8a07a32489BD9d5a00f01A55749Cf5cB854Fd13',
11
11
  dexFactory: '0x91716C4EDA1Fb55e84Bf8b4c7085f84285c19085',
12
12
  },
13
- pools: [],
14
13
  },
15
14
  },
16
15
  };
@@ -60,7 +60,6 @@ function testForNetwork(
60
60
  tokenBSymbol: string,
61
61
  tokenAAmount: string,
62
62
  tokenBAmount: string,
63
- nativeTokenAmount: string,
64
63
  ) {
65
64
  const provider = new StaticJsonRpcProvider(
66
65
  generateConfig(network).privateHttpProvider,
@@ -79,11 +78,11 @@ function testForNetwork(
79
78
  describe(`${side}`, () => {
80
79
  contractMethods.forEach((contractMethod: string) => {
81
80
  describe(`${contractMethod}`, () => {
82
- it(`${nativeTokenSymbol} -> ${tokenASymbol}`, async () => {
81
+ it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
83
82
  await testE2E(
84
- tokens[nativeTokenSymbol],
85
83
  tokens[tokenASymbol],
86
- holders[nativeTokenSymbol],
84
+ tokens[tokenBSymbol],
85
+ holders[tokenASymbol],
87
86
  tokenBAmount,
88
87
  SwapSide.SELL,
89
88
  dexKey,
@@ -92,12 +91,12 @@ function testForNetwork(
92
91
  provider,
93
92
  );
94
93
  });
95
- it(`${tokenASymbol} -> ${nativeTokenSymbol}`, async () => {
94
+ it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
96
95
  await testE2E(
96
+ tokens[tokenBSymbol],
97
97
  tokens[tokenASymbol],
98
- tokens[nativeTokenSymbol],
99
- holders[tokenASymbol],
100
- tokenAAmount,
98
+ holders[tokenBSymbol],
99
+ tokenBAmount,
101
100
  SwapSide.SELL,
102
101
  dexKey,
103
102
  contractMethod as ContractMethod,
@@ -118,21 +117,38 @@ describe('FluidDex E2E', () => {
118
117
  describe('Mainnet', () => {
119
118
  const network = Network.MAINNET;
120
119
 
121
- const tokenASymbol: string = 'wstETH';
122
- const tokenBSymbol: string = 'ETH';
123
-
124
- const tokenAAmount: string = '100000000000000';
125
- const tokenBAmount: string = '100000000000000';
126
- const nativeTokenAmount = '100000000000000';
127
-
128
- testForNetwork(
129
- network,
130
- dexKey,
131
- tokenASymbol,
132
- tokenBSymbol,
133
- tokenAAmount,
134
- tokenBAmount,
135
- nativeTokenAmount,
136
- );
120
+ describe('ETH -> wstETH', () => {
121
+ const tokenASymbol: string = 'wstETH';
122
+ const tokenBSymbol: string = 'ETH';
123
+
124
+ const tokenAAmount: string = '100000000000000';
125
+ const tokenBAmount: string = '100000000000000';
126
+
127
+ testForNetwork(
128
+ network,
129
+ dexKey,
130
+ tokenASymbol,
131
+ tokenBSymbol,
132
+ tokenAAmount,
133
+ tokenBAmount,
134
+ );
135
+ });
136
+
137
+ describe('USDC -> USDT', () => {
138
+ const tokenASymbol: string = 'USDC';
139
+ const tokenBSymbol: string = 'USDT';
140
+
141
+ const tokenAAmount: string = '1000000';
142
+ const tokenBAmount: string = '100000000';
143
+
144
+ testForNetwork(
145
+ network,
146
+ dexKey,
147
+ tokenASymbol,
148
+ tokenBSymbol,
149
+ tokenAAmount,
150
+ tokenBAmount,
151
+ );
152
+ });
137
153
  });
138
154
  });
@@ -133,11 +133,6 @@ async function testPricingOnNetwork(
133
133
  pools,
134
134
  );
135
135
  expect(poolPrices).not.toBeNull();
136
- if (fluidDex.hasConstantPriceLargeAmounts) {
137
- checkConstantPoolPrices(poolPrices!, amounts, dexKey);
138
- } else {
139
- checkPoolPrices(poolPrices!, amounts, side, dexKey);
140
- }
141
136
 
142
137
  // Check if onchain pricing equals to calculated ones
143
138
  await checkOnChainPricing(
@@ -160,24 +155,6 @@ describe('FluidDex', function () {
160
155
 
161
156
  const tokens = Tokens[network];
162
157
 
163
- // Don't forget to update relevant tokens in constant-e2e.ts
164
- const srcTokenSymbol = 'wstETH';
165
- const destTokenSymbol = 'ETH';
166
-
167
- const amountsForSell = [
168
- 0n,
169
- 1n * BI_POWS[tokens[srcTokenSymbol].decimals - 10],
170
- 2n * BI_POWS[tokens[srcTokenSymbol].decimals - 10],
171
- 3n * BI_POWS[tokens[srcTokenSymbol].decimals - 10],
172
- 4n * BI_POWS[tokens[srcTokenSymbol].decimals - 10],
173
- 5n * BI_POWS[tokens[srcTokenSymbol].decimals - 10],
174
- 6n * BI_POWS[tokens[srcTokenSymbol].decimals - 10],
175
- 7n * BI_POWS[tokens[srcTokenSymbol].decimals - 10],
176
- 8n * BI_POWS[tokens[srcTokenSymbol].decimals - 10],
177
- 9n * BI_POWS[tokens[srcTokenSymbol].decimals - 10],
178
- 10n * BI_POWS[tokens[srcTokenSymbol].decimals - 10],
179
- ];
180
-
181
158
  beforeAll(async () => {
182
159
  blockNumber = await dexHelper.provider.getBlockNumber();
183
160
  fluidDex = new FluidDex(network, dexKey, dexHelper);
@@ -186,40 +163,142 @@ describe('FluidDex', function () {
186
163
  }
187
164
  });
188
165
 
189
- it('getPoolIdentifiers and getPricesVolume SELL', async function () {
190
- await testPricingOnNetwork(
191
- fluidDex,
192
- network,
193
- dexKey,
194
- blockNumber,
195
- srcTokenSymbol,
196
- destTokenSymbol,
197
- SwapSide.SELL,
198
- amountsForSell,
199
- 'estimateSwapIn',
200
- );
166
+ describe('wstETH -> ETH', () => {
167
+ const tokenASymbol = 'wstETH';
168
+ const tokenBSymbol = 'ETH';
169
+
170
+ const amountsForSell = [
171
+ 0n,
172
+ 1n * BI_POWS[8],
173
+ 2n * BI_POWS[8],
174
+ 3n * BI_POWS[8],
175
+ 4n * BI_POWS[8],
176
+ 5n * BI_POWS[8],
177
+ 6n * BI_POWS[8],
178
+ 7n * BI_POWS[8],
179
+ 8n * BI_POWS[8],
180
+ 9n * BI_POWS[8],
181
+ 10n * BI_POWS[8],
182
+ ];
183
+
184
+ it('wstETH -> ETH, getPoolIdentifiers and getPricesVolume SELL', async function () {
185
+ await testPricingOnNetwork(
186
+ fluidDex,
187
+ network,
188
+ dexKey,
189
+ blockNumber,
190
+ tokenASymbol,
191
+ tokenBSymbol,
192
+ SwapSide.SELL,
193
+ amountsForSell,
194
+ 'estimateSwapIn',
195
+ );
196
+ });
197
+
198
+ it('ETH -> wstETH, getPoolIdentifiers and getPricesVolume SELL', async function () {
199
+ await testPricingOnNetwork(
200
+ fluidDex,
201
+ network,
202
+ dexKey,
203
+ blockNumber,
204
+ tokenBSymbol,
205
+ tokenASymbol,
206
+ SwapSide.SELL,
207
+ amountsForSell,
208
+ 'estimateSwapIn',
209
+ );
210
+ });
211
+
212
+ it.skip('getTopPoolsForToken', async function () {
213
+ // We have to check without calling initializePricing, because
214
+ // pool-tracker is not calling that function
215
+ const newFluidDex = new FluidDex(network, dexKey, dexHelper);
216
+ await newFluidDex.initializePricing(blockNumber);
217
+ if (newFluidDex.updatePoolState) {
218
+ await newFluidDex.updatePoolState();
219
+ }
220
+ const poolLiquidity = await newFluidDex.getTopPoolsForToken(
221
+ tokens[tokenASymbol].address,
222
+ 1,
223
+ );
224
+
225
+ if (!newFluidDex.hasConstantPriceLargeAmounts) {
226
+ checkPoolsLiquidity(
227
+ poolLiquidity,
228
+ Tokens[network][tokenASymbol].address,
229
+ dexKey,
230
+ );
231
+ }
232
+ });
201
233
  });
202
234
 
203
- it('getTopPoolsForToken', async function () {
204
- // We have to check without calling initializePricing, because
205
- // pool-tracker is not calling that function
206
- const newFluidDex = new FluidDex(network, dexKey, dexHelper);
207
- await newFluidDex.initializePricing(blockNumber);
208
- if (newFluidDex.updatePoolState) {
209
- await newFluidDex.updatePoolState();
210
- }
211
- const poolLiquidity = await newFluidDex.getTopPoolsForToken(
212
- tokens[srcTokenSymbol].address,
213
- 1,
214
- );
215
-
216
- if (!newFluidDex.hasConstantPriceLargeAmounts) {
217
- checkPoolsLiquidity(
218
- poolLiquidity,
219
- Tokens[network][srcTokenSymbol].address,
235
+ describe('USDC -> USDT', () => {
236
+ const tokenASymbol = 'USDC';
237
+ const tokenBSymbol = 'USDT';
238
+
239
+ const amountsForSell = [
240
+ 0n,
241
+ 1n * BI_POWS[6],
242
+ 2n * BI_POWS[6],
243
+ 3n * BI_POWS[6],
244
+ 4n * BI_POWS[6],
245
+ 5n * BI_POWS[6],
246
+ 6n * BI_POWS[6],
247
+ 7n * BI_POWS[6],
248
+ 8n * BI_POWS[6],
249
+ 9n * BI_POWS[6],
250
+ 10n * BI_POWS[6],
251
+ ];
252
+
253
+ it('USDC -> USDT getPoolIdentifiers and getPricesVolume SELL', async function () {
254
+ await testPricingOnNetwork(
255
+ fluidDex,
256
+ network,
220
257
  dexKey,
258
+ blockNumber,
259
+ tokenASymbol,
260
+ tokenBSymbol,
261
+ SwapSide.SELL,
262
+ amountsForSell,
263
+ 'estimateSwapIn',
221
264
  );
222
- }
265
+ });
266
+
267
+ it('USDT -> USDC getPoolIdentifiers and getPricesVolume SELL', async function () {
268
+ await testPricingOnNetwork(
269
+ fluidDex,
270
+ network,
271
+ dexKey,
272
+ blockNumber,
273
+ tokenBSymbol,
274
+ tokenASymbol,
275
+ SwapSide.SELL,
276
+ amountsForSell,
277
+ 'estimateSwapIn',
278
+ );
279
+ });
280
+
281
+ it.skip('getTopPoolsForToken', async function () {
282
+ // We have to check without calling initializePricing, because
283
+ // pool-tracker is not calling that function
284
+ const newFluidDex = new FluidDex(network, dexKey, dexHelper);
285
+ await newFluidDex.initializePricing(blockNumber);
286
+ if (newFluidDex.updatePoolState) {
287
+ await newFluidDex.updatePoolState();
288
+ }
289
+ const poolLiquidity = await newFluidDex.getTopPoolsForToken(
290
+ tokens[tokenASymbol].address,
291
+ 1,
292
+ );
293
+
294
+ if (!newFluidDex.hasConstantPriceLargeAmounts) {
295
+ checkPoolsLiquidity(
296
+ poolLiquidity,
297
+ Tokens[network][tokenASymbol].address,
298
+ dexKey,
299
+ );
300
+ }
301
+ });
223
302
  });
224
303
  });
225
304
  });
@@ -31,8 +31,6 @@ import { getDexKeysWithNetwork, getBigIntPow } from '../../utils';
31
31
  import { extractReturnAmountPosition } from '../../executor/utils';
32
32
  import { MultiResult } from '../../lib/multi-wrapper';
33
33
  import { generalDecoder } from '../../lib/decoders';
34
- // @ts-ignore
35
- import { Tokens } from '../../../tests/constants-e2e';
36
34
 
37
35
  export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
38
36
  eventPools: { [id: string]: FluidDexEventPool } = {};
@@ -44,7 +42,7 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
44
42
 
45
43
  logger: Logger;
46
44
 
47
- pools: FluidDexPool[];
45
+ pools: FluidDexPool[] = [];
48
46
 
49
47
  readonly fluidCommonAddresses: FluidDexCommonAddresses;
50
48
 
@@ -66,7 +64,6 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
66
64
  dexHelper,
67
65
  this.logger,
68
66
  );
69
- this.pools = FluidDexConfig['FluidDex'][network].pools;
70
67
  this.fluidDexPoolIface = new Interface(FluidDexPoolABI);
71
68
  }
72
69
 
@@ -83,7 +80,11 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
83
80
  }));
84
81
  }
85
82
 
86
- async updatePoolAndEventPool(blockNumber: number) {
83
+ // Initialize pricing is called once in the start of
84
+ // pricing service. It is intended to setup the integration
85
+ // for pricing requests. It is optional for a DEX to
86
+ // implement this function
87
+ async initializePricing(blockNumber: number) {
87
88
  this.pools = await this.fetchFluidDexPools(blockNumber);
88
89
  for (const pool of this.pools) {
89
90
  if (!this.eventPools[pool.id]) {
@@ -99,14 +100,6 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
99
100
  }
100
101
  }
101
102
 
102
- // Initialize pricing is called once in the start of
103
- // pricing service. It is intended to setup the integration
104
- // for pricing requests. It is optional for a DEX to
105
- // implement this function
106
- async initializePricing(blockNumber: number) {
107
- await this.updatePoolAndEventPool(blockNumber);
108
- }
109
-
110
103
  getAdapters(side: SwapSide) {
111
104
  return null;
112
105
  }
@@ -136,7 +129,6 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
136
129
  side: SwapSide,
137
130
  blockNumber: number,
138
131
  ): Promise<string[]> {
139
- await this.updatePoolAndEventPool(blockNumber);
140
132
  const pool = await this.getPoolByTokenPair(
141
133
  srcToken.address,
142
134
  destToken.address,
@@ -177,8 +169,10 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
177
169
  blockNumber: number,
178
170
  limitPools?: string[],
179
171
  ): Promise<null | ExchangePrices<FluidDexData>> {
180
- await this.updatePoolAndEventPool(blockNumber);
181
172
  try {
173
+ if (srcToken.address.toLowerCase() === destToken.address.toLowerCase())
174
+ return null;
175
+
182
176
  if (side === SwapSide.BUY) throw new Error(`Buy not supported`);
183
177
  // Get the pool to use.
184
178
  const pool = await this.getPoolByTokenPair(
@@ -285,97 +279,8 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
285
279
  tokenAddress: Address,
286
280
  limit: number,
287
281
  ): Promise<PoolLiquidity[]> {
288
- const latestBlockNumber_ = await this.dexHelper.provider.getBlockNumber();
289
- let liquidityAmounts: { [id: string]: bigint } = {};
290
- for (const pool of this.pools) {
291
- if (
292
- pool.token0 === tokenAddress.toLowerCase() ||
293
- pool.token1 === tokenAddress.toLowerCase()
294
- ) {
295
- const state: FluidDexPoolState = await this.eventPools[
296
- pool.id
297
- ].getStateOrGenerate(latestBlockNumber_, false);
298
-
299
- liquidityAmounts[pool.id] =
300
- pool.token0 === tokenAddress
301
- ? state.collateralReserves.token0RealReserves +
302
- state.debtReserves.token0RealReserves
303
- : state.collateralReserves.token1RealReserves +
304
- state.debtReserves.token1RealReserves;
305
- }
306
- }
307
-
308
- const entries = Object.entries(liquidityAmounts);
309
-
310
- // Sort the entries based on the values in descending order
311
- entries.sort((a, b) => {
312
- if (b[1] > a[1]) return 1;
313
- if (b[1] < a[1]) return -1;
314
- return 0;
315
- });
316
-
317
- // Take the top k entries
318
- const topKEntries = entries.slice(0, limit);
319
-
320
- // Convert the array back to an object
321
- const sortedAmounts = Object.fromEntries(topKEntries);
322
-
323
- const poolLiquidities: PoolLiquidity[] = [];
324
-
325
- for (const [id, amount] of Object.entries(sortedAmounts)) {
326
- const pool = this.pools.find(p => p.id === id);
327
- if (!pool) continue; // Skip if pool not found
328
-
329
- const state: FluidDexPoolState = await this.eventPools[
330
- pool.id
331
- ].getStateOrGenerate(latestBlockNumber_, false);
332
-
333
- let token0decimals: number;
334
- for (const [networkStr, symbolMapping] of Object.entries(Tokens)) {
335
- let found = false;
336
- for (const [symbol, tokenParams] of Object.entries(symbolMapping)) {
337
- if (tokenParams.address.toLowerCase() === pool.token0.toLowerCase()) {
338
- token0decimals = tokenParams.decimals;
339
- found = true;
340
- break;
341
- }
342
- if (found) break;
343
- }
344
- }
345
-
346
- let token1decimals: number;
347
- for (const [networkStr, symbolMapping] of Object.entries(Tokens)) {
348
- let found = false;
349
- for (const [symbol, tokenParams] of Object.entries(symbolMapping)) {
350
- if (tokenParams.address.toLowerCase() === pool.token1.toLowerCase()) {
351
- token1decimals = tokenParams.decimals;
352
- found = true;
353
- break;
354
- }
355
- if (found) break;
356
- }
357
- }
358
-
359
- const usd0 = await this.dexHelper.getTokenUSDPrice(
360
- { address: pool.token0, decimals: token0decimals! },
361
- state.collateralReserves.token0RealReserves +
362
- state.debtReserves.token0RealReserves,
363
- );
364
-
365
- const usd1 = await this.dexHelper.getTokenUSDPrice(
366
- { address: pool.token1, decimals: token1decimals! },
367
- state.collateralReserves.token1RealReserves +
368
- state.debtReserves.token1RealReserves,
369
- );
370
-
371
- poolLiquidities.push({
372
- exchange: 'FluidDex',
373
- address: pool.address,
374
- connectorTokens: [],
375
- liquidityUSD: Number(usd0 + usd1), // converted to number
376
- });
377
- }
378
- return poolLiquidities;
282
+ //@TODO
283
+ return [];
379
284
  }
380
285
 
381
286
  async getDexParam(
@@ -389,13 +294,10 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
389
294
  context: Context,
390
295
  executorAddress: Address,
391
296
  ): Promise<DexExchangeParam> {
392
- const latestBlockNumber_ = await this.dexHelper.provider.getBlockNumber();
393
- await this.updatePoolAndEventPool(latestBlockNumber_);
394
-
395
297
  if (side === SwapSide.BUY) throw new Error(`Buy not supported`);
396
298
 
397
299
  let args: any;
398
- let returnAmountPos: number | undefined = undefined;
300
+ let returnAmountPos: number | undefined;
399
301
 
400
302
  const method = 'swapIn';
401
303
 
@@ -408,7 +310,7 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
408
310
 
409
311
  const pool = await this.getPoolByTokenPair(srcToken, destToken);
410
312
 
411
- if (pool!.token0.toLowerCase() != srcToken.toLowerCase()) {
313
+ if (pool!.token0.toLowerCase() !== srcToken.toLowerCase()) {
412
314
  args = [false, BigInt(srcAmount), BigInt(destAmount), recipient];
413
315
  } else {
414
316
  args = [true, BigInt(srcAmount), BigInt(destAmount), recipient];
@@ -47,7 +47,6 @@ export type FluidDexPool = {
47
47
 
48
48
  export type DexParams = {
49
49
  commonAddresses: CommonAddresses;
50
- pools: FluidDexPool[];
51
50
  };
52
51
 
53
52
  export type CommonAddresses = {
@@ -1 +1 @@
1
- {"version":3,"file":"constants-e2e.js","sourceRoot":"","sources":["constants-e2e.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants-e2e.js","sourceRoot":"","sources":["constants-e2e.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ import {
8
8
  _balancesFn,
9
9
  _allowancesFn,
10
10
  balanceAndBlacklistStatesFn,
11
- // @ts-ignore
12
11
  } from '../tests/smart-tokens';
13
12
  import { Address } from '../src/types';
14
13
  import { ETHER_ADDRESS, Network } from '../src/constants';