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