@paraswap/dex-lib 2.15.5 → 2.15.6

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 (50) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  5. package/.idea/misc.xml +6 -0
  6. package/.idea/modules.xml +8 -0
  7. package/.idea/paraswap-dex-lib.iml +9 -0
  8. package/.idea/runConfigurations.xml +10 -0
  9. package/.idea/vcs.xml +6 -0
  10. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  11. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  12. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  13. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  14. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  15. package/build/dex/curve-v1/curve-v1.js +6 -3
  16. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  17. package/build/dex/curve-v1/pools/3pool.d.ts +2 -0
  18. package/build/dex/curve-v1/pools/3pool.js +21 -1
  19. package/build/dex/curve-v1/pools/3pool.js.map +1 -1
  20. package/build/dex/curve-v1/pools/curve-pool.js.map +1 -1
  21. package/build/dex/curve-v1/pools/sUSDpool.js +1 -1
  22. package/build/dex/curve-v1/pools/sUSDpool.js.map +1 -1
  23. package/package.json +1 -1
  24. package/src/dex/curve-v1/curve-v1.ts +8 -3
  25. package/src/dex/curve-v1/pools/3pool.ts +40 -2
  26. package/src/dex/curve-v1/pools/curve-pool.ts +1 -1
  27. package/src/dex/curve-v1/pools/sUSDpool.ts +1 -1
  28. package/build/abi/maverick/pool.json +0 -913
  29. package/build/abi/maverick/router.json +0 -703
  30. package/build/dex/maverick/config.d.ts +0 -4
  31. package/build/dex/maverick/config.js +0 -20
  32. package/build/dex/maverick/config.js.map +0 -1
  33. package/build/dex/maverick/maverick-math/maverick-pool-math.d.ts +0 -67
  34. package/build/dex/maverick/maverick-math/maverick-pool-math.js +0 -406
  35. package/build/dex/maverick/maverick-math/maverick-pool-math.js.map +0 -1
  36. package/build/dex/maverick/maverick-math/maverick-sol-math.d.ts +0 -17
  37. package/build/dex/maverick/maverick-math/maverick-sol-math.js +0 -139
  38. package/build/dex/maverick/maverick-math/maverick-sol-math.js.map +0 -1
  39. package/build/dex/maverick/maverick-pool.d.ts +0 -41
  40. package/build/dex/maverick/maverick-pool.js +0 -130
  41. package/build/dex/maverick/maverick-pool.js.map +0 -1
  42. package/build/dex/maverick/maverick.d.ts +0 -42
  43. package/build/dex/maverick/maverick.js +0 -174
  44. package/build/dex/maverick/maverick.js.map +0 -1
  45. package/build/dex/maverick/subgraph-queries.d.ts +0 -4
  46. package/build/dex/maverick/subgraph-queries.js +0 -114
  47. package/build/dex/maverick/subgraph-queries.js.map +0 -1
  48. package/build/dex/maverick/types.d.ts +0 -46
  49. package/build/dex/maverick/types.js +0 -3
  50. package/build/dex/maverick/types.js.map +0 -1
