@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.
- package/build/dex/uniswap-v4/contract-math/Tick.d.ts +1 -1
- package/build/dex/uniswap-v4/contract-math/Tick.js +17 -2
- package/build/dex/uniswap-v4/contract-math/Tick.js.map +1 -1
- package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.d.ts +8 -3
- package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.js +57 -8
- package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.js.map +1 -1
- package/build/dex/uniswap-v4/types.d.ts +10 -0
- package/build/dex/uniswap-v4/uniswap-v4-pool.d.ts +5 -4
- package/build/dex/uniswap-v4/uniswap-v4-pool.js +42 -4
- package/build/dex/uniswap-v4/uniswap-v4-pool.js.map +1 -1
- package/build/dex/uniswap-v4/uniswap-v4.d.ts +2 -2
- package/build/dex/uniswap-v4/uniswap-v4.js +17 -4
- package/build/dex/uniswap-v4/uniswap-v4.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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 &&
|
|
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
|
-
|
|
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 '
|
|
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
|
-
|
|
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
|
-
|
|
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":"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"}
|