@paraswap/dex-lib 4.6.12 → 4.6.13

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.
@@ -3,7 +3,7 @@ import { NumberAsString } from '@paraswap/core';
3
3
  export declare class Tick {
4
4
  static check(tickLower: bigint, tickUpper: bigint): void;
5
5
  static clear(poolState: PoolState, tick: bigint): void;
6
- static cross(ticks: Record<NumberAsString, TickInfo>, _tick: bigint): bigint;
6
+ static cross(ticks: Record<NumberAsString, TickInfo>, _tick: bigint, feeGrowthGlobal0X128: bigint, feeGrowthGlobal1X128: bigint): bigint;
7
7
  static update(poolState: PoolState, tick: bigint, liquidityDelta: bigint, upper: boolean): {
8
8
  flipped: boolean;
9
9
  liquidityGrossAfter: bigint;
@@ -13,17 +13,24 @@ class Tick {
13
13
  static clear(poolState, tick) {
14
14
  delete poolState.ticks[Number(tick)];
15
15
  }
16
- static cross(ticks, _tick) {
16
+ static cross(ticks, _tick, feeGrowthGlobal0X128, feeGrowthGlobal1X128) {
17
17
  const tick = Number(_tick);
18
18
  let info = ticks[tick];
19
19
  if (!info) {
20
20
  ticks[tick] = {
21
21
  liquidityGross: 0n,
22
22
  liquidityNet: 0n,
23
+ feeGrowthOutside0X128: 0n,
24
+ feeGrowthOutside1X128: 0n,
23
25
  };
24
26
  info = ticks[tick];
25
27
  }
26
- return info.liquidityNet;
28
+ info.feeGrowthOutside0X128 =
29
+ feeGrowthGlobal0X128 - info.feeGrowthOutside0X128;
30
+ info.feeGrowthOutside1X128 =
31
+ feeGrowthGlobal1X128 - info.feeGrowthOutside1X128;
32
+ const liquidityNet = info.liquidityNet;
33
+ return liquidityNet;
27
34
  }
28
35
  static update(poolState, tick, liquidityDelta, upper) {
29
36
  let info = poolState.ticks[Number(tick)];
@@ -31,6 +38,8 @@ class Tick {
31
38
  poolState.ticks[Number(tick)] = {
32
39
  liquidityGross: 0n,
33
40
  liquidityNet: 0n,
41
+ feeGrowthOutside0X128: 0n,
42
+ feeGrowthOutside1X128: 0n,
34
43
  };
35
44
  info = poolState.ticks[Number(tick)];
36
45
  }
@@ -38,6 +47,12 @@ class Tick {
38
47
  const liquidityNetBefore = info.liquidityNet;
39
48
  const liquidityGrossAfter = LiquidityMath_1.LiquidityMath.addDelta(liquidityGrossBefore, liquidityDelta);
40
49
  const flipped = (liquidityGrossAfter === 0n) !== (liquidityGrossBefore === 0n);
50
+ if (liquidityGrossBefore === 0n) {
51
+ if (tick <= poolState.slot0.tick) {
52
+ info.feeGrowthOutside0X128 = poolState.feeGrowthGlobal0X128;
53
+ info.feeGrowthOutside1X128 = poolState.feeGrowthGlobal1X128;
54
+ }
55
+ }
41
56
  const liquidityNet = upper
42
57
  ? liquidityNetBefore - liquidityDelta
43
58
  : liquidityNetBefore + liquidityDelta;
@@ -1 +1 @@
1
- {"version":3,"file":"Tick.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/Tick.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,yCAAsC;AAEtC,mDAAgD;AAGhD,MAAa,IAAI;IACf,MAAM,CAAC,KAAK,CAAC,SAAiB,EAAE,SAAiB;QAC/C,IAAA,gBAAQ,EACN,SAAS,IAAI,SAAS,EACtB,EAAE,EACF,EAAE,SAAS,EAAE,SAAS,EAAE,EACxB,wBAAwB,CACzB,CAAC;QACF,IAAA,gBAAQ,EACN,SAAS,IAAI,mBAAQ,CAAC,QAAQ,EAC9B,EAAE,EACF,EAAE,SAAS,EAAE,EACb,gCAAgC,CACjC,CAAC;QACF,IAAA,gBAAQ,EACN,SAAS,IAAI,mBAAQ,CAAC,QAAQ,EAC9B,EAAE,EACF,EAAE,SAAS,EAAE,EACb,gCAAgC,CACjC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAoB,EAAE,IAAY;QAC7C,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAuC,EAAE,KAAa;QACjE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,GAAG;gBACZ,cAAc,EAAE,EAAE;gBAClB,YAAY,EAAE,EAAE;aACjB,CAAC;YACF,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,MAAM,CACX,SAAoB,EACpB,IAAY,EACZ,cAAsB,EACtB,KAAc;QAEd,IAAI,IAAI,GAAa,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG;gBAC9B,cAAc,EAAE,EAAE;gBAClB,YAAY,EAAE,EAAE;aACjB,CAAC;YACF,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC;QAE7C,MAAM,mBAAmB,GAAG,6BAAa,CAAC,QAAQ,CAChD,oBAAoB,EACpB,cAAc,CACf,CAAC;QAEF,MAAM,OAAO,GACX,CAAC,mBAAmB,KAAK,EAAE,CAAC,KAAK,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;QAEjE,MAAM,YAAY,GAAG,KAAK;YACxB,CAAC,CAAC,kBAAkB,GAAG,cAAc;YACrC,CAAC,CAAC,kBAAkB,GAAG,cAAc,CAAC;QAExC,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,OAAO;YACL,OAAO;YACP,mBAAmB;SACpB,CAAC;IACJ,CAAC;CACF;AAhFD,oBAgFC"}
1
+ {"version":3,"file":"Tick.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/Tick.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,17 @@ type SwapParams = {
10
10
  lpFeeOverride: bigint;
11
11
  };
12
12
  declare class UniswapV4PoolMath {
13
- queryOutputs(pool: Pool, poolState: DeepReadonly<PoolState>, amounts: bigint[], zeroForOne: boolean, side: SwapSide): bigint[] | null;
14
- _swap(poolState: PoolState, params: SwapParams): [bigint, bigint];
13
+ queryOutputs(pool: Pool, poolState: DeepReadonly<PoolState>, amounts: bigint[], zeroForOne: boolean, side: SwapSide, logger: Logger, reqId: number): bigint[] | null;
14
+ _swap(poolState: PoolState, params: SwapParams, logger: Logger, reqId: number): [bigint, bigint];
15
15
  tickSpacingToMaxLiquidityPerTick(tickSpacing: bigint): bigint;
16
16
  checkPoolInitialized(poolState: PoolState): void;
17
- modifyLiquidity(poolState: PoolState, { liquidityDelta, tickLower, tickUpper, tickSpacing, }: ModifyLiquidityParams): {
17
+ getFeeGrowthInside(poolState: PoolState, tickLower: bigint, tickUpper: bigint): {
18
+ feeGrowthInside0X128: bigint;
19
+ feeGrowthInside1X128: bigint;
20
+ };
21
+ modifyLiquidity(poolState: PoolState, { liquidityDelta, tickLower, tickUpper, tickSpacing, salt, owner, }: ModifyLiquidityParams): {
18
22
  delta: bigint;
23
+ feeDelta: bigint;
19
24
  } | undefined;
20
25
  setProtocolFee(poolState: PoolState, protocolFee: bigint): void;
21
26
  donate(poolState: PoolState, amount0: bigint, amount1: bigint): bigint;
@@ -6,6 +6,7 @@ const TickBitMap_1 = require("./TickBitMap");
6
6
  const Tick_1 = require("./Tick");
7
7
  const utils_1 = require("../../../utils");
8
8
  const LiquidityMath_1 = require("./LiquidityMath");
9
+ const Position_1 = require("./Position");
9
10
  const SqrtPriceMath_1 = require("./SqrtPriceMath");
10
11
  const UnsafeMath_1 = require("./UnsafeMath");
11
12
  const FixedPoint128_1 = require("./FixedPoint128");
@@ -16,7 +17,7 @@ const core_1 = require("@paraswap/core");
16
17
  const constants_1 = require("../constants");
17
18
  const LPFeeLibrary_1 = require("./LPFeeLibrary");
18
19
  class UniswapV4PoolMath {
19
- queryOutputs(pool, poolState, amounts, zeroForOne, side) {
20
+ queryOutputs(pool, poolState, amounts, zeroForOne, side, logger, reqId) {
20
21
  const isSell = side === core_1.SwapSide.SELL;
21
22
  if (isSell) {
22
23
  return amounts.map(amount => {
@@ -32,7 +33,7 @@ class UniswapV4PoolMath {
32
33
  ? TickMath_1.TickMath.MIN_SQRT_PRICE + 1n
33
34
  : TickMath_1.TickMath.MAX_SQRT_PRICE - 1n,
34
35
  lpFeeOverride: 0n,
35
- });
36
+ }, logger, reqId);
36
37
  const amountSpecifiedActual = zeroForOne === amountSpecified < 0n ? amount0 : amount1;
37
38
  if (amountSpecifiedActual !== amountSpecified) {
38
39
  return 0n;
@@ -54,7 +55,7 @@ class UniswapV4PoolMath {
54
55
  ? TickMath_1.TickMath.MIN_SQRT_PRICE + 1n
55
56
  : TickMath_1.TickMath.MAX_SQRT_PRICE - 1n,
56
57
  lpFeeOverride: 0n,
57
- });
58
+ }, logger, reqId);
58
59
  const amountSpecifiedActual = zeroForOne === amountSpecified < 0n ? amount0 : amount1;
59
60
  if (amountSpecifiedActual !== amountSpecified) {
60
61
  return 0n;
@@ -63,9 +64,15 @@ class UniswapV4PoolMath {
63
64
  });
64
65
  }
65
66
  }
66
- _swap(poolState, params) {
67
+ _swap(poolState, params, logger, reqId) {
67
68
  const slot0Start = poolState.slot0;
68
69
  const zeroForOne = params.zeroForOne;
70
+ // making a copy because we don't need to modify existing poolState.ticks
71
+ const ticksCopy = {};
72
+ // eslint-disable-next-line no-restricted-syntax
73
+ for (const tick of Object.keys(poolState.ticks)) {
74
+ ticksCopy[tick] = { ...poolState.ticks[tick] };
75
+ }
69
76
  const protocolFee = zeroForOne
70
77
  ? ProtocolFeeLibrary_1.ProtocolFeeLibrary.getZeroForOneFee(BigInt(slot0Start.protocolFee))
71
78
  : ProtocolFeeLibrary_1.ProtocolFeeLibrary.getOneForZeroFee(BigInt(slot0Start.protocolFee));
@@ -158,7 +165,10 @@ class UniswapV4PoolMath {
158
165
  }
159
166
  if (result.sqrtPriceX96 === step.sqrtPriceNextX96) {
160
167
  if (step.initialized) {
161
- let liquidityNet = Tick_1.Tick.cross(poolState.ticks, step.tickNext);
168
+ const [feeGrowthGlobal0X128, feeGrowthGlobal1X128] = zeroForOne
169
+ ? [step.feeGrowthGlobalX128, poolState.feeGrowthGlobal1X128]
170
+ : [poolState.feeGrowthGlobal0X128, step.feeGrowthGlobalX128];
171
+ let liquidityNet = Tick_1.Tick.cross(ticksCopy, step.tickNext, feeGrowthGlobal0X128, feeGrowthGlobal1X128);
162
172
  if (zeroForOne) {
163
173
  liquidityNet = -liquidityNet;
164
174
  }
@@ -171,6 +181,9 @@ class UniswapV4PoolMath {
171
181
  }
172
182
  counter++;
173
183
  }
184
+ // logger.info(
185
+ // `_swap_iterations_counter_${poolState.id}_${reqId}: ${counter} (amount: ${params.amountSpecified})`,
186
+ // );
174
187
  if (counter >= constants_1.MAX_PRICING_COMPUTATION_STEPS_ALLOWED) {
175
188
  return [0n, 0n];
176
189
  }
@@ -204,7 +217,37 @@ class UniswapV4PoolMath {
204
217
  const { sqrtPriceX96 } = poolState.slot0;
205
218
  (0, utils_1._require)(sqrtPriceX96 !== 0n, '', { sqrtPriceX96 }, `Pool ${poolState.id} is not initialized`);
206
219
  }
207
- modifyLiquidity(poolState, { liquidityDelta, tickLower, tickUpper, tickSpacing, }) {
220
+ getFeeGrowthInside(poolState, tickLower, tickUpper) {
221
+ let lower = poolState.ticks[tickLower.toString()];
222
+ let upper = poolState.ticks[tickUpper.toString()];
223
+ const tickCurrent = BigInt(poolState.slot0.tick);
224
+ let feeGrowthInside0X128;
225
+ let feeGrowthInside1X128;
226
+ if (tickCurrent < tickLower) {
227
+ feeGrowthInside0X128 =
228
+ lower.feeGrowthOutside0X128 - upper.feeGrowthOutside0X128;
229
+ feeGrowthInside1X128 =
230
+ lower.feeGrowthOutside1X128 - upper.feeGrowthOutside1X128;
231
+ }
232
+ else if (tickCurrent >= tickUpper) {
233
+ feeGrowthInside0X128 =
234
+ upper.feeGrowthOutside0X128 - lower.feeGrowthOutside0X128;
235
+ feeGrowthInside1X128 =
236
+ upper.feeGrowthOutside1X128 - lower.feeGrowthOutside1X128;
237
+ }
238
+ else {
239
+ feeGrowthInside0X128 =
240
+ BigInt(poolState.feeGrowthGlobal0X128) -
241
+ BigInt(lower.feeGrowthOutside0X128) -
242
+ BigInt(upper.feeGrowthOutside0X128);
243
+ feeGrowthInside1X128 =
244
+ BigInt(poolState.feeGrowthGlobal1X128) -
245
+ BigInt(lower.feeGrowthOutside1X128) -
246
+ BigInt(upper.feeGrowthOutside1X128);
247
+ }
248
+ return { feeGrowthInside0X128, feeGrowthInside1X128 };
249
+ }
250
+ modifyLiquidity(poolState, { liquidityDelta, tickLower, tickUpper, tickSpacing, salt, owner, }) {
208
251
  Tick_1.Tick.check(tickLower, tickUpper);
209
252
  let flippedLower = false;
210
253
  let flippedUpper = false;
@@ -225,6 +268,9 @@ class UniswapV4PoolMath {
225
268
  TickBitMap_1.TickBitMap.flipTick(poolState, tickUpper, BigInt(poolState.tickSpacing));
226
269
  }
227
270
  }
271
+ const { feeGrowthInside0X128, feeGrowthInside1X128 } = this.getFeeGrowthInside(poolState, tickLower, tickUpper);
272
+ const { feesOwed0, feesOwed1 } = Position_1.Position.update(poolState, owner, tickLower, tickUpper, salt, liquidityDelta, feeGrowthInside0X128, feeGrowthInside1X128);
273
+ const feeDelta = (0, BalanceDelta_1.toBalanceDelta)(feesOwed0, feesOwed1);
228
274
  if (liquidityDelta < 0n) {
229
275
  if (flippedLower) {
230
276
  Tick_1.Tick.clear(poolState, tickLower);
@@ -247,7 +293,7 @@ class UniswapV4PoolMath {
247
293
  else {
248
294
  delta = (0, BalanceDelta_1.toBalanceDelta)(0n, SqrtPriceMath_1.SqrtPriceMath.getAmount1Delta(TickMath_1.TickMath.getSqrtPriceAtTick(tickLower), TickMath_1.TickMath.getSqrtPriceAtTick(tickUpper), liquidityDelta, false));
249
295
  }
250
- return { delta };
296
+ return { delta, feeDelta };
251
297
  }
252
298
  }
253
299
  setProtocolFee(poolState, protocolFee) {
@@ -334,7 +380,10 @@ class UniswapV4PoolMath {
334
380
  }
335
381
  if (result.sqrtPriceX96 === step.sqrtPriceNextX96) {
336
382
  if (step.initialized) {
337
- let liquidityNet = Tick_1.Tick.cross(poolState.ticks, step.tickNext);
383
+ const [feeGrowthGlobal0X128, feeGrowthGlobal1X128] = zeroForOne
384
+ ? [step.feeGrowthGlobalX128, poolState.feeGrowthGlobal1X128]
385
+ : [poolState.feeGrowthGlobal0X128, step.feeGrowthGlobalX128];
386
+ let liquidityNet = Tick_1.Tick.cross(poolState.ticks, step.tickNext, feeGrowthGlobal0X128, feeGrowthGlobal1X128);
338
387
  if (zeroForOne) {
339
388
  liquidityNet = -liquidityNet;
340
389
  }
@@ -1 +1 @@
1
- {"version":3,"file":"uniswap-v4-pool-math.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uniswap-v4-pool-math.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,20 @@ export type ModifyLiquidityParams = {
3
3
  liquidityDelta: bigint;
4
4
  tickLower: bigint;
5
5
  tickUpper: bigint;
6
+ owner: string;
6
7
  tickSpacing: bigint;
8
+ salt: string;
7
9
  };
8
10
  export type TickInfo = {
9
11
  liquidityGross: bigint;
10
12
  liquidityNet: bigint;
13
+ feeGrowthOutside0X128: bigint;
14
+ feeGrowthOutside1X128: bigint;
15
+ };
16
+ export type PositionState = {
17
+ liquidity: bigint;
18
+ feeGrowthInside0LastX128: bigint;
19
+ feeGrowthInside1LastX128: bigint;
11
20
  };
12
21
  export type PoolManagerState = Record<string, never>;
13
22
  export type PoolState = {
@@ -22,6 +31,7 @@ export type PoolState = {
22
31
  slot0: Slot0;
23
32
  tickSpacing: number;
24
33
  ticks: Record<NumberAsString, TickInfo>;
34
+ positions: Record<string, PositionState>;
25
35
  tickBitmap: Record<NumberAsString, bigint>;
26
36
  isValid: boolean;
27
37
  };
@@ -1,10 +1,10 @@
1
1
  import { InitializeStateOptions, StatefulEventSubscriber } from '../../stateful-event-subscriber';
2
- import { DexParams, FeeGrowthGlobals, PoolPairsInfo, PoolState, Slot0, SubgraphTick, TickInfo } from './types';
2
+ import { DexParams, FeeGrowthGlobals, PoolPairsInfo, PoolState, PositionState, Slot0, SubgraphTick, TickInfo } from './types';
3
3
  import { IDexHelper } from '../../dex-helper';
4
4
  import { Log, Logger } from '../../types';
5
5
  import { Interface } from 'ethers/lib/utils';
6
6
  import { BlockHeader } from 'web3-eth';
7
- import { DeepReadonly } from 'ts-essentials';
7
+ import { AsyncOrSync, DeepReadonly } from 'ts-essentials';
8
8
  import { MultiCallParams } from '../../lib/multi-wrapper';
9
9
  export declare class UniswapV4Pool extends StatefulEventSubscriber<PoolState> {
10
10
  readonly dexHelper: IDexHelper;
@@ -20,7 +20,7 @@ export declare class UniswapV4Pool extends StatefulEventSubscriber<PoolState> {
20
20
  readonly tick: string;
21
21
  readonly tickSpacing: string;
22
22
  handlers: {
23
- [event: string]: (event: any, pool: PoolState, log: Log, blockHeader: Readonly<BlockHeader>) => PoolState;
23
+ [event: string]: (event: any, pool: PoolState, log: Log, blockHeader: Readonly<BlockHeader>) => AsyncOrSync<PoolState>;
24
24
  };
25
25
  logDecoder: (log: Log) => any;
26
26
  stateViewIface: Interface;
@@ -28,6 +28,7 @@ export declare class UniswapV4Pool extends StatefulEventSubscriber<PoolState> {
28
28
  constructor(dexHelper: IDexHelper, parentName: string, network: number, config: DexParams, logger: Logger, mapKey: string | undefined, poolId: string, token0: string, token1: string, fee: string, hooks: string, sqrtPriceX96: bigint, tick: string, tickSpacing: string);
29
29
  initialize(blockNumber: number, options?: InitializeStateOptions<PoolState>): Promise<void>;
30
30
  getPoolIdentifierData(): PoolPairsInfo;
31
+ protected _getPositionInfoCallData(poolId: string, owner: string, tickLower: number, tickUpper: number, salt: string): MultiCallParams<PositionState>;
31
32
  protected _getStateRequestCallDataPerPool(poolId: string, tick: string, tickSpacing: string, ticks: SubgraphTick[]): MultiCallParams<bigint | [bigint, bigint] | TickInfo | Slot0 | FeeGrowthGlobals>[];
32
33
  getOrGenerateState(blockNumber: number): Promise<PoolState>;
33
34
  generateState(blockNumber: number): Promise<PoolState>;
@@ -38,5 +39,5 @@ export declare class UniswapV4Pool extends StatefulEventSubscriber<PoolState> {
38
39
  handleProtocolFeeUpdatedEvent(event: any, poolState: PoolState): PoolState;
39
40
  handleDonateEvent(event: any, poolState: PoolState): PoolState;
40
41
  handleSwapEvent(event: any, poolState: PoolState): PoolState;
41
- handleModifyLiquidityEvent(event: any, poolState: PoolState, _: Log): PoolState;
42
+ handleModifyLiquidityEvent(event: any, poolState: PoolState, log: Log): Promise<PoolState>;
42
43
  }
@@ -11,6 +11,7 @@ const pool_manager_abi_json_1 = __importDefault(require("../../abi/uniswap-v4/po
11
11
  const lodash_1 = __importDefault(require("lodash"));
12
12
  const utils_2 = require("../../utils");
13
13
  const uniswap_v4_pool_math_1 = require("./contract-math/uniswap-v4-pool-math");
14
+ const Position_1 = require("./contract-math/Position");
14
15
  const constants_1 = require("./constants");
15
16
  const TickBitMap_1 = require("./contract-math/TickBitMap");
16
17
  const decoders_1 = require("../../lib/decoders");
@@ -67,6 +68,22 @@ class UniswapV4Pool extends stateful_event_subscriber_1.StatefulEventSubscriber
67
68
  poolId: this.poolId,
68
69
  };
69
70
  }
71
+ _getPositionInfoCallData(poolId, owner, tickLower, tickUpper, salt) {
72
+ const callData = {
73
+ target: this.config.stateView,
74
+ callData: this.stateViewIface.encodeFunctionData('getPositionInfo(bytes32, address, int24, int24, bytes32)', [poolId, owner, tickLower, tickUpper, salt]),
75
+ decodeFunction: (result) => {
76
+ const [, toDecode] = (0, decoders_1.extractSuccessAndValue)(result);
77
+ const decoded = this.stateViewIface.decodeFunctionResult('getPositionInfo(bytes32, address, int24, int24, bytes32)', toDecode);
78
+ return {
79
+ liquidity: BigInt(decoded[0]),
80
+ feeGrowthInside0LastX128: BigInt(decoded[1]),
81
+ feeGrowthInside1LastX128: BigInt(decoded[2]),
82
+ };
83
+ },
84
+ };
85
+ return callData;
86
+ }
70
87
  _getStateRequestCallDataPerPool(poolId, tick, tickSpacing, ticks) {
71
88
  let callData = [
72
89
  {
@@ -117,6 +134,8 @@ class UniswapV4Pool extends stateful_event_subscriber_1.StatefulEventSubscriber
117
134
  return {
118
135
  liquidityGross: BigInt(decoded[0]),
119
136
  liquidityNet: BigInt(decoded[1]),
137
+ feeGrowthOutside0X128: BigInt(decoded[2]),
138
+ feeGrowthOutside1X128: BigInt(decoded[3]),
120
139
  };
121
140
  },
122
141
  });
@@ -174,13 +193,18 @@ class UniswapV4Pool extends stateful_event_subscriber_1.StatefulEventSubscriber
174
193
  let tickCounter = 0;
175
194
  const ticksResults = ticks.reduce((memo, tick) => {
176
195
  const curResults = results[3 + tickCounter];
177
- const { liquidityNet, liquidityGross } = curResults.returnData;
196
+ const { liquidityNet, liquidityGross, feeGrowthOutside0X128, feeGrowthOutside1X128, } = curResults.returnData;
178
197
  if (
179
198
  // skips ticks with 0n values to optimize state size
180
- !(liquidityNet === 0n && liquidityGross === 0n)) {
199
+ !(liquidityNet === 0n &&
200
+ liquidityGross === 0n &&
201
+ feeGrowthOutside0X128 === 0n &&
202
+ feeGrowthOutside1X128 === 0n)) {
181
203
  memo[tick.tickIdx] = {
182
204
  liquidityNet,
183
205
  liquidityGross,
206
+ feeGrowthOutside0X128,
207
+ feeGrowthOutside1X128,
184
208
  };
185
209
  }
186
210
  tickCounter++;
@@ -218,6 +242,7 @@ class UniswapV4Pool extends stateful_event_subscriber_1.StatefulEventSubscriber
218
242
  tickSpacing: parseInt(this.tickSpacing),
219
243
  ticks: ticksResults,
220
244
  tickBitmap: tickBitMapResults,
245
+ positions: {},
221
246
  isValid: true,
222
247
  };
223
248
  }
@@ -261,7 +286,8 @@ class UniswapV4Pool extends stateful_event_subscriber_1.StatefulEventSubscriber
261
286
  return null; // skip not relevant events
262
287
  const _state = lodash_1.default.cloneDeep(state);
263
288
  try {
264
- return this.handlers[event.name](event, _state, log, blockHeader);
289
+ const newState = await this.handlers[event.name](event, _state, log, blockHeader);
290
+ return newState;
265
291
  }
266
292
  catch (e) {
267
293
  this.logger.error(`${this.parentName}: PoolManager ${this.config.poolManager} (pool id ${this.poolId}), ` +
@@ -302,17 +328,29 @@ class UniswapV4Pool extends stateful_event_subscriber_1.StatefulEventSubscriber
302
328
  uniswap_v4_pool_math_1.uniswapV4PoolMath.swapFromEvent(poolState, zeroForOne, resultSqrtPriceX96, resultTick, resultLiquidity, resultSwapFee, amount0, amount1, this.logger);
303
329
  return poolState;
304
330
  }
305
- handleModifyLiquidityEvent(event, poolState, _) {
331
+ async handleModifyLiquidityEvent(event, poolState, log) {
332
+ const id = event.args.id.toLowerCase();
306
333
  uniswap_v4_pool_math_1.uniswapV4PoolMath.checkPoolInitialized(poolState);
334
+ const owner = event.args.sender.toLowerCase();
307
335
  const tickLower = BigInt(event.args.tickLower);
308
336
  const tickUpper = BigInt(event.args.tickUpper);
309
337
  const liquidityDelta = BigInt(event.args.liquidityDelta);
338
+ const salt = event.args.salt.toLowerCase();
339
+ const positionsInfoCallData = this._getPositionInfoCallData(id, owner, parseInt(event.args.tickLower), parseInt(event.args.tickUpper), salt);
340
+ const results = await this.dexHelper.multiWrapper.tryAggregate(false, [positionsInfoCallData], log.blockNumber, this.dexHelper.multiWrapper.defaultBatchSize, false);
341
+ if (!poolState.positions) {
342
+ poolState.positions = {};
343
+ }
344
+ poolState.positions[Position_1.Position.calculatePositionKey(owner, tickLower, tickUpper, salt)] = results[0].returnData;
310
345
  uniswap_v4_pool_math_1.uniswapV4PoolMath.modifyLiquidity(poolState, {
311
346
  liquidityDelta,
312
347
  tickUpper,
313
348
  tickLower,
314
349
  tickSpacing: BigInt(poolState.tickSpacing),
350
+ salt,
351
+ owner,
315
352
  });
353
+ delete poolState.positions[Position_1.Position.calculatePositionKey(owner, tickLower, tickUpper, salt)];
316
354
  return poolState;
317
355
  }
318
356
  }
@@ -1 +1 @@
1
- {"version":3,"file":"uniswap-v4-pool.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v4/uniswap-v4-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uniswap-v4-pool.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v4/uniswap-v4-pool.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { SimpleExchange } from '../simple-exchange';
7
7
  import { Pool, UniswapV4Data } from './types';
8
8
  import { Interface } from '@ethersproject/abi';
9
9
  import { DeepReadonly } from 'ts-essentials';
10
- import { PoolState } from './types';
10
+ import { PoolState } from '../uniswap-v4/types';
11
11
  import { SwapSide } from '@paraswap/core';
12
12
  export declare class UniswapV4 extends SimpleExchange implements IDex<UniswapV4Data> {
13
13
  protected network: Network;
@@ -29,7 +29,7 @@ export declare class UniswapV4 extends SimpleExchange implements IDex<UniswapV4D
29
29
  initializePricing(blockNumber: number): Promise<void>;
30
30
  addMasterPool(poolKey: string, blockNumber: number): Promise<boolean>;
31
31
  getPoolIdentifiers(from: Token, to: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
32
- protected _getOutputs(pool: Pool, state: DeepReadonly<PoolState>, amounts: bigint[], zeroForOne: boolean, side: SwapSide): bigint[] | null;
32
+ protected _getOutputs(pool: Pool, state: DeepReadonly<PoolState>, amounts: bigint[], zeroForOne: boolean, side: SwapSide, reqId: number): bigint[] | null;
33
33
  getPricesVolume(from: Token, to: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<ExchangePrices<UniswapV4Data> | null>;
34
34
  getCalldataGasCost(poolPrices: PoolPrices<UniswapV4Data>): number | number[];
35
35
  getAdapters(side: SwapSide): {
@@ -92,16 +92,19 @@ class UniswapV4 extends simple_exchange_1.SimpleExchange {
92
92
  }
93
93
  const poolInfo = JSON.parse(_pairs);
94
94
  const pool = await this.poolManager.getEventPool(poolInfo.poolId, blockNumber);
95
- return Boolean(pool);
95
+ if (!pool) {
96
+ return false;
97
+ }
98
+ return true;
96
99
  }
97
100
  async getPoolIdentifiers(from, to, side, blockNumber) {
98
101
  const pools = await this.poolManager.getAvailablePoolsForPair(from.address.toLowerCase(), to.address.toLowerCase(), blockNumber);
99
102
  const eventPools = (await Promise.all(pools.map(async (pool) => this.poolManager.getEventPool(pool.id, blockNumber)))).filter(pool => pool !== null);
100
103
  return eventPools.map(eventPool => eventPool.poolId);
101
104
  }
102
- _getOutputs(pool, state, amounts, zeroForOne, side) {
105
+ _getOutputs(pool, state, amounts, zeroForOne, side, reqId) {
103
106
  try {
104
- const outputsResult = uniswap_v4_pool_math_1.uniswapV4PoolMath.queryOutputs(pool, state, amounts, zeroForOne, side);
107
+ const outputsResult = uniswap_v4_pool_math_1.uniswapV4PoolMath.queryOutputs(pool, state, amounts, zeroForOne, side, this.logger, reqId);
105
108
  if (outputsResult !== null &&
106
109
  side === core_1.SwapSide.BUY &&
107
110
  outputsResult[outputsResult?.length - 1] === 0n) {
@@ -115,6 +118,8 @@ class UniswapV4 extends simple_exchange_1.SimpleExchange {
115
118
  }
116
119
  }
117
120
  async getPricesVolume(from, to, amounts, side, blockNumber, limitPools) {
121
+ const reqId = Math.floor(Math.random() * 10000);
122
+ // const getPricesVolumeStart = Date.now();
118
123
  const pools = await this.poolManager.getAvailablePoolsForPair(from.address.toLowerCase(), to.address.toLowerCase(), blockNumber);
119
124
  const availablePools = limitPools?.filter(t => pools.find(p => p.id === t)) ??
120
125
  pools.map(t => t.id);
@@ -135,7 +140,15 @@ class UniswapV4 extends simple_exchange_1.SimpleExchange {
135
140
  const poolState = (await eventPool?.getState(blockNumber)) || null;
136
141
  let prices;
137
142
  if (poolState !== null && poolState.isValid) {
138
- prices = this._getOutputs(pool, poolState, amounts, zeroForOne, side);
143
+ // const getOutputsStart = Date.now();
144
+ prices = this._getOutputs(pool, poolState, amounts, zeroForOne, side, reqId);
145
+ // this.logger.info(
146
+ // `_getOutputs_${pool.id}_${reqId}: ${
147
+ // Date.now() - getOutputsStart
148
+ // } ms (src: ${from.address}, dest: ${
149
+ // to.address
150
+ // }, amounts: ${JSON.stringify(amounts)})`,
151
+ // );
139
152
  }
140
153
  else {
141
154
  this.logger.warn(`${this.dexKey}-${this.network}: pool ${poolId} state was not found...falling back to rpc`);
@@ -1 +1 @@
1
- {"version":3,"file":"uniswap-v4.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v4/uniswap-v4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uniswap-v4.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v4/uniswap-v4.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,+CAAuE;AAEvE,uCAAkE;AAElE,wDAAoD;AACpD,qCAA2C;AAG3C,2EAA6D;AAC7D,2FAA6D;AAC7D,6DAAiD;AACjD,4CAA+C;AAC/C,iDAAoD;AAEpD,uCAKmB;AACnB,uEAAiE;AAGjE,+EAAyE;AACzE,yCAA0C;AAC1C,yCAAyD;AACzD,oDAAuB;AACvB,2CAA0D;AAC1D,yDAAgE;AAEhE,MAAa,SAAU,SAAQ,gCAAc;IAiB/B;IAEA;IACA;IACA;IACA;IArBH,4BAA4B,GAAG,KAAK,CAAC;IAE9C,oIAAoI;IACpI,cAAc,GAAG,KAAK,CAAC;IAEvB,MAAM,CAAS;IACL,WAAW,CAAY;IAEzB,WAAW,CAAuB;IAEnC,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,wBAAe,CAAC,CAAC;IAEjC,WAAW,CAAS;IAE5B,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB,EACrB,gBAAgB,wBAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EACvD,gBAAgB,wBAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EACvD,qBAAqB,wBAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW;QAE3E,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAPf,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;QACrB,kBAAa,GAAb,aAAa,CAA0C;QACvD,kBAAa,GAAb,aAAa,CAA0C;QACvD,uBAAkB,GAAlB,kBAAkB,CAA+C;QAG3E,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,eAAS,CAAC,yBAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,WAAW;YACd,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,CAAC;QAErE,IAAI,CAAC,WAAW,GAAG,IAAI,8CAAoB,CACzC,SAAS,EACT,MAAM,EACN,OAAO,EACP,wBAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAChC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,WAAmB;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAC5C,iCAAoB,EACpB,GAAG,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,CACnC,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,wCAAwC,iCAAoB,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,CAC9G,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAC9C,QAAQ,CAAC,MAAM,EACf,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,IAAW,EACX,EAAS,EACT,IAAc,EACd,WAAmB;QAEnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAC3D,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAC1B,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EACxB,WAAW,CACZ,CAAC;QAEF,MAAM,UAAU,GAAG,CACjB,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CACrB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CACpD,CACF,CACF,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAEhC,OAAO,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAU,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAES,WAAW,CACnB,IAAU,EACV,KAA8B,EAC9B,OAAiB,EACjB,UAAmB,EACnB,IAAc,EACd,KAAa;QAEb,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,wCAAiB,CAAC,YAAY,CAClD,IAAI,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,KAAK,CACN,CAAC;YAEF,IACE,aAAa,KAAK,IAAI;gBACtB,IAAI,KAAK,eAAQ,CAAC,GAAG;gBACrB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAC/C,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,2DAA2D,EACzE,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,IAAW,EACX,EAAS,EACT,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;QAChD,2CAA2C;QAE3C,MAAM,KAAK,GAAW,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CACnE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAC1B,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EACxB,WAAW,CACZ,CAAC;QAEF,MAAM,cAAc,GAClB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACpD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEvB,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAE,CAAC;YAE/C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAEzC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC;YAEpD,MAAM,cAAc,GAAG,aAAa,KAAK,wBAAY,CAAC;YACtD,MAAM,eAAe,GAAG,aAAa,KAAK,IAAI,CAAC,WAAW,CAAC;YAE3D,MAAM,UAAU,GACd,WAAW,KAAK,aAAa;gBAC7B,CAAC,SAAS,IAAI,cAAc,CAAC,IAAI,iCAAiC;gBAClE,CAAC,SAAS,IAAI,eAAe,CAAC,IAAI,2BAA2B;gBAC7D,CAAC,UAAU,IAAI,cAAc,CAAC,CAAC,CAAC,kCAAkC;YACpE,6EAA6E;YAE7E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CACnD,MAAM,EACN,WAAW,CACZ,CAAC;YAEF,MAAM,SAAS,GAAG,CAAC,MAAM,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC;YAEnE,IAAI,MAAuB,CAAC;YAC5B,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC5C,sCAAsC;gBACtC,MAAM,GAAG,IAAI,CAAC,WAAW,CACvB,IAAI,EACJ,SAAS,EACT,OAAO,EACP,UAAU,EACV,IAAI,EACJ,KAAK,CACN,CAAC;gBAEF,oBAAoB;gBACpB,yCAAyC;gBACzC,mCAAmC;gBACnC,yCAAyC;gBACzC,iBAAiB;gBACjB,8CAA8C;gBAC9C,KAAK;YACP,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,UAAU,MAAM,4CAA4C,CAC3F,CAAC;gBACF,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACnC,UAAU,EACV,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,WAAW,CACZ,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC,EAAE,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,0BAAO,CAAC,EAAE,CAAC,QAAQ,CAAC;gBAC1B,MAAM;gBACN,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE;gCACJ,EAAE,EAAE,IAAI,CAAC,EAAE;gCACX,GAAG,EAAE,IAAI,CAAC,GAAG;6BACd;4BACD,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS;4BAC7D,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS;4BAC9D,UAAU;yBACX;qBACF;iBACF;gBACD,aAAa,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACxC,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,OAAO,EAAE,OAAO;gBAChB,eAAe,EAAE,CAAC,MAAM,CAAC;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,mEAAmE;IACnE,kBAAkB,CAAC,UAAqC;QACtD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,CACL,iBAAiB,CAAC,YAAY;gBAC9B,uBAAuB;gBACvB,iBAAiB,CAAC,OAAO;gBACzB,uBAAuB;gBACvB,iBAAiB,CAAC,OAAO;gBACzB,iBAAiB;gBACjB,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACrC,yBAAyB;gBACzB,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACrC,kBAAkB;gBAClB,iBAAiB,CAAC,OAAO;gBACzB,aAAa;gBACb,iBAAiB,CAAC,IAAI;gBACtB,WAAW;gBACX,iBAAiB,CAAC,MAAM;gBACxB,mBAAmB;gBACnB,iBAAiB,CAAC,MAAM;gBACxB,WAAW;gBACX,iBAAiB,CAAC,SAAS,CAC5B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CACL,iBAAiB,CAAC,YAAY;gBAC9B,WAAW;gBACX,iBAAiB,CAAC,OAAO;gBACzB,SAAS;gBACT,iBAAiB,CAAC,MAAM;gBACxB,YAAY;gBACZ,iBAAiB,CAAC,MAAM;gBACxB,EAAE;gBACF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACjC,OAAO,CACL,iBAAiB,CAAC,YAAY;wBAC9B,uBAAuB;wBACvB,iBAAiB,CAAC,OAAO;wBACzB,uBAAuB;wBACvB,iBAAiB,CAAC,OAAO;wBACzB,iBAAiB;wBACjB,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBACrC,yBAAyB;wBACzB,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBACrC,kBAAkB;wBAClB,iBAAiB,CAAC,OAAO;wBACzB,aAAa;wBACb,iBAAiB,CAAC,IAAI;wBACtB,WAAW;wBACX,iBAAiB,CAAC,MAAM;wBACxB,mBAAmB;wBACnB,iBAAiB,CAAC,MAAM;wBACxB,WAAW;wBACX,iBAAiB,CAAC,SAAS,CAC5B,CAAC;gBACJ,CAAC,EAAE,CAAC,CAAC,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,IAAI,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,IAAA,oBAAY,EAAC,aAAa,CAAC;YAAE,aAAa,GAAG,wBAAY,CAAC;QAE9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,sCAA2B,EAC1D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,wBAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EACtD,aAAa,EACb,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,SAAS,IAAI,CAAC,MAAM,uDAAuD,CAC5E,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,WAAW,GAAoB,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1D,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,OAAO,EAAE,IAAI,CAAC,kBAAkB;YAChC,eAAe,EAAE;gBACf;oBACE,OAAO,EACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,wBAAY;wBAChD,CAAC,CAAC,yBAAa;wBACf,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;oBACvC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACzC;aACF;YACD,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,uCAA2B;SACvE,CAAC,CAAC,CAAC;QAEJ,MAAM,WAAW,GAAoB,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1D,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,OAAO,EAAE,IAAI,CAAC,kBAAkB;YAChC,eAAe,EAAE;gBACf;oBACE,OAAO,EACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,wBAAY;wBAChD,CAAC,CAAC,yBAAa;wBACf,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;oBACvC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACzC;aACF;YACD,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,uCAA2B;SACvE,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAoB,gBAAC,CAAC,KAAK,CACpC,gBAAC,CAAC,MAAM,CAAC,gBAAC,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE;YAC3C,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY;SAC/B,CAAC,EACF,CAAC,EACD,KAAK,CACN,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,UAAmB,EACnB,OAAiB,EACjB,IAAU,EACV,IAAc,EACd,WAAmB;QAEnB,MAAM,QAAQ,GACZ,IAAI,KAAK,eAAQ,CAAC,IAAI;YACpB,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,wBAAwB,CAAC;QAE/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,EAAE;gBACtD;oBACE,OAAO,EAAE,IAAI,CAAC,GAAG;oBACjB,UAAU;oBACV,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE;oBAC9B,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC;YACF,cAAc,EAAE,CAAC,MAA0C,EAAU,EAAE;gBACrE,yBAAyB;gBACzB,OAAO,IAAA,yBAAc,EAAC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,CAChE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC5B,CAAC;YACJ,CAAC;SACF,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAa,CAAC,YAAY,CAC7D,KAAK,EACL,KAAK,EACL,WAAW,CACZ,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,IAAI,cAQO,CAAC;QAEZ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,eAAQ,CAAC,IAAI,EAAE,CAAC;YACrD,oCAAoC;YACpC,cAAc,GAAG,sCAA4B,CAAC;QAChD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,eAAQ,CAAC,GAAG,EAAE,CAAC;YAC3D,mCAAmC;YACnC,cAAc,GAAG,uCAA6B,CAAC;QACjD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,eAAQ,CAAC,IAAI,EAAE,CAAC;YAC1D,mCAAmC;YACnC,cAAc,GAAG,gCAAsB,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,eAAQ,CAAC,GAAG,EAAE,CAAC;YACzD,kCAAkC;YAClC,cAAc,GAAG,iCAAuB,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,2BAA2B,IAAI,uBAAuB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CACvG,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,cAAc,CACjC,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,CAAC,SAAS,CAAC,EACjB,IAAI,KAAK,eAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAChD,SAAS,EACT,IAAI,CAAC,WAAW,CACjB,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,kCAAkC,EAAE,IAAI;YACxC,mBAAmB,EAAE,IAAI;YACzB,YAAY;YACZ,cAAc,EAAE,IAAI,CAAC,aAAa;YAClC,eAAe,EAAE,SAAS;YAC1B,0BAA0B,EAAE,IAAA,oBAAY,EAAC,QAAQ,CAAC;gBAChD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,aAAa;YACtB,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC;QAErB,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,aAAa;YAClC,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;;AAveH,8BAweC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "4.6.12",
3
+ "version": "4.6.13",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",