@paraswap/dex-lib 3.9.7-fluid-dex.1 → 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,+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;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[];
@@ -48,6 +48,7 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
48
48
  this.hasConstantPriceLargeAmounts = false;
49
49
  this.needWrapNative = false;
50
50
  this.isFeeOnTransferSupported = false;
51
+ this.pools = [];
51
52
  this.FEE_100_PERCENT = BigInt(1000000);
52
53
  this.decodePools = (result) => {
53
54
  return (0, decoders_1.generalDecoder)(result, ['tuple(address pool, address token0, address token1)[]'], undefined, decoded => {
@@ -60,7 +61,6 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
60
61
  };
61
62
  this.logger = dexHelper.getLogger(dexKey);
62
63
  this.fluidCommonAddresses = new fluid_dex_generate_pool_1.FluidDexCommonAddresses('FluidDex', config_1.FluidDexConfig['FluidDex'][network].commonAddresses, network, dexHelper, this.logger);
63
- this.pools = config_1.FluidDexConfig['FluidDex'][network].pools;
64
64
  this.fluidDexPoolIface = new abi_1.Interface(fluid_dex_abi_json_1.default);
65
65
  }
66
66
  async fetchFluidDexPools(blockNumber) {
@@ -72,7 +72,11 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
72
72
  token1: pool.token1.toLowerCase(),
73
73
  }));
74
74
  }
75
- 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) {
76
80
  this.pools = await this.fetchFluidDexPools(blockNumber);
77
81
  for (const pool of this.pools) {
78
82
  if (!this.eventPools[pool.id]) {
@@ -80,13 +84,6 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
80
84
  }
81
85
  }
82
86
  }
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) {
88
- await this.updatePoolAndEventPool(blockNumber);
89
- }
90
87
  getAdapters(side) {
91
88
  return null;
92
89
  }
@@ -95,7 +92,6 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
95
92
  // across DEXes. It is recommended to use
96
93
  // ${dexKey}_${poolAddress} as a poolIdentifier
97
94
  async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
98
- await this.updatePoolAndEventPool(blockNumber);
99
95
  const pool = await this.getPoolByTokenPair(srcToken.address, destToken.address);
100
96
  return pool ? [pool.id] : [];
101
97
  }
@@ -118,8 +114,9 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
118
114
  // should be used. If limitPools is undefined then
119
115
  // any pools can be used.
120
116
  async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