@@ -81,7 +81,7 @@ class ThreePool extends curve_pool_1.CurvePool {
81
81
  const Ann = A_.times(this.N_COINS);
82
82
  let _x = bignumber_constants_1.BN_0;
83
83
  for (let _i = 0; _i < this.N_COINS; _i++) {
84
- if (_i != i) {
84
+ if (_i !== i) {
85
85
  _x = xp[_i];
86
86
  }
87
87
  else {
@@ -171,6 +171,26 @@ class ThreePool extends curve_pool_1.CurvePool {
171
171
  const { dy, dy_fee } = this._calc_withdraw_one_coin(token_amount, i, state.A, state.fee, state.supply, rates, state.balances);
172
172
  return dy;
173
173
  }
174
+ _get_dy(i, j, dx, A, fee, balances, rates, usefee = true) {
175
+ const xp = this._xp(rates, balances);
176
+ const x = xp[i].plus(dx.times(rates[i]).idiv(this.PRECISION));
177
+ const y = this.get_y(i, j, x, xp, A);
178
+ const dy = xp[j].minus(y).minus(bignumber_constants_1.BN_1).times(this.PRECISION).idiv(rates[j]);
179
+ let _fee = fee.times(dy).idiv(this.FEE_DENOMINATOR);
180
+ if (!usefee)
181
+ _fee = bignumber_constants_1.BN_0;
182
+ return dy.minus(_fee);
183
+ }
184
+ _get_dy_underlying(i, j, dx, A, fee, balances, rates, usefee = true) {
185
+ const xp = this._xp(rates, balances);
186
+ const x = xp[i].plus(dx.times(this.PRECISION_MUL[i]));
187
+ const y = this.get_y(i, j, x, xp, A);
188
+ const dy = xp[j].minus(y).minus(bignumber_constants_1.BN_1).idiv(this.PRECISION_MUL[j]);
189
+ let _fee = fee.times(dy).idiv(this.FEE_DENOMINATOR);
190
+ if (!usefee)
191
+ _fee = bignumber_constants_1.BN_0;
192
+ return dy.minus(_fee);
193
+ }
174
194
  }
175
195
  exports.ThreePool = ThreePool;
176
196
  //# sourceMappingURL=3pool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"3pool.js","sourceRoot":"","sources":["../../../../src/dex/curve-v1/pools/3pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"3pool.js","sourceRoot":"","sources":["../../../../src/dex/curve-v1/pools/3pool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"curve-pool.js","sourceRoot":"","sources":["../../../../src/dex/curve-v1/pools/curve-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curve-pool.js","sourceRoot":"","sources":["../../../../src/dex/curve-v1/pools/curve-pool.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ class SUSDPool extends curve_pool_1.CurvePool {
42
42
  const dx = (0, utils_1.bigNumberify)((0, utils_1.stringify)(event.args.tokens_sold));
43
43
  const rates = this.getRates();
44
44
  const dy = this._exchange(i, j, dx, rates, state);
45
- // The constract does the actual transfer here
45
+ // The contract does the actual transfer here
46
46
  return state;
47
47
  }
48
48
  handleTokenExchangeUnderlying(event, state, log) {
@@ -1 +1 @@
1
- {"version":3,"file":"sUSDpool.js","sourceRoot":"","sources":["../../../../src/dex/curve-v1/pools/sUSDpool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sUSDpool.js","sourceRoot":"","sources":["../../../../src/dex/curve-v1/pools/sUSDpool.ts"],"names":[],"mappings":";;;;;;AAEA,oGAAuE;AACvE,6CAAoD;AAEpD,0CAAyD;AAEzD,MAAM,IAAI,GAAG,MAAM,CAAC;AACP,QAAA,OAAO,GAClB,4CAA4C,CAAC,WAAW,EAAE,CAAC;AAC7D,MAAM,YAAY,GAAY,4CAA4C,CAAC;AAC3E,MAAM,OAAO,GAAW,CAAC,CAAC;AAC1B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,GAAG,CACpE,oBAAY,CACb,CAAC;AACF,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACjD,MAAM,KAAK,GAAG;IACZ,4CAA4C;IAC5C,4CAA4C;IAC5C,4CAA4C;IAC5C,4CAA4C;CAC7C,CAAC;AACF,MAAM,UAAU,GAAG,KAAK,CAAC;AAEzB,MAAa,QAAS,SAAQ,sBAAS;IACrC,YACE,UAAkB,EAClB,SAAqB,EACrB,KAAK,GAAG,IAAI,EACZ,QAAQ,GAAG,eAAO,EAClB,aAAa,GAAG,YAAY,EAC5B,WAAW,GAAG,UAAU,EACxB,OAAY,6BAAc,EAC1B,QAAQ,GAAG,OAAO,EAClB,cAAc,GAAG,aAAa,EAC9B,YAAY,GAAG,WAAW,EAC1B,MAAM,GAAG,KAAK;QAEd,KAAK,CACH,UAAU,EACV,SAAS,EACT,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,MAAM,CACP,CAAC;QAEF,oDAAoD;QACpD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACtC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,+BAA+B,CAC7B,KAAU,EACV,KAAgB,EAChB,GAAQ;QAER,KAAK,GAAG,KAAK,CAAC,+BAA+B,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACjE,uFAAuF;QACvF,mFAAmF;QACnF,4CAA4C;QAC5C,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,wCAAwC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mBAAmB,CAAC,KAAU,EAAE,KAAgB,EAAE,GAAQ;QACxD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,IAAA,oBAAY,EAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE9B,MAAM,EAAE,GAAc,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7D,6CAA6C;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6BAA6B,CAC3B,KAAU,EACV,KAAgB,EAChB,GAAQ;QAER,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,IAAA,oBAAY,EAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE9B,MAAM,UAAU,GAAgB,aAAa,CAAC;QAC9C,MAAM,MAAM,GAAc,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,0DAA0D;QAC1D,MAAM,GAAG,GAAc,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,GAAG,GAAc,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/D,8CAA8C;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,SAAS,CACf,CAAS,EACT,CAAS,EACT,EAAa,EACb,KAAkB,EAClB,KAAgB;QAEhB,MAAM,EAAE,GAAgB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAExD,MAAM,CAAC,GAAc,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,GAAc,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,EAAE,GAAc,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,MAAM,GAAc,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzE,MAAM,YAAY,GAAc,MAAM;aACnC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;aACtB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;aAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;aAChC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;aACrB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAElB,MAAM,GAAG,GAAc,EAAE;aACtB,KAAK,CAAC,MAAM,CAAC;aACb,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;aACrB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAElB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA5GD,4BA4GC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.15.5",
3
+ "version": "2.15.6",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -310,7 +310,7 @@ export class CurveV1 extends SimpleExchange implements IDex<CurveV1Data> {
310
310
  }
311
311
  }
312
312
 
313
- // Makes suer all the pools from poolAddress are being tracked. If a pool in not tracked yet
313
+ // Makes sure all the pools from poolAddress are being tracked. If a pool in not tracked yet
314
314
  // fetch the state and setup the pool, if they are being watched but don't have a valid state
315
315
  // add it to the list of unavailable pools. Return the list of unavailable pools.
316
316
  async batchCatchUpPools(
@@ -330,7 +330,12 @@ export class CurveV1 extends SimpleExchange implements IDex<CurveV1Data> {
330
330
  throw new Error(
331
331
  `Error_${this.dexKey} requested unsupported event pool with address ${poolAddress}`,
332
332
  );
333
- newPool.addressesSubscribed = [poolAddress];
333
+
334
+ const addressesSubscribed = newPool.addressesSubscribed.map((address) => address.toLowerCase());
335
+ if(!addressesSubscribed.includes(poolAddress)) {
336
+ newPool.addressesSubscribed.push(poolAddress);
337
+ }
338
+
334
339
  await newPool.initialize(blockNumber);
335
340
  poolsToFetch.push(newPool);
336
341
  } else if (!pool.getState(blockNumber)) {
@@ -503,7 +508,7 @@ export class CurveV1 extends SimpleExchange implements IDex<CurveV1Data> {
503
508
 
504
509
  let fromIndex = curveIndexes[0];
505
510
  let toIndex = curveIndexes[1];
506
- let isTokenSwap = curveIndexes[2] == 1;
511
+ let isTokenSwap = curveIndexes[2] === 1;
507
512
 
508
513
  let pool = this.getPoolByAddress(exchange);
509
514
  if (!pool) {
@@ -4,7 +4,7 @@ import { Address, Log } from '../../../types';
4
4
  import StableSwap3Pool from '../../../abi/curve-v1/StableSwap3Pool.json';
5
5
  import { CurvePool, PoolState } from './curve-pool';
6
6
  import { IDexHelper } from '../../../dex-helper';
7
- import { BN_0 } from '../../../bignumber-constants';
7
+ import { BN_0, BN_1 } from '../../../bignumber-constants';
8
8
  import { bigNumberify, stringify } from '../../../utils';
9
9
  import BigNumber from 'bignumber.js';
10
10
 
@@ -152,7 +152,7 @@ export class ThreePool extends CurvePool {
152
152
 
153
153
  let _x: BigNumber = BN_0;
154
154
  for (let _i = 0; _i < this.N_COINS; _i++) {
155
- if (_i != i) {
155
+ if (_i !== i) {
156
156
  _x = xp[_i];
157
157
  } else {
158
158
  continue;
@@ -272,4 +272,42 @@ export class ThreePool extends CurvePool {
272
272
  );
273
273
  return dy;
274
274
  }
275
+
276
+ public _get_dy(
277
+ i: number,
278
+ j: number,
279
+ dx: BigNumber,
280
+ A: BigNumber,
281
+ fee: BigNumber,
282
+ balances: BigNumber[],
283
+ rates: BigNumber[],
284
+ usefee = true,
285
+ ): BigNumber {
286
+ const xp = this._xp(rates, balances);
287
+ const x = xp[i].plus(dx.times(rates[i]).idiv(this.PRECISION));
288
+ const y = this.get_y(i, j, x, xp, A);
289
+ const dy = xp[j].minus(y).minus(BN_1).times(this.PRECISION).idiv(rates[j]);
290
+ let _fee = fee.times(dy).idiv(this.FEE_DENOMINATOR);
291
+ if (!usefee) _fee = BN_0;
292
+ return dy.minus(_fee);
293
+ }
294
+
295
+ public _get_dy_underlying(
296
+ i: number,
297
+ j: number,
298
+ dx: BigNumber,
299
+ A: BigNumber,
300
+ fee: BigNumber,
301
+ balances: BigNumber[],
302
+ rates: BigNumber[],
303
+ usefee = true,
304
+ ): BigNumber {
305
+ const xp = this._xp(rates, balances);
306
+ const x = xp[i].plus(dx.times(this.PRECISION_MUL[i]));
307
+ const y = this.get_y(i, j, x, xp, A);
308
+ const dy = xp[j].minus(y).minus(BN_1).idiv(this.PRECISION_MUL[j]);
309
+ let _fee = fee.times(dy).idiv(this.FEE_DENOMINATOR);
310
+ if (!usefee) _fee = BN_0;
311
+ return dy.minus(_fee);
312
+ }
275
313
  }
@@ -6,7 +6,7 @@ import { Address, Log } from '../../../types';
6
6
  import { StatefulEventSubscriber } from '../../../stateful-event-subscriber';
7
7
  import { DeepReadonly } from 'ts-essentials';
8
8
  // import { getManyPoolStates } from './getstate-multicall';
9
- import { BN_0, BN_POWS } from '../../../bignumber-constants';
9
+ import { BN_0, BN_1, BN_POWS } from '../../../bignumber-constants';
10
10
  import { IDexHelper } from '../../../dex-helper';
11
11
  import { erc20Iface } from '../../../lib/utils-interfaces';
12
12
  import { bigNumberify, catchParseLogError, stringify } from '../../../utils';
@@ -77,7 +77,7 @@ export class SUSDPool extends CurvePool {
77
77
  const rates = this.getRates();
78
78
 
79
79
  const dy: BigNumber = this._exchange(i, j, dx, rates, state);
80
- // The constract does the actual transfer here
80
+ // The contract does the actual transfer here
81
81
  return state;
82
82
  }
83
83