@kittycorn-labs/universal-router-sdk 1.4.42 → 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 (244) hide show
  1. package/README.md +312 -0
  2. package/dist/cjs/src/abis/UniversalRouter.json +740 -0
  3. package/dist/{entities → cjs/src/entities}/Command.d.ts +12 -12
  4. package/dist/cjs/src/entities/Command.js +9 -0
  5. package/dist/cjs/src/entities/Command.js.map +1 -0
  6. package/dist/cjs/src/entities/actions/across.d.ts +21 -0
  7. package/dist/cjs/src/entities/actions/across.js +7 -0
  8. package/dist/cjs/src/entities/actions/across.js.map +1 -0
  9. package/dist/{entities → cjs/src/entities}/actions/index.d.ts +3 -2
  10. package/dist/cjs/src/entities/actions/index.js +7 -0
  11. package/dist/cjs/src/entities/actions/index.js.map +1 -0
  12. package/dist/cjs/src/entities/actions/uniswap.d.ts +94 -0
  13. package/dist/cjs/src/entities/actions/uniswap.js +740 -0
  14. package/dist/cjs/src/entities/actions/uniswap.js.map +1 -0
  15. package/dist/{entities → cjs/src/entities}/actions/unwrapWETH.d.ts +12 -12
  16. package/dist/cjs/src/entities/actions/unwrapWETH.js +33 -0
  17. package/dist/cjs/src/entities/actions/unwrapWETH.js.map +1 -0
  18. package/dist/{entities → cjs/src/entities}/index.d.ts +2 -2
  19. package/dist/cjs/src/entities/index.js +6 -0
  20. package/dist/cjs/src/entities/index.js.map +1 -0
  21. package/dist/cjs/src/index.d.ts +19 -0
  22. package/dist/cjs/src/index.js +43 -0
  23. package/dist/cjs/src/index.js.map +1 -0
  24. package/dist/cjs/src/kittycorn.d.ts +9 -0
  25. package/dist/cjs/src/kittycorn.js +26 -0
  26. package/dist/cjs/src/kittycorn.js.map +1 -0
  27. package/dist/cjs/src/swapRouter.d.ts +123 -0
  28. package/dist/cjs/src/swapRouter.js +445 -0
  29. package/dist/cjs/src/swapRouter.js.map +1 -0
  30. package/dist/cjs/src/types/encodeSwaps.d.ts +197 -0
  31. package/dist/cjs/src/types/encodeSwaps.js +3 -0
  32. package/dist/cjs/src/types/encodeSwaps.js.map +1 -0
  33. package/dist/{utils → cjs/src/utils}/commandParser.d.ts +36 -34
  34. package/dist/cjs/src/utils/commandParser.js +154 -0
  35. package/dist/cjs/src/utils/commandParser.js.map +1 -0
  36. package/dist/cjs/src/utils/computeEncodeSwapsAmounts.d.ts +8 -0
  37. package/dist/cjs/src/utils/computeEncodeSwapsAmounts.js +46 -0
  38. package/dist/cjs/src/utils/computeEncodeSwapsAmounts.js.map +1 -0
  39. package/dist/{utils → cjs/src/utils}/constants.d.ts +46 -30
  40. package/dist/cjs/src/utils/constants.js +777 -0
  41. package/dist/cjs/src/utils/constants.js.map +1 -0
  42. package/dist/cjs/src/utils/directTransfers.d.ts +15 -0
  43. package/dist/cjs/src/utils/directTransfers.js +381 -0
  44. package/dist/cjs/src/utils/directTransfers.js.map +1 -0
  45. package/dist/cjs/src/utils/eip712.d.ts +17 -0
  46. package/dist/cjs/src/utils/eip712.js +44 -0
  47. package/dist/cjs/src/utils/eip712.js.map +1 -0
  48. package/dist/cjs/src/utils/encodeSwapStep.d.ts +4 -0
  49. package/dist/cjs/src/utils/encodeSwapStep.js +62 -0
  50. package/dist/cjs/src/utils/encodeSwapStep.js.map +1 -0
  51. package/dist/cjs/src/utils/encodeV4Action.d.ts +7 -0
  52. package/dist/cjs/src/utils/encodeV4Action.js +84 -0
  53. package/dist/cjs/src/utils/encodeV4Action.js.map +1 -0
  54. package/dist/{utils → cjs/src/utils}/getCurrencyAddress.d.ts +2 -2
  55. package/dist/cjs/src/utils/getCurrencyAddress.js +9 -0
  56. package/dist/cjs/src/utils/getCurrencyAddress.js.map +1 -0
  57. package/dist/{utils → cjs/src/utils}/inputTokens.d.ts +23 -23
  58. package/dist/cjs/src/utils/inputTokens.js +58 -0
  59. package/dist/cjs/src/utils/inputTokens.js.map +1 -0
  60. package/dist/cjs/src/utils/normalizeEncodeSwapsSpec.d.ts +6 -0
  61. package/dist/cjs/src/utils/normalizeEncodeSwapsSpec.js +34 -0
  62. package/dist/cjs/src/utils/normalizeEncodeSwapsSpec.js.map +1 -0
  63. package/dist/{utils → cjs/src/utils}/numbers.d.ts +7 -6
  64. package/dist/cjs/src/utils/numbers.js +27 -0
  65. package/dist/cjs/src/utils/numbers.js.map +1 -0
  66. package/dist/{utils → cjs/src/utils}/pathCurrency.d.ts +3 -3
  67. package/dist/cjs/src/utils/pathCurrency.js +27 -0
  68. package/dist/cjs/src/utils/pathCurrency.js.map +1 -0
  69. package/dist/cjs/src/utils/portionFees.d.ts +14 -0
  70. package/dist/cjs/src/utils/portionFees.js +40 -0
  71. package/dist/cjs/src/utils/portionFees.js.map +1 -0
  72. package/dist/cjs/src/utils/routerBalanceSteps.d.ts +31 -0
  73. package/dist/cjs/src/utils/routerBalanceSteps.js +293 -0
  74. package/dist/cjs/src/utils/routerBalanceSteps.js.map +1 -0
  75. package/dist/{utils → cjs/src/utils}/routerCommands.d.ts +77 -64
  76. package/dist/cjs/src/utils/routerCommands.js +331 -0
  77. package/dist/cjs/src/utils/routerCommands.js.map +1 -0
  78. package/dist/{utils → cjs/src/utils}/routerTradeAdapter.d.ts +73 -73
  79. package/dist/cjs/src/utils/routerTradeAdapter.js +139 -0
  80. package/dist/cjs/src/utils/routerTradeAdapter.js.map +1 -0
  81. package/dist/cjs/src/utils/toV4URVersion.d.ts +3 -0
  82. package/dist/cjs/src/utils/toV4URVersion.js +17 -0
  83. package/dist/cjs/src/utils/toV4URVersion.js.map +1 -0
  84. package/dist/cjs/src/utils/validateEncodeSwaps.d.ts +2 -0
  85. package/dist/cjs/src/utils/validateEncodeSwaps.js +344 -0
  86. package/dist/cjs/src/utils/validateEncodeSwaps.js.map +1 -0
  87. package/dist/esm/package.json +1 -0
  88. package/dist/esm/src/abis/UniversalRouter.json +740 -0
  89. package/dist/esm/src/entities/Command.d.ts +12 -0
  90. package/dist/esm/src/entities/Command.js +6 -0
  91. package/dist/esm/src/entities/Command.js.map +1 -0
  92. package/dist/esm/src/entities/actions/across.d.ts +21 -0
  93. package/dist/esm/src/entities/actions/across.js +3 -0
  94. package/dist/esm/src/entities/actions/across.js.map +1 -0
  95. package/dist/esm/src/entities/actions/index.d.ts +3 -0
  96. package/dist/esm/src/entities/actions/index.js +4 -0
  97. package/dist/esm/src/entities/actions/index.js.map +1 -0
  98. package/dist/esm/src/entities/actions/uniswap.d.ts +94 -0
  99. package/dist/esm/src/entities/actions/uniswap.js +735 -0
  100. package/dist/esm/src/entities/actions/uniswap.js.map +1 -0
  101. package/dist/esm/src/entities/actions/unwrapWETH.d.ts +12 -0
  102. package/dist/esm/src/entities/actions/unwrapWETH.js +28 -0
  103. package/dist/esm/src/entities/actions/unwrapWETH.js.map +1 -0
  104. package/dist/esm/src/entities/index.d.ts +2 -0
  105. package/dist/esm/src/entities/index.js +3 -0
  106. package/dist/esm/src/entities/index.js.map +1 -0
  107. package/dist/esm/src/index.d.ts +19 -0
  108. package/dist/esm/src/index.js +15 -0
  109. package/dist/esm/src/index.js.map +1 -0
  110. package/dist/esm/src/kittycorn.d.ts +9 -0
  111. package/dist/esm/src/kittycorn.js +22 -0
  112. package/dist/esm/src/kittycorn.js.map +1 -0
  113. package/dist/esm/src/swapRouter.d.ts +123 -0
  114. package/dist/esm/src/swapRouter.js +440 -0
  115. package/dist/esm/src/swapRouter.js.map +1 -0
  116. package/dist/esm/src/types/encodeSwaps.d.ts +197 -0
  117. package/dist/esm/src/types/encodeSwaps.js +2 -0
  118. package/dist/esm/src/types/encodeSwaps.js.map +1 -0
  119. package/dist/esm/src/utils/commandParser.d.ts +36 -0
  120. package/dist/esm/src/utils/commandParser.js +146 -0
  121. package/dist/esm/src/utils/commandParser.js.map +1 -0
  122. package/dist/esm/src/utils/computeEncodeSwapsAmounts.d.ts +8 -0
  123. package/dist/esm/src/utils/computeEncodeSwapsAmounts.js +41 -0
  124. package/dist/esm/src/utils/computeEncodeSwapsAmounts.js.map +1 -0
  125. package/dist/esm/src/utils/constants.d.ts +46 -0
  126. package/dist/esm/src/utils/constants.js +768 -0
  127. package/dist/esm/src/utils/constants.js.map +1 -0
  128. package/dist/esm/src/utils/directTransfers.d.ts +15 -0
  129. package/dist/esm/src/utils/directTransfers.js +369 -0
  130. package/dist/esm/src/utils/directTransfers.js.map +1 -0
  131. package/dist/esm/src/utils/eip712.d.ts +17 -0
  132. package/dist/esm/src/utils/eip712.js +39 -0
  133. package/dist/esm/src/utils/eip712.js.map +1 -0
  134. package/dist/esm/src/utils/encodeSwapStep.d.ts +4 -0
  135. package/dist/esm/src/utils/encodeSwapStep.js +58 -0
  136. package/dist/esm/src/utils/encodeSwapStep.js.map +1 -0
  137. package/dist/esm/src/utils/encodeV4Action.d.ts +7 -0
  138. package/dist/esm/src/utils/encodeV4Action.js +80 -0
  139. package/dist/esm/src/utils/encodeV4Action.js.map +1 -0
  140. package/dist/esm/src/utils/getCurrencyAddress.d.ts +2 -0
  141. package/dist/esm/src/utils/getCurrencyAddress.js +5 -0
  142. package/dist/esm/src/utils/getCurrencyAddress.js.map +1 -0
  143. package/dist/esm/src/utils/inputTokens.d.ts +23 -0
  144. package/dist/esm/src/utils/inputTokens.js +51 -0
  145. package/dist/esm/src/utils/inputTokens.js.map +1 -0
  146. package/dist/esm/src/utils/normalizeEncodeSwapsSpec.d.ts +6 -0
  147. package/dist/esm/src/utils/normalizeEncodeSwapsSpec.js +27 -0
  148. package/dist/esm/src/utils/normalizeEncodeSwapsSpec.js.map +1 -0
  149. package/dist/esm/src/utils/numbers.d.ts +7 -0
  150. package/dist/esm/src/utils/numbers.js +19 -0
  151. package/dist/esm/src/utils/numbers.js.map +1 -0
  152. package/dist/esm/src/utils/pathCurrency.d.ts +3 -0
  153. package/dist/esm/src/utils/pathCurrency.js +23 -0
  154. package/dist/esm/src/utils/pathCurrency.js.map +1 -0
  155. package/dist/esm/src/utils/portionFees.d.ts +14 -0
  156. package/dist/esm/src/utils/portionFees.js +35 -0
  157. package/dist/esm/src/utils/portionFees.js.map +1 -0
  158. package/dist/esm/src/utils/routerBalanceSteps.d.ts +31 -0
  159. package/dist/esm/src/utils/routerBalanceSteps.js +282 -0
  160. package/dist/esm/src/utils/routerBalanceSteps.js.map +1 -0
  161. package/dist/esm/src/utils/routerCommands.d.ts +77 -0
  162. package/dist/esm/src/utils/routerCommands.js +326 -0
  163. package/dist/esm/src/utils/routerCommands.js.map +1 -0
  164. package/dist/esm/src/utils/routerTradeAdapter.d.ts +73 -0
  165. package/dist/esm/src/utils/routerTradeAdapter.js +134 -0
  166. package/dist/esm/src/utils/routerTradeAdapter.js.map +1 -0
  167. package/dist/esm/src/utils/toV4URVersion.d.ts +3 -0
  168. package/dist/esm/src/utils/toV4URVersion.js +13 -0
  169. package/dist/esm/src/utils/toV4URVersion.js.map +1 -0
  170. package/dist/esm/src/utils/validateEncodeSwaps.d.ts +2 -0
  171. package/dist/esm/src/utils/validateEncodeSwaps.js +339 -0
  172. package/dist/esm/src/utils/validateEncodeSwaps.js.map +1 -0
  173. package/dist/types/src/entities/Command.d.ts +13 -0
  174. package/dist/types/src/entities/Command.d.ts.map +1 -0
  175. package/dist/types/src/entities/actions/across.d.ts +22 -0
  176. package/dist/types/src/entities/actions/across.d.ts.map +1 -0
  177. package/dist/types/src/entities/actions/index.d.ts +4 -0
  178. package/dist/types/src/entities/actions/index.d.ts.map +1 -0
  179. package/dist/types/src/entities/actions/uniswap.d.ts +95 -0
  180. package/dist/types/src/entities/actions/uniswap.d.ts.map +1 -0
  181. package/dist/types/src/entities/actions/unwrapWETH.d.ts +13 -0
  182. package/dist/types/src/entities/actions/unwrapWETH.d.ts.map +1 -0
  183. package/dist/types/src/entities/index.d.ts +3 -0
  184. package/dist/types/src/entities/index.d.ts.map +1 -0
  185. package/dist/types/src/index.d.ts +20 -0
  186. package/dist/types/src/index.d.ts.map +1 -0
  187. package/dist/types/src/kittycorn.d.ts +10 -0
  188. package/dist/types/src/kittycorn.d.ts.map +1 -0
  189. package/dist/types/src/swapRouter.d.ts +124 -0
  190. package/dist/types/src/swapRouter.d.ts.map +1 -0
  191. package/dist/types/src/types/encodeSwaps.d.ts +198 -0
  192. package/dist/types/src/types/encodeSwaps.d.ts.map +1 -0
  193. package/dist/types/src/utils/commandParser.d.ts +37 -0
  194. package/dist/types/src/utils/commandParser.d.ts.map +1 -0
  195. package/dist/types/src/utils/computeEncodeSwapsAmounts.d.ts +9 -0
  196. package/dist/types/src/utils/computeEncodeSwapsAmounts.d.ts.map +1 -0
  197. package/dist/types/src/utils/constants.d.ts +47 -0
  198. package/dist/types/src/utils/constants.d.ts.map +1 -0
  199. package/dist/types/src/utils/directTransfers.d.ts +16 -0
  200. package/dist/types/src/utils/directTransfers.d.ts.map +1 -0
  201. package/dist/types/src/utils/eip712.d.ts +18 -0
  202. package/dist/types/src/utils/eip712.d.ts.map +1 -0
  203. package/dist/types/src/utils/encodeSwapStep.d.ts +5 -0
  204. package/dist/types/src/utils/encodeSwapStep.d.ts.map +1 -0
  205. package/dist/types/src/utils/encodeV4Action.d.ts +8 -0
  206. package/dist/types/src/utils/encodeV4Action.d.ts.map +1 -0
  207. package/dist/types/src/utils/getCurrencyAddress.d.ts +3 -0
  208. package/dist/types/src/utils/getCurrencyAddress.d.ts.map +1 -0
  209. package/dist/types/src/utils/inputTokens.d.ts +24 -0
  210. package/dist/types/src/utils/inputTokens.d.ts.map +1 -0
  211. package/dist/types/src/utils/normalizeEncodeSwapsSpec.d.ts +7 -0
  212. package/dist/types/src/utils/normalizeEncodeSwapsSpec.d.ts.map +1 -0
  213. package/dist/types/src/utils/numbers.d.ts +8 -0
  214. package/dist/types/src/utils/numbers.d.ts.map +1 -0
  215. package/dist/types/src/utils/pathCurrency.d.ts +4 -0
  216. package/dist/types/src/utils/pathCurrency.d.ts.map +1 -0
  217. package/dist/types/src/utils/portionFees.d.ts +15 -0
  218. package/dist/types/src/utils/portionFees.d.ts.map +1 -0
  219. package/dist/types/src/utils/routerBalanceSteps.d.ts +32 -0
  220. package/dist/types/src/utils/routerBalanceSteps.d.ts.map +1 -0
  221. package/dist/types/src/utils/routerCommands.d.ts +78 -0
  222. package/dist/types/src/utils/routerCommands.d.ts.map +1 -0
  223. package/dist/types/src/utils/routerTradeAdapter.d.ts +74 -0
  224. package/dist/types/src/utils/routerTradeAdapter.d.ts.map +1 -0
  225. package/dist/types/src/utils/toV4URVersion.d.ts +4 -0
  226. package/dist/types/src/utils/toV4URVersion.d.ts.map +1 -0
  227. package/dist/types/src/utils/validateEncodeSwaps.d.ts +3 -0
  228. package/dist/types/src/utils/validateEncodeSwaps.d.ts.map +1 -0
  229. package/package.json +33 -52
  230. package/dist/entities/actions/uniswap.d.ts +0 -30
  231. package/dist/index.d.ts +0 -10
  232. package/dist/index.js +0 -8
  233. package/dist/swapRouter.d.ts +0 -37
  234. package/dist/test/forge/writeInterop.d.ts +0 -2
  235. package/dist/test/utils/addresses.d.ts +0 -5
  236. package/dist/test/utils/hexToDecimalString.d.ts +0 -2
  237. package/dist/test/utils/permit2.d.ts +0 -7
  238. package/dist/test/utils/uniswapData.d.ts +0 -25
  239. package/dist/universal-router-sdk.cjs.development.js +0 -1500
  240. package/dist/universal-router-sdk.cjs.development.js.map +0 -1
  241. package/dist/universal-router-sdk.cjs.production.min.js +0 -2
  242. package/dist/universal-router-sdk.cjs.production.min.js.map +0 -1
  243. package/dist/universal-router-sdk.esm.js +0 -1493
  244. package/dist/universal-router-sdk.esm.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniswap.js","sourceRoot":"","sources":["../../../../../src/entities/actions/uniswap.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { BigNumberish } from 'ethers';
2
- import { RoutePlanner } from '../../utils/routerCommands';
3
- import { Permit2Permit } from '../../utils/inputTokens';
4
- import { Command, RouterActionType, TradeConfig } from '../Command';
5
- export declare class UnwrapWETH implements Command {
6
- readonly tradeType: RouterActionType;
7
- readonly permit2Data?: Permit2Permit;
8
- readonly wethAddress: string;
9
- readonly amount: BigNumberish;
10
- constructor(amount: BigNumberish, chainId: number, permit2?: Permit2Permit);
11
- encode(planner: RoutePlanner, _: TradeConfig): void;
12
- }
1
+ import { BigNumberish } from '@ethersproject/bignumber';
2
+ import { RoutePlanner } from '../../utils/routerCommands';
3
+ import { Permit2Permit } from '../../utils/inputTokens';
4
+ import { Command, RouterActionType, TradeConfig } from '../Command';
5
+ export declare class UnwrapWETH implements Command {
6
+ readonly tradeType: RouterActionType;
7
+ readonly permit2Data?: Permit2Permit;
8
+ readonly wethAddress: string;
9
+ readonly amount: BigNumberish;
10
+ constructor(amount: BigNumberish, chainId: number, permit2?: Permit2Permit);
11
+ encode(planner: RoutePlanner, _: TradeConfig): void;
12
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnwrapWETH = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const tiny_invariant_1 = tslib_1.__importDefault(require("tiny-invariant"));
6
+ const routerCommands_1 = require("../../utils/routerCommands");
7
+ const inputTokens_1 = require("../../utils/inputTokens");
8
+ const Command_1 = require("../Command");
9
+ const constants_1 = require("../../utils/constants");
10
+ class UnwrapWETH {
11
+ constructor(amount, chainId, permit2) {
12
+ this.tradeType = Command_1.RouterActionType.UnwrapWETH;
13
+ this.wethAddress = (0, constants_1.WETH_ADDRESS)(chainId);
14
+ this.amount = amount;
15
+ if (!!permit2) {
16
+ (0, tiny_invariant_1.default)(permit2.details.token.toLowerCase() === this.wethAddress.toLowerCase(), `must be permitting WETH address: ${this.wethAddress}`);
17
+ (0, tiny_invariant_1.default)(permit2.details.amount >= amount, `Did not permit enough WETH for unwrapWETH transaction`);
18
+ this.permit2Data = permit2;
19
+ }
20
+ }
21
+ encode(planner, _) {
22
+ (0, inputTokens_1.encodeInputTokenOptions)(planner, {
23
+ permit2Permit: this.permit2Data,
24
+ permit2TransferFrom: {
25
+ token: this.wethAddress,
26
+ amount: this.amount.toString(),
27
+ },
28
+ });
29
+ planner.addCommand(routerCommands_1.CommandType.UNWRAP_WETH, [constants_1.ROUTER_AS_RECIPIENT, this.amount]);
30
+ }
31
+ }
32
+ exports.UnwrapWETH = UnwrapWETH;
33
+ //# sourceMappingURL=unwrapWETH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unwrapWETH.js","sourceRoot":"","sources":["../../../../../src/entities/actions/unwrapWETH.ts"],"names":[],"mappings":";;;;AAAA,4EAAsC;AAEtC,+DAAsE;AACtE,yDAAgF;AAChF,wCAAmE;AACnE,qDAAyE;AAEzE,MAAa,UAAU;IAMrB,YAAY,MAAoB,EAAE,OAAe,EAAE,OAAuB;QALjE,cAAS,GAAqB,0BAAgB,CAAC,UAAU,CAAA;QAMhE,IAAI,CAAC,WAAW,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,IAAI,CAAC,CAAC,OAAO,EAAE;YACb,IAAA,wBAAS,EACP,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EACtE,oCAAoC,IAAI,CAAC,WAAW,EAAE,CACvD,CAAA;YACD,IAAA,wBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,EAAE,uDAAuD,CAAC,CAAA;YACpG,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA;SAC3B;IACH,CAAC;IAED,MAAM,CAAC,OAAqB,EAAE,CAAc;QAC1C,IAAA,qCAAuB,EAAC,OAAO,EAAE;YAC/B,aAAa,EAAE,IAAI,CAAC,WAAW;YAC/B,mBAAmB,EAAE;gBACnB,KAAK,EAAE,IAAI,CAAC,WAAW;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;aAC/B;SACF,CAAC,CAAA;QACF,OAAO,CAAC,UAAU,CAAC,4BAAW,CAAC,WAAW,EAAE,CAAC,+BAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACjF,CAAC;CACF;AA9BD,gCA8BC"}
@@ -1,2 +1,2 @@
1
- export * from './actions';
2
- export * from './Command';
1
+ export * from './actions';
2
+ export * from './Command';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./actions"), exports);
5
+ tslib_1.__exportStar(require("./Command"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/entities/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,oDAAyB"}
@@ -0,0 +1,19 @@
1
+ export { SwapRouter } from './swapRouter';
2
+ export type { MigrateV3ToV4Options, SignedRouteOptions, EIP712Payload } from './swapRouter';
3
+ export * from './types/encodeSwaps';
4
+ export * from './entities';
5
+ export * from './utils/routerTradeAdapter';
6
+ export { RoutePlanner, CommandType, COMMAND_DEFINITION, Parser, Subparser } from './utils/routerCommands';
7
+ export type { CommandDefinition, ParamType } from './utils/routerCommands';
8
+ export { UNIVERSAL_ROUTER_CREATION_BLOCK, UNIVERSAL_ROUTER_ADDRESS, SWAP_PROXY_ADDRESS, ROUTER_AS_RECIPIENT, WETH_ADDRESS, UniversalRouterVersion, isAtLeastV2_1_1, } from './utils/constants';
9
+ export { CommandParser, GenericCommandParser } from './utils/commandParser';
10
+ export type { UniversalRouterCommand, UniversalRouterCall, Param, CommandsDefinition } from './utils/commandParser';
11
+ export type { Permit2Permit } from './utils/inputTokens';
12
+ export { normalizeEncodeSwapsSpec } from './utils/normalizeEncodeSwapsSpec';
13
+ export { computeEncodeSwapsAmounts } from './utils/computeEncodeSwapsAmounts';
14
+ export type { EncodeSwapsAmounts } from './utils/computeEncodeSwapsAmounts';
15
+ export { validateEncodeSwaps } from './utils/validateEncodeSwaps';
16
+ export { scalePortionFees, simulatePortionFeeDeduction } from './utils/portionFees';
17
+ export type { ScaledPortionFee } from './utils/portionFees';
18
+ export { NONCE_SKIP_CHECK, generateNonce, EXECUTE_SIGNED_TYPES, getUniversalRouterDomain } from './utils/eip712';
19
+ export * from "./kittycorn";
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUniversalRouterDomain = exports.EXECUTE_SIGNED_TYPES = exports.generateNonce = exports.NONCE_SKIP_CHECK = exports.simulatePortionFeeDeduction = exports.scalePortionFees = exports.validateEncodeSwaps = exports.computeEncodeSwapsAmounts = exports.normalizeEncodeSwapsSpec = exports.GenericCommandParser = exports.CommandParser = exports.isAtLeastV2_1_1 = exports.UniversalRouterVersion = exports.WETH_ADDRESS = exports.ROUTER_AS_RECIPIENT = exports.SWAP_PROXY_ADDRESS = exports.UNIVERSAL_ROUTER_ADDRESS = exports.UNIVERSAL_ROUTER_CREATION_BLOCK = exports.Subparser = exports.Parser = exports.COMMAND_DEFINITION = exports.CommandType = exports.RoutePlanner = exports.SwapRouter = void 0;
4
+ const tslib_1 = require("tslib");
5
+ var swapRouter_1 = require("./swapRouter");
6
+ Object.defineProperty(exports, "SwapRouter", { enumerable: true, get: function () { return swapRouter_1.SwapRouter; } });
7
+ tslib_1.__exportStar(require("./types/encodeSwaps"), exports);
8
+ tslib_1.__exportStar(require("./entities"), exports);
9
+ tslib_1.__exportStar(require("./utils/routerTradeAdapter"), exports);
10
+ var routerCommands_1 = require("./utils/routerCommands");
11
+ Object.defineProperty(exports, "RoutePlanner", { enumerable: true, get: function () { return routerCommands_1.RoutePlanner; } });
12
+ Object.defineProperty(exports, "CommandType", { enumerable: true, get: function () { return routerCommands_1.CommandType; } });
13
+ Object.defineProperty(exports, "COMMAND_DEFINITION", { enumerable: true, get: function () { return routerCommands_1.COMMAND_DEFINITION; } });
14
+ Object.defineProperty(exports, "Parser", { enumerable: true, get: function () { return routerCommands_1.Parser; } });
15
+ Object.defineProperty(exports, "Subparser", { enumerable: true, get: function () { return routerCommands_1.Subparser; } });
16
+ var constants_1 = require("./utils/constants");
17
+ Object.defineProperty(exports, "UNIVERSAL_ROUTER_CREATION_BLOCK", { enumerable: true, get: function () { return constants_1.UNIVERSAL_ROUTER_CREATION_BLOCK; } });
18
+ Object.defineProperty(exports, "UNIVERSAL_ROUTER_ADDRESS", { enumerable: true, get: function () { return constants_1.UNIVERSAL_ROUTER_ADDRESS; } });
19
+ Object.defineProperty(exports, "SWAP_PROXY_ADDRESS", { enumerable: true, get: function () { return constants_1.SWAP_PROXY_ADDRESS; } });
20
+ Object.defineProperty(exports, "ROUTER_AS_RECIPIENT", { enumerable: true, get: function () { return constants_1.ROUTER_AS_RECIPIENT; } });
21
+ Object.defineProperty(exports, "WETH_ADDRESS", { enumerable: true, get: function () { return constants_1.WETH_ADDRESS; } });
22
+ Object.defineProperty(exports, "UniversalRouterVersion", { enumerable: true, get: function () { return constants_1.UniversalRouterVersion; } });
23
+ Object.defineProperty(exports, "isAtLeastV2_1_1", { enumerable: true, get: function () { return constants_1.isAtLeastV2_1_1; } });
24
+ var commandParser_1 = require("./utils/commandParser");
25
+ Object.defineProperty(exports, "CommandParser", { enumerable: true, get: function () { return commandParser_1.CommandParser; } });
26
+ Object.defineProperty(exports, "GenericCommandParser", { enumerable: true, get: function () { return commandParser_1.GenericCommandParser; } });
27
+ // toFeeList and friends stay internal: they are encoding helpers, not part of the package API
28
+ var normalizeEncodeSwapsSpec_1 = require("./utils/normalizeEncodeSwapsSpec");
29
+ Object.defineProperty(exports, "normalizeEncodeSwapsSpec", { enumerable: true, get: function () { return normalizeEncodeSwapsSpec_1.normalizeEncodeSwapsSpec; } });
30
+ var computeEncodeSwapsAmounts_1 = require("./utils/computeEncodeSwapsAmounts");
31
+ Object.defineProperty(exports, "computeEncodeSwapsAmounts", { enumerable: true, get: function () { return computeEncodeSwapsAmounts_1.computeEncodeSwapsAmounts; } });
32
+ var validateEncodeSwaps_1 = require("./utils/validateEncodeSwaps");
33
+ Object.defineProperty(exports, "validateEncodeSwaps", { enumerable: true, get: function () { return validateEncodeSwaps_1.validateEncodeSwaps; } });
34
+ var portionFees_1 = require("./utils/portionFees");
35
+ Object.defineProperty(exports, "scalePortionFees", { enumerable: true, get: function () { return portionFees_1.scalePortionFees; } });
36
+ Object.defineProperty(exports, "simulatePortionFeeDeduction", { enumerable: true, get: function () { return portionFees_1.simulatePortionFeeDeduction; } });
37
+ var eip712_1 = require("./utils/eip712");
38
+ Object.defineProperty(exports, "NONCE_SKIP_CHECK", { enumerable: true, get: function () { return eip712_1.NONCE_SKIP_CHECK; } });
39
+ Object.defineProperty(exports, "generateNonce", { enumerable: true, get: function () { return eip712_1.generateNonce; } });
40
+ Object.defineProperty(exports, "EXECUTE_SIGNED_TYPES", { enumerable: true, get: function () { return eip712_1.EXECUTE_SIGNED_TYPES; } });
41
+ Object.defineProperty(exports, "getUniversalRouterDomain", { enumerable: true, get: function () { return eip712_1.getUniversalRouterDomain; } });
42
+ tslib_1.__exportStar(require("./kittycorn"), exports);
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AAEnB,8DAAmC;AACnC,qDAA0B;AAC1B,qEAA0C;AAC1C,yDAAyG;AAAhG,8GAAA,YAAY,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AAAE,wGAAA,MAAM,OAAA;AAAE,2GAAA,SAAS,OAAA;AAEzE,+CAQ0B;AAPxB,4HAAA,+BAA+B,OAAA;AAC/B,qHAAA,wBAAwB,OAAA;AACxB,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,yGAAA,YAAY,OAAA;AACZ,mHAAA,sBAAsB,OAAA;AACtB,4GAAA,eAAe,OAAA;AAEjB,uDAA2E;AAAlE,8GAAA,aAAa,OAAA;AAAE,qHAAA,oBAAoB,OAAA;AAG5C,8FAA8F;AAC9F,6EAA2E;AAAlE,oIAAA,wBAAwB,OAAA;AACjC,+EAA6E;AAApE,sIAAA,yBAAyB,OAAA;AAElC,mEAAiE;AAAxD,0HAAA,mBAAmB,OAAA;AAC5B,mDAAmF;AAA1E,+GAAA,gBAAgB,OAAA;AAAE,0HAAA,2BAA2B,OAAA;AAEtD,yCAAgH;AAAvG,0GAAA,gBAAgB,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAAE,kHAAA,wBAAwB,OAAA;AAExF,sDAA2B"}
@@ -0,0 +1,9 @@
1
+ import { Currency, TradeType } from '@kittycorn-labs/sdk-core';
2
+ import { Trade, KittycornSwapOptions, KittycornMethodParameters } from '@kittycorn-labs/router-sdk';
3
+ /** Base Sepolia's Kittycorn extension. The Universal Router address is supplied after deployment. */
4
+ export type KittycornUniversalSwapOptions = KittycornSwapOptions & {
5
+ universalRouter: string;
6
+ deadline: number;
7
+ };
8
+ /** Wrap the same V4 action plan in Permit2 funding and an on-chain deadline. */
9
+ export declare function buildKittycornUniversalMethodParameters(trade: Trade<Currency, Currency, TradeType>, options: KittycornUniversalSwapOptions, chainId: number): KittycornMethodParameters;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildKittycornUniversalMethodParameters = void 0;
4
+ const abi_1 = require("@ethersproject/abi");
5
+ const sdk_core_1 = require("@kittycorn-labs/sdk-core");
6
+ const router_sdk_1 = require("@kittycorn-labs/router-sdk");
7
+ /** Wrap the same V4 action plan in Permit2 funding and an on-chain deadline. */
8
+ function buildKittycornUniversalMethodParameters(trade, options, chainId) {
9
+ if (!Number.isSafeInteger(options.deadline) || options.deadline <= 0)
10
+ throw new Error('Invalid deadline');
11
+ const to = (0, sdk_core_1.validateAndParseAddress)(options.universalRouter);
12
+ if (/^0x0{39}[012]$/i.test(to))
13
+ throw new Error('Invalid Universal Router address');
14
+ const direct = (0, router_sdk_1.buildKittycornMethodParameters)(trade, options, chainId);
15
+ const [actions] = new abi_1.Interface(['function executeActions(bytes params)']).decodeFunctionData('executeActions', direct.calldata);
16
+ const input = abi_1.defaultAbiCoder.encode(['address', 'uint256', 'bool', 'bytes'], [
17
+ trade.inputAmount.currency.wrapped.address,
18
+ trade.maximumAmountIn(options.slippageTolerance).quotient.toString(),
19
+ true,
20
+ actions,
21
+ ]);
22
+ const router = new abi_1.Interface(['function execute(bytes commands,bytes[] inputs,uint256 deadline) payable']);
23
+ return { to, value: '0x00', calldata: router.encodeFunctionData('execute', ['0x41', [input], options.deadline]) };
24
+ }
25
+ exports.buildKittycornUniversalMethodParameters = buildKittycornUniversalMethodParameters;
26
+ //# sourceMappingURL=kittycorn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kittycorn.js","sourceRoot":"","sources":["../../../src/kittycorn.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAC/D,uDAAgF;AAEhF,2DAKmC;AAQnC,gFAAgF;AAChF,SAAgB,uCAAuC,CACrD,KAA2C,EAC3C,OAAsC,EACtC,OAAe;IAEf,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACzG,MAAM,EAAE,GAAG,IAAA,kCAAU,EAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IAC9C,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACnF,MAAM,MAAM,GAAG,IAAA,2CAA8B,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACtE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,eAAS,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,kBAAkB,CAC3F,gBAAgB,EAChB,MAAM,CAAC,QAAQ,CAChB,CAAA;IACD,MAAM,KAAK,GAAG,qBAAe,CAAC,MAAM,CAClC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EACvC;QACE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO;QAC1C,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACpE,IAAI;QACJ,OAAO;KACR,CACF,CAAA;IACD,MAAM,MAAM,GAAG,IAAI,eAAS,CAAC,CAAC,0EAA0E,CAAC,CAAC,CAAA;IAC1G,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;AACnH,CAAC;AAxBD,0FAwBC"}
@@ -0,0 +1,123 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { BigNumber, BigNumberish } from '@ethersproject/bignumber';
3
+ import { MethodParameters, Position as V3Position, RemoveLiquidityOptions as V3RemoveLiquidityOptions } from '@kittycorn-labs/v3-sdk';
4
+ import { Position as V4Position, AddLiquidityOptions as V4AddLiquidityOptions } from '@kittycorn-labs/v4-sdk';
5
+ import { Trade as RouterTrade } from '@kittycorn-labs/router-sdk';
6
+ import { Currency, TradeType } from '@kittycorn-labs/sdk-core';
7
+ import { SwapOptions } from './entities/actions/uniswap';
8
+ import { AcrossV4DepositV3Params } from './entities/actions/across';
9
+ import { SwapSpecification, SwapStep } from './types/encodeSwaps';
10
+ import { UniversalRouterVersion } from './utils/constants';
11
+ import { TypedDataDomain, TypedDataField } from '@ethersproject/abstract-signer';
12
+ export type SwapRouterConfig = {
13
+ sender?: string;
14
+ deadline?: BigNumberish;
15
+ };
16
+ export type SignedRouteOptions = {
17
+ intent: string;
18
+ data: string;
19
+ sender: string;
20
+ nonce?: string;
21
+ };
22
+ export type EIP712Payload = {
23
+ domain: TypedDataDomain;
24
+ types: Record<string, TypedDataField[]>;
25
+ value: {
26
+ commands: string;
27
+ inputs: string[];
28
+ intent: string;
29
+ data: string;
30
+ sender: string;
31
+ nonce: string;
32
+ deadline: string;
33
+ };
34
+ };
35
+ export interface MigrateV3ToV4Options {
36
+ inputPosition: V3Position;
37
+ outputPosition: V4Position;
38
+ v3RemoveLiquidityOptions: V3RemoveLiquidityOptions;
39
+ v4AddLiquidityOptions: V4AddLiquidityOptions;
40
+ urVersion?: UniversalRouterVersion;
41
+ }
42
+ export declare abstract class SwapRouter {
43
+ static INTERFACE: Interface;
44
+ static PROXY_INTERFACE: Interface;
45
+ static swapCallParameters(trades: RouterTrade<Currency, Currency, TradeType>, options: SwapOptions, bridgeOptions?: AcrossV4DepositV3Params[]): MethodParameters;
46
+ /**
47
+ * Encodes router-provided swap steps inside the SDK safety envelope.
48
+ *
49
+ * Routers own `swapSteps` (V2/V3/V4 swaps, plus any `WRAP_ETH` / `UNWRAP_WETH` required by the route).
50
+ * The SDK owns ingress, fees, final settlement, exact-output refund, and optional `safeMode`.
51
+ *
52
+ * Two validation regimes:
53
+ * - Default (router custody): the single SDK ingress pull is the only user withdrawal and every step
54
+ * recipient must be the router; the final SWEEP floor enforces the minimum output.
55
+ * - `allowDirectTransfers`: steps may pull input straight from the user (`payerIsUser`,
56
+ * v4 SETTLE_ALL) and pay output straight to `recipient` (step recipients, v4 TAKE/TAKE_ALL,
57
+ * UNWRAP_WETH). Direct pulls may total at most exactOrMaxAmountIn — ingress pulls the
58
+ * remainder — and direct output minimums count toward the SWEEP floor. Portion fees still
59
+ * require output custody. Step amounts are never trusted, only counted or capped.
60
+ *
61
+ * Direct-transfer caveats:
62
+ * - Fee-on-transfer output: output minimums bind the amount each swap *produces* (pre-transfer), not the
63
+ * recipient's post-tax balance. A FoT token's own transfer tax reduces the final balance below the
64
+ * minimum — inherent to such tokens and expected when swapping into one, not a shortfall to guard.
65
+ * - A flat fee is a plain TRANSFER, so routing must keep at least the fee amount in router custody
66
+ * (not route 100% of output directly), or the fee TRANSFER reverts.
67
+ *
68
+ * Router contract: end with final output in `spec.routing.outputToken`; for `EXACT_OUTPUT`, unused input
69
+ * must end in `spec.routing.inputToken`. Don't include a top-level `SWEEP` — the SDK appends settlement,
70
+ * refund, and safeMode sweeps itself.
71
+ *
72
+ * Amount convention: on `EXACT_INPUT`, `spec.routing.quote` is the GROSS output (before fees).
73
+ * The fee cascade is deducted from it when sizing the sweep floor; passing a net
74
+ * (post-fee) quote double-counts the fees and floors the sweep below the real minimum.
75
+ */
76
+ static encodeSwaps(spec: SwapSpecification, swapSteps: SwapStep[]): MethodParameters;
77
+ /**
78
+ * Generate EIP712 payload for signed execution (no signing performed)
79
+ * Decodes existing execute() calldata and prepares it for signing
80
+ *
81
+ * @param calldata The calldata from swapCallParameters() or similar
82
+ * @param signedOptions Options for signed execution (intent, data, sender, nonce)
83
+ * @param deadline The deadline timestamp
84
+ * @param chainId The chain ID
85
+ * @param routerAddress The Universal Router contract address
86
+ * @returns EIP712 payload ready to be signed externally
87
+ */
88
+ static getExecuteSignedPayload(calldata: string, signedOptions: SignedRouteOptions, deadline: BigNumberish, chainId: number, routerAddress: string): EIP712Payload;
89
+ /**
90
+ * Encode executeSigned() call with signature
91
+ *
92
+ * @param calldata The original calldata from swapCallParameters()
93
+ * @param signature The signature obtained from external signing
94
+ * @param signedOptions The same options used in getExecuteSignedPayload()
95
+ * @param deadline The deadline timestamp
96
+ * @param nativeCurrencyValue The native currency value (ETH) to send
97
+ * @returns Method parameters for executeSigned()
98
+ */
99
+ static encodeExecuteSigned(calldata: string, signature: string, signedOptions: SignedRouteOptions, deadline: BigNumberish, nativeCurrencyValue?: BigNumber): MethodParameters;
100
+ /**
101
+ * Builds the call parameters for a migration from a V3 position to a V4 position.
102
+ * Some requirements of the parameters:
103
+ * - v3RemoveLiquidityOptions.collectOptions.recipient must equal v4PositionManager
104
+ * - v3RemoveLiquidityOptions.liquidityPercentage must be 100%
105
+ * - input pool and output pool must have the same tokens
106
+ * - V3 NFT must be approved, or a valid v3RemoveLiquidityOptions.permit must be provided whose spender is the
107
+ * Universal Router for `urVersion` (defaults to V2_0)
108
+ */
109
+ static migrateV3ToV4CallParameters(options: MigrateV3ToV4Options, positionManagerOverride?: string): MethodParameters;
110
+ /**
111
+ * Encodes a planned route into a method name and parameters for the Router contract.
112
+ * @param planner the planned route
113
+ * @param nativeCurrencyValue the native currency value of the planned route
114
+ * @param config the router config
115
+ */
116
+ private static encodePlan;
117
+ /**
118
+ * Wraps an inner UR plan in calldata targeting the SwapProxy contract.
119
+ * The proxy pulls ERC20 tokens from the user into the UR, then executes commands.
120
+ */
121
+ private static encodeProxyPlan;
122
+ private static encodeProxyCall;
123
+ }