121
- await this.updatePoolAndEventPool(blockNumber);
122
117
  try {
118
+ if (srcToken.address.toLowerCase() === destToken.address.toLowerCase())
119
+ return null;
123
120
  if (side === constants_1.SwapSide.BUY)
124
121
  throw new Error(`Buy not supported`);
125
122
  // Get the pool to use.
@@ -190,110 +187,18 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
190
187
  // Returns list of top pools based on liquidity. Max
191
188
  // limit number pools should be returned.
192
189
  async getTopPoolsForToken(tokenAddress, limit) {
193
- // const latestBlockNumber_ = await this.dexHelper.provider.getBlockNumber();
194
- // let liquidityAmounts: { [id: string]: bigint } = {};
195
- // for (const pool of this.pools) {
196
- // if (
197
- // pool.token0 === tokenAddress.toLowerCase() ||
198
- // pool.token1 === tokenAddress.toLowerCase()
199
- // ) {
200
- // const state: FluidDexPoolState = await this.eventPools[
201
- // pool.id
202
- // ].getStateOrGenerate(latestBlockNumber_, false);
203
- //
204
- // liquidityAmounts[pool.id] =
205
- // pool.token0 === tokenAddress
206
- // ? state.collateralReserves.token0RealReserves +
207
- // state.debtReserves.token0RealReserves
208
- // : state.collateralReserves.token1RealReserves +
209
- // state.debtReserves.token1RealReserves;
210
- // }
211
- // }
212
- //
213
- // const entries = Object.entries(liquidityAmounts);
214
- //
215
- // // Sort the entries based on the values in descending order
216
- // entries.sort((a, b) => {
217
- // if (b[1] > a[1]) return 1;
218
- // if (b[1] < a[1]) return -1;
219
- // return 0;
220
- // });
221
- //
222
- // // Take the top k entries
223
- // const topKEntries = entries.slice(0, limit);
224
- //
225
- // // Convert the array back to an object
226
- // const sortedAmounts = Object.fromEntries(topKEntries);
227
- //
228
- // const poolLiquidities: PoolLiquidity[] = [];
229
- //
230
- // for (const [id, amount] of Object.entries(sortedAmounts)) {
231
- // const pool = this.pools.find(p => p.id === id);
232
- // if (!pool) continue; // Skip if pool not found
233
- //
234
- // const state: FluidDexPoolState = await this.eventPools[
235
- // pool.id
236
- // ].getStateOrGenerate(latestBlockNumber_, false);
237
- //
238
- // // let token0decimals: number;
239
- // // for (const [networkStr, symbolMapping] of Object.entries(Tokens)) {
240
- // // let found = false;
241
- // // for (const [symbol, tokenParams] of Object.entries(symbolMapping)) {
242
- // // if (tokenParams.address.toLowerCase() === pool.token0.toLowerCase()) {
243
- // // token0decimals = tokenParams.decimals;
244
- // // found = true;
245
- // // break;
246
- // // }
247
- // // if (found) break;
248
- // // }
249
- // // }
250
- // //
251
- // // let token1decimals: number;
252
- // // for (const [networkStr, symbolMapping] of Object.entries(Tokens)) {
253
- // // let found = false;
254
- // // for (const [symbol, tokenParams] of Object.entries(symbolMapping)) {
255
- // // if (tokenParams.address.toLowerCase() === pool.token1.toLowerCase()) {
256
- // // token1decimals = tokenParams.decimals;
257
- // // found = true;
258
- // // break;
259
- // // }
260
- // // if (found) break;
261
- // // }
262
- // // }
263
- //
264
- // const usd0 = await this.dexHelper.getTokenUSDPrice(
265
- // { address: pool.token0, decimals: token0decimals! },
266
- // state.collateralReserves.token0RealReserves +
267
- // state.debtReserves.token0RealReserves,
268
- // );
269
- //
270
- // const usd1 = await this.dexHelper.getTokenUSDPrice(
271
- // { address: pool.token1, decimals: token1decimals! },
272
- // state.collateralReserves.token1RealReserves +
273
- // state.debtReserves.token1RealReserves,
274
- // );
275
- //
276
- // poolLiquidities.push({
277
- // exchange: 'FluidDex',
278
- // address: pool.address,
279
- // connectorTokens: [],
280
- // liquidityUSD: Number(usd0 + usd1), // converted to number
281
- // });
282
- // }
283
- // return poolLiquidities;
190
+ //@TODO
284
191
  return [];
285
192
  }
286
193
  async getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side, context, executorAddress) {
287
- const latestBlockNumber_ = await this.dexHelper.provider.getBlockNumber();
288
- await this.updatePoolAndEventPool(latestBlockNumber_);
289
194
  if (side === constants_1.SwapSide.BUY)
290
195
  throw new Error(`Buy not supported`);
291
196
  let args;
292
- let returnAmountPos = undefined;
197
+ let returnAmountPos;
293
198
  const method = 'swapIn';
294
199
  returnAmountPos = (0, utils_2.extractReturnAmountPosition)(this.fluidDexPoolIface, method, 'amountOut_', 1);
295
200
  const pool = await this.getPoolByTokenPair(srcToken, destToken);
296
- if (pool.token0.toLowerCase() != srcToken.toLowerCase()) {
201
+ if (pool.token0.toLowerCase() !== srcToken.toLowerCase()) {
297
202
  args = [false, BigInt(srcAmount), BigInt(destAmount), recipient];
298
203
  }
299
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.1",
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",
@@ -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
  });
@@ -42,7 +42,7 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
42
42
 
43
43
  logger: Logger;
44
44
 
45
- pools: FluidDexPool[];
45
+ pools: FluidDexPool[] = [];
46
46
 
47
47
  readonly fluidCommonAddresses: FluidDexCommonAddresses;
48
48
 
@@ -64,7 +64,6 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
64
64
  dexHelper,
65
65
  this.logger,
66
66
  );
67
- this.pools = FluidDexConfig['FluidDex'][network].pools;
68
67
  this.fluidDexPoolIface = new Interface(FluidDexPoolABI);
69
68
  }
70
69
 
@@ -81,7 +80,11 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
81
80
  }));
82
81
  }
83
82
 
84
- 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) {
85
88
  this.pools = await this.fetchFluidDexPools(blockNumber);
86
89
  for (const pool of this.pools) {
87
90
  if (!this.eventPools[pool.id]) {
@@ -97,14 +100,6 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
97
100
  }
98
101
  }
99
102
 
100
- // Initialize pricing is called once in the start of
101
- // pricing service. It is intended to setup the integration
102
- // for pricing requests. It is optional for a DEX to
103
- // implement this function
104
- async initializePricing(blockNumber: number) {
105
- await this.updatePoolAndEventPool(blockNumber);
106
- }
107
-
108
103
  getAdapters(side: SwapSide) {
109
104
  return null;
110
105
  }
@@ -134,7 +129,6 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
134
129
  side: SwapSide,
135
130
  blockNumber: number,
136
131
  ): Promise<string[]> {
137
- await this.updatePoolAndEventPool(blockNumber);
138
132
  const pool = await this.getPoolByTokenPair(
139
133
  srcToken.address,
140
134
  destToken.address,
@@ -175,8 +169,10 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
175
169
  blockNumber: number,
176
170
  limitPools?: string[],
177
171
  ): Promise<null | ExchangePrices<FluidDexData>> {
178
- await this.updatePoolAndEventPool(blockNumber);
179
172
  try {
173
+ if (srcToken.address.toLowerCase() === destToken.address.toLowerCase())
174
+ return null;
175
+
180
176
  if (side === SwapSide.BUY) throw new Error(`Buy not supported`);
181
177
  // Get the pool to use.
182
178
  const pool = await this.getPoolByTokenPair(
@@ -283,98 +279,7 @@ export class FluidDex extends SimpleExchange implements IDex<FluidDexData> {
283
279
  tokenAddress: Address,
284
280
  limit: number,
285
281
  ): Promise<PoolLiquidity[]> {
286
- // const latestBlockNumber_ = await this.dexHelper.provider.getBlockNumber();
287
- // let liquidityAmounts: { [id: string]: bigint } = {};
288
- // for (const pool of this.pools) {
289
- // if (
290
- // pool.token0 === tokenAddress.toLowerCase() ||
291
- // pool.token1 === tokenAddress.toLowerCase()
292
- // ) {
293
- // const state: FluidDexPoolState = await this.eventPools[
294
- // pool.id
295
- // ].getStateOrGenerate(latestBlockNumber_, false);
296
- //
297
- // liquidityAmounts[pool.id] =
298
- // pool.token0 === tokenAddress
299
- // ? state.collateralReserves.token0RealReserves +
300
- // state.debtReserves.token0RealReserves
301
- // : state.collateralReserves.token1RealReserves +
302
- // state.debtReserves.token1RealReserves;
303
- // }
304
- // }
305
- //
306
- // const entries = Object.entries(liquidityAmounts);
307
- //
308
- // // Sort the entries based on the values in descending order
309
- // entries.sort((a, b) => {
310
- // if (b[1] > a[1]) return 1;
311
- // if (b[1] < a[1]) return -1;
312
- // return 0;
313
- // });
314
- //
315
- // // Take the top k entries
316
- // const topKEntries = entries.slice(0, limit);
317
- //
318
- // // Convert the array back to an object
319
- // const sortedAmounts = Object.fromEntries(topKEntries);
320
- //
321
- // const poolLiquidities: PoolLiquidity[] = [];
322
- //
323
- // for (const [id, amount] of Object.entries(sortedAmounts)) {
324
- // const pool = this.pools.find(p => p.id === id);
325
- // if (!pool) continue; // Skip if pool not found
326
- //
327
- // const state: FluidDexPoolState = await this.eventPools[
328
- // pool.id
329
- // ].getStateOrGenerate(latestBlockNumber_, false);
330
- //
331
- // // let token0decimals: number;
332
- // // for (const [networkStr, symbolMapping] of Object.entries(Tokens)) {
333
- // // let found = false;
334
- // // for (const [symbol, tokenParams] of Object.entries(symbolMapping)) {
335
- // // if (tokenParams.address.toLowerCase() === pool.token0.toLowerCase()) {
336
- // // token0decimals = tokenParams.decimals;
337
- // // found = true;
338
- // // break;
339
- // // }
340
- // // if (found) break;
341
- // // }
342
- // // }
343
- // //
344
- // // let token1decimals: number;
345
- // // for (const [networkStr, symbolMapping] of Object.entries(Tokens)) {
346
- // // let found = false;
347
- // // for (const [symbol, tokenParams] of Object.entries(symbolMapping)) {
348
- // // if (tokenParams.address.toLowerCase() === pool.token1.toLowerCase()) {
349
- // // token1decimals = tokenParams.decimals;
350
- // // found = true;
351
- // // break;
352
- // // }
353
- // // if (found) break;
354
- // // }
355
- // // }
356
- //
357
- // const usd0 = await this.dexHelper.getTokenUSDPrice(
358
- // { address: pool.token0, decimals: token0decimals! },
359
- // state.collateralReserves.token0RealReserves +
360
- // state.debtReserves.token0RealReserves,
361
- // );
362
- //
363
- // const usd1 = await this.dexHelper.getTokenUSDPrice(
364
- // { address: pool.token1, decimals: token1decimals! },
365
- // state.collateralReserves.token1RealReserves +
366
- // state.debtReserves.token1RealReserves,
367
- // );
368
- //
369
- // poolLiquidities.push({
370
- // exchange: 'FluidDex',
371
- // address: pool.address,
372
- // connectorTokens: [],
373
- // liquidityUSD: Number(usd0 + usd1), // converted to number
374
- // });
375
- // }
376
- // return poolLiquidities;
377
-
282
+ //@TODO
378
283
  return [];
379
284
  }
380
285
 
@@ -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 = {