@paraswap/dex-lib 2.42.27-solidly-v3.2 → 2.42.28
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/{solidly-v3/SolidlyV3Pool.abi.json → algebra/AlgebraPool.abi.json} +282 -293
- package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
- package/build/config.js +2 -2
- package/build/dex/{solidly-v3/solidly-v3-pool.d.ts → algebra/algebra-pool.d.ts} +16 -14
- package/build/dex/{solidly-v3/solidly-v3-pool.js → algebra/algebra-pool.js} +165 -127
- package/build/dex/algebra/algebra-pool.js.map +1 -0
- package/build/dex/index.js +2 -4
- package/build/dex/index.js.map +1 -1
- package/build/dex/quickswap/camelot-v3.d.ts +6 -0
- package/build/dex/quickswap/camelot-v3.js +19 -0
- package/build/dex/quickswap/camelot-v3.js.map +1 -0
- package/build/dex/quickswap/zyberswap-v3.d.ts +6 -0
- package/build/dex/quickswap/zyberswap-v3.js +19 -0
- package/build/dex/quickswap/zyberswap-v3.js.map +1 -0
- package/build/dex/uniswap-v2/rebase-tokens.json +7 -0
- package/package.json +1 -1
- package/src/config.ts +2 -2
- package/src/dex/index.ts +2 -4
- package/src/dex/uniswap-v3/uniswap-v3-events.test.ts +0 -3
- package/build/abi/solidly-v3/SolidlyV3StateMulticall.abi.json +0 -375
- package/build/dex/solidly-v3/config.d.ts +0 -9
- package/build/dex/solidly-v3/config.js +0 -58
- package/build/dex/solidly-v3/config.js.map +0 -1
- package/build/dex/solidly-v3/constants.d.ts +0 -27
- package/build/dex/solidly-v3/constants.js +0 -34
- package/build/dex/solidly-v3/constants.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/BitMath.d.ts +0 -4
- package/build/dex/solidly-v3/contract-math/BitMath.js +0 -93
- package/build/dex/solidly-v3/contract-math/BitMath.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/FixedPoint128.d.ts +0 -3
- package/build/dex/solidly-v3/contract-math/FixedPoint128.js +0 -8
- package/build/dex/solidly-v3/contract-math/FixedPoint128.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/FixedPoint96.d.ts +0 -4
- package/build/dex/solidly-v3/contract-math/FixedPoint96.js +0 -9
- package/build/dex/solidly-v3/contract-math/FixedPoint96.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/FullMath.d.ts +0 -4
- package/build/dex/solidly-v3/contract-math/FullMath.js +0 -19
- package/build/dex/solidly-v3/contract-math/FullMath.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/LiquidityMath.d.ts +0 -3
- package/build/dex/solidly-v3/contract-math/LiquidityMath.js +0 -22
- package/build/dex/solidly-v3/contract-math/LiquidityMath.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/SqrtPriceMath.d.ts +0 -10
- package/build/dex/solidly-v3/contract-math/SqrtPriceMath.js +0 -91
- package/build/dex/solidly-v3/contract-math/SqrtPriceMath.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/SwapMath.d.ts +0 -8
- package/build/dex/solidly-v3/contract-math/SwapMath.js +0 -70
- package/build/dex/solidly-v3/contract-math/SwapMath.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/Tick.d.ts +0 -7
- package/build/dex/solidly-v3/contract-math/Tick.js +0 -36
- package/build/dex/solidly-v3/contract-math/Tick.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/TickBitMap.d.ts +0 -7
- package/build/dex/solidly-v3/contract-math/TickBitMap.js +0 -84
- package/build/dex/solidly-v3/contract-math/TickBitMap.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/TickMath.d.ts +0 -8
- package/build/dex/solidly-v3/contract-math/TickMath.js +0 -162
- package/build/dex/solidly-v3/contract-math/TickMath.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/UnsafeMath.d.ts +0 -3
- package/build/dex/solidly-v3/contract-math/UnsafeMath.js +0 -10
- package/build/dex/solidly-v3/contract-math/UnsafeMath.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/uniswap-v3-math.d.ts +0 -31
- package/build/dex/solidly-v3/contract-math/uniswap-v3-math.js +0 -363
- package/build/dex/solidly-v3/contract-math/uniswap-v3-math.js.map +0 -1
- package/build/dex/solidly-v3/contract-math/utils.d.ts +0 -7
- package/build/dex/solidly-v3/contract-math/utils.js +0 -39
- package/build/dex/solidly-v3/contract-math/utils.js.map +0 -1
- package/build/dex/solidly-v3/solidly-v3-factory.d.ts +0 -26
- package/build/dex/solidly-v3/solidly-v3-factory.js +0 -44
- package/build/dex/solidly-v3/solidly-v3-factory.js.map +0 -1
- package/build/dex/solidly-v3/solidly-v3-pool.js.map +0 -1
- package/build/dex/solidly-v3/solidly-v3.d.ts +0 -67
- package/build/dex/solidly-v3/solidly-v3.js +0 -590
- package/build/dex/solidly-v3/solidly-v3.js.map +0 -1
- package/build/dex/solidly-v3/types.d.ts +0 -132
- package/build/dex/solidly-v3/types.js +0 -9
- package/build/dex/solidly-v3/types.js.map +0 -1
- package/build/dex/solidly-v3/utils.d.ts +0 -6
- package/build/dex/solidly-v3/utils.js +0 -53
- package/build/dex/solidly-v3/utils.js.map +0 -1
- package/build/dex/wombat/wombat-pool-poller.d.ts +0 -22
- package/build/dex/wombat/wombat-pool-poller.js +0 -164
- package/build/dex/wombat/wombat-pool-poller.js.map +0 -1
- package/src/abi/solidly-v3/SolidlyV3Pool.abi.json +0 -738
- package/src/abi/solidly-v3/SolidlyV3StateMulticall.abi.json +0 -375
- package/src/dex/solidly-v3/config.ts +0 -64
- package/src/dex/solidly-v3/constants.ts +0 -42
- package/src/dex/solidly-v3/contract-math/BitMath.ts +0 -90
- package/src/dex/solidly-v3/contract-math/FixedPoint128.ts +0 -3
- package/src/dex/solidly-v3/contract-math/FixedPoint96.ts +0 -4
- package/src/dex/solidly-v3/contract-math/FullMath.ts +0 -30
- package/src/dex/solidly-v3/contract-math/LiquidityMath.ts +0 -17
- package/src/dex/solidly-v3/contract-math/SqrtPriceMath.ts +0 -226
- package/src/dex/solidly-v3/contract-math/SwapMath.ts +0 -139
- package/src/dex/solidly-v3/contract-math/Tick.ts +0 -66
- package/src/dex/solidly-v3/contract-math/TickBitMap.ts +0 -123
- package/src/dex/solidly-v3/contract-math/TickMath.ts +0 -211
- package/src/dex/solidly-v3/contract-math/UnsafeMath.ts +0 -5
- package/src/dex/solidly-v3/contract-math/uniswap-v3-math.ts +0 -570
- package/src/dex/solidly-v3/contract-math/utils.ts +0 -50
- package/src/dex/solidly-v3/solidly-v3-e2e.test.ts +0 -124
- package/src/dex/solidly-v3/solidly-v3-events.test.ts +0 -144
- package/src/dex/solidly-v3/solidly-v3-factory.ts +0 -73
- package/src/dex/solidly-v3/solidly-v3-integration.test.ts +0 -358
- package/src/dex/solidly-v3/solidly-v3-pool.ts +0 -494
- package/src/dex/solidly-v3/solidly-v3.ts +0 -988
- package/src/dex/solidly-v3/types.ts +0 -158
- package/src/dex/solidly-v3/utils.ts +0 -71
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solidly-v3.js","sourceRoot":"","sources":["../../../src/dex/solidly-v3/solidly-v3.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { BigNumber, BytesLike } from 'ethers';
|
|
2
|
-
import { NumberAsString } from '../../types';
|
|
3
|
-
import { Address } from '../../types';
|
|
4
|
-
import { AbiItem } from 'web3-utils';
|
|
5
|
-
import { MultiResult } from '../../lib/multi-wrapper';
|
|
6
|
-
export declare type FactoryState = Record<string, never>;
|
|
7
|
-
export declare type TickInfo = {
|
|
8
|
-
liquidityGross: bigint;
|
|
9
|
-
liquidityNet: bigint;
|
|
10
|
-
initialized: boolean;
|
|
11
|
-
};
|
|
12
|
-
export declare type Slot0 = {
|
|
13
|
-
sqrtPriceX96: bigint;
|
|
14
|
-
tick: bigint;
|
|
15
|
-
fee: bigint;
|
|
16
|
-
};
|
|
17
|
-
export declare type PoolState = {
|
|
18
|
-
pool: string;
|
|
19
|
-
blockTimestamp: bigint;
|
|
20
|
-
tickSpacing: bigint;
|
|
21
|
-
slot0: Slot0;
|
|
22
|
-
liquidity: bigint;
|
|
23
|
-
maxLiquidityPerTick: bigint;
|
|
24
|
-
tickBitmap: Record<NumberAsString, bigint>;
|
|
25
|
-
ticks: Record<NumberAsString, TickInfo>;
|
|
26
|
-
isValid: boolean;
|
|
27
|
-
startTickBitmap: bigint;
|
|
28
|
-
lowestKnownTick: bigint;
|
|
29
|
-
highestKnownTick: bigint;
|
|
30
|
-
balance0: bigint;
|
|
31
|
-
balance1: bigint;
|
|
32
|
-
};
|
|
33
|
-
export declare type SolidlyV3Data = {
|
|
34
|
-
zeroForOne: boolean;
|
|
35
|
-
poolAddress: string;
|
|
36
|
-
isApproved?: boolean;
|
|
37
|
-
};
|
|
38
|
-
export declare type DecodeStateMultiCallFunc = (result: MultiResult<BytesLike> | BytesLike) => DecodedStateMultiCallResultWithRelativeBitmaps;
|
|
39
|
-
export declare type DexParams = {
|
|
40
|
-
quoter: Address;
|
|
41
|
-
factory: Address;
|
|
42
|
-
stateMulticall: Address;
|
|
43
|
-
supportedTickSpacings: bigint[];
|
|
44
|
-
chunksCount: number;
|
|
45
|
-
initRetryFrequency: number;
|
|
46
|
-
deployer?: Address;
|
|
47
|
-
subgraphURL: string;
|
|
48
|
-
initHash: string;
|
|
49
|
-
stateMultiCallAbi?: AbiItem[];
|
|
50
|
-
decodeStateMultiCallResultWithRelativeBitmaps?: DecodeStateMultiCallFunc;
|
|
51
|
-
};
|
|
52
|
-
export declare type UniswapV3SimpleSwapSellParam = {
|
|
53
|
-
path: string;
|
|
54
|
-
recipient: Address;
|
|
55
|
-
deadline: string;
|
|
56
|
-
amountIn: NumberAsString;
|
|
57
|
-
amountOutMinimum: NumberAsString;
|
|
58
|
-
};
|
|
59
|
-
export declare type UniswapV3SimpleSwapBuyParam = {
|
|
60
|
-
path: string;
|
|
61
|
-
recipient: Address;
|
|
62
|
-
deadline: string;
|
|
63
|
-
amountOut: NumberAsString;
|
|
64
|
-
amountInMaximum: NumberAsString;
|
|
65
|
-
};
|
|
66
|
-
export declare type UniswapV3SimpleSwapParams = UniswapV3SimpleSwapSellParam | UniswapV3SimpleSwapBuyParam;
|
|
67
|
-
export declare type SolidlyV3SimpleSwapParams = {
|
|
68
|
-
recipient: string;
|
|
69
|
-
zeroForOne: boolean;
|
|
70
|
-
amountSpecified: NumberAsString;
|
|
71
|
-
sqrtPriceLimitX96: NumberAsString;
|
|
72
|
-
};
|
|
73
|
-
export declare type UniswapV3Param = [
|
|
74
|
-
fromToken: Address,
|
|
75
|
-
toToken: Address,
|
|
76
|
-
exchange: Address,
|
|
77
|
-
fromAmount: NumberAsString,
|
|
78
|
-
toAmount: NumberAsString,
|
|
79
|
-
expectedAmount: NumberAsString,
|
|
80
|
-
feePercent: NumberAsString,
|
|
81
|
-
deadline: NumberAsString,
|
|
82
|
-
partner: Address,
|
|
83
|
-
isApproved: boolean,
|
|
84
|
-
beneficiary: Address,
|
|
85
|
-
path: string,
|
|
86
|
-
permit: string,
|
|
87
|
-
uuid: string
|
|
88
|
-
];
|
|
89
|
-
export declare enum UniswapV3Functions {
|
|
90
|
-
exactInput = "exactInput",
|
|
91
|
-
exactOutput = "exactOutput"
|
|
92
|
-
}
|
|
93
|
-
export declare type TickInfoMappings = {
|
|
94
|
-
index: number;
|
|
95
|
-
value: TickInfo;
|
|
96
|
-
};
|
|
97
|
-
export declare type TickBitMapMappings = {
|
|
98
|
-
index: number;
|
|
99
|
-
value: bigint;
|
|
100
|
-
};
|
|
101
|
-
export declare type OutputResult = {
|
|
102
|
-
outputs: bigint[];
|
|
103
|
-
tickCounts: number[];
|
|
104
|
-
};
|
|
105
|
-
export declare type TickBitMapMappingsWithBigNumber = {
|
|
106
|
-
index: number;
|
|
107
|
-
value: BigNumber;
|
|
108
|
-
};
|
|
109
|
-
export declare type TickInfoWithBigNumber = {
|
|
110
|
-
initialized: boolean;
|
|
111
|
-
liquidityGross: BigNumber;
|
|
112
|
-
liquidityNet: BigNumber;
|
|
113
|
-
};
|
|
114
|
-
export declare type TickInfoMappingsWithBigNumber = {
|
|
115
|
-
index: number;
|
|
116
|
-
value: TickInfoWithBigNumber;
|
|
117
|
-
};
|
|
118
|
-
export declare type DecodedStateMultiCallResultWithRelativeBitmaps = {
|
|
119
|
-
pool: Address;
|
|
120
|
-
blockTimestamp: BigNumber;
|
|
121
|
-
slot0: {
|
|
122
|
-
sqrtPriceX96: BigNumber;
|
|
123
|
-
tick: number;
|
|
124
|
-
fee: number;
|
|
125
|
-
unlocked: boolean;
|
|
126
|
-
};
|
|
127
|
-
liquidity: BigNumber;
|
|
128
|
-
tickSpacing: number;
|
|
129
|
-
maxLiquidityPerTick: BigNumber;
|
|
130
|
-
tickBitmap: TickBitMapMappingsWithBigNumber[];
|
|
131
|
-
ticks: TickInfoMappingsWithBigNumber[];
|
|
132
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UniswapV3Functions = void 0;
|
|
4
|
-
var UniswapV3Functions;
|
|
5
|
-
(function (UniswapV3Functions) {
|
|
6
|
-
UniswapV3Functions["exactInput"] = "exactInput";
|
|
7
|
-
UniswapV3Functions["exactOutput"] = "exactOutput";
|
|
8
|
-
})(UniswapV3Functions = exports.UniswapV3Functions || (exports.UniswapV3Functions = {}));
|
|
9
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/solidly-v3/types.ts"],"names":[],"mappings":";;;AAyGA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,iDAA2B,CAAA;AAC7B,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { BytesLike } from 'ethers';
|
|
2
|
-
import { MultiResult } from '../../lib/multi-wrapper';
|
|
3
|
-
import { DexConfigMap } from '../../types';
|
|
4
|
-
import { DexParams, DecodedStateMultiCallResultWithRelativeBitmaps } from './types';
|
|
5
|
-
export declare function getUniswapV3DexKey(UniswapV3Config: DexConfigMap<DexParams>): string;
|
|
6
|
-
export declare function decodeStateMultiCallResultWithRelativeBitmaps(result: MultiResult<BytesLike> | BytesLike): DecodedStateMultiCallResultWithRelativeBitmaps;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.decodeStateMultiCallResultWithRelativeBitmaps = exports.getUniswapV3DexKey = void 0;
|
|
4
|
-
const ethers_1 = require("ethers");
|
|
5
|
-
const ts_essentials_1 = require("ts-essentials");
|
|
6
|
-
const decoders_1 = require("../../lib/decoders");
|
|
7
|
-
function getUniswapV3DexKey(UniswapV3Config) {
|
|
8
|
-
const UniswapV3Keys = Object.keys(UniswapV3Config);
|
|
9
|
-
if (UniswapV3Keys.length !== 1) {
|
|
10
|
-
throw new Error(`UniswapV3 key in UniswapV3Config is not unique. Update relevant places (optimizer) or fix config issue. Received: ${JSON.stringify(UniswapV3Config, (_0, value) => (typeof value === 'bigint' ? value.toString() : value))}`);
|
|
11
|
-
}
|
|
12
|
-
return UniswapV3Keys[0].toLowerCase();
|
|
13
|
-
}
|
|
14
|
-
exports.getUniswapV3DexKey = getUniswapV3DexKey;
|
|
15
|
-
function decodeStateMultiCallResultWithRelativeBitmaps(result) {
|
|
16
|
-
const [isSuccess, toDecode] = (0, decoders_1.extractSuccessAndValue)(result);
|
|
17
|
-
(0, ts_essentials_1.assert)(isSuccess && toDecode !== '0x', `decodeStateMultiCallResultWithRelativeBitmaps failed to get decodable result: ${result}`);
|
|
18
|
-
const decoded = ethers_1.ethers.utils.defaultAbiCoder.decode([
|
|
19
|
-
// I don't want to pass here any interface, so I just use it in ethers format
|
|
20
|
-
`
|
|
21
|
-
tuple(
|
|
22
|
-
address pool,
|
|
23
|
-
uint256 blockTimestamp,
|
|
24
|
-
tuple(
|
|
25
|
-
uint160 sqrtPriceX96,
|
|
26
|
-
int24 tick,
|
|
27
|
-
uint24 fee,
|
|
28
|
-
bool unlocked,
|
|
29
|
-
) slot0,
|
|
30
|
-
uint128 liquidity,
|
|
31
|
-
int24 tickSpacing,
|
|
32
|
-
uint128 maxLiquidityPerTick,
|
|
33
|
-
tuple(
|
|
34
|
-
int16 index,
|
|
35
|
-
uint256 value,
|
|
36
|
-
)[] tickBitmap,
|
|
37
|
-
tuple(
|
|
38
|
-
int24 index,
|
|
39
|
-
tuple(
|
|
40
|
-
uint128 liquidityGross,
|
|
41
|
-
int128 liquidityNet,
|
|
42
|
-
bool initialized,
|
|
43
|
-
) value,
|
|
44
|
-
)[] ticks
|
|
45
|
-
)
|
|
46
|
-
`,
|
|
47
|
-
], toDecode)[0];
|
|
48
|
-
// This conversion is not precise, because when we decode, we have more values
|
|
49
|
-
// But I typed only the ones that are used later
|
|
50
|
-
return decoded;
|
|
51
|
-
}
|
|
52
|
-
exports.decodeStateMultiCallResultWithRelativeBitmaps = decodeStateMultiCallResultWithRelativeBitmaps;
|
|
53
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/solidly-v3/utils.ts"],"names":[],"mappings":";;;AAAA,mCAA2C;AAC3C,iDAAuC;AACvC,iDAA4D;AAQ5D,SAAgB,kBAAkB,CAAC,eAAwC;IACzE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CACb,qHAAqH,IAAI,CAAC,SAAS,CACjI,eAAe,EACf,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACtE,EAAE,CACJ,CAAC;KACH;IAED,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACxC,CAAC;AAZD,gDAYC;AAED,SAAgB,6CAA6C,CAC3D,MAA0C;IAE1C,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,CAAC;IAE7D,IAAA,sBAAM,EACJ,SAAS,IAAI,QAAQ,KAAK,IAAI,EAC9B,iFAAiF,MAAM,EAAE,CAC1F,CAAC;IAEF,MAAM,OAAO,GAAG,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CACjD;QACE,6EAA6E;QAC7E;;;;;;;;;;;;;;;;;;;;;;;;;;KA0BD;KACA,EACD,QAAQ,CACT,CAAC,CAAC,CAAC,CAAC;IACL,8EAA8E;IAC9E,gDAAgD;IAChD,OAAO,OAAyD,CAAC;AACnE,CAAC;AA9CD,sGA8CC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Interface } from '@ethersproject/abi';
|
|
2
|
-
import { Address } from '@paraswap/core';
|
|
3
|
-
import { MultiCallParams, MultiResult } from '../../lib/multi-wrapper';
|
|
4
|
-
import { IDexHelper } from '../../dex-helper';
|
|
5
|
-
import { StatefulRpcPoller } from '../../lib/stateful-rpc-poller/stateful-rpc-poller';
|
|
6
|
-
import { ObjWithUpdateInfo } from '../../lib/stateful-rpc-poller/types';
|
|
7
|
-
import { MulticallResultOutputs, PoolState } from './types';
|
|
8
|
-
export declare class WombatPool extends StatefulRpcPoller<PoolState, MulticallResultOutputs> {
|
|
9
|
-
protected poolAddress: Address;
|
|
10
|
-
protected asset2TokenMap: Map<Address, Address>;
|
|
11
|
-
static readonly poolInterface: Interface;
|
|
12
|
-
static readonly assetInterface: Interface;
|
|
13
|
-
constructor(dexKey: string, poolIdentifier: string, dexHelper: IDexHelper, poolAddress: Address, asset2TokenMap: Map<Address, Address>);
|
|
14
|
-
protected _getFetchStateMultiCalls(): MultiCallParams<MulticallResultOutputs>[];
|
|
15
|
-
protected _parseStateFromMultiResults(multiOutputs: MulticallResultOutputs[]): PoolState;
|
|
16
|
-
fetchLatestStateFromRpc(): Promise<ObjWithUpdateInfo<PoolState> | null>;
|
|
17
|
-
parseStateFromMultiResultsWithBlockInfo(multiOutputs: [
|
|
18
|
-
MultiResult<number>,
|
|
19
|
-
...MultiResult<MulticallResultOutputs>[]
|
|
20
|
-
], lastUpdatedAtMs: number): ObjWithUpdateInfo<PoolState>;
|
|
21
|
-
addAssets(asset2TokenMap: Map<Address, Address>): void;
|
|
22
|
-
}
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.WombatPool = void 0;
|
|
7
|
-
const abi_1 = require("@ethersproject/abi");
|
|
8
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
-
const stateful_rpc_poller_1 = require("../../lib/stateful-rpc-poller/stateful-rpc-poller");
|
|
10
|
-
const state_polling_manager_1 = require("../../lib/stateful-rpc-poller/state-polling-manager");
|
|
11
|
-
const utils_1 = require("../../lib/stateful-rpc-poller/utils");
|
|
12
|
-
const decoders_1 = require("../../lib/decoders");
|
|
13
|
-
const pool_json_1 = __importDefault(require("../../abi/wombat/pool.json"));
|
|
14
|
-
const asset_json_1 = __importDefault(require("../../abi/wombat/asset.json"));
|
|
15
|
-
const utils_2 = require("./utils");
|
|
16
|
-
class WombatPool extends stateful_rpc_poller_1.StatefulRpcPoller {
|
|
17
|
-
constructor(dexKey, poolIdentifier, dexHelper, poolAddress, asset2TokenMap) {
|
|
18
|
-
const callbacks = (0, utils_1.pollingManagerCbExtractor)(state_polling_manager_1.StatePollingManager.getInstance(dexHelper));
|
|
19
|
-
super(dexKey, poolIdentifier, dexHelper, 0, 0, false, callbacks);
|
|
20
|
-
this.poolAddress = poolAddress;
|
|
21
|
-
this.asset2TokenMap = asset2TokenMap;
|
|
22
|
-
}
|
|
23
|
-
_getFetchStateMultiCalls() {
|
|
24
|
-
const params = [];
|
|
25
|
-
params.push({
|
|
26
|
-
target: this.poolAddress,
|
|
27
|
-
callData: WombatPool.poolInterface.encodeFunctionData('paused'),
|
|
28
|
-
decodeFunction: decoders_1.booleanDecode,
|
|
29
|
-
});
|
|
30
|
-
params.push({
|
|
31
|
-
target: this.poolAddress,
|
|
32
|
-
callData: WombatPool.poolInterface.encodeFunctionData('ampFactor'),
|
|
33
|
-
decodeFunction: decoders_1.uint256ToBigInt,
|
|
34
|
-
});
|
|
35
|
-
params.push({
|
|
36
|
-
target: this.poolAddress,
|
|
37
|
-
callData: WombatPool.poolInterface.encodeFunctionData('haircutRate'),
|
|
38
|
-
decodeFunction: decoders_1.uint256ToBigInt,
|
|
39
|
-
});
|
|
40
|
-
params.push({
|
|
41
|
-
target: this.poolAddress,
|
|
42
|
-
callData: WombatPool.poolInterface.encodeFunctionData('startCovRatio'),
|
|
43
|
-
decodeFunction: decoders_1.uint256ToBigInt,
|
|
44
|
-
});
|
|
45
|
-
params.push({
|
|
46
|
-
target: this.poolAddress,
|
|
47
|
-
callData: WombatPool.poolInterface.encodeFunctionData('endCovRatio'),
|
|
48
|
-
decodeFunction: decoders_1.uint256ToBigInt,
|
|
49
|
-
});
|
|
50
|
-
params.push({
|
|
51
|
-
target: this.poolAddress,
|
|
52
|
-
callData: WombatPool.poolInterface.encodeFunctionData('getTokens'),
|
|
53
|
-
decodeFunction: decoders_1.addressArrayDecode,
|
|
54
|
-
});
|
|
55
|
-
this.asset2TokenMap.forEach((token, asset) => {
|
|
56
|
-
params.push({
|
|
57
|
-
target: this.poolAddress,
|
|
58
|
-
callData: WombatPool.poolInterface.encodeFunctionData('isPaused', [
|
|
59
|
-
token,
|
|
60
|
-
]),
|
|
61
|
-
decodeFunction: decoders_1.booleanDecode,
|
|
62
|
-
});
|
|
63
|
-
params.push({
|
|
64
|
-
target: asset,
|
|
65
|
-
callData: WombatPool.assetInterface.encodeFunctionData('cash'),
|
|
66
|
-
decodeFunction: utils_2.uint120ToBigInt,
|
|
67
|
-
});
|
|
68
|
-
params.push({
|
|
69
|
-
target: asset,
|
|
70
|
-
callData: WombatPool.assetInterface.encodeFunctionData('liability'),
|
|
71
|
-
decodeFunction: utils_2.uint120ToBigInt,
|
|
72
|
-
});
|
|
73
|
-
params.push({
|
|
74
|
-
target: asset,
|
|
75
|
-
callData: WombatPool.assetInterface.encodeFunctionData('underlyingTokenDecimals'),
|
|
76
|
-
decodeFunction: decoders_1.uint8ToNumber,
|
|
77
|
-
});
|
|
78
|
-
params.push({
|
|
79
|
-
target: asset,
|
|
80
|
-
callData: WombatPool.assetInterface.encodeFunctionData('getRelativePrice'),
|
|
81
|
-
decodeFunction: decoders_1.uint256ToBigInt,
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
return params;
|
|
85
|
-
}
|
|
86
|
-
_parseStateFromMultiResults(multiOutputs) {
|
|
87
|
-
const [paused, ampFactor, haircutRate, startCovRatio, endCovRatio, tokens, ...remained] = multiOutputs;
|
|
88
|
-
const assetTokenArray = Array.from(this.asset2TokenMap.entries());
|
|
89
|
-
const token2AssetStates = new Map();
|
|
90
|
-
lodash_1.default.chunk(remained, 5).forEach((chunk, i) => {
|
|
91
|
-
const [paused, cash, liability, underlyingTokenDecimals, relativePrice] = chunk;
|
|
92
|
-
const [asset, token] = assetTokenArray[i];
|
|
93
|
-
token2AssetStates.set(token, {
|
|
94
|
-
address: asset,
|
|
95
|
-
paused,
|
|
96
|
-
cash,
|
|
97
|
-
liability,
|
|
98
|
-
underlyingTokenDecimals,
|
|
99
|
-
relativePrice,
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
const poolState = {
|
|
103
|
-
params: {
|
|
104
|
-
paused,
|
|
105
|
-
ampFactor,
|
|
106
|
-
haircutRate,
|
|
107
|
-
startCovRatio,
|
|
108
|
-
endCovRatio,
|
|
109
|
-
},
|
|
110
|
-
underlyingAddresses: tokens,
|
|
111
|
-
asset: {},
|
|
112
|
-
};
|
|
113
|
-
const isMainPool = Array.from(token2AssetStates.values()).filter(assetState => assetState.relativePrice === undefined).length > 0;
|
|
114
|
-
for (const token of poolState.underlyingAddresses) {
|
|
115
|
-
if (!token2AssetStates.has(token)) {
|
|
116
|
-
// this happens when asset has been added to pool but is not added to BMW yet
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
poolState.asset[token] = token2AssetStates.get(token);
|
|
120
|
-
if (isMainPool) {
|
|
121
|
-
poolState.asset[token].relativePrice = undefined;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
return poolState;
|
|
125
|
-
}
|
|
126
|
-
async fetchLatestStateFromRpc() {
|
|
127
|
-
const multiCalls = this.getFetchStateWithBlockInfoMultiCalls();
|
|
128
|
-
try {
|
|
129
|
-
const lastUpdatedAtMs = Date.now();
|
|
130
|
-
const aggregatedResults = (await this.dexHelper.multiWrapper.tryAggregate(false, multiCalls, undefined, undefined,
|
|
131
|
-
// multiCalls includes calls asset.isPaused, asset.getRelativePrice
|
|
132
|
-
// some of the contracts don't have these methods, so prevent logging errors
|
|
133
|
-
false));
|
|
134
|
-
return this.parseStateFromMultiResultsWithBlockInfo(aggregatedResults, lastUpdatedAtMs);
|
|
135
|
-
}
|
|
136
|
-
catch (e) {
|
|
137
|
-
this._logMessageWithSuppression('ERROR_FETCHING_STATE_FROM_RPC', e);
|
|
138
|
-
}
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
parseStateFromMultiResultsWithBlockInfo(multiOutputs, lastUpdatedAtMs) {
|
|
142
|
-
const [blockNumber, ...outputsForAbstract] = multiOutputs.map((m, i) => {
|
|
143
|
-
return m.returnData;
|
|
144
|
-
});
|
|
145
|
-
return {
|
|
146
|
-
value: this._parseStateFromMultiResults(outputsForAbstract),
|
|
147
|
-
blockNumber,
|
|
148
|
-
lastUpdatedAtMs,
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
addAssets(asset2TokenMap) {
|
|
152
|
-
for (const [asset, token] of asset2TokenMap) {
|
|
153
|
-
if (this.asset2TokenMap.has(asset)) {
|
|
154
|
-
continue;
|
|
155
|
-
}
|
|
156
|
-
this.asset2TokenMap.set(asset, token);
|
|
157
|
-
this._cachedMultiCallData = undefined;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
exports.WombatPool = WombatPool;
|
|
162
|
-
WombatPool.poolInterface = new abi_1.Interface(pool_json_1.default);
|
|
163
|
-
WombatPool.assetInterface = new abi_1.Interface(asset_json_1.default);
|
|
164
|
-
//# sourceMappingURL=wombat-pool-poller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wombat-pool-poller.js","sourceRoot":"","sources":["../../../src/dex/wombat/wombat-pool-poller.ts"],"names":[],"mappings":"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"}
|