@paraswap/dex-lib 5.1.14 → 5.1.16
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/abi/maverick-v2/MaverickV2Quoter.json +278 -0
- package/build/dex/aave-gsm/aave-gsm-pool.js +3 -2
- package/build/dex/aave-gsm/aave-gsm-pool.js.map +1 -1
- package/build/dex/algebra/algebra-factory.js +2 -1
- package/build/dex/algebra/algebra-factory.js.map +1 -1
- package/build/dex/algebra/algebra-pool-v1_1.js +2 -1
- package/build/dex/algebra/algebra-pool-v1_1.js.map +1 -1
- package/build/dex/algebra/algebra-pool-v1_9.js +2 -1
- package/build/dex/algebra/algebra-pool-v1_9.js.map +1 -1
- package/build/dex/algebra-integral/algebra-integral-factory.js +2 -1
- package/build/dex/algebra-integral/algebra-integral-factory.js.map +1 -1
- package/build/dex/algebra-integral/algebra-integral-pool.js +2 -1
- package/build/dex/algebra-integral/algebra-integral-pool.js.map +1 -1
- package/build/dex/angle-staked-stable/angle-staked-stable-pool.js +2 -1
- package/build/dex/angle-staked-stable/angle-staked-stable-pool.js.map +1 -1
- package/build/dex/angle-transmuter/morphoOracle.js +2 -1
- package/build/dex/angle-transmuter/morphoOracle.js.map +1 -1
- package/build/dex/angle-transmuter/morphoVault.js +2 -1
- package/build/dex/angle-transmuter/morphoVault.js.map +1 -1
- package/build/dex/angle-transmuter/transmuter.js +2 -1
- package/build/dex/angle-transmuter/transmuter.js.map +1 -1
- package/build/dex/balancer-v1/balancer-v1-pool.js +2 -1
- package/build/dex/balancer-v1/balancer-v1-pool.js.map +1 -1
- package/build/dex/balancer-v2/balancer-v2.js +2 -1
- package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
- package/build/dex/balancer-v3/balancer-v3-pool.js +5 -2
- package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -1
- package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.js +4 -1
- package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.js.map +1 -1
- package/build/dex/camelot/camelot.js +2 -1
- package/build/dex/camelot/camelot.js.map +1 -1
- package/build/dex/cap/cap-pools.js +2 -1
- package/build/dex/cap/cap-pools.js.map +1 -1
- package/build/dex/curve-v1/pools/curve-metapool.d.ts +1 -0
- package/build/dex/curve-v1/pools/curve-metapool.js +8 -4
- package/build/dex/curve-v1/pools/curve-metapool.js.map +1 -1
- package/build/dex/curve-v1/pools/curve-pool.d.ts +1 -0
- package/build/dex/curve-v1/pools/curve-pool.js +8 -4
- package/build/dex/curve-v1/pools/curve-pool.js.map +1 -1
- package/build/dex/ekubo/pools/pool.js +2 -1
- package/build/dex/ekubo/pools/pool.js.map +1 -1
- package/build/dex/ekubo-v3/pools/pool.js +2 -1
- package/build/dex/ekubo-v3/pools/pool.js.map +1 -1
- package/build/dex/erc4626/erc-4626-pool.js +3 -1
- package/build/dex/erc4626/erc-4626-pool.js.map +1 -1
- package/build/dex/fluid-dex/fluid-dex-factory.js +2 -1
- package/build/dex/fluid-dex/fluid-dex-factory.js.map +1 -1
- package/build/dex/fluid-dex/fluid-dex-pool.js +2 -1
- package/build/dex/fluid-dex/fluid-dex-pool.js.map +1 -1
- package/build/dex/fluid-dex-lite/fluid-dex-lite-pool.js +3 -2
- package/build/dex/fluid-dex-lite/fluid-dex-lite-pool.js.map +1 -1
- package/build/dex/lite-psm/lite-psm-event-pool.js +4 -3
- package/build/dex/lite-psm/lite-psm-event-pool.js.map +1 -1
- package/build/dex/maverick-v1/maverick-v1-pool.js +2 -1
- package/build/dex/maverick-v1/maverick-v1-pool.js.map +1 -1
- package/build/dex/maverick-v2/maverick-math/maverick-basic-math.js +1 -8
- package/build/dex/maverick-v2/maverick-math/maverick-basic-math.js.map +1 -1
- package/build/dex/maverick-v2/maverick-math/maverick-pool-math.d.ts +3 -4
- package/build/dex/maverick-v2/maverick-math/maverick-pool-math.js +20 -12
- package/build/dex/maverick-v2/maverick-math/maverick-pool-math.js.map +1 -1
- package/build/dex/maverick-v2/maverick-math/maverick-tick-math.js +8 -8
- package/build/dex/maverick-v2/maverick-math/maverick-tick-math.js.map +1 -1
- package/build/dex/maverick-v2/maverick-v2-pool.d.ts +4 -4
- package/build/dex/maverick-v2/maverick-v2-pool.js +131 -73
- package/build/dex/maverick-v2/maverick-v2-pool.js.map +1 -1
- package/build/dex/maverick-v2/maverick-v2.js +8 -3
- package/build/dex/maverick-v2/maverick-v2.js.map +1 -1
- package/build/dex/maverick-v2/scripts/compare-onchain-quotes.d.ts +1 -0
- package/build/dex/maverick-v2/scripts/compare-onchain-quotes.js +285 -0
- package/build/dex/maverick-v2/scripts/compare-onchain-quotes.js.map +1 -0
- package/build/dex/maverick-v2/types.d.ts +3 -0
- package/build/dex/miro-migrator/miro-migrator-pool.js +2 -1
- package/build/dex/miro-migrator/miro-migrator-pool.js.map +1 -1
- package/build/dex/nerve/nerve-pool.js +3 -2
- package/build/dex/nerve/nerve-pool.js.map +1 -1
- package/build/dex/oswap/oswap-pool.js +4 -3
- package/build/dex/oswap/oswap-pool.js.map +1 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.js +2 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.js.map +1 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js +2 -1
- package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js.map +1 -1
- package/build/dex/sky-converter/sky-converter-pool.js +2 -1
- package/build/dex/sky-converter/sky-converter-pool.js.map +1 -1
- package/build/dex/solidly-v3/solidly-v3-factory.js +2 -1
- package/build/dex/solidly-v3/solidly-v3-factory.js.map +1 -1
- package/build/dex/solidly-v3/solidly-v3-pool.js +2 -1
- package/build/dex/solidly-v3/solidly-v3-pool.js.map +1 -1
- package/build/dex/stkgho/stkgho-pool.js +2 -1
- package/build/dex/stkgho/stkgho-pool.js.map +1 -1
- package/build/dex/swell/rsweth-pool.js +2 -1
- package/build/dex/swell/rsweth-pool.js.map +1 -1
- package/build/dex/swell/sweth-pool.js +2 -1
- package/build/dex/swell/sweth-pool.js.map +1 -1
- package/build/dex/uniswap-v2/few-wrapped-token-event-pool.js +2 -1
- package/build/dex/uniswap-v2/few-wrapped-token-event-pool.js.map +1 -1
- package/build/dex/uniswap-v2/uniswap-v2-factory.js +2 -1
- package/build/dex/uniswap-v2/uniswap-v2-factory.js.map +1 -1
- package/build/dex/uniswap-v2/uniswap-v2.js +2 -1
- package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
- package/build/dex/uniswap-v3/uniswap-v3-factory.js +2 -1
- package/build/dex/uniswap-v3/uniswap-v3-factory.js.map +1 -1
- package/build/dex/uniswap-v3/uniswap-v3-pool.js +2 -1
- package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
- package/build/dex/uniswap-v4/hooks/arena/arena-fee-helper.js +2 -1
- package/build/dex/uniswap-v4/hooks/arena/arena-fee-helper.js.map +1 -1
- package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +2 -1
- package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +1 -1
- package/build/dex/uniswap-v4/uniswap-v4-pool.js +2 -1
- package/build/dex/uniswap-v4/uniswap-v4-pool.js.map +1 -1
- package/build/dex/usual-pp/pool.js +2 -1
- package/build/dex/usual-pp/pool.js.map +1 -1
- package/build/lib/benqi/staked-avax.js +2 -1
- package/build/lib/benqi/staked-avax.js.map +1 -1
- package/build/lib/generics-events-subscribers/erc20-event-subscriber.js +3 -1
- package/build/lib/generics-events-subscribers/erc20-event-subscriber.js.map +1 -1
- package/build/lib/scripts/measure-log-decoding.d.ts +1 -0
- package/build/lib/scripts/measure-log-decoding.js +147 -0
- package/build/lib/scripts/measure-log-decoding.js.map +1 -0
- package/build/lib/topic-log-decoder.d.ts +34 -0
- package/build/lib/topic-log-decoder.js +81 -0
- package/build/lib/topic-log-decoder.js.map +1 -0
- package/package.json +1 -1
|
@@ -11,11 +11,8 @@ const maverick_bin_math_1 = require("./maverick-bin-math");
|
|
|
11
11
|
const maverick_pool_lib_1 = require("./maverick-pool-lib");
|
|
12
12
|
const maverick_tick_math_1 = require("./maverick-tick-math");
|
|
13
13
|
class MaverickPoolMath {
|
|
14
|
-
feeAIn;
|
|
15
|
-
feeBIn;
|
|
16
14
|
lookback;
|
|
17
15
|
tickSpacing;
|
|
18
|
-
protocolFeeRatioD3;
|
|
19
16
|
activeTick;
|
|
20
17
|
tokenADecimals;
|
|
21
18
|
tokenBDecimals;
|
|
@@ -23,12 +20,10 @@ class MaverickPoolMath {
|
|
|
23
20
|
tokenAScale;
|
|
24
21
|
tokenBScale;
|
|
25
22
|
timestamp;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.feeBIn = feeBIn;
|
|
23
|
+
sqrtPriceCache = new Map();
|
|
24
|
+
constructor(lookback, tickSpacing, activeTick, tokenADecimals, tokenBDecimals) {
|
|
29
25
|
this.lookback = lookback;
|
|
30
26
|
this.tickSpacing = tickSpacing;
|
|
31
|
-
this.protocolFeeRatioD3 = protocolFeeRatioD3;
|
|
32
27
|
this.activeTick = activeTick;
|
|
33
28
|
this.tokenADecimals = tokenADecimals;
|
|
34
29
|
this.tokenBDecimals = tokenBDecimals;
|
|
@@ -39,6 +34,9 @@ class MaverickPoolMath {
|
|
|
39
34
|
lastTwaD8: 0n,
|
|
40
35
|
lastLogPriceD8: 0n,
|
|
41
36
|
lastTimestamp: 0n,
|
|
37
|
+
feeAIn: 0n,
|
|
38
|
+
feeBIn: 0n,
|
|
39
|
+
protocolFeeRatioD3: 0n,
|
|
42
40
|
binCounter: 0n,
|
|
43
41
|
bins: {},
|
|
44
42
|
ticks: {},
|
|
@@ -248,7 +246,7 @@ class MaverickPoolMath {
|
|
|
248
246
|
startingTickState.reserveA = maverick_basic_math_1.MaverickBasicMath.clip(startingTickState.reserveA, firstBinA);
|
|
249
247
|
startingTickState.reserveB = maverick_basic_math_1.MaverickBasicMath.clip(startingTickState.reserveB, firstBinB);
|
|
250
248
|
startingTickState.totalSupply = maverick_basic_math_1.MaverickBasicMath.clip(startingTickState.totalSupply, firstBin.tickBalance);
|
|
251
|
-
startingTickState.binIdsByTick[moveData.kind.toString()]
|
|
249
|
+
delete startingTickState.binIdsByTick[moveData.kind.toString()];
|
|
252
250
|
if (this.state.ticks[firstBin.tick.toString()].totalSupply === 0n) {
|
|
253
251
|
delete this.state.ticks[firstBin.tick.toString()];
|
|
254
252
|
}
|
|
@@ -377,6 +375,16 @@ class MaverickPoolMath {
|
|
|
377
375
|
this.state.reserveA += maverick_math_1.MaverickMath.ammScaleToTokenScale(tokenAAmount, this.tokenAScale, true);
|
|
378
376
|
this.state.reserveB += maverick_math_1.MaverickMath.ammScaleToTokenScale(tokenBAmount, this.tokenBScale, true);
|
|
379
377
|
}
|
|
378
|
+
// Tick sqrt prices depend only on (tickSpacing, tick), so they are memoised
|
|
379
|
+
// per pool: computing them costs ~20 wide multiplications and a division.
|
|
380
|
+
tickSqrtPrices(tick) {
|
|
381
|
+
let prices = this.sqrtPriceCache.get(tick);
|
|
382
|
+
if (!prices) {
|
|
383
|
+
prices = maverick_tick_math_1.MaverickTickMath.tickSqrtPrices(this.tickSpacing, tick);
|
|
384
|
+
this.sqrtPriceCache.set(tick, prices);
|
|
385
|
+
}
|
|
386
|
+
return prices;
|
|
387
|
+
}
|
|
380
388
|
tickSqrtPriceAndLiquidity(tick) {
|
|
381
389
|
let tickState = this.state.ticks[tick.toString()];
|
|
382
390
|
let output = {
|
|
@@ -384,7 +392,7 @@ class MaverickPoolMath {
|
|
|
384
392
|
currentReserveB: tickState.reserveB,
|
|
385
393
|
currentLiquidity: 0n,
|
|
386
394
|
};
|
|
387
|
-
let [sqrtLowerTickPrice, sqrtUpperTickPrice] =
|
|
395
|
+
let [sqrtLowerTickPrice, sqrtUpperTickPrice] = this.tickSqrtPrices(tick);
|
|
388
396
|
let sqrtPrice;
|
|
389
397
|
[sqrtPrice, output.currentLiquidity] =
|
|
390
398
|
maverick_tick_math_1.MaverickTickMath.getTickSqrtPriceAndL(output.currentReserveA, output.currentReserveB, sqrtLowerTickPrice, sqrtUpperTickPrice);
|
|
@@ -414,8 +422,8 @@ class MaverickPoolMath {
|
|
|
414
422
|
] = this.tickSqrtPriceAndLiquidity(activeTick);
|
|
415
423
|
this.state.activeTick = activeTick;
|
|
416
424
|
newDelta = delta.exactOutput
|
|
417
|
-
? maverick_swap_math_1.MaverickSwapMath.computeSwapExactOut(delta.sqrtPrice, tickData, delta.excess, delta.tokenAIn, this.fee(delta.tokenAIn), this.protocolFeeRatioD3)
|
|
418
|
-
: maverick_swap_math_1.MaverickSwapMath.computeSwapExactIn(delta.sqrtPrice, tickData, delta.excess, delta.tokenAIn, this.fee(delta.tokenAIn), this.protocolFeeRatioD3);
|
|
425
|
+
? maverick_swap_math_1.MaverickSwapMath.computeSwapExactOut(delta.sqrtPrice, tickData, delta.excess, delta.tokenAIn, this.fee(delta.tokenAIn), this.state.protocolFeeRatioD3)
|
|
426
|
+
: maverick_swap_math_1.MaverickSwapMath.computeSwapExactIn(delta.sqrtPrice, tickData, delta.excess, delta.tokenAIn, this.fee(delta.tokenAIn), this.state.protocolFeeRatioD3);
|
|
419
427
|
if (newDelta.excess === 0n) {
|
|
420
428
|
maverick_swap_math_1.MaverickSwapMath.computeEndPrice(delta, newDelta, tickData);
|
|
421
429
|
}
|
|
@@ -428,7 +436,7 @@ class MaverickPoolMath {
|
|
|
428
436
|
return newDelta;
|
|
429
437
|
}
|
|
430
438
|
fee(tokenAIn) {
|
|
431
|
-
return tokenAIn ? this.feeAIn : this.feeBIn;
|
|
439
|
+
return tokenAIn ? this.state.feeAIn : this.state.feeBIn;
|
|
432
440
|
}
|
|
433
441
|
allocateSwapValuesToTick(delta, tokenAIn, tick) {
|
|
434
442
|
const key = tick.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maverick-pool-math.js","sourceRoot":"","sources":["../../../../src/dex/maverick-v2/maverick-math/maverick-pool-math.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"maverick-pool-math.js","sourceRoot":"","sources":["../../../../src/dex/maverick-v2/maverick-math/maverick-pool-math.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,14 +28,14 @@ class MaverickTickMath {
|
|
|
28
28
|
reserveA <<= precisionBump;
|
|
29
29
|
reserveB <<= precisionBump;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
maverick_basic_math_1.MaverickBasicMath.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
const diff = sqrtUpperTickPrice - sqrtLowerTickPrice;
|
|
32
|
+
if (reserveB === 0n)
|
|
33
|
+
return maverick_basic_math_1.MaverickBasicMath.divDown(reserveA, diff) >> precisionBump;
|
|
34
|
+
if (reserveA === 0n)
|
|
35
|
+
return (maverick_basic_math_1.MaverickBasicMath.mulDivDown(maverick_basic_math_1.MaverickBasicMath.mulDown(reserveB, sqrtLowerTickPrice), sqrtUpperTickPrice, diff) >> precisionBump);
|
|
36
|
+
const b = (maverick_basic_math_1.MaverickBasicMath.divDown(reserveA, sqrtUpperTickPrice) +
|
|
37
|
+
maverick_basic_math_1.MaverickBasicMath.mulDown(reserveB, sqrtLowerTickPrice)) >>
|
|
38
|
+
1n;
|
|
39
39
|
return (maverick_basic_math_1.MaverickBasicMath.mulDiv(b +
|
|
40
40
|
maverick_basic_math_1.MaverickBasicMath.sqrt(maverick_basic_math_1.MaverickBasicMath.mulDiv(b, b, bigint_constants_1.BI_POWS[18]) +
|
|
41
41
|
maverick_basic_math_1.MaverickBasicMath.mulDiv(maverick_basic_math_1.MaverickBasicMath.mulFloor(reserveB, reserveA), diff, sqrtUpperTickPrice)) *
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maverick-tick-math.js","sourceRoot":"","sources":["../../../../src/dex/maverick-v2/maverick-math/maverick-tick-math.ts"],"names":[],"mappings":";;;AAAA,gEAAoE;
|
|
1
|
+
{"version":3,"file":"maverick-tick-math.js","sourceRoot":"","sources":["../../../../src/dex/maverick-v2/maverick-math/maverick-tick-math.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ import { Address, BlockHeader, Log, Logger, Token } from '../../types';
|
|
|
4
4
|
import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
|
|
5
5
|
import { IDexHelper } from '../../dex-helper/idex-helper';
|
|
6
6
|
import { PoolState } from './types';
|
|
7
|
-
import { Contract } from 'web3-eth-contract';
|
|
8
7
|
import { MaverickPoolMath } from './maverick-math/maverick-pool-math';
|
|
9
8
|
import { MultiResult } from '../../lib/multi-wrapper';
|
|
10
9
|
import { BytesLike } from 'ethers';
|
|
@@ -18,7 +17,6 @@ export declare class MaverickV2EventPool extends StatefulEventSubscriber<PoolSta
|
|
|
18
17
|
feeAIn: bigint;
|
|
19
18
|
feeBIn: bigint;
|
|
20
19
|
tickSpacing: bigint;
|
|
21
|
-
protocolFeeRatio: bigint;
|
|
22
20
|
lookback: bigint;
|
|
23
21
|
activeTick: bigint;
|
|
24
22
|
address: Address;
|
|
@@ -28,11 +26,10 @@ export declare class MaverickV2EventPool extends StatefulEventSubscriber<PoolSta
|
|
|
28
26
|
handlers: {
|
|
29
27
|
[event: string]: (event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>, blockHeader: BlockHeader) => DeepReadonly<PoolState> | null;
|
|
30
28
|
};
|
|
31
|
-
poolContract: Contract;
|
|
32
29
|
logDecoder: (log: Log) => any;
|
|
33
30
|
addressesSubscribed: string[];
|
|
34
31
|
poolMath: MaverickPoolMath;
|
|
35
|
-
constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, tokenA: Token, tokenB: Token, feeAIn: bigint, feeBIn: bigint, tickSpacing: bigint,
|
|
32
|
+
constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, tokenA: Token, tokenB: Token, feeAIn: bigint, feeBIn: bigint, tickSpacing: bigint, lookback: bigint, activeTick: bigint, address: Address, poolLensAddress: Address, maverickV2Iface?: Interface, maverickV2LensIface?: Interface);
|
|
36
33
|
/**
|
|
37
34
|
* The function is called every time any of the subscribed
|
|
38
35
|
* addresses release log. The function accepts the current
|
|
@@ -52,7 +49,10 @@ export declare class MaverickV2EventPool extends StatefulEventSubscriber<PoolSta
|
|
|
52
49
|
* should be generated
|
|
53
50
|
* @returns state of the event subscriber at blocknumber
|
|
54
51
|
*/
|
|
52
|
+
private lensCall;
|
|
55
53
|
generateState(blockNumber: number): Promise<DeepReadonly<PoolState>>;
|
|
54
|
+
handleSetVariableFeeEvent(event: any, state: PoolState): PoolState;
|
|
55
|
+
handleSetProtocolFeeRatioEvent(event: any, state: PoolState): PoolState;
|
|
56
56
|
handleRemoveLiquidityEvent(event: any, state: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
|
|
57
57
|
handleAddLiquidityEvent(event: any, state: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
|
|
58
58
|
handleSwapEvent(event: any, state: PoolState, log: Log, blockHeader: BlockHeader): PoolState;
|
|
@@ -11,6 +11,8 @@ const MaverickV2Pool_json_1 = __importDefault(require("../../abi/maverick-v2/Mav
|
|
|
11
11
|
const MaverickV2PoolLens_json_1 = __importDefault(require("../../abi/maverick-v2/MaverickV2PoolLens.json"));
|
|
12
12
|
const maverick_pool_math_1 = require("./maverick-math/maverick-pool-math");
|
|
13
13
|
const decoders_1 = require("../../lib/decoders");
|
|
14
|
+
const topic_log_decoder_1 = require("../../lib/topic-log-decoder");
|
|
15
|
+
const BINS_PER_LENS_CALL = 5000n;
|
|
14
16
|
const decodeMaverickFullState = (result) => {
|
|
15
17
|
const [isSuccess, toDecode] = (0, decoders_1.extractSuccessAndValue)(result);
|
|
16
18
|
if (!isSuccess || toDecode === '0x') {
|
|
@@ -63,7 +65,6 @@ class MaverickV2EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
|
|
|
63
65
|
feeAIn;
|
|
64
66
|
feeBIn;
|
|
65
67
|
tickSpacing;
|
|
66
|
-
protocolFeeRatio;
|
|
67
68
|
lookback;
|
|
68
69
|
activeTick;
|
|
69
70
|
address;
|
|
@@ -71,11 +72,10 @@ class MaverickV2EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
|
|
|
71
72
|
maverickV2Iface;
|
|
72
73
|
maverickV2LensIface;
|
|
73
74
|
handlers = {};
|
|
74
|
-
poolContract;
|
|
75
75
|
logDecoder;
|
|
76
76
|
addressesSubscribed;
|
|
77
77
|
poolMath;
|
|
78
|
-
constructor(parentName, network, dexHelper, logger, tokenA, tokenB, feeAIn, feeBIn, tickSpacing,
|
|
78
|
+
constructor(parentName, network, dexHelper, logger, tokenA, tokenB, feeAIn, feeBIn, tickSpacing, lookback, activeTick, address, poolLensAddress, maverickV2Iface = new abi_1.Interface(MaverickV2Pool_json_1.default), maverickV2LensIface = new abi_1.Interface(MaverickV2PoolLens_json_1.default)) {
|
|
79
79
|
const name = `${parentName.toLowerCase()}-${tokenA.symbol}-${tokenB.symbol}-${address.toLowerCase()}-${feeAIn}-${feeBIn}-${tickSpacing}-${lookback}`;
|
|
80
80
|
super(parentName, name, dexHelper, logger);
|
|
81
81
|
this.parentName = parentName;
|
|
@@ -86,7 +86,6 @@ class MaverickV2EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
|
|
|
86
86
|
this.feeAIn = feeAIn;
|
|
87
87
|
this.feeBIn = feeBIn;
|
|
88
88
|
this.tickSpacing = tickSpacing;
|
|
89
|
-
this.protocolFeeRatio = protocolFeeRatio;
|
|
90
89
|
this.lookback = lookback;
|
|
91
90
|
this.activeTick = activeTick;
|
|
92
91
|
this.address = address;
|
|
@@ -94,15 +93,18 @@ class MaverickV2EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
|
|
|
94
93
|
this.maverickV2Iface = maverickV2Iface;
|
|
95
94
|
this.maverickV2LensIface = maverickV2LensIface;
|
|
96
95
|
// TODO: make logDecoder decode logs that
|
|
97
|
-
this.logDecoder = (log) => this.maverickV2Iface.
|
|
96
|
+
this.logDecoder = (log) => (0, topic_log_decoder_1.getTopicLogDecoder)(this.maverickV2Iface).decode(log);
|
|
98
97
|
this.addressesSubscribed = [address];
|
|
99
98
|
// Add handlers
|
|
100
99
|
this.handlers['PoolAddLiquidity'] = this.handleAddLiquidityEvent.bind(this);
|
|
101
100
|
this.handlers['PoolRemoveLiquidity'] =
|
|
102
101
|
this.handleRemoveLiquidityEvent.bind(this);
|
|
103
102
|
this.handlers['PoolSwap'] = this.handleSwapEvent.bind(this);
|
|
104
|
-
this.
|
|
105
|
-
|
|
103
|
+
this.handlers['PoolSetVariableFee'] =
|
|
104
|
+
this.handleSetVariableFeeEvent.bind(this);
|
|
105
|
+
this.handlers['PoolSetProtocolFeeRatio'] =
|
|
106
|
+
this.handleSetProtocolFeeRatioEvent.bind(this);
|
|
107
|
+
this.poolMath = new maverick_pool_math_1.MaverickPoolMath(BigInt(lookback), BigInt(tickSpacing), BigInt(activeTick), BigInt(tokenA.decimals), BigInt(tokenB.decimals));
|
|
106
108
|
}
|
|
107
109
|
/**
|
|
108
110
|
* The function is called every time any of the subscribed
|
|
@@ -134,77 +136,129 @@ class MaverickV2EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
|
|
|
134
136
|
* should be generated
|
|
135
137
|
* @returns state of the event subscriber at blocknumber
|
|
136
138
|
*/
|
|
139
|
+
lensCall(binStart) {
|
|
140
|
+
return {
|
|
141
|
+
target: this.poolLensAddress,
|
|
142
|
+
callData: this.maverickV2LensIface.encodeFunctionData('getFullPoolState', [this.address, binStart, binStart + BINS_PER_LENS_CALL - 1n]),
|
|
143
|
+
decodeFunction: (data) => {
|
|
144
|
+
const [, returnData] = (0, decoders_1.extractSuccessAndValue)(data);
|
|
145
|
+
return returnData === '0x' ? null : (0, exports.decodeMaverickFullState)(returnData);
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
137
149
|
async generateState(blockNumber) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
poolState.bins[i.toString()] = {
|
|
172
|
-
mergeBinBalance: BigInt(bin.mergeBinBalance),
|
|
173
|
-
mergeId: BigInt(bin.mergeId),
|
|
174
|
-
totalSupply: BigInt(bin.totalSupply),
|
|
175
|
-
kind: BigInt(bin.kind),
|
|
176
|
-
tick: BigInt(bin.tick),
|
|
177
|
-
tickBalance: BigInt(bin.tickBalance),
|
|
178
|
-
};
|
|
179
|
-
poolState.ticks[bin.tick.toString()] = {
|
|
180
|
-
reserveA: BigInt(tick.reserveA),
|
|
181
|
-
reserveB: BigInt(tick.reserveB),
|
|
182
|
-
totalSupply: BigInt(tick.totalSupply),
|
|
183
|
-
binIdsByTick: {},
|
|
184
|
-
};
|
|
185
|
-
tick.binIdsByTick.forEach((id, i) => {
|
|
186
|
-
if (id != 0n) {
|
|
187
|
-
poolState.ticks[bin.tick.toString()].binIdsByTick[i.toString()] =
|
|
188
|
-
BigInt(id);
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
});
|
|
192
|
-
});
|
|
193
|
-
return poolState;
|
|
194
|
-
}
|
|
195
|
-
catch {
|
|
150
|
+
// Pool params and the first page of bins in one round-trip; only pools
|
|
151
|
+
// with more than BINS_PER_LENS_CALL bins need a second one
|
|
152
|
+
const [stateResult, feeAInResult, feeBInResult, firstLensPage] = await this.dexHelper.multiWrapper.tryAggregate(false, [
|
|
153
|
+
{
|
|
154
|
+
target: this.address,
|
|
155
|
+
callData: this.maverickV2Iface.encodeFunctionData('getState'),
|
|
156
|
+
decodeFunction: (data) => {
|
|
157
|
+
const [, returnData] = (0, decoders_1.extractSuccessAndValue)(data);
|
|
158
|
+
return returnData === '0x'
|
|
159
|
+
? null
|
|
160
|
+
: this.maverickV2Iface.decodeFunctionResult('getState', returnData)[0];
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
...[true, false].map(tokenAIn => ({
|
|
164
|
+
target: this.address,
|
|
165
|
+
callData: this.maverickV2Iface.encodeFunctionData('fee', [
|
|
166
|
+
tokenAIn,
|
|
167
|
+
]),
|
|
168
|
+
decodeFunction: (data) => {
|
|
169
|
+
const [, returnData] = (0, decoders_1.extractSuccessAndValue)(data);
|
|
170
|
+
return returnData === '0x'
|
|
171
|
+
? null
|
|
172
|
+
: BigInt(this.maverickV2Iface
|
|
173
|
+
.decodeFunctionResult('fee', returnData)[0]
|
|
174
|
+
.toString());
|
|
175
|
+
},
|
|
176
|
+
})),
|
|
177
|
+
this.lensCall(0n),
|
|
178
|
+
], blockNumber, undefined, false);
|
|
179
|
+
// The pool is not deployed yet at this block (call fails or returns no
|
|
180
|
+
// data): empty state with the creation parameters, so that logs from the
|
|
181
|
+
// creation block replay
|
|
182
|
+
if (!stateResult.success || stateResult.returnData == null) {
|
|
196
183
|
return {
|
|
197
|
-
activeTick: BigInt(
|
|
198
|
-
binCounter:
|
|
199
|
-
reserveA:
|
|
200
|
-
reserveB:
|
|
201
|
-
lastTwaD8:
|
|
202
|
-
lastLogPriceD8:
|
|
203
|
-
lastTimestamp:
|
|
184
|
+
activeTick: BigInt(this.activeTick),
|
|
185
|
+
binCounter: 0n,
|
|
186
|
+
reserveA: 0n,
|
|
187
|
+
reserveB: 0n,
|
|
188
|
+
lastTwaD8: 0n,
|
|
189
|
+
lastLogPriceD8: 0n,
|
|
190
|
+
lastTimestamp: 0n,
|
|
191
|
+
feeAIn: BigInt(this.feeAIn),
|
|
192
|
+
feeBIn: BigInt(this.feeBIn),
|
|
193
|
+
protocolFeeRatioD3: 0n,
|
|
204
194
|
bins: {},
|
|
205
195
|
ticks: {},
|
|
206
196
|
};
|
|
207
197
|
}
|
|
198
|
+
const poolContractState = stateResult.returnData;
|
|
199
|
+
const poolState = {
|
|
200
|
+
activeTick: BigInt(poolContractState.activeTick),
|
|
201
|
+
binCounter: BigInt(poolContractState.binCounter),
|
|
202
|
+
reserveA: BigInt(poolContractState.reserveA.toString()),
|
|
203
|
+
reserveB: BigInt(poolContractState.reserveB.toString()),
|
|
204
|
+
lastTwaD8: BigInt(poolContractState.lastTwaD8.toString()),
|
|
205
|
+
lastLogPriceD8: BigInt(poolContractState.lastLogPriceD8.toString()),
|
|
206
|
+
lastTimestamp: BigInt(poolContractState.lastTimestamp),
|
|
207
|
+
protocolFeeRatioD3: BigInt(poolContractState.protocolFeeRatioD3),
|
|
208
|
+
feeAIn: feeAInResult.returnData,
|
|
209
|
+
feeBIn: feeBInResult.returnData,
|
|
210
|
+
bins: {},
|
|
211
|
+
ticks: {},
|
|
212
|
+
};
|
|
213
|
+
const poolLensStates = [firstLensPage.returnData];
|
|
214
|
+
const calls = [];
|
|
215
|
+
for (let binStart = BINS_PER_LENS_CALL; binStart <= poolState.binCounter; binStart += BINS_PER_LENS_CALL) {
|
|
216
|
+
calls.push(this.lensCall(binStart));
|
|
217
|
+
}
|
|
218
|
+
if (calls.length) {
|
|
219
|
+
poolLensStates.push(...(await this.dexHelper.multiWrapper.aggregate(calls, blockNumber)));
|
|
220
|
+
}
|
|
221
|
+
// The lens returns arrays indexed relative to binStart, not by bin id
|
|
222
|
+
poolLensStates.forEach((poolLensState, page) => {
|
|
223
|
+
const binStart = BigInt(page) * BINS_PER_LENS_CALL;
|
|
224
|
+
poolLensState.binStateMapping.forEach((bin, i) => {
|
|
225
|
+
const binId = binStart + BigInt(i);
|
|
226
|
+
if (binId === 0n)
|
|
227
|
+
return;
|
|
228
|
+
const tick = poolLensState.tickStateMapping[i];
|
|
229
|
+
const tickKey = bin.tick.toString();
|
|
230
|
+
poolState.bins[binId.toString()] = {
|
|
231
|
+
mergeBinBalance: BigInt(bin.mergeBinBalance),
|
|
232
|
+
mergeId: BigInt(bin.mergeId),
|
|
233
|
+
totalSupply: BigInt(bin.totalSupply),
|
|
234
|
+
kind: BigInt(bin.kind),
|
|
235
|
+
tick: BigInt(bin.tick),
|
|
236
|
+
tickBalance: BigInt(bin.tickBalance),
|
|
237
|
+
};
|
|
238
|
+
poolState.ticks[tickKey] = {
|
|
239
|
+
reserveA: BigInt(tick.reserveA),
|
|
240
|
+
reserveB: BigInt(tick.reserveB),
|
|
241
|
+
totalSupply: BigInt(tick.totalSupply),
|
|
242
|
+
binIdsByTick: {},
|
|
243
|
+
};
|
|
244
|
+
tick.binIdsByTick.forEach((id, kind) => {
|
|
245
|
+
const tickBinId = BigInt(id.toString());
|
|
246
|
+
if (tickBinId !== 0n) {
|
|
247
|
+
poolState.ticks[tickKey].binIdsByTick[kind.toString()] = tickBinId;
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
return poolState;
|
|
253
|
+
}
|
|
254
|
+
handleSetVariableFeeEvent(event, state) {
|
|
255
|
+
state.feeAIn = BigInt(event.args.newFeeAIn.toString());
|
|
256
|
+
state.feeBIn = BigInt(event.args.newFeeBIn.toString());
|
|
257
|
+
return state;
|
|
258
|
+
}
|
|
259
|
+
handleSetProtocolFeeRatioEvent(event, state) {
|
|
260
|
+
state.protocolFeeRatioD3 = BigInt(event.args.protocolFeeRatioD3.toString());
|
|
261
|
+
return state;
|
|
208
262
|
}
|
|
209
263
|
handleRemoveLiquidityEvent(event, state, log, blockHeader) {
|
|
210
264
|
const blockTimestamp = BigInt(blockHeader.timestamp);
|
|
@@ -231,9 +285,13 @@ class MaverickV2EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
|
|
|
231
285
|
swap(amount, from, to, exactOutput) {
|
|
232
286
|
try {
|
|
233
287
|
const s = this.state;
|
|
288
|
+
// Copy-on-write overlay: estimateSwap only reads ticks by key and
|
|
289
|
+
// replaces the ones it touches, so a prototype-chained object avoids
|
|
290
|
+
// copying the whole ticks map on every quote. The estimate path must
|
|
291
|
+
// never iterate or delete ticks for this to stay correct.
|
|
234
292
|
const tempState = {
|
|
235
293
|
...s,
|
|
236
|
-
ticks:
|
|
294
|
+
ticks: Object.create(s.ticks),
|
|
237
295
|
};
|
|
238
296
|
const preActiveTick = tempState.activeTick;
|
|
239
297
|
const [amountIn, amountOut] = this.poolMath.estimateSwap(tempState, amount, from.address.toLowerCase() === this.tokenA.address.toLowerCase(), exactOutput, from.address.toLowerCase() === this.tokenA.address.toLowerCase()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maverick-v2-pool.js","sourceRoot":"","sources":["../../../src/dex/maverick-v2/maverick-v2-pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"maverick-v2-pool.js","sourceRoot":"","sources":["../../../src/dex/maverick-v2/maverick-v2-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,9 +89,14 @@ class MaverickV2 extends simple_exchange_1.SimpleExchange {
|
|
|
89
89
|
address: pool.tokenB.address,
|
|
90
90
|
symbol: pool.tokenB.symbol,
|
|
91
91
|
decimals: pool.tokenB.decimals,
|
|
92
|
-
}, BigInt(pool.fee * 1e18), BigInt(pool.feeB * 1e18), BigInt(pool.tickSpacing), BigInt(
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
}, BigInt(pool.fee * 1e18), BigInt(pool.feeB * 1e18), BigInt(pool.tickSpacing), BigInt(pool.lookback), BigInt(pool.lowerTick), pool.id, this.config.poolLensAddress);
|
|
93
|
+
try {
|
|
94
|
+
await eventPool.initialize(blockNumber);
|
|
95
|
+
this.pools[eventPool.address] = eventPool;
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
this.logger.error(`${this.dexKey}: failed to initialize pool ${pool.id}, skipping`, e);
|
|
99
|
+
}
|
|
95
100
|
}));
|
|
96
101
|
}
|
|
97
102
|
getAdapters(side) {
|