@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":"trade.js","sourceRoot":"","sources":["../../../../src/entities/trade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './entities';
2
+ export * from './utils';
3
+ export * from './PositionManager';
4
+ export * from './tokenize';
@@ -0,0 +1,5 @@
1
+ export * from './entities/index.js';
2
+ export * from './utils/index.js';
3
+ export * from './PositionManager.js';
4
+ export * from './tokenize.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,mBAAmB,CAAA;AAEjC,cAAc,YAAY,CAAA"}
@@ -0,0 +1,46 @@
1
+ import JSBI from 'jsbi';
2
+ export declare const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000";
3
+ export declare const NEGATIVE_ONE: JSBI;
4
+ export declare const ZERO: JSBI;
5
+ export declare const ONE: JSBI;
6
+ export declare const ONE_ETHER: JSBI;
7
+ export declare const EMPTY_BYTES = "0x";
8
+ export declare const Q96: JSBI;
9
+ export declare const Q192: JSBI;
10
+ export declare const FEE_AMOUNT_LOW = 100;
11
+ export declare const FEE_AMOUNT_MEDIUM = 3000;
12
+ export declare const FEE_AMOUNT_HIGHEST = 10000;
13
+ export declare const TICK_SPACING_TEN = 10;
14
+ export declare const TICK_SPACING_SIXTY = 60;
15
+ export declare const MIN_SLIPPAGE_DECREASE = 0;
16
+ export declare const OPEN_DELTA: import("@ethersproject/bignumber").BigNumber;
17
+ export declare const SQRT_PRICE_1_1: JSBI;
18
+ export declare const EMPTY_HOOK = "0x0000000000000000000000000000000000000000";
19
+ export declare const NATIVE_NOT_SET = "NATIVE_NOT_SET";
20
+ export declare const ZERO_LIQUIDITY = "ZERO_LIQUIDITY";
21
+ export declare const NO_SQRT_PRICE = "NO_SQRT_PRICE";
22
+ export declare const CANNOT_BURN = "CANNOT_BURN";
23
+ /**
24
+ * Function fragments that exist on the PositionManager contract.
25
+ */
26
+ export declare enum PositionFunctions {
27
+ INITIALIZE_POOL = "initializePool",
28
+ MODIFY_LIQUIDITIES = "modifyLiquidities",
29
+ PERMIT_BATCH = "0x002a3e3a",
30
+ ERC721PERMIT_PERMIT = "0x0f5730f1"
31
+ }
32
+ /**
33
+ * The default factory enabled fee amounts, denominated in hundredths of bips.
34
+ */
35
+ export declare enum FeeAmount {
36
+ LOWEST = 100,
37
+ LOW = 500,
38
+ MEDIUM = 3000,
39
+ HIGH = 10000
40
+ }
41
+ /**
42
+ * The default factory tick spacings by fee amount.
43
+ */
44
+ export declare const TICK_SPACINGS: {
45
+ [amount in FeeAmount]: number;
46
+ };
@@ -0,0 +1,65 @@
1
+ import JSBI from 'jsbi';
2
+ import { AddressZero, Zero } from '@ethersproject/constants';
3
+ import { encodeSqrtRatioX96 } from '@kittycorn-labs/v3-sdk';
4
+ // constants used internally but not expected to be used externally
5
+ export const ADDRESS_ZERO = AddressZero;
6
+ export const NEGATIVE_ONE = JSBI.BigInt(-1);
7
+ export const ZERO = JSBI.BigInt(0);
8
+ export const ONE = JSBI.BigInt(1);
9
+ export const ONE_ETHER = JSBI.exponentiate(JSBI.BigInt(10), JSBI.BigInt(18));
10
+ export const EMPTY_BYTES = '0x';
11
+ // used in liquidity amount math
12
+ export const Q96 = JSBI.exponentiate(JSBI.BigInt(2), JSBI.BigInt(96));
13
+ export const Q192 = JSBI.exponentiate(Q96, JSBI.BigInt(2));
14
+ // pool setup
15
+ export const FEE_AMOUNT_LOW = 100;
16
+ export const FEE_AMOUNT_MEDIUM = 3000;
17
+ export const FEE_AMOUNT_HIGHEST = 10000;
18
+ export const TICK_SPACING_TEN = 10;
19
+ export const TICK_SPACING_SIXTY = 60;
20
+ // used in position manager math
21
+ export const MIN_SLIPPAGE_DECREASE = 0;
22
+ // used when unwrapping weth in positon manager
23
+ export const OPEN_DELTA = Zero;
24
+ // default prices
25
+ export const SQRT_PRICE_1_1 = encodeSqrtRatioX96(1, 1);
26
+ // default hook addresses
27
+ export const EMPTY_HOOK = '0x0000000000000000000000000000000000000000';
28
+ // error constants
29
+ export const NATIVE_NOT_SET = 'NATIVE_NOT_SET';
30
+ export const ZERO_LIQUIDITY = 'ZERO_LIQUIDITY';
31
+ export const NO_SQRT_PRICE = 'NO_SQRT_PRICE';
32
+ export const CANNOT_BURN = 'CANNOT_BURN';
33
+ /**
34
+ * Function fragments that exist on the PositionManager contract.
35
+ */
36
+ export var PositionFunctions;
37
+ (function (PositionFunctions) {
38
+ PositionFunctions["INITIALIZE_POOL"] = "initializePool";
39
+ PositionFunctions["MODIFY_LIQUIDITIES"] = "modifyLiquidities";
40
+ // Inherited from PermitForwarder
41
+ PositionFunctions["PERMIT_BATCH"] = "0x002a3e3a";
42
+ // Inherited from ERC721Permit
43
+ PositionFunctions["ERC721PERMIT_PERMIT"] = "0x0f5730f1";
44
+ })(PositionFunctions || (PositionFunctions = {}));
45
+ /**
46
+ * The default factory enabled fee amounts, denominated in hundredths of bips.
47
+ */
48
+ export var FeeAmount;
49
+ (function (FeeAmount) {
50
+ FeeAmount[FeeAmount["LOWEST"] = 100] = "LOWEST";
51
+ FeeAmount[FeeAmount["LOW"] = 500] = "LOW";
52
+ FeeAmount[FeeAmount["MEDIUM"] = 3000] = "MEDIUM";
53
+ FeeAmount[FeeAmount["HIGH"] = 10000] = "HIGH";
54
+ })(FeeAmount || (FeeAmount = {}));
55
+ /**
56
+ * The default factory tick spacings by fee amount.
57
+ */
58
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
59
+ export const TICK_SPACINGS = {
60
+ [FeeAmount.LOWEST]: 1,
61
+ [FeeAmount.LOW]: 10,
62
+ [FeeAmount.MEDIUM]: 60,
63
+ [FeeAmount.HIGH]: 200,
64
+ };
65
+ //# sourceMappingURL=internalConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalConstants.js","sourceRoot":"","sources":["../../../src/internalConstants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ export declare abstract class Multicall {
3
+ static INTERFACE: Interface;
4
+ /**
5
+ * Cannot be constructed.
6
+ */
7
+ private constructor();
8
+ static encodeMulticall(calldataList: string | string[]): string;
9
+ static decodeMulticall(encodedCalldata: string): string[];
10
+ }
@@ -0,0 +1,21 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import IMulticall from './abis/IMulticall.json' with { type: "json" };
3
+ export class Multicall {
4
+ /**
5
+ * Cannot be constructed.
6
+ */
7
+ constructor() { }
8
+ static encodeMulticall(calldataList) {
9
+ if (!Array.isArray(calldataList)) {
10
+ calldataList = [calldataList];
11
+ }
12
+ return calldataList.length === 1
13
+ ? calldataList[0]
14
+ : Multicall.INTERFACE.encodeFunctionData('multicall', [calldataList]);
15
+ }
16
+ static decodeMulticall(encodedCalldata) {
17
+ return Multicall.INTERFACE.decodeFunctionData('multicall', encodedCalldata)[0];
18
+ }
19
+ }
20
+ Multicall.INTERFACE = new Interface(IMulticall.abi);
21
+ //# sourceMappingURL=multicall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multicall.js","sourceRoot":"","sources":["../../../src/multicall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAE/C,MAAM,OAAgB,SAAS;IAG7B;;OAEG;IACH,gBAAuB,CAAC;IAEjB,MAAM,CAAC,eAAe,CAAC,YAA+B;QAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAChC,YAAY,GAAG,CAAC,YAAY,CAAC,CAAA;SAC9B;QAED,OAAO,YAAY,CAAC,MAAM,KAAK,CAAC;YAC9B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IACzE,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,eAAuB;QACnD,OAAO,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;IAChF,CAAC;;AAnBa,mBAAS,GAAc,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { ChainId, Currency, Token } from '@kittycorn-labs/sdk-core';
2
+ import { Pool } from './entities/pool';
3
+ /** Current Kittycorn deployment. Legacy rebasing deployments are intentionally unsupported. */
4
+ export declare const KITTYCORN_BASE_SEPOLIA: {
5
+ chainId: ChainId;
6
+ bank: string;
7
+ router: string;
8
+ quoter: string;
9
+ tokens: {
10
+ underlying: Token;
11
+ tokenize: Token;
12
+ }[];
13
+ };
14
+ /** Conversion edges connect actual underlying/share currencies; they are not AMM liquidity. */
15
+ export declare function getTokenizePairs(chainId: number): [Currency, Currency, number, number, string][];
16
+ /** Recognize only registered conversion edges, never arbitrary pools containing a tToken. */
17
+ export declare function isTokenizeConversion(pool: Pool): boolean;
@@ -0,0 +1,37 @@
1
+ import { ChainId, Token } from '@kittycorn-labs/sdk-core';
2
+ /** Current Kittycorn deployment. Legacy rebasing deployments are intentionally unsupported. */
3
+ export const KITTYCORN_BASE_SEPOLIA = {
4
+ chainId: ChainId.BASE_SEPOLIA,
5
+ bank: '0xcc331eC1d6CF4542F9eB988B49249cfa163081dc',
6
+ router: '0x137a906E06EC20808c8F156F9024196427429220',
7
+ quoter: '0x9fEcb19a660d1d6d3aD7a33A7e9BeB01A9EE24aB',
8
+ tokens: [
9
+ {
10
+ underlying: new Token(84532, '0xba50Cd2A20f6DA35D788639E581bca8d0B5d4D5f', 6, 'USDC'),
11
+ tokenize: new Token(84532, '0x0B4104691a6a006F0134d507aAe6d35854BaD924', 6, 'tUSDC'),
12
+ },
13
+ {
14
+ underlying: new Token(84532, '0x0a215D8ba66387DCA84B284D18c3B4ec3de6E54a', 6, 'USDT'),
15
+ tokenize: new Token(84532, '0x94572cD65df8DAa3A8Da96277FfA2a22ee71b5dC', 6, 'tUSDT'),
16
+ },
17
+ {
18
+ underlying: new Token(84532, '0x4200000000000000000000000000000000000006', 18, 'WETH'),
19
+ tokenize: new Token(84532, '0xd09EDDa7a0495eAc6B921fb9408d2Ae55220EbC0', 18, 'tWETH'),
20
+ },
21
+ ],
22
+ };
23
+ /** Conversion edges connect actual underlying/share currencies; they are not AMM liquidity. */
24
+ export function getTokenizePairs(chainId) {
25
+ if (chainId !== KITTYCORN_BASE_SEPOLIA.chainId)
26
+ return [];
27
+ const pairs = KITTYCORN_BASE_SEPOLIA.tokens.map((t) => [t.underlying, t.tokenize]);
28
+ return pairs.map(([a, b]) => [a, b, 0, 1, '0x0000000000000000000000000000000000000000']);
29
+ }
30
+ /** Recognize only registered conversion edges, never arbitrary pools containing a tToken. */
31
+ export function isTokenizeConversion(pool) {
32
+ return getTokenizePairs(pool.chainId).some(([a, b, fee, spacing, hooks]) => pool.fee === fee &&
33
+ pool.tickSpacing === spacing &&
34
+ pool.hooks.toLowerCase() === hooks &&
35
+ ((pool.currency0.equals(a) && pool.currency1.equals(b)) || (pool.currency0.equals(b) && pool.currency1.equals(a))));
36
+ }
37
+ //# sourceMappingURL=tokenize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../../../src/tokenize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAGnE,+FAA+F;AAC/F,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC,YAAY;IAC7B,IAAI,EAAE,4CAA4C;IAClD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,CAAC,EAAE,MAAM,CAAC;YACrF,QAAQ,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,CAAC,EAAE,OAAO,CAAC;SACrF;QACD;YACE,UAAU,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,CAAC,EAAE,MAAM,CAAC;YACrF,QAAQ,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,CAAC,EAAE,OAAO,CAAC;SACrF;QACD;YACE,UAAU,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,EAAE,EAAE,MAAM,CAAC;YACtF,QAAQ,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,EAAE,EAAE,OAAO,CAAC;SACtF;KACF;CACF,CAAA;AAED,+FAA+F;AAC/F,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,OAAO,KAAK,sBAAsB,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACzD,MAAM,KAAK,GAA2B,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1G,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,4CAA4C,CAAC,CAAC,CAAA;AAC1F,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACxC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAC9B,IAAI,CAAC,GAAG,KAAK,GAAG;QAChB,IAAI,CAAC,WAAW,KAAK,OAAO;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK;QAClC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CACrH,CAAA;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { BigintIsh } from '@kittycorn-labs/sdk-core';
2
+ /**
3
+ * Generated method parameters for executing a call.
4
+ */
5
+ export interface MethodParameters {
6
+ /**
7
+ * The hex encoded calldata to perform the given operation
8
+ */
9
+ calldata: string;
10
+ /**
11
+ * The amount of ether (wei) to send in hex.
12
+ */
13
+ value: string;
14
+ }
15
+ /**
16
+ * Converts a big int to a hex string
17
+ * @param bigintIsh
18
+ * @returns The hex encoded calldata
19
+ */
20
+ export declare function toHex(bigintIsh: BigintIsh): string;
@@ -0,0 +1,15 @@
1
+ import JSBI from 'jsbi';
2
+ /**
3
+ * Converts a big int to a hex string
4
+ * @param bigintIsh
5
+ * @returns The hex encoded calldata
6
+ */
7
+ export function toHex(bigintIsh) {
8
+ const bigInt = JSBI.BigInt(bigintIsh);
9
+ let hex = bigInt.toString(16);
10
+ if (hex.length % 2 !== 0) {
11
+ hex = `0${hex}`;
12
+ }
13
+ return `0x${hex}`;
14
+ }
15
+ //# sourceMappingURL=calldata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calldata.js","sourceRoot":"","sources":["../../../../src/utils/calldata.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAA;AAgBvB;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,SAAoB;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACrC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC7B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;QACxB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;KAChB;IACD,OAAO,KAAK,GAAG,EAAE,CAAA;AACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Currency } from '@kittycorn-labs/sdk-core';
2
+ export declare function toAddress(currency: Currency): string;
@@ -0,0 +1,11 @@
1
+ import { ADDRESS_ZERO } from '../internalConstants.js';
2
+ // Uniswap v4 supports native pools. Those currencies are represented by the zero address.
3
+ // TODO: Figure out if this is how we should be handling weird edge case tokens like CELO/Polygon/etc..
4
+ // Does interface treat those like ERC20 tokens or NATIVE tokens?
5
+ export function toAddress(currency) {
6
+ if (currency.isNative)
7
+ return ADDRESS_ZERO;
8
+ else
9
+ return currency.wrapped.address;
10
+ }
11
+ //# sourceMappingURL=currencyMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currencyMap.js","sourceRoot":"","sources":["../../../../src/utils/currencyMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,0FAA0F;AAC1F,uGAAuG;AACvG,iEAAiE;AACjE,MAAM,UAAU,SAAS,CAAC,QAAkB;IAC1C,IAAI,QAAQ,CAAC,QAAQ;QAAE,OAAO,YAAY,CAAA;;QACrC,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAA;AACtC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { Currency } from '@kittycorn-labs/sdk-core';
2
+ import { Route } from '../entities/route';
3
+ export type PathKey = {
4
+ intermediateCurrency: string;
5
+ fee: number;
6
+ tickSpacing: number;
7
+ hooks: string;
8
+ hookData: string;
9
+ };
10
+ export declare const encodeRouteToPath: (route: Route<Currency, Currency>, exactOutput?: boolean) => PathKey[];
@@ -0,0 +1,22 @@
1
+ import { ADDRESS_ZERO } from '../internalConstants.js';
2
+ export const encodeRouteToPath = (route, exactOutput) => {
3
+ // create a deep copy of pools so that we don't tamper with pool array on route
4
+ let pools = route.pools.map((p) => p);
5
+ if (exactOutput)
6
+ pools = pools.reverse();
7
+ let startingCurrency = exactOutput ? route.pathOutput : route.pathInput;
8
+ let pathKeys = [];
9
+ for (let pool of pools) {
10
+ const nextCurrency = startingCurrency.equals(pool.currency0) ? pool.currency1 : pool.currency0;
11
+ pathKeys.push({
12
+ intermediateCurrency: nextCurrency.isNative ? ADDRESS_ZERO : nextCurrency.address,
13
+ fee: pool.fee,
14
+ tickSpacing: pool.tickSpacing,
15
+ hooks: pool.hooks,
16
+ hookData: '0x',
17
+ });
18
+ startingCurrency = nextCurrency;
19
+ }
20
+ return exactOutput ? pathKeys.reverse() : pathKeys;
21
+ };
22
+ //# sourceMappingURL=encodeRouteToPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encodeRouteToPath.js","sourceRoot":"","sources":["../../../../src/utils/encodeRouteToPath.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAUnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAgC,EAAE,WAAqB,EAAa,EAAE;IACtG,+EAA+E;IAC/E,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACrC,IAAI,WAAW;QAAE,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;IACxC,IAAI,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAA;IACvE,IAAI,QAAQ,GAAc,EAAE,CAAA;IAE5B,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;QAE9F,QAAQ,CAAC,IAAI,CAAC;YACZ,oBAAoB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO;YACjF,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;QAEF,gBAAgB,GAAG,YAAY,CAAA;KAChC;IAED,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;AACpD,CAAC,CAAA"}
@@ -0,0 +1,45 @@
1
+ export type HookPermissions = {
2
+ [key in HookOptions]: boolean;
3
+ };
4
+ export declare enum HookOptions {
5
+ AfterRemoveLiquidityReturnsDelta = "afterRemoveLiquidityReturnsDelta",
6
+ AfterAddLiquidityReturnsDelta = "afterAddLiquidityReturnsDelta",
7
+ AfterSwapReturnsDelta = "afterSwapReturnsDelta",
8
+ BeforeSwapReturnsDelta = "beforeSwapReturnsDelta",
9
+ AfterDonate = "afterDonate",
10
+ BeforeDonate = "beforeDonate",
11
+ AfterSwap = "afterSwap",
12
+ BeforeSwap = "beforeSwap",
13
+ AfterRemoveLiquidity = "afterRemoveLiquidity",
14
+ BeforeRemoveLiquidity = "beforeRemoveLiquidity",
15
+ AfterAddLiquidity = "afterAddLiquidity",
16
+ BeforeAddLiquidity = "beforeAddLiquidity",
17
+ AfterInitialize = "afterInitialize",
18
+ BeforeInitialize = "beforeInitialize"
19
+ }
20
+ export declare const hookFlagIndex: {
21
+ afterRemoveLiquidityReturnsDelta: number;
22
+ afterAddLiquidityReturnsDelta: number;
23
+ afterSwapReturnsDelta: number;
24
+ beforeSwapReturnsDelta: number;
25
+ afterDonate: number;
26
+ beforeDonate: number;
27
+ afterSwap: number;
28
+ beforeSwap: number;
29
+ afterRemoveLiquidity: number;
30
+ beforeRemoveLiquidity: number;
31
+ afterAddLiquidity: number;
32
+ beforeAddLiquidity: number;
33
+ afterInitialize: number;
34
+ beforeInitialize: number;
35
+ };
36
+ export declare class Hook {
37
+ static permissions(address: string): HookPermissions;
38
+ static hasPermission(address: string, hookOption: HookOptions): boolean;
39
+ static hasInitializePermissions(address: string): boolean;
40
+ static hasLiquidityPermissions(address: string): boolean;
41
+ static hasSwapPermissions(address: string): boolean;
42
+ static hasDonatePermissions(address: string): boolean;
43
+ private static _hasPermission;
44
+ private static _checkAddress;
45
+ }
@@ -0,0 +1,92 @@
1
+ import invariant from 'tiny-invariant';
2
+ import { isAddress } from '@ethersproject/address';
3
+ export var HookOptions;
4
+ (function (HookOptions) {
5
+ HookOptions["AfterRemoveLiquidityReturnsDelta"] = "afterRemoveLiquidityReturnsDelta";
6
+ HookOptions["AfterAddLiquidityReturnsDelta"] = "afterAddLiquidityReturnsDelta";
7
+ HookOptions["AfterSwapReturnsDelta"] = "afterSwapReturnsDelta";
8
+ HookOptions["BeforeSwapReturnsDelta"] = "beforeSwapReturnsDelta";
9
+ HookOptions["AfterDonate"] = "afterDonate";
10
+ HookOptions["BeforeDonate"] = "beforeDonate";
11
+ HookOptions["AfterSwap"] = "afterSwap";
12
+ HookOptions["BeforeSwap"] = "beforeSwap";
13
+ HookOptions["AfterRemoveLiquidity"] = "afterRemoveLiquidity";
14
+ HookOptions["BeforeRemoveLiquidity"] = "beforeRemoveLiquidity";
15
+ HookOptions["AfterAddLiquidity"] = "afterAddLiquidity";
16
+ HookOptions["BeforeAddLiquidity"] = "beforeAddLiquidity";
17
+ HookOptions["AfterInitialize"] = "afterInitialize";
18
+ HookOptions["BeforeInitialize"] = "beforeInitialize";
19
+ })(HookOptions || (HookOptions = {}));
20
+ export const hookFlagIndex = {
21
+ [HookOptions.AfterRemoveLiquidityReturnsDelta]: 0,
22
+ [HookOptions.AfterAddLiquidityReturnsDelta]: 1,
23
+ [HookOptions.AfterSwapReturnsDelta]: 2,
24
+ [HookOptions.BeforeSwapReturnsDelta]: 3,
25
+ [HookOptions.AfterDonate]: 4,
26
+ [HookOptions.BeforeDonate]: 5,
27
+ [HookOptions.AfterSwap]: 6,
28
+ [HookOptions.BeforeSwap]: 7,
29
+ [HookOptions.AfterRemoveLiquidity]: 8,
30
+ [HookOptions.BeforeRemoveLiquidity]: 9,
31
+ [HookOptions.AfterAddLiquidity]: 10,
32
+ [HookOptions.BeforeAddLiquidity]: 11,
33
+ [HookOptions.AfterInitialize]: 12,
34
+ [HookOptions.BeforeInitialize]: 13,
35
+ };
36
+ export class Hook {
37
+ static permissions(address) {
38
+ this._checkAddress(address);
39
+ return {
40
+ beforeInitialize: this._hasPermission(address, HookOptions.BeforeInitialize),
41
+ afterInitialize: this._hasPermission(address, HookOptions.AfterInitialize),
42
+ beforeAddLiquidity: this._hasPermission(address, HookOptions.BeforeAddLiquidity),
43
+ afterAddLiquidity: this._hasPermission(address, HookOptions.AfterAddLiquidity),
44
+ beforeRemoveLiquidity: this._hasPermission(address, HookOptions.BeforeRemoveLiquidity),
45
+ afterRemoveLiquidity: this._hasPermission(address, HookOptions.AfterRemoveLiquidity),
46
+ beforeSwap: this._hasPermission(address, HookOptions.BeforeSwap),
47
+ afterSwap: this._hasPermission(address, HookOptions.AfterSwap),
48
+ beforeDonate: this._hasPermission(address, HookOptions.BeforeDonate),
49
+ afterDonate: this._hasPermission(address, HookOptions.AfterDonate),
50
+ beforeSwapReturnsDelta: this._hasPermission(address, HookOptions.BeforeSwapReturnsDelta),
51
+ afterSwapReturnsDelta: this._hasPermission(address, HookOptions.AfterSwapReturnsDelta),
52
+ afterAddLiquidityReturnsDelta: this._hasPermission(address, HookOptions.AfterAddLiquidityReturnsDelta),
53
+ afterRemoveLiquidityReturnsDelta: this._hasPermission(address, HookOptions.AfterRemoveLiquidityReturnsDelta),
54
+ };
55
+ }
56
+ static hasPermission(address, hookOption) {
57
+ this._checkAddress(address);
58
+ return this._hasPermission(address, hookOption);
59
+ }
60
+ static hasInitializePermissions(address) {
61
+ this._checkAddress(address);
62
+ return (this._hasPermission(address, HookOptions.BeforeInitialize) ||
63
+ Hook._hasPermission(address, HookOptions.AfterInitialize));
64
+ }
65
+ static hasLiquidityPermissions(address) {
66
+ this._checkAddress(address);
67
+ // this implicitly encapsulates liquidity delta permissions
68
+ return (this._hasPermission(address, HookOptions.BeforeAddLiquidity) ||
69
+ Hook._hasPermission(address, HookOptions.AfterAddLiquidity) ||
70
+ Hook._hasPermission(address, HookOptions.BeforeRemoveLiquidity) ||
71
+ Hook._hasPermission(address, HookOptions.AfterRemoveLiquidity));
72
+ }
73
+ static hasSwapPermissions(address) {
74
+ this._checkAddress(address);
75
+ // this implicitly encapsulates swap delta permissions
76
+ return this._hasPermission(address, HookOptions.BeforeSwap) || Hook._hasPermission(address, HookOptions.AfterSwap);
77
+ }
78
+ static hasDonatePermissions(address) {
79
+ this._checkAddress(address);
80
+ return (this._hasPermission(address, HookOptions.BeforeDonate) || Hook._hasPermission(address, HookOptions.AfterDonate));
81
+ }
82
+ static _hasPermission(address, hookOption) {
83
+ // Use only the last 4 bytes (32 bits) to avoid JavaScript precision issues
84
+ // All hook flags are in bits 0-13, which fit comfortably in 32 bits
85
+ const last4Bytes = '0x' + address.slice(-8);
86
+ return !!(parseInt(last4Bytes, 16) & (1 << hookFlagIndex[hookOption]));
87
+ }
88
+ static _checkAddress(address) {
89
+ invariant(isAddress(address), 'invalid address');
90
+ }
91
+ }
92
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../src/utils/hook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export * from './encodeRouteToPath';
2
+ export * from './v4Planner';
3
+ export * from './v4PositionPlanner';
4
+ export * from './calldata';
5
+ export * from './v4BaseActionsParser';
6
+ export * from './currencyMap';
7
+ export * from './encodeRouteToPath';
8
+ export * from './pathCurrency';
9
+ export * from './priceTickConversions';
10
+ export * from './sortsBefore';
11
+ export * from './hook';
@@ -0,0 +1,12 @@
1
+ export * from './encodeRouteToPath.js';
2
+ export * from './v4Planner.js';
3
+ export * from './v4PositionPlanner.js';
4
+ export * from './calldata.js';
5
+ export * from './v4BaseActionsParser.js';
6
+ export * from './currencyMap.js';
7
+ export * from './encodeRouteToPath.js';
8
+ export * from './pathCurrency.js';
9
+ export * from './priceTickConversions.js';
10
+ export * from './sortsBefore.js';
11
+ export * from './hook.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Currency, CurrencyAmount } from '@kittycorn-labs/sdk-core';
2
+ import { Pool } from '../entities/pool';
3
+ export declare function amountWithPathCurrency(amount: CurrencyAmount<Currency>, pool: Pool): CurrencyAmount<Currency>;
4
+ export declare function getPathCurrency(currency: Currency, pool: Pool): Currency;
@@ -0,0 +1,22 @@
1
+ import { CurrencyAmount } from '@kittycorn-labs/sdk-core';
2
+ export function amountWithPathCurrency(amount, pool) {
3
+ return CurrencyAmount.fromFractionalAmount(getPathCurrency(amount.currency, pool), amount.numerator, amount.denominator);
4
+ }
5
+ export function getPathCurrency(currency, pool) {
6
+ if (pool.involvesCurrency(currency)) {
7
+ return currency;
8
+ }
9
+ else if (pool.involvesCurrency(currency.wrapped)) {
10
+ return currency.wrapped;
11
+ }
12
+ else if (pool.currency0.wrapped.equals(currency)) {
13
+ return pool.currency0;
14
+ }
15
+ else if (pool.currency1.wrapped.equals(currency)) {
16
+ return pool.currency1;
17
+ }
18
+ else {
19
+ throw new Error(`Expected currency ${currency.symbol} to be either ${pool.currency0.symbol} or ${pool.currency1.symbol}`);
20
+ }
21
+ }
22
+ //# sourceMappingURL=pathCurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathCurrency.js","sourceRoot":"","sources":["../../../../src/utils/pathCurrency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAGnE,MAAM,UAAU,sBAAsB,CAAC,MAAgC,EAAE,IAAU;IACjF,OAAO,cAAc,CAAC,oBAAoB,CACxC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EACtC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAkB,EAAE,IAAU;IAC5D,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;QACnC,OAAO,QAAQ,CAAA;KAChB;SAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAClD,OAAO,QAAQ,CAAC,OAAO,CAAA;KACxB;SAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAClD,OAAO,IAAI,CAAC,SAAS,CAAA;KACtB;SAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAClD,OAAO,IAAI,CAAC,SAAS,CAAA;KACtB;SAAM;QACL,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,CAAC,MAAM,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CACzG,CAAA;KACF;AACH,CAAC"}