@paraswap/dex-lib 2.30.2-chronos-v3 → 2.30.3-chronos-v3

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 (110) hide show
  1. package/build/abi/sushiswap-v3/QuoterV2.json +267 -0
  2. package/build/abi/sushiswap-v3/RouterProcessor3.json +289 -0
  3. package/build/dex/balancer-v2/balancer-v2.js +0 -2
  4. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  5. package/build/dex/balancer-v2/optimizer.js +38 -51
  6. package/build/dex/balancer-v2/optimizer.js.map +1 -1
  7. package/build/dex/balancer-v2/types.d.ts +0 -4
  8. package/build/dex/balancer-v2/types.js.map +1 -1
  9. package/build/dex/curve-v1-factory/config.js +17 -9
  10. package/build/dex/curve-v1-factory/config.js.map +1 -1
  11. package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +1 -1
  12. package/build/dex/curve-v1-factory/curve-v1-factory.js +192 -177
  13. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  14. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +4 -1
  15. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
  16. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js +1 -0
  17. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js.map +1 -1
  18. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js +1 -0
  19. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js.map +1 -1
  20. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js +1 -0
  21. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js.map +1 -1
  22. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js +1 -0
  23. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js.map +1 -1
  24. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js +1 -0
  25. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js.map +1 -1
  26. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js +61 -14
  27. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js.map +1 -1
  28. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js +1 -0
  29. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js.map +1 -1
  30. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js +10 -0
  31. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js.map +1 -1
  32. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js +1 -0
  33. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js.map +1 -1
  34. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js +1 -0
  35. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js.map +1 -1
  36. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js +1 -0
  37. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js.map +1 -1
  38. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js +1 -0
  39. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js.map +1 -1
  40. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js +1 -0
  41. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js.map +1 -1
  42. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js +1 -0
  43. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js.map +1 -1
  44. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js +1 -0
  45. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js.map +1 -1
  46. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.d.ts +1 -1
  47. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +2 -2
  48. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
  49. package/build/dex/curve-v1-factory/types.d.ts +4 -1
  50. package/build/dex/curve-v1-factory/types.js +1 -0
  51. package/build/dex/curve-v1-factory/types.js.map +1 -1
  52. package/build/dex/solidly/forks-override/ramses.js +20 -8
  53. package/build/dex/solidly/forks-override/ramses.js.map +1 -1
  54. package/build/dex/solidly/solidly.js +1 -1
  55. package/build/dex/sushiswap-v3/config.d.ts +4 -0
  56. package/build/dex/sushiswap-v3/config.js +113 -0
  57. package/build/dex/sushiswap-v3/config.js.map +1 -0
  58. package/build/dex/sushiswap-v3/constants.d.ts +4 -0
  59. package/build/dex/sushiswap-v3/constants.js +32 -0
  60. package/build/dex/sushiswap-v3/constants.js.map +1 -0
  61. package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +1 -0
  62. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +6 -0
  63. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +1 -0
  64. package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +56 -0
  65. package/build/dex/sushiswap-v3/sushiswap-v3.js +598 -0
  66. package/build/dex/sushiswap-v3/sushiswap-v3.js.map +1 -0
  67. package/build/dex/sushiswap-v3/token.d.ts +6 -0
  68. package/build/dex/sushiswap-v3/token.js +23 -0
  69. package/build/dex/sushiswap-v3/token.js.map +1 -0
  70. package/build/dex/sushiswap-v3/types.d.ts +15 -0
  71. package/build/dex/sushiswap-v3/types.js +18 -0
  72. package/build/dex/sushiswap-v3/types.js.map +1 -0
  73. package/build/dex/uniswap-v3/types.js.map +1 -1
  74. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  75. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  76. package/package.json +1 -2
  77. package/scripts/dex-integration.ts +1 -1
  78. package/src/dex/balancer-v2/balancer-v2.ts +0 -2
  79. package/src/dex/balancer-v2/optimizer.ts +49 -62
  80. package/src/dex/balancer-v2/types.ts +0 -4
  81. package/src/dex/curve-v1-factory/config.ts +17 -9
  82. package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +19 -0
  83. package/src/dex/curve-v1-factory/curve-v1-factory-integration.test.ts +108 -45
  84. package/src/dex/curve-v1-factory/curve-v1-factory.ts +415 -367
  85. package/src/dex/curve-v1-factory/curve-v1-pool-manager.ts +4 -1
  86. package/src/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.ts +1 -0
  87. package/src/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.ts +1 -0
  88. package/src/dex/curve-v1-factory/price-handlers/functions/_rates.ts +1 -0
  89. package/src/dex/curve-v1-factory/price-handlers/functions/_xp.ts +1 -0
  90. package/src/dex/curve-v1-factory/price-handlers/functions/_xp_mem.ts +1 -0
  91. package/src/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.ts +71 -13
  92. package/src/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.ts +1 -0
  93. package/src/dex/curve-v1-factory/price-handlers/functions/constants.ts +11 -0
  94. package/src/dex/curve-v1-factory/price-handlers/functions/get_D.ts +2 -0
  95. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_mem.ts +1 -0
  96. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.ts +1 -0
  97. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy.ts +1 -0
  98. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.ts +1 -0
  99. package/src/dex/curve-v1-factory/price-handlers/functions/get_y.ts +1 -0
  100. package/src/dex/curve-v1-factory/price-handlers/functions/get_y_D.ts +1 -0
  101. package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +2 -1
  102. package/src/dex/curve-v1-factory/types.ts +3 -1
  103. package/src/dex/solidly/forks-override/ramses.ts +105 -76
  104. package/src/dex/solidly/solidly.ts +1 -1
  105. package/src/dex/uniswap-v3/types.ts +4 -2
  106. package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +50 -46
  107. package/src/dex/uniswap-v3/uniswap-v3-integration.test.ts +2 -15
  108. package/src/dex/uniswap-v3/uniswap-v3-pool.ts +5 -2
  109. package/src/dex/uniswap-v3/uniswap-v3.ts +3 -2
  110. package/tests/constants-e2e.ts +10 -0
@@ -85,7 +85,7 @@ class CurveV1Factory extends simple_exchange_1.SimpleExchange {
85
85
  this.SRC_TOKEN_DEX_TRANSFERS = 1;
86
86
  this.DEST_TOKEN_DEX_TRANSFERS = 1;
87
87
  this.directSwapIface = new abi_1.Interface(DirectSwap_json_1.default);
88
- this.logger = dexHelper.getLogger(dexKey);
88
+ this.logger = dexHelper.getLogger(`${this.dexKey}-${this.network}`);
89
89
  this.ifaces = {
90
90
  exchangeRouter: new abi_1.Interface(Curve_json_1.default),
91
91
  factory: new abi_1.Interface(FactoryCurveV1_json_1.default),
@@ -123,59 +123,62 @@ class CurveV1Factory extends simple_exchange_1.SimpleExchange {
123
123
  await this.fetchFactoryPools(blockNumber);
124
124
  this.logger.info(`${this.dexKey}: successfully initialized`);
125
125
  }
126
- async initializeCustomPollingPools(blockNumber,
126
+ async initializeCustomPollingPools(factoryAddresses, blockNumber,
127
127
  // We don't want to initialize state for PoolTracker. It doesn't make any sense
128
128
  initializeInitialState = true) {
129
129
  if (this.areCustomPoolsFetched) {
130
130
  return;
131
131
  }
132
- const { factoryAddress } = this.config;
133
- if (!factoryAddress) {
134
- this.logger.warn(`${this.dexKey}: No factory address specified for ${this.network}`);
135
- return;
136
- }
137
- await Promise.all(Object.values(this.config.customPools).map(async (customPool) => {
138
- const poolIdentifier = this.getPoolIdentifier(customPool.address, false);
139
- const poolContextConstants = constants_3.default[customPool.name];
140
- const { N_COINS: nCoins, USE_LENDING: useLending, isLending, } = poolContextConstants;
141
- const coinsAndImplementations = await this.dexHelper.multiWrapper.aggregate(lodash_1.default.range(0, nCoins)
142
- .map(i => ({
143
- target: customPool.address,
144
- callData: this.abiCoder.encodeFunctionCall(this._getCoinsABI(customPool.coinsInputType), [i.toString()]),
145
- decodeFunction: decoders_1.addressDecode,
146
- }))
147
- .concat([
148
- {
149
- target: factoryAddress,
150
- callData: this.ifaces.factory.encodeFunctionData('get_implementation_address', [customPool.address]),
151
- decodeFunction: decoders_1.addressDecode,
152
- },
153
- ]));
154
- const COINS = coinsAndImplementations.slice(0, -1);
155
- const implementationAddress = coinsAndImplementations.slice(-1)[0];
156
- const coins_decimals = (await this.dexHelper.multiWrapper.tryAggregate(true, COINS.map(c => ({
157
- target: c,
158
- callData: this.ifaces.erc20.encodeFunctionData('decimals', []),
159
- decodeFunction: decoders_1.uint8ToNumber,
160
- })))).map(r => r.returnData);
161
- const poolConstants = {
162
- COINS,
163
- coins_decimals,
164
- rate_multipliers: this._calcRateMultipliers(coins_decimals),
165
- lpTokenAddress: customPool.lpTokenAddress,
166
- };
167
- let newPool;
168
- if (Object.values(types_1.CustomImplementationNames).includes(customPool.name)) {
169
- // We don't want custom pools to be used for pricing, unless explicitly specified
170
- newPool = new custom_pool_polling_1.CustomBasePoolForFactory(this.logger, this.dexKey, this.dexHelper.config.data.network, this.cacheStateKey, customPool.name, implementationAddress, customPool.address, this.config.stateUpdatePeriodMs, poolIdentifier, poolConstants, poolContextConstants, customPool.liquidityApiSlug, customPool.lpTokenAddress, isLending, customPool.balancesInputType, useLending, customPool.useForPricing);
171
- }
172
- else {
173
- // Use for pricing pools from factory
174
- newPool = new custom_pool_polling_1.CustomBasePoolForFactory(this.logger, this.dexKey, this.dexHelper.config.data.network, this.cacheStateKey, customPool.name, implementationAddress, customPool.address, this.config.stateUpdatePeriodMs, poolIdentifier, poolConstants, poolContextConstants, customPool.liquidityApiSlug, customPool.lpTokenAddress, isLending, customPool.balancesInputType, useLending, true);
132
+ await Promise.all(factoryAddresses.map(async (factoryAddress) => {
133
+ try {
134
+ await Promise.all(Object.values(this.config.customPools).map(async (customPool) => {
135
+ const poolIdentifier = this.getPoolIdentifier(customPool.address, false);
136
+ const poolContextConstants = constants_3.default[customPool.name];
137
+ const { N_COINS: nCoins, USE_LENDING: useLending, isLending, } = poolContextConstants;
138
+ const coinsAndImplementations = await this.dexHelper.multiWrapper.aggregate(lodash_1.default.range(0, nCoins)
139
+ .map(i => ({
140
+ target: customPool.address,
141
+ callData: this.abiCoder.encodeFunctionCall(this._getCoinsABI(customPool.coinsInputType), [i.toString()]),
142
+ decodeFunction: decoders_1.addressDecode,
143
+ }))
144
+ .concat([
145
+ {
146
+ target: factoryAddress,
147
+ callData: this.ifaces.factory.encodeFunctionData('get_implementation_address', [customPool.address]),
148
+ decodeFunction: decoders_1.addressDecode,
149
+ },
150
+ ]));
151
+ const COINS = coinsAndImplementations.slice(0, -1);
152
+ const implementationAddress = coinsAndImplementations.slice(-1)[0];
153
+ const coins_decimals = (await this.dexHelper.multiWrapper.tryAggregate(true, COINS.map(c => ({
154
+ target: c,
155
+ callData: this.ifaces.erc20.encodeFunctionData('decimals', []),
156
+ decodeFunction: decoders_1.uint8ToNumber,
157
+ })))).map(r => r.returnData);
158
+ const poolConstants = {
159
+ COINS,
160
+ coins_decimals,
161
+ rate_multipliers: this._calcRateMultipliers(coins_decimals),
162
+ lpTokenAddress: customPool.lpTokenAddress,
163
+ };
164
+ let newPool;
165
+ if (Object.values(types_1.CustomImplementationNames).includes(customPool.name)) {
166
+ // We don't want custom pools to be used for pricing, unless explicitly specified
167
+ newPool = new custom_pool_polling_1.CustomBasePoolForFactory(this.logger, this.dexKey, this.dexHelper.config.data.network, this.cacheStateKey, customPool.name, implementationAddress, customPool.address, this.config.stateUpdatePeriodMs, poolIdentifier, poolConstants, poolContextConstants, customPool.liquidityApiSlug, customPool.lpTokenAddress, isLending, customPool.balancesInputType, useLending, customPool.useForPricing);
168
+ }
169
+ else {
170
+ // Use for pricing pools from factory
171
+ newPool = new custom_pool_polling_1.CustomBasePoolForFactory(this.logger, this.dexKey, this.dexHelper.config.data.network, this.cacheStateKey, customPool.name, implementationAddress, customPool.address, this.config.stateUpdatePeriodMs, poolIdentifier, poolConstants, poolContextConstants, customPool.liquidityApiSlug, customPool.lpTokenAddress, isLending, customPool.balancesInputType, useLending, true);
172
+ }
173
+ this.poolManager.initializeNewPoolForState(poolIdentifier, newPool);
174
+ if (initializeInitialState) {
175
+ await this.poolManager.initializeIndividualPollingPoolState(poolIdentifier, custom_pool_polling_1.CustomBasePoolForFactory.IS_SRC_FEE_ON_TRANSFER_SUPPORTED, blockNumber);
176
+ }
177
+ }));
175
178
  }
176
- this.poolManager.initializeNewPoolForState(poolIdentifier, newPool);
177
- if (initializeInitialState) {
178
- await this.poolManager.initializeIndividualPollingPoolState(poolIdentifier, custom_pool_polling_1.CustomBasePoolForFactory.IS_SRC_FEE_ON_TRANSFER_SUPPORTED, blockNumber);
179
+ catch (e) {
180
+ this.logger.error(`Error initializing custom polling pools for factory ${factoryAddress}: `, e);
181
+ throw e;
179
182
  }
180
183
  }));
181
184
  this.areCustomPoolsFetched = true;
@@ -188,140 +191,152 @@ class CurveV1Factory extends simple_exchange_1.SimpleExchange {
188
191
  if (this.areFactoryPoolsFetched) {
189
192
  return;
190
193
  }
194
+ if (!this.config.factoryAddresses ||
195
+ this.config.factoryAddresses.length == 0) {
196
+ this.logger.warn(`No factory address specified in configs`);
197
+ return;
198
+ }
191
199
  // There is no scenario when we need to call initialize custom pools without factory pools
192
200
  // So I put it here to not forget call, because custom pools must be initialised before factory pools
193
201
  // This function may be called multiple times, but will execute only once
194
- await this.initializeCustomPollingPools(blockNumber, initializeInitialState);
195
- const { factoryAddress } = this.config;
196
- if (!factoryAddress) {
197
- this.logger.warn(`${this.dexKey}: No factory address specified for ${this.network}`);
198
- return;
199
- }
200
- const poolCountResult = await this.dexHelper.multiWrapper.tryAggregate(true, [
201
- {
202
- target: factoryAddress,
203
- callData: this.ifaces.factory.encodeFunctionData('pool_count'),
204
- decodeFunction: decoders_1.uint256DecodeToNumber,
205
- },
206
- // This is used later to request all available implementations. In particular meta implementations
207
- {
208
- target: factoryAddress,
209
- callData: this.ifaces.factory.encodeFunctionData('base_pool_count'),
210
- decodeFunction: decoders_1.uint256DecodeToNumber,
211
- },
212
- ]);
213
- const poolCount = poolCountResult[0].returnData;
214
- const basePoolCount = poolCountResult[1].returnData;
215
- const calldataGetPoolAddresses = lodash_1.default.range(0, poolCount).map(i => ({
216
- target: factoryAddress,
217
- callData: this.ifaces.factory.encodeFunctionData('pool_list', [i]),
218
- decodeFunction: decoders_1.addressDecode,
219
- }));
220
- const calldataGetBasePoolAddresses = lodash_1.default.range(0, basePoolCount).map(i => ({
221
- target: factoryAddress,
222
- callData: this.ifaces.factory.encodeFunctionData('base_pool_list', [i]),
223
- decodeFunction: decoders_1.addressDecode,
224
- }));
225
- const allPoolAddresses = (await this.dexHelper.multiWrapper.tryAggregate(true, calldataGetPoolAddresses.concat(calldataGetBasePoolAddresses))).map(e => e.returnData);
226
- const poolAddresses = allPoolAddresses.slice(0, poolCount);
227
- const basePoolAddresses = allPoolAddresses.slice(poolCount);
228
- const customPoolAddresses = Object.values(this.config.customPools).map(customPool => customPool.address);
229
- basePoolAddresses.forEach(basePool => {
230
- if (!customPoolAddresses.includes(basePool) &&
231
- !this.config.disabledPools.has(basePool)) {
232
- this._reportForUnspecifiedCustomPool(basePool);
233
- }
234
- });
235
- let callDataFromFactoryPools = poolAddresses
236
- .map(p => [
237
- {
238
- target: factoryAddress,
239
- callData: this.ifaces.factory.encodeFunctionData('get_implementation_address', [p]),
240
- decodeFunction: decoders_1.addressDecode,
241
- },
242
- {
243
- target: factoryAddress,
244
- callData: this.ifaces.factory.encodeFunctionData('get_coins', [p]),
245
- decodeFunction: (result) => (0, decoders_1.generalDecoder)(result, ['address[4]'], new Array(4).fill(constants_1.NULL_ADDRESS), parsed => parsed[0].map((p) => p.toLowerCase())),
246
- },
247
- {
248
- target: factoryAddress,
249
- callData: this.ifaces.factory.encodeFunctionData('get_decimals', [p]),
250
- decodeFunction: (result) => (0, decoders_1.generalDecoder)(result, ['uint256[4]'], [0, 0, 0, 0], parsed => parsed[0].map((p) => Number(p.toString()))),
251
- },
252
- ])
253
- .flat();
254
- // This is divider between pools related results and implementations
255
- const factoryResultsDivider = callDataFromFactoryPools.length;
256
- // Implementations must be requested from factory, but it accepts as arg basePool address
257
- // for metaPools
258
- callDataFromFactoryPools = callDataFromFactoryPools.concat(...basePoolAddresses.map(basePoolAddress => ({
259
- target: factoryAddress,
260
- callData: this.ifaces.factory.encodeFunctionData('metapool_implementations', [basePoolAddress]),
261
- decodeFunction: (result) => (0, decoders_1.generalDecoder)(result, ['address[10]'], new Array(10).fill(constants_1.NULL_ADDRESS), parsed => parsed[0].map((p) => p.toLowerCase())),
262
- })),
263
- // To receive plain pool implementation address, you have to call plain_implementations
264
- // with two variables: N_COINS and implementations_index
265
- // N_COINS is between 2-4. Currently more than 4 coins is not supported
266
- // as for implementation index, there are only 0-9 indexes
267
- ...lodash_1.default.flattenDeep(lodash_1.default.range(2, constants_2.FACTORY_MAX_PLAIN_COINS + 1).map(coinNumber => lodash_1.default.range(constants_2.FACTORY_MAX_PLAIN_IMPLEMENTATIONS_FOR_COIN).map(implInd => ({
268
- target: factoryAddress,
269
- callData: this.ifaces.factory.encodeFunctionData('plain_implementations', [coinNumber, implInd]),
270
- decodeFunction: decoders_1.addressDecode,
271
- })))));
272
- const allResultsFromFactory = (await this.dexHelper.multiWrapper.tryAggregate(true, callDataFromFactoryPools)).map(r => r.returnData);
273
- const resultsFromFactory = allResultsFromFactory.slice(0, factoryResultsDivider);
274
- const allAvailableImplementations = lodash_1.default.flattenDeep(allResultsFromFactory.slice(factoryResultsDivider)).filter(implementation => implementation !== constants_1.NULL_ADDRESS &&
275
- !this.config.disabledImplementations.has(implementation));
276
- allAvailableImplementations.forEach(implementation => {
277
- const currentImplementation = this.config.factoryPoolImplementations[implementation];
278
- if (currentImplementation === undefined) {
279
- this._reportForUnspecifiedImplementation(implementation);
280
- }
281
- });
282
- const stateInitializePromises = [];
283
- lodash_1.default.chunk(resultsFromFactory, 3).forEach((result, i) => {
284
- if (this.config.disabledPools.has(poolAddresses[i])) {
285
- this.logger.trace(`Filtering disabled pool ${poolAddresses[i]}`);
286
- return;
287
- }
288
- let [implementationAddress, coins, coins_decimals] = result;
289
- implementationAddress = implementationAddress.toLowerCase();
290
- coins = coins.map(c => c.toLowerCase()).filter(c => c !== constants_1.NULL_ADDRESS);
291
- coins_decimals = coins_decimals.filter(cd => cd !== 0);
292
- const factoryImplementationFromConfig = this.config.factoryPoolImplementations[implementationAddress];
293
- if (factoryImplementationFromConfig === undefined &&
294
- !this.config.disabledImplementations.has(implementationAddress)) {
295
- this._reportForUnspecifiedImplementation(implementationAddress, poolAddresses[i]);
296
- return;
297
- }
298
- const factoryImplementationConstants = constants_3.default[factoryImplementationFromConfig.name];
299
- let isMeta = false;
300
- let basePoolStateFetcher;
301
- if (factoryImplementationFromConfig.basePoolAddress !== undefined) {
302
- isMeta = true;
303
- const basePoolIdentifier = this.getPoolIdentifier(factoryImplementationFromConfig.basePoolAddress, false);
304
- const basePool = this.poolManager.getPool(basePoolIdentifier, false);
305
- if (basePool === null) {
306
- this.logger.error(`${this.dexKey}_${this.dexHelper.config.data.network}: custom base pool ${basePoolIdentifier} was not initialized properly. ` +
307
- `You must call initializeCustomPollingPools before fetching factory`);
308
- return;
309
- }
310
- basePoolStateFetcher = basePool;
202
+ await this.initializeCustomPollingPools(this.config.factoryAddresses, blockNumber, initializeInitialState);
203
+ await Promise.all(this.config.factoryAddresses.map(async (factoryAddress) => {
204
+ try {
205
+ const poolCountResult = await this.dexHelper.multiWrapper.tryAggregate(true, [
206
+ {
207
+ target: factoryAddress,
208
+ callData: this.ifaces.factory.encodeFunctionData('pool_count'),
209
+ decodeFunction: decoders_1.uint256DecodeToNumber,
210
+ },
211
+ // This is used later to request all available implementations. In particular meta implementations
212
+ {
213
+ target: factoryAddress,
214
+ callData: this.ifaces.factory.encodeFunctionData('base_pool_count'),
215
+ decodeFunction: decoders_1.uint256DecodeToNumber,
216
+ },
217
+ ]);
218
+ const poolCount = poolCountResult[0].returnData;
219
+ const basePoolCount = poolCountResult[1].returnData;
220
+ const calldataGetPoolAddresses = lodash_1.default.range(0, poolCount).map(i => ({
221
+ target: factoryAddress,
222
+ callData: this.ifaces.factory.encodeFunctionData('pool_list', [i]),
223
+ decodeFunction: decoders_1.addressDecode,
224
+ }));
225
+ const calldataGetBasePoolAddresses = lodash_1.default.range(0, basePoolCount).map(i => ({
226
+ target: factoryAddress,
227
+ callData: this.ifaces.factory.encodeFunctionData('base_pool_list', [i]),
228
+ decodeFunction: decoders_1.addressDecode,
229
+ }));
230
+ const allPoolAddresses = (await this.dexHelper.multiWrapper.tryAggregate(true, calldataGetPoolAddresses.concat(calldataGetBasePoolAddresses))).map(e => e.returnData);
231
+ const poolAddresses = allPoolAddresses.slice(0, poolCount);
232
+ const basePoolAddresses = allPoolAddresses.slice(poolCount);
233
+ const customPoolAddresses = Object.values(this.config.customPools).map(customPool => customPool.address);
234
+ basePoolAddresses.forEach(basePool => {
235
+ if (!customPoolAddresses.includes(basePool) &&
236
+ !this.config.disabledPools.has(basePool)) {
237
+ this._reportForUnspecifiedCustomPool(basePool);
238
+ }
239
+ });
240
+ let callDataFromFactoryPools = poolAddresses
241
+ .map(p => [
242
+ {
243
+ target: factoryAddress,
244
+ callData: this.ifaces.factory.encodeFunctionData('get_implementation_address', [p]),
245
+ decodeFunction: decoders_1.addressDecode,
246
+ },
247
+ {
248
+ target: factoryAddress,
249
+ callData: this.ifaces.factory.encodeFunctionData('get_coins', [
250
+ p,
251
+ ]),
252
+ decodeFunction: (result) => (0, decoders_1.generalDecoder)(result, ['address[4]'], new Array(4).fill(constants_1.NULL_ADDRESS), parsed => parsed[0].map((p) => p.toLowerCase())),
253
+ },
254
+ {
255
+ target: factoryAddress,
256
+ callData: this.ifaces.factory.encodeFunctionData('get_decimals', [p]),
257
+ decodeFunction: (result) => (0, decoders_1.generalDecoder)(result, ['uint256[4]'], [0, 0, 0, 0], parsed => parsed[0].map((p) => Number(p.toString()))),
258
+ },
259
+ ])
260
+ .flat();
261
+ // This is divider between pools related results and implementations
262
+ const factoryResultsDivider = callDataFromFactoryPools.length;
263
+ // Implementations must be requested from factory, but it accepts as arg basePool address
264
+ // for metaPools
265
+ callDataFromFactoryPools = callDataFromFactoryPools.concat(...basePoolAddresses.map(basePoolAddress => ({
266
+ target: factoryAddress,
267
+ callData: this.ifaces.factory.encodeFunctionData('metapool_implementations', [basePoolAddress]),
268
+ decodeFunction: (result) => (0, decoders_1.generalDecoder)(result, ['address[10]'], new Array(10).fill(constants_1.NULL_ADDRESS), parsed => parsed[0].map((p) => p.toLowerCase())),
269
+ })),
270
+ // To receive plain pool implementation address, you have to call plain_implementations
271
+ // with two variables: N_COINS and implementations_index
272
+ // N_COINS is between 2-4. Currently more than 4 coins is not supported
273
+ // as for implementation index, there are only 0-9 indexes
274
+ ...lodash_1.default.flattenDeep(lodash_1.default.range(2, constants_2.FACTORY_MAX_PLAIN_COINS + 1).map(coinNumber => lodash_1.default.range(constants_2.FACTORY_MAX_PLAIN_IMPLEMENTATIONS_FOR_COIN).map(implInd => ({
275
+ target: factoryAddress,
276
+ callData: this.ifaces.factory.encodeFunctionData('plain_implementations', [coinNumber, implInd]),
277
+ decodeFunction: decoders_1.addressDecode,
278
+ })))));
279
+ const allResultsFromFactory = (await this.dexHelper.multiWrapper.tryAggregate(true, callDataFromFactoryPools)).map(r => r.returnData);
280
+ const resultsFromFactory = allResultsFromFactory.slice(0, factoryResultsDivider);
281
+ const allAvailableImplementations = lodash_1.default.flattenDeep(allResultsFromFactory.slice(factoryResultsDivider)).filter(implementation => implementation !== constants_1.NULL_ADDRESS &&
282
+ !this.config.disabledImplementations.has(implementation));
283
+ allAvailableImplementations.forEach(implementation => {
284
+ const currentImplementation = this.config.factoryPoolImplementations[implementation];
285
+ if (currentImplementation === undefined) {
286
+ this._reportForUnspecifiedImplementation(implementation);
287
+ }
288
+ });
289
+ const stateInitializePromises = [];
290
+ lodash_1.default.chunk(resultsFromFactory, 3).forEach((result, i) => {
291
+ if (this.config.disabledPools.has(poolAddresses[i])) {
292
+ this.logger.trace(`Filtering disabled pool ${poolAddresses[i]}`);
293
+ return;
294
+ }
295
+ let [implementationAddress, coins, coins_decimals] = result;
296
+ implementationAddress = implementationAddress.toLowerCase();
297
+ coins = coins
298
+ .map(c => c.toLowerCase())
299
+ .filter(c => c !== constants_1.NULL_ADDRESS);
300
+ coins_decimals = coins_decimals.filter(cd => cd !== 0);
301
+ const factoryImplementationFromConfig = this.config.factoryPoolImplementations[implementationAddress];
302
+ if (factoryImplementationFromConfig === undefined &&
303
+ !this.config.disabledImplementations.has(implementationAddress)) {
304
+ this._reportForUnspecifiedImplementation(implementationAddress, poolAddresses[i]);
305
+ return;
306
+ }
307
+ const factoryImplementationConstants = constants_3.default[factoryImplementationFromConfig.name];
308
+ let isMeta = false;
309
+ let basePoolStateFetcher;
310
+ if (factoryImplementationFromConfig.basePoolAddress !== undefined) {
311
+ isMeta = true;
312
+ const basePoolIdentifier = this.getPoolIdentifier(factoryImplementationFromConfig.basePoolAddress, false);
313
+ const basePool = this.poolManager.getPool(basePoolIdentifier, false);
314
+ if (basePool === null) {
315
+ this.logger.error(`${this.dexKey}_${this.dexHelper.config.data.network}: custom base pool ${basePoolIdentifier} was not initialized properly. ` +
316
+ `You must call initializeCustomPollingPools before fetching factory`);
317
+ return;
318
+ }
319
+ basePoolStateFetcher = basePool;
320
+ }
321
+ const poolConstants = {
322
+ COINS: coins,
323
+ coins_decimals,
324
+ rate_multipliers: this._calcRateMultipliers(coins_decimals),
325
+ };
326
+ const poolIdentifier = this.getPoolIdentifier(poolAddresses[i], isMeta);
327
+ const newPool = new factory_pool_polling_1.FactoryStateHandler(this.logger, this.dexKey, this.dexHelper.config.data.network, this.cacheStateKey, factoryImplementationFromConfig.name, implementationAddress.toLowerCase(), poolAddresses[i], this.config.stateUpdatePeriodMs, factoryAddress, poolIdentifier, poolConstants, factoryImplementationConstants, factoryImplementationConstants.isFeeOnTransferSupported, factoryImplementationFromConfig.liquidityApiSlug ?? '/factory', basePoolStateFetcher, factoryImplementationFromConfig.customGasCost, factoryImplementationFromConfig.isStoreRateSupported);
328
+ this.poolManager.initializeNewPool(poolIdentifier, newPool);
329
+ if (initializeInitialState) {
330
+ stateInitializePromises.push(this.poolManager.initializeIndividualPollingPoolState(poolIdentifier, factoryImplementationConstants.isFeeOnTransferSupported));
331
+ }
332
+ });
333
+ await Promise.all(stateInitializePromises);
311
334
  }
312
- const poolConstants = {
313
- COINS: coins,
314
- coins_decimals,
315
- rate_multipliers: this._calcRateMultipliers(coins_decimals),
316
- };
317
- const poolIdentifier = this.getPoolIdentifier(poolAddresses[i], isMeta);
318
- const newPool = new factory_pool_polling_1.FactoryStateHandler(this.logger, this.dexKey, this.dexHelper.config.data.network, this.cacheStateKey, factoryImplementationFromConfig.name, implementationAddress.toLowerCase(), poolAddresses[i], this.config.stateUpdatePeriodMs, factoryAddress, poolIdentifier, poolConstants, factoryImplementationConstants, factoryImplementationConstants.isFeeOnTransferSupported, basePoolStateFetcher, factoryImplementationFromConfig.customGasCost, factoryImplementationFromConfig.isStoreRateSupported);
319
- this.poolManager.initializeNewPool(poolIdentifier, newPool);
320
- if (initializeInitialState) {
321
- stateInitializePromises.push(this.poolManager.initializeIndividualPollingPoolState(poolIdentifier, factoryImplementationConstants.isFeeOnTransferSupported));
335
+ catch (e) {
336
+ this.logger.error(`Error fetching factory pools for ${factoryAddress}: `, e);
337
+ throw e;
322
338
  }
323
- });
324
- await Promise.all(stateInitializePromises);
339
+ }));
325
340
  this.areFactoryPoolsFetched = true;
326
341
  }
327
342
  getAdapters(side) {
@@ -1 +1 @@
1
- {"version":3,"file":"curve-v1-factory.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/curve-v1-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curve-v1-factory.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/curve-v1-factory.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,10 @@ class CurveV1FactoryPoolManager {
35
35
  // In fact it is skewed in favor of CRV, so we still end up with 100 pools for CRV token.
36
36
  // It should bo considered for optimizing
37
37
  this.coinAddressesToPoolIdentifiers = {};
38
- this.allCurveLiquidityApiSlugs = new Set(['/factory']);
38
+ this.allCurveLiquidityApiSlugs = new Set([
39
+ '/factory',
40
+ '/factory-crvusd',
41
+ ]);
39
42
  this.statePollingManager = polling_manager_1.StatePollingManager;
40
43
  this.liquidityUpdatedAtMs = 0;
41
44
  this.taskScheduler = new task_scheduler_1.TaskScheduler(this.name, this.logger, this.updatePollingPoolsInBatch.bind(this), stateUpdatePeriodMs, stateUpdateRetryPeriodMs);
@@ -1 +1 @@
1
- {"version":3,"file":"curve-v1-pool-manager.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/curve-v1-pool-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curve-v1-pool-manager.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/curve-v1-pool-manager.ts"],"names":[],"mappings":"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"}
@@ -174,6 +174,7 @@ const implementations = {
174
174
  [types_1.ImplementationNames.FACTORY_PLAIN_2_BASIC_EMA]: customArbitrum2CoinBtc,
175
175
  [types_1.ImplementationNames.FACTORY_PLAIN_2_ETH_EMA]: customArbitrum2CoinBtc,
176
176
  [types_1.ImplementationNames.FACTORY_PLAIN_2_ETH_EMA2]: factoryPlain2EthEma2,
177
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_CRV_EMA]: customArbitrum2CoinBtc,
177
178
  };
178
179
  exports.default = implementations;
179
180
  //# sourceMappingURL=_calc_withdraw_one_coin.js.map