@kittycorn-labs/v4-sdk 1.1.29 → 2.0.0
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/README.md +9 -0
- package/dist/{PositionManager.d.ts → cjs/src/PositionManager.d.ts} +169 -169
- package/dist/cjs/src/PositionManager.js +242 -0
- package/dist/cjs/src/PositionManager.js.map +1 -0
- package/dist/cjs/src/abis/IMulticall.json +23 -0
- package/dist/{actionConstants.d.ts → cjs/src/actionConstants.d.ts} +1 -1
- package/dist/cjs/src/actionConstants.js +6 -0
- package/dist/cjs/src/actionConstants.js.map +1 -0
- package/dist/{entities → cjs/src/entities}/index.d.ts +4 -4
- package/dist/cjs/src/entities/index.js +8 -0
- package/dist/cjs/src/entities/index.js.map +1 -0
- package/dist/{entities → cjs/src/entities}/pool.d.ts +103 -103
- package/dist/cjs/src/entities/pool.js +196 -0
- package/dist/cjs/src/entities/pool.js.map +1 -0
- package/dist/{entities → cjs/src/entities}/position.d.ts +144 -144
- package/dist/cjs/src/entities/position.js +273 -0
- package/dist/cjs/src/entities/position.js.map +1 -0
- package/dist/{entities → cjs/src/entities}/route.d.ts +28 -28
- package/dist/cjs/src/entities/route.js +89 -0
- package/dist/cjs/src/entities/route.js.map +1 -0
- package/dist/{entities → cjs/src/entities}/trade.d.ts +220 -220
- package/dist/cjs/src/entities/trade.js +441 -0
- package/dist/cjs/src/entities/trade.js.map +1 -0
- package/dist/{index.d.ts → cjs/src/index.d.ts} +4 -4
- package/dist/cjs/src/index.js +8 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/{internalConstants.d.ts → cjs/src/internalConstants.d.ts} +46 -46
- package/dist/cjs/src/internalConstants.js +69 -0
- package/dist/cjs/src/internalConstants.js.map +1 -0
- package/dist/{multicall.d.ts → cjs/src/multicall.d.ts} +10 -10
- package/dist/cjs/src/multicall.js +26 -0
- package/dist/cjs/src/multicall.js.map +1 -0
- package/dist/cjs/src/tokenize.d.ts +17 -0
- package/dist/cjs/src/tokenize.js +42 -0
- package/dist/cjs/src/tokenize.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/calldata.d.ts +20 -20
- package/dist/cjs/src/utils/calldata.js +20 -0
- package/dist/cjs/src/utils/calldata.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/currencyMap.d.ts +2 -2
- package/dist/cjs/src/utils/currencyMap.js +15 -0
- package/dist/cjs/src/utils/currencyMap.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/encodeRouteToPath.d.ts +10 -10
- package/dist/cjs/src/utils/encodeRouteToPath.js +26 -0
- package/dist/cjs/src/utils/encodeRouteToPath.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/hook.d.ts +45 -45
- package/dist/cjs/src/utils/hook.js +97 -0
- package/dist/cjs/src/utils/hook.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/index.d.ts +11 -11
- package/dist/cjs/src/utils/index.js +15 -0
- package/dist/cjs/src/utils/index.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/pathCurrency.d.ts +4 -4
- package/dist/cjs/src/utils/pathCurrency.js +27 -0
- package/dist/cjs/src/utils/pathCurrency.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/positionManagerAbi.d.ts +102 -102
- package/dist/cjs/src/utils/positionManagerAbi.js +1318 -0
- package/dist/cjs/src/utils/positionManagerAbi.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/priceTickConversions.d.ts +20 -20
- package/dist/cjs/src/utils/priceTickConversions.js +55 -0
- package/dist/cjs/src/utils/priceTickConversions.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/sortsBefore.d.ts +2 -2
- package/dist/cjs/src/utils/sortsBefore.js +12 -0
- package/dist/cjs/src/utils/sortsBefore.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/v4BaseActionsParser.d.ts +49 -45
- package/dist/cjs/src/utils/v4BaseActionsParser.js +193 -0
- package/dist/cjs/src/utils/v4BaseActionsParser.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/v4Planner.d.ts +71 -55
- package/dist/cjs/src/utils/v4Planner.js +267 -0
- package/dist/cjs/src/utils/v4Planner.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/v4PositionPlanner.d.ts +13 -12
- package/dist/cjs/src/utils/v4PositionPlanner.js +61 -0
- package/dist/cjs/src/utils/v4PositionPlanner.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/src/PositionManager.d.ts +169 -0
- package/dist/esm/src/PositionManager.js +237 -0
- package/dist/esm/src/PositionManager.js.map +1 -0
- package/dist/esm/src/abis/IMulticall.json +23 -0
- package/dist/esm/src/actionConstants.d.ts +1 -0
- package/dist/esm/src/actionConstants.js +3 -0
- package/dist/esm/src/actionConstants.js.map +1 -0
- package/dist/esm/src/entities/index.d.ts +4 -0
- package/dist/esm/src/entities/index.js +5 -0
- package/dist/esm/src/entities/index.js.map +1 -0
- package/dist/esm/src/entities/pool.d.ts +103 -0
- package/dist/esm/src/entities/pool.js +191 -0
- package/dist/esm/src/entities/pool.js.map +1 -0
- package/dist/esm/src/entities/position.d.ts +144 -0
- package/dist/esm/src/entities/position.js +268 -0
- package/dist/esm/src/entities/position.js.map +1 -0
- package/dist/esm/src/entities/route.d.ts +28 -0
- package/dist/esm/src/entities/route.js +84 -0
- package/dist/esm/src/entities/route.js.map +1 -0
- package/dist/esm/src/entities/trade.d.ts +220 -0
- package/dist/esm/src/entities/trade.js +435 -0
- package/dist/esm/src/entities/trade.js.map +1 -0
- package/dist/esm/src/index.d.ts +4 -0
- package/dist/esm/src/index.js +5 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/internalConstants.d.ts +46 -0
- package/dist/esm/src/internalConstants.js +65 -0
- package/dist/esm/src/internalConstants.js.map +1 -0
- package/dist/esm/src/multicall.d.ts +10 -0
- package/dist/esm/src/multicall.js +21 -0
- package/dist/esm/src/multicall.js.map +1 -0
- package/dist/esm/src/tokenize.d.ts +17 -0
- package/dist/esm/src/tokenize.js +37 -0
- package/dist/esm/src/tokenize.js.map +1 -0
- package/dist/esm/src/utils/calldata.d.ts +20 -0
- package/dist/esm/src/utils/calldata.js +15 -0
- package/dist/esm/src/utils/calldata.js.map +1 -0
- package/dist/esm/src/utils/currencyMap.d.ts +2 -0
- package/dist/esm/src/utils/currencyMap.js +11 -0
- package/dist/esm/src/utils/currencyMap.js.map +1 -0
- package/dist/esm/src/utils/encodeRouteToPath.d.ts +10 -0
- package/dist/esm/src/utils/encodeRouteToPath.js +22 -0
- package/dist/esm/src/utils/encodeRouteToPath.js.map +1 -0
- package/dist/esm/src/utils/hook.d.ts +45 -0
- package/dist/esm/src/utils/hook.js +92 -0
- package/dist/esm/src/utils/hook.js.map +1 -0
- package/dist/esm/src/utils/index.d.ts +11 -0
- package/dist/esm/src/utils/index.js +12 -0
- package/dist/esm/src/utils/index.js.map +1 -0
- package/dist/esm/src/utils/pathCurrency.d.ts +4 -0
- package/dist/esm/src/utils/pathCurrency.js +22 -0
- package/dist/esm/src/utils/pathCurrency.js.map +1 -0
- package/dist/esm/src/utils/positionManagerAbi.d.ts +102 -0
- package/dist/esm/src/utils/positionManagerAbi.js +1315 -0
- package/dist/esm/src/utils/positionManagerAbi.js.map +1 -0
- package/dist/esm/src/utils/priceTickConversions.d.ts +20 -0
- package/dist/esm/src/utils/priceTickConversions.js +49 -0
- package/dist/esm/src/utils/priceTickConversions.js.map +1 -0
- package/dist/esm/src/utils/sortsBefore.d.ts +2 -0
- package/dist/esm/src/utils/sortsBefore.js +8 -0
- package/dist/esm/src/utils/sortsBefore.js.map +1 -0
- package/dist/esm/src/utils/v4BaseActionsParser.d.ts +49 -0
- package/dist/esm/src/utils/v4BaseActionsParser.js +189 -0
- package/dist/esm/src/utils/v4BaseActionsParser.js.map +1 -0
- package/dist/esm/src/utils/v4Planner.d.ts +71 -0
- package/dist/esm/src/utils/v4Planner.js +261 -0
- package/dist/esm/src/utils/v4Planner.js.map +1 -0
- package/dist/esm/src/utils/v4PositionPlanner.d.ts +13 -0
- package/dist/esm/src/utils/v4PositionPlanner.js +57 -0
- package/dist/esm/src/utils/v4PositionPlanner.js.map +1 -0
- package/dist/types/src/PositionManager.d.ts +170 -0
- package/dist/types/src/PositionManager.d.ts.map +1 -0
- package/dist/types/src/actionConstants.d.ts +2 -0
- package/dist/types/src/actionConstants.d.ts.map +1 -0
- package/dist/types/src/entities/index.d.ts +5 -0
- package/dist/types/src/entities/index.d.ts.map +1 -0
- package/dist/types/src/entities/pool.d.ts +104 -0
- package/dist/types/src/entities/pool.d.ts.map +1 -0
- package/dist/types/src/entities/position.d.ts +145 -0
- package/dist/types/src/entities/position.d.ts.map +1 -0
- package/dist/types/src/entities/route.d.ts +29 -0
- package/dist/types/src/entities/route.d.ts.map +1 -0
- package/dist/types/src/entities/trade.d.ts +221 -0
- package/dist/types/src/entities/trade.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +5 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/internalConstants.d.ts +47 -0
- package/dist/types/src/internalConstants.d.ts.map +1 -0
- package/dist/types/src/multicall.d.ts +11 -0
- package/dist/types/src/multicall.d.ts.map +1 -0
- package/dist/types/src/tokenize.d.ts +18 -0
- package/dist/types/src/tokenize.d.ts.map +1 -0
- package/dist/types/src/utils/calldata.d.ts +21 -0
- package/dist/types/src/utils/calldata.d.ts.map +1 -0
- package/dist/types/src/utils/currencyMap.d.ts +3 -0
- package/dist/types/src/utils/currencyMap.d.ts.map +1 -0
- package/dist/types/src/utils/encodeRouteToPath.d.ts +11 -0
- package/dist/types/src/utils/encodeRouteToPath.d.ts.map +1 -0
- package/dist/types/src/utils/hook.d.ts +46 -0
- package/dist/types/src/utils/hook.d.ts.map +1 -0
- package/dist/types/src/utils/index.d.ts +12 -0
- package/dist/types/src/utils/index.d.ts.map +1 -0
- package/dist/types/src/utils/pathCurrency.d.ts +5 -0
- package/dist/types/src/utils/pathCurrency.d.ts.map +1 -0
- package/dist/types/src/utils/positionManagerAbi.d.ts +103 -0
- package/dist/types/src/utils/positionManagerAbi.d.ts.map +1 -0
- package/dist/types/src/utils/priceTickConversions.d.ts +21 -0
- package/dist/types/src/utils/priceTickConversions.d.ts.map +1 -0
- package/dist/types/src/utils/sortsBefore.d.ts +3 -0
- package/dist/types/src/utils/sortsBefore.d.ts.map +1 -0
- package/dist/types/src/utils/v4BaseActionsParser.d.ts +50 -0
- package/dist/types/src/utils/v4BaseActionsParser.d.ts.map +1 -0
- package/dist/types/src/utils/v4Planner.d.ts +72 -0
- package/dist/types/src/utils/v4Planner.d.ts.map +1 -0
- package/dist/types/src/utils/v4PositionPlanner.d.ts +14 -0
- package/dist/types/src/utils/v4PositionPlanner.d.ts.map +1 -0
- package/package.json +28 -46
- package/dist/index.js +0 -8
- package/dist/tokenizeAddresses.d.ts +0 -25
- package/dist/v4-sdk.cjs.development.js +0 -3633
- package/dist/v4-sdk.cjs.development.js.map +0 -1
- package/dist/v4-sdk.cjs.production.min.js +0 -2
- package/dist/v4-sdk.cjs.production.min.js.map +0 -1
- package/dist/v4-sdk.esm.js +0 -3597
- package/dist/v4-sdk.esm.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"positionManagerAbi.js","sourceRoot":"","sources":["../../../../src/utils/positionManagerAbi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Price, Currency } from '@kittycorn-labs/sdk-core';
|
|
2
|
+
/**
|
|
3
|
+
* This library is the almost the same as v3-sdk priceTickConversion except
|
|
4
|
+
* that it accepts a Currency type instead of a Token type,
|
|
5
|
+
* and thus uses some helper functions defined for the Currency type over the Token type.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Returns a price object corresponding to the input tick and the base/quote token
|
|
9
|
+
* Inputs must be tokens because the address order is used to interpret the price represented by the tick
|
|
10
|
+
* @param baseToken the base token of the price
|
|
11
|
+
* @param quoteToken the quote token of the price
|
|
12
|
+
* @param tick the tick for which to return the price
|
|
13
|
+
*/
|
|
14
|
+
export declare function tickToPrice(baseCurrency: Currency, quoteCurrency: Currency, tick: number): Price<Currency, Currency>;
|
|
15
|
+
/**
|
|
16
|
+
* Returns the first tick for which the given price is greater than or equal to the tick price
|
|
17
|
+
* @param price for which to return the closest tick that represents a price less than or equal to the input price,
|
|
18
|
+
* i.e. the price of the returned tick is less than or equal to the input price
|
|
19
|
+
*/
|
|
20
|
+
export declare function priceToClosestTick(price: Price<Currency, Currency>): number;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Price } from '@kittycorn-labs/sdk-core';
|
|
2
|
+
import JSBI from 'jsbi';
|
|
3
|
+
import { Q192 } from '../internalConstants.js';
|
|
4
|
+
import { TickMath, encodeSqrtRatioX96 } from '@kittycorn-labs/v3-sdk';
|
|
5
|
+
import { sortsBefore } from '../utils/sortsBefore.js';
|
|
6
|
+
/**
|
|
7
|
+
* This library is the almost the same as v3-sdk priceTickConversion except
|
|
8
|
+
* that it accepts a Currency type instead of a Token type,
|
|
9
|
+
* and thus uses some helper functions defined for the Currency type over the Token type.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Returns a price object corresponding to the input tick and the base/quote token
|
|
13
|
+
* Inputs must be tokens because the address order is used to interpret the price represented by the tick
|
|
14
|
+
* @param baseToken the base token of the price
|
|
15
|
+
* @param quoteToken the quote token of the price
|
|
16
|
+
* @param tick the tick for which to return the price
|
|
17
|
+
*/
|
|
18
|
+
export function tickToPrice(baseCurrency, quoteCurrency, tick) {
|
|
19
|
+
const sqrtRatioX96 = TickMath.getSqrtRatioAtTick(tick);
|
|
20
|
+
const ratioX192 = JSBI.multiply(sqrtRatioX96, sqrtRatioX96);
|
|
21
|
+
return sortsBefore(baseCurrency, quoteCurrency)
|
|
22
|
+
? new Price(baseCurrency, quoteCurrency, Q192, ratioX192)
|
|
23
|
+
: new Price(baseCurrency, quoteCurrency, ratioX192, Q192);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns the first tick for which the given price is greater than or equal to the tick price
|
|
27
|
+
* @param price for which to return the closest tick that represents a price less than or equal to the input price,
|
|
28
|
+
* i.e. the price of the returned tick is less than or equal to the input price
|
|
29
|
+
*/
|
|
30
|
+
export function priceToClosestTick(price) {
|
|
31
|
+
const sorted = sortsBefore(price.baseCurrency, price.quoteCurrency);
|
|
32
|
+
const sqrtRatioX96 = sorted
|
|
33
|
+
? encodeSqrtRatioX96(price.numerator, price.denominator)
|
|
34
|
+
: encodeSqrtRatioX96(price.denominator, price.numerator);
|
|
35
|
+
let tick = TickMath.getTickAtSqrtRatio(sqrtRatioX96);
|
|
36
|
+
const nextTickPrice = tickToPrice(price.baseCurrency, price.quoteCurrency, tick + 1);
|
|
37
|
+
if (sorted) {
|
|
38
|
+
if (!price.lessThan(nextTickPrice)) {
|
|
39
|
+
tick++;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
if (!price.greaterThan(nextTickPrice)) {
|
|
44
|
+
tick++;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return tick;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=priceTickConversions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priceTickConversions.js","sourceRoot":"","sources":["../../../../src/utils/priceTickConversions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,0BAA0B,CAAA;AAC1D,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,YAAsB,EAAE,aAAuB,EAAE,IAAY;IACvF,MAAM,YAAY,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAEtD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAE3D,OAAO,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC;QAC7C,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAgC;IACjE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAEnE,MAAM,YAAY,GAAG,MAAM;QACzB,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;QACxD,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAE1D,IAAI,IAAI,GAAG,QAAQ,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;IACpD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,CAAA;IACpF,IAAI,MAAM,EAAE;QACV,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YAClC,IAAI,EAAE,CAAA;SACP;KACF;SAAM;QACL,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;YACrC,IAAI,EAAE,CAAA;SACP;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortsBefore.js","sourceRoot":"","sources":["../../../../src/utils/sortsBefore.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,SAAmB,EAAE,SAAmB;IAClE,IAAI,SAAS,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IACnC,IAAI,SAAS,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAA;IACpC,OAAO,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AACzD,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { PoolKey } from '../entities/pool';
|
|
2
|
+
import { PathKey } from './encodeRouteToPath';
|
|
3
|
+
import { Actions, URVersion } from './v4Planner';
|
|
4
|
+
export type Param = {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly value: any;
|
|
7
|
+
};
|
|
8
|
+
export type V4RouterAction = {
|
|
9
|
+
readonly actionName: string;
|
|
10
|
+
readonly actionType: Actions;
|
|
11
|
+
readonly params: readonly Param[];
|
|
12
|
+
};
|
|
13
|
+
export type V4RouterCall = {
|
|
14
|
+
readonly actions: readonly V4RouterAction[];
|
|
15
|
+
};
|
|
16
|
+
export type SwapExactInSingle = {
|
|
17
|
+
readonly poolKey: PoolKey;
|
|
18
|
+
readonly zeroForOne: boolean;
|
|
19
|
+
readonly amountIn: string;
|
|
20
|
+
readonly amountOutMinimum: string;
|
|
21
|
+
readonly minHopPriceX36?: string;
|
|
22
|
+
readonly hookData: string;
|
|
23
|
+
};
|
|
24
|
+
export type SwapExactIn = {
|
|
25
|
+
readonly currencyIn: string;
|
|
26
|
+
readonly path: readonly PathKey[];
|
|
27
|
+
readonly minHopPriceX36?: readonly string[];
|
|
28
|
+
readonly amountIn: string;
|
|
29
|
+
readonly amountOutMinimum: string;
|
|
30
|
+
};
|
|
31
|
+
export type SwapExactOutSingle = {
|
|
32
|
+
readonly poolKey: PoolKey;
|
|
33
|
+
readonly zeroForOne: boolean;
|
|
34
|
+
readonly amountOut: string;
|
|
35
|
+
readonly amountInMaximum: string;
|
|
36
|
+
readonly minHopPriceX36?: string;
|
|
37
|
+
readonly hookData: string;
|
|
38
|
+
};
|
|
39
|
+
export type SwapExactOut = {
|
|
40
|
+
readonly currencyOut: string;
|
|
41
|
+
readonly path: readonly PathKey[];
|
|
42
|
+
readonly minHopPriceX36?: readonly string[];
|
|
43
|
+
readonly amountOut: string;
|
|
44
|
+
readonly amountInMaximum: string;
|
|
45
|
+
};
|
|
46
|
+
export declare abstract class V4BaseActionsParser {
|
|
47
|
+
static parseCalldata(calldata: string, urVersion?: URVersion): V4RouterCall;
|
|
48
|
+
private static getActions;
|
|
49
|
+
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { defaultAbiCoder } from '@ethersproject/abi';
|
|
2
|
+
import { Actions, Subparser, URVersion, isAtLeastV2_1_1, V4_BASE_ACTIONS_ABI_DEFINITION, V4_SWAP_ACTIONS_V2_1_1, } from './v4Planner.js';
|
|
3
|
+
// Parses V4Router actions
|
|
4
|
+
export class V4BaseActionsParser {
|
|
5
|
+
static parseCalldata(calldata, urVersion = URVersion.V2_0) {
|
|
6
|
+
const [actions, inputs] = defaultAbiCoder.decode(['bytes', 'bytes[]'], calldata);
|
|
7
|
+
const actionTypes = V4BaseActionsParser.getActions(actions);
|
|
8
|
+
return {
|
|
9
|
+
actions: actionTypes.map((actionType, i) => {
|
|
10
|
+
// Use V2.1.1 ABI for swap actions if V2.1.1, otherwise use base ABI (V2.0)
|
|
11
|
+
const abiDef = isAtLeastV2_1_1(urVersion) && actionType in V4_SWAP_ACTIONS_V2_1_1
|
|
12
|
+
? V4_SWAP_ACTIONS_V2_1_1[actionType]
|
|
13
|
+
: V4_BASE_ACTIONS_ABI_DEFINITION[actionType];
|
|
14
|
+
const rawParams = defaultAbiCoder.decode(abiDef.map((command) => command.type), inputs[i]);
|
|
15
|
+
const params = rawParams.map((param, j) => {
|
|
16
|
+
switch (abiDef[j].subparser) {
|
|
17
|
+
case Subparser.V4SwapExactInSingle:
|
|
18
|
+
return {
|
|
19
|
+
name: abiDef[j].name,
|
|
20
|
+
value: parseV4ExactInSingle(param, urVersion),
|
|
21
|
+
};
|
|
22
|
+
case Subparser.V4SwapExactIn:
|
|
23
|
+
return {
|
|
24
|
+
name: abiDef[j].name,
|
|
25
|
+
value: parseV4ExactIn(param, urVersion),
|
|
26
|
+
};
|
|
27
|
+
case Subparser.V4SwapExactOutSingle:
|
|
28
|
+
return {
|
|
29
|
+
name: abiDef[j].name,
|
|
30
|
+
value: parseV4ExactOutSingle(param, urVersion),
|
|
31
|
+
};
|
|
32
|
+
case Subparser.V4SwapExactOut:
|
|
33
|
+
return {
|
|
34
|
+
name: abiDef[j].name,
|
|
35
|
+
value: parseV4ExactOut(param, urVersion),
|
|
36
|
+
};
|
|
37
|
+
case Subparser.PoolKey:
|
|
38
|
+
return {
|
|
39
|
+
name: abiDef[j].name,
|
|
40
|
+
value: parsePoolKey(param),
|
|
41
|
+
};
|
|
42
|
+
default:
|
|
43
|
+
return {
|
|
44
|
+
name: abiDef[j].name,
|
|
45
|
+
value: param,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
return {
|
|
50
|
+
actionName: Actions[actionType],
|
|
51
|
+
actionType,
|
|
52
|
+
params,
|
|
53
|
+
};
|
|
54
|
+
}),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
// parse command types from bytes string
|
|
58
|
+
static getActions(actions) {
|
|
59
|
+
const actionTypes = [];
|
|
60
|
+
for (let i = 2; i < actions.length; i += 2) {
|
|
61
|
+
const byte = actions.substring(i, i + 2);
|
|
62
|
+
actionTypes.push(parseInt(byte, 16));
|
|
63
|
+
}
|
|
64
|
+
return actionTypes;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function parsePoolKey(data) {
|
|
68
|
+
const [currency0, currency1, fee, tickSpacing, hooks] = data;
|
|
69
|
+
return {
|
|
70
|
+
currency0,
|
|
71
|
+
currency1,
|
|
72
|
+
fee: parseInt(fee),
|
|
73
|
+
tickSpacing: parseInt(tickSpacing),
|
|
74
|
+
hooks,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function parsePathKey(data) {
|
|
78
|
+
const [intermediateCurrency, fee, tickSpacing, hooks, hookData] = data;
|
|
79
|
+
return {
|
|
80
|
+
intermediateCurrency,
|
|
81
|
+
fee: parseInt(fee),
|
|
82
|
+
tickSpacing: parseInt(tickSpacing),
|
|
83
|
+
hooks,
|
|
84
|
+
hookData,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function parseV4ExactInSingle(data, urVersion) {
|
|
88
|
+
const [currency0, currency1, fee, tickSpacing, hooks] = data[0];
|
|
89
|
+
const poolKey = { currency0, currency1, fee, tickSpacing, hooks };
|
|
90
|
+
if (urVersion === URVersion.V2_0) {
|
|
91
|
+
// V2.0: [poolKey, zeroForOne, amountIn, amountOutMinimum, hookData]
|
|
92
|
+
const [, zeroForOne, amountIn, amountOutMinimum, hookData] = data;
|
|
93
|
+
return {
|
|
94
|
+
poolKey,
|
|
95
|
+
zeroForOne,
|
|
96
|
+
amountIn,
|
|
97
|
+
amountOutMinimum,
|
|
98
|
+
hookData,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// V2.1.1: [poolKey, zeroForOne, amountIn, amountOutMinimum, minHopPriceX36, hookData]
|
|
103
|
+
const [, zeroForOne, amountIn, amountOutMinimum, minHopPriceX36, hookData] = data;
|
|
104
|
+
return {
|
|
105
|
+
poolKey,
|
|
106
|
+
zeroForOne,
|
|
107
|
+
amountIn,
|
|
108
|
+
amountOutMinimum,
|
|
109
|
+
minHopPriceX36,
|
|
110
|
+
hookData,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function parseV4ExactIn(data, urVersion) {
|
|
115
|
+
const paths = data[1].map((pathKey) => parsePathKey(pathKey));
|
|
116
|
+
if (urVersion === URVersion.V2_0) {
|
|
117
|
+
// V2.0: [currencyIn, path, amountIn, amountOutMinimum]
|
|
118
|
+
const [currencyIn, , amountIn, amountOutMinimum] = data;
|
|
119
|
+
return {
|
|
120
|
+
currencyIn,
|
|
121
|
+
path: paths,
|
|
122
|
+
amountIn,
|
|
123
|
+
amountOutMinimum,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
// V2.1.1: [currencyIn, path, minHopPriceX36, amountIn, amountOutMinimum]
|
|
128
|
+
const [currencyIn, , minHopPriceX36, amountIn, amountOutMinimum] = data;
|
|
129
|
+
return {
|
|
130
|
+
currencyIn,
|
|
131
|
+
path: paths,
|
|
132
|
+
minHopPriceX36,
|
|
133
|
+
amountIn,
|
|
134
|
+
amountOutMinimum,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
function parseV4ExactOutSingle(data, urVersion) {
|
|
139
|
+
const [currency0, currency1, fee, tickSpacing, hooks] = data[0];
|
|
140
|
+
const poolKey = { currency0, currency1, fee, tickSpacing, hooks };
|
|
141
|
+
if (urVersion === URVersion.V2_0) {
|
|
142
|
+
// V2.0: [poolKey, zeroForOne, amountOut, amountInMaximum, hookData]
|
|
143
|
+
const [, zeroForOne, amountOut, amountInMaximum, hookData] = data;
|
|
144
|
+
return {
|
|
145
|
+
poolKey,
|
|
146
|
+
zeroForOne,
|
|
147
|
+
amountOut,
|
|
148
|
+
amountInMaximum,
|
|
149
|
+
hookData,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
// V2.1.1: [poolKey, zeroForOne, amountOut, amountInMaximum, minHopPriceX36, hookData]
|
|
154
|
+
const [, zeroForOne, amountOut, amountInMaximum, minHopPriceX36, hookData] = data;
|
|
155
|
+
return {
|
|
156
|
+
poolKey,
|
|
157
|
+
zeroForOne,
|
|
158
|
+
amountOut,
|
|
159
|
+
amountInMaximum,
|
|
160
|
+
minHopPriceX36,
|
|
161
|
+
hookData,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function parseV4ExactOut(data, urVersion) {
|
|
166
|
+
const paths = data[1].map((pathKey) => parsePathKey(pathKey));
|
|
167
|
+
if (urVersion === URVersion.V2_0) {
|
|
168
|
+
// V2.0: [currencyOut, path, amountOut, amountInMaximum]
|
|
169
|
+
const [currencyOut, , amountOut, amountInMaximum] = data;
|
|
170
|
+
return {
|
|
171
|
+
currencyOut,
|
|
172
|
+
path: paths,
|
|
173
|
+
amountOut,
|
|
174
|
+
amountInMaximum,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
// V2.1.1: [currencyOut, path, minHopPriceX36, amountOut, amountInMaximum]
|
|
179
|
+
const [currencyOut, , minHopPriceX36, amountOut, amountInMaximum] = data;
|
|
180
|
+
return {
|
|
181
|
+
currencyOut,
|
|
182
|
+
path: paths,
|
|
183
|
+
minHopPriceX36,
|
|
184
|
+
amountOut,
|
|
185
|
+
amountInMaximum,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=v4BaseActionsParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v4BaseActionsParser.js","sourceRoot":"","sources":["../../../../src/utils/v4BaseActionsParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
|
+
import { Currency, Percent, TradeType } from '@kittycorn-labs/sdk-core';
|
|
3
|
+
import { Trade } from '../entities/trade';
|
|
4
|
+
/**
|
|
5
|
+
* Actions
|
|
6
|
+
* @description Constants that define what action to perform
|
|
7
|
+
* Not all actions are supported yet.
|
|
8
|
+
* @enum {number}
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* UniversalRouter version
|
|
12
|
+
* @description Version of the UniversalRouter contract
|
|
13
|
+
* @enum {string}
|
|
14
|
+
*/
|
|
15
|
+
export declare enum URVersion {
|
|
16
|
+
V2_0 = "2.0",
|
|
17
|
+
V2_1_1 = "2.1.1",
|
|
18
|
+
V2_1_2 = "2.1.2",
|
|
19
|
+
V2_2_0 = "2.2.0"
|
|
20
|
+
}
|
|
21
|
+
export declare function isAtLeastV2_1_1(version?: string): boolean;
|
|
22
|
+
export declare enum Actions {
|
|
23
|
+
INCREASE_LIQUIDITY = 0,
|
|
24
|
+
DECREASE_LIQUIDITY = 1,
|
|
25
|
+
MINT_POSITION = 2,
|
|
26
|
+
BURN_POSITION = 3,
|
|
27
|
+
SWAP_EXACT_IN_SINGLE = 6,
|
|
28
|
+
SWAP_EXACT_IN = 7,
|
|
29
|
+
SWAP_EXACT_OUT_SINGLE = 8,
|
|
30
|
+
SWAP_EXACT_OUT = 9,
|
|
31
|
+
SETTLE = 11,
|
|
32
|
+
SETTLE_ALL = 12,
|
|
33
|
+
SETTLE_PAIR = 13,
|
|
34
|
+
TAKE = 14,
|
|
35
|
+
TAKE_ALL = 15,
|
|
36
|
+
TAKE_PORTION = 16,
|
|
37
|
+
TAKE_PAIR = 17,
|
|
38
|
+
CLOSE_CURRENCY = 18,
|
|
39
|
+
SWEEP = 20,
|
|
40
|
+
UNWRAP = 22
|
|
41
|
+
}
|
|
42
|
+
export declare enum Subparser {
|
|
43
|
+
V4SwapExactInSingle = 0,
|
|
44
|
+
V4SwapExactIn = 1,
|
|
45
|
+
V4SwapExactOutSingle = 2,
|
|
46
|
+
V4SwapExactOut = 3,
|
|
47
|
+
PoolKey = 4
|
|
48
|
+
}
|
|
49
|
+
export type ParamType = {
|
|
50
|
+
readonly name: string;
|
|
51
|
+
readonly type: string;
|
|
52
|
+
readonly subparser?: Subparser;
|
|
53
|
+
};
|
|
54
|
+
export declare const V4_BASE_ACTIONS_ABI_DEFINITION: {
|
|
55
|
+
[key in Actions]: readonly ParamType[];
|
|
56
|
+
};
|
|
57
|
+
export declare const V4_SWAP_ACTIONS_V2_1_1: {
|
|
58
|
+
[key: number]: readonly ParamType[];
|
|
59
|
+
};
|
|
60
|
+
export declare class V4Planner {
|
|
61
|
+
actions: string;
|
|
62
|
+
params: string[];
|
|
63
|
+
constructor();
|
|
64
|
+
addAction(type: Actions, parameters: any[], urVersion?: URVersion): V4Planner;
|
|
65
|
+
addTrade(trade: Trade<Currency, Currency, TradeType>, slippageTolerance?: Percent, minHopPriceX36?: BigNumber[], urVersion?: URVersion): V4Planner;
|
|
66
|
+
addSettle(currency: Currency, payerIsUser: boolean, amount?: BigNumber): V4Planner;
|
|
67
|
+
addTake(currency: Currency, recipient: string, amount?: BigNumber): V4Planner;
|
|
68
|
+
addUnwrap(amount: BigNumber): V4Planner;
|
|
69
|
+
finalize(): string;
|
|
70
|
+
private addSwapAction;
|
|
71
|
+
}
|