@kittycorn-labs/universal-router-sdk 1.4.43 → 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,331 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCommand = exports.RoutePlanner = exports.V2V3_SWAP_COMMANDS_V2_1_1 = exports.COMMAND_DEFINITION = exports.Parser = exports.Subparser = exports.CommandType = void 0;
4
+ const abi_1 = require("@ethersproject/abi");
5
+ const constants_1 = require("./constants");
6
+ /**
7
+ * CommandTypes
8
+ * @description Flags that modify a command's execution
9
+ * @enum {number}
10
+ */
11
+ var CommandType;
12
+ (function (CommandType) {
13
+ CommandType[CommandType["V3_SWAP_EXACT_IN"] = 0] = "V3_SWAP_EXACT_IN";
14
+ CommandType[CommandType["V3_SWAP_EXACT_OUT"] = 1] = "V3_SWAP_EXACT_OUT";
15
+ CommandType[CommandType["PERMIT2_TRANSFER_FROM"] = 2] = "PERMIT2_TRANSFER_FROM";
16
+ CommandType[CommandType["PERMIT2_PERMIT_BATCH"] = 3] = "PERMIT2_PERMIT_BATCH";
17
+ CommandType[CommandType["SWEEP"] = 4] = "SWEEP";
18
+ CommandType[CommandType["TRANSFER"] = 5] = "TRANSFER";
19
+ CommandType[CommandType["PAY_PORTION"] = 6] = "PAY_PORTION";
20
+ CommandType[CommandType["PAY_PORTION_FULL_PRECISION"] = 7] = "PAY_PORTION_FULL_PRECISION";
21
+ CommandType[CommandType["V2_SWAP_EXACT_IN"] = 8] = "V2_SWAP_EXACT_IN";
22
+ CommandType[CommandType["V2_SWAP_EXACT_OUT"] = 9] = "V2_SWAP_EXACT_OUT";
23
+ CommandType[CommandType["PERMIT2_PERMIT"] = 10] = "PERMIT2_PERMIT";
24
+ CommandType[CommandType["WRAP_ETH"] = 11] = "WRAP_ETH";
25
+ CommandType[CommandType["UNWRAP_WETH"] = 12] = "UNWRAP_WETH";
26
+ CommandType[CommandType["PERMIT2_TRANSFER_FROM_BATCH"] = 13] = "PERMIT2_TRANSFER_FROM_BATCH";
27
+ CommandType[CommandType["BALANCE_CHECK_ERC20"] = 14] = "BALANCE_CHECK_ERC20";
28
+ CommandType[CommandType["V4_SWAP"] = 16] = "V4_SWAP";
29
+ CommandType[CommandType["V3_POSITION_MANAGER_PERMIT"] = 17] = "V3_POSITION_MANAGER_PERMIT";
30
+ CommandType[CommandType["V3_POSITION_MANAGER_CALL"] = 18] = "V3_POSITION_MANAGER_CALL";
31
+ CommandType[CommandType["V4_INITIALIZE_POOL"] = 19] = "V4_INITIALIZE_POOL";
32
+ CommandType[CommandType["V4_POSITION_MANAGER_CALL"] = 20] = "V4_POSITION_MANAGER_CALL";
33
+ CommandType[CommandType["EXECUTE_SUB_PLAN"] = 33] = "EXECUTE_SUB_PLAN";
34
+ // 3rd party integrations (0x40-0x5f range)
35
+ CommandType[CommandType["ACROSS_V4_DEPOSIT_V3"] = 64] = "ACROSS_V4_DEPOSIT_V3";
36
+ })(CommandType = exports.CommandType || (exports.CommandType = {}));
37
+ var Subparser;
38
+ (function (Subparser) {
39
+ Subparser[Subparser["V3PathExactIn"] = 0] = "V3PathExactIn";
40
+ Subparser[Subparser["V3PathExactOut"] = 1] = "V3PathExactOut";
41
+ })(Subparser = exports.Subparser || (exports.Subparser = {}));
42
+ var Parser;
43
+ (function (Parser) {
44
+ Parser[Parser["Abi"] = 0] = "Abi";
45
+ Parser[Parser["V4Actions"] = 1] = "V4Actions";
46
+ Parser[Parser["V3Actions"] = 2] = "V3Actions";
47
+ })(Parser = exports.Parser || (exports.Parser = {}));
48
+ const ALLOW_REVERT_FLAG = 0x80;
49
+ const REVERTIBLE_COMMANDS = new Set([CommandType.EXECUTE_SUB_PLAN]);
50
+ const PERMIT_STRUCT = '((address token,uint160 amount,uint48 expiration,uint48 nonce) details,address spender,uint256 sigDeadline)';
51
+ const PERMIT_BATCH_STRUCT = '((address token,uint160 amount,uint48 expiration,uint48 nonce)[] details,address spender,uint256 sigDeadline)';
52
+ const POOL_KEY_STRUCT = '(address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks)';
53
+ const PERMIT2_TRANSFER_FROM_STRUCT = '(address from,address to,uint160 amount,address token)';
54
+ const PERMIT2_TRANSFER_FROM_BATCH_STRUCT = PERMIT2_TRANSFER_FROM_STRUCT + '[]';
55
+ // Must be encoded as a SINGLE tuple: ChainedActions.sol decodes the command
56
+ // input with `abi.decode(input, (AcrossV4DepositV3Params))`, and because the
57
+ // struct has a dynamic member (`bytes message`) that encoding is
58
+ // offset-prefixed — a flat 13-value encoding of the same fields does not
59
+ // decode and makes the router revert with empty data.
60
+ const ACROSS_V4_DEPOSIT_V3_STRUCT = '(address depositor,address recipient,address inputToken,address outputToken,uint256 inputAmount,uint256 outputAmount,uint256 destinationChainId,address exclusiveRelayer,uint32 quoteTimestamp,uint32 fillDeadline,uint32 exclusivityDeadline,bytes message,bool useNative)';
61
+ exports.COMMAND_DEFINITION = {
62
+ // Batch Reverts
63
+ [CommandType.EXECUTE_SUB_PLAN]: {
64
+ parser: Parser.Abi,
65
+ params: [
66
+ { name: 'commands', type: 'bytes' },
67
+ { name: 'inputs', type: 'bytes[]' },
68
+ ],
69
+ },
70
+ // Permit2 Actions
71
+ [CommandType.PERMIT2_PERMIT]: {
72
+ parser: Parser.Abi,
73
+ params: [
74
+ { name: 'permit', type: PERMIT_STRUCT },
75
+ { name: 'signature', type: 'bytes' },
76
+ ],
77
+ },
78
+ [CommandType.PERMIT2_PERMIT_BATCH]: {
79
+ parser: Parser.Abi,
80
+ params: [
81
+ { name: 'permit', type: PERMIT_BATCH_STRUCT },
82
+ { name: 'signature', type: 'bytes' },
83
+ ],
84
+ },
85
+ [CommandType.PERMIT2_TRANSFER_FROM]: {
86
+ parser: Parser.Abi,
87
+ params: [
88
+ { name: 'token', type: 'address' },
89
+ { name: 'recipient', type: 'address' },
90
+ { name: 'amount', type: 'uint160' },
91
+ ],
92
+ },
93
+ [CommandType.PERMIT2_TRANSFER_FROM_BATCH]: {
94
+ parser: Parser.Abi,
95
+ params: [
96
+ {
97
+ name: 'transferFrom',
98
+ type: PERMIT2_TRANSFER_FROM_BATCH_STRUCT,
99
+ },
100
+ ],
101
+ },
102
+ // Uniswap Actions
103
+ [CommandType.V3_SWAP_EXACT_IN]: {
104
+ parser: Parser.Abi,
105
+ params: [
106
+ { name: 'recipient', type: 'address' },
107
+ { name: 'amountIn', type: 'uint256' },
108
+ { name: 'amountOutMin', type: 'uint256' },
109
+ { name: 'path', subparser: Subparser.V3PathExactIn, type: 'bytes' },
110
+ { name: 'payerIsUser', type: 'bool' },
111
+ ],
112
+ },
113
+ [CommandType.V3_SWAP_EXACT_OUT]: {
114
+ parser: Parser.Abi,
115
+ params: [
116
+ { name: 'recipient', type: 'address' },
117
+ { name: 'amountOut', type: 'uint256' },
118
+ { name: 'amountInMax', type: 'uint256' },
119
+ { name: 'path', subparser: Subparser.V3PathExactOut, type: 'bytes' },
120
+ { name: 'payerIsUser', type: 'bool' },
121
+ ],
122
+ },
123
+ [CommandType.V2_SWAP_EXACT_IN]: {
124
+ parser: Parser.Abi,
125
+ params: [
126
+ { name: 'recipient', type: 'address' },
127
+ { name: 'amountIn', type: 'uint256' },
128
+ { name: 'amountOutMin', type: 'uint256' },
129
+ { name: 'path', type: 'address[]' },
130
+ { name: 'payerIsUser', type: 'bool' },
131
+ ],
132
+ },
133
+ [CommandType.V2_SWAP_EXACT_OUT]: {
134
+ parser: Parser.Abi,
135
+ params: [
136
+ { name: 'recipient', type: 'address' },
137
+ { name: 'amountOut', type: 'uint256' },
138
+ { name: 'amountInMax', type: 'uint256' },
139
+ { name: 'path', type: 'address[]' },
140
+ { name: 'payerIsUser', type: 'bool' },
141
+ ],
142
+ },
143
+ [CommandType.V4_SWAP]: { parser: Parser.V4Actions },
144
+ // Token Actions and Checks
145
+ [CommandType.WRAP_ETH]: {
146
+ parser: Parser.Abi,
147
+ params: [
148
+ { name: 'recipient', type: 'address' },
149
+ { name: 'amount', type: 'uint256' },
150
+ ],
151
+ },
152
+ [CommandType.UNWRAP_WETH]: {
153
+ parser: Parser.Abi,
154
+ params: [
155
+ { name: 'recipient', type: 'address' },
156
+ { name: 'amountMin', type: 'uint256' },
157
+ ],
158
+ },
159
+ [CommandType.SWEEP]: {
160
+ parser: Parser.Abi,
161
+ params: [
162
+ { name: 'token', type: 'address' },
163
+ { name: 'recipient', type: 'address' },
164
+ { name: 'amountMin', type: 'uint256' },
165
+ ],
166
+ },
167
+ [CommandType.TRANSFER]: {
168
+ parser: Parser.Abi,
169
+ params: [
170
+ { name: 'token', type: 'address' },
171
+ { name: 'recipient', type: 'address' },
172
+ { name: 'value', type: 'uint256' },
173
+ ],
174
+ },
175
+ [CommandType.PAY_PORTION]: {
176
+ parser: Parser.Abi,
177
+ params: [
178
+ { name: 'token', type: 'address' },
179
+ { name: 'recipient', type: 'address' },
180
+ { name: 'bips', type: 'uint256' },
181
+ ],
182
+ },
183
+ [CommandType.PAY_PORTION_FULL_PRECISION]: {
184
+ parser: Parser.Abi,
185
+ params: [
186
+ { name: 'token', type: 'address' },
187
+ { name: 'recipient', type: 'address' },
188
+ { name: 'portion', type: 'uint256' },
189
+ ],
190
+ },
191
+ [CommandType.BALANCE_CHECK_ERC20]: {
192
+ parser: Parser.Abi,
193
+ params: [
194
+ { name: 'owner', type: 'address' },
195
+ { name: 'token', type: 'address' },
196
+ { name: 'minBalance', type: 'uint256' },
197
+ ],
198
+ },
199
+ [CommandType.V4_INITIALIZE_POOL]: {
200
+ parser: Parser.Abi,
201
+ params: [
202
+ { name: 'poolKey', type: POOL_KEY_STRUCT },
203
+ { name: 'sqrtPriceX96', type: 'uint160' },
204
+ ],
205
+ },
206
+ // Position Actions
207
+ [CommandType.V3_POSITION_MANAGER_PERMIT]: { parser: Parser.V3Actions },
208
+ [CommandType.V3_POSITION_MANAGER_CALL]: { parser: Parser.V3Actions },
209
+ [CommandType.V4_POSITION_MANAGER_CALL]: { parser: Parser.V4Actions },
210
+ // 3rd Party Integrations
211
+ [CommandType.ACROSS_V4_DEPOSIT_V3]: {
212
+ parser: Parser.Abi,
213
+ params: [{ name: 'params', type: ACROSS_V4_DEPOSIT_V3_STRUCT }],
214
+ },
215
+ };
216
+ // V2.1.1 ABI definitions for V2/V3 swap commands (extended with minHopPriceX36)
217
+ exports.V2V3_SWAP_COMMANDS_V2_1_1 = {
218
+ [CommandType.V3_SWAP_EXACT_IN]: {
219
+ parser: Parser.Abi,
220
+ params: [
221
+ { name: 'recipient', type: 'address' },
222
+ { name: 'amountIn', type: 'uint256' },
223
+ { name: 'amountOutMin', type: 'uint256' },
224
+ { name: 'path', subparser: Subparser.V3PathExactIn, type: 'bytes' },
225
+ { name: 'payerIsUser', type: 'bool' },
226
+ { name: 'minHopPriceX36', type: 'uint256[]' },
227
+ ],
228
+ },
229
+ [CommandType.V3_SWAP_EXACT_OUT]: {
230
+ parser: Parser.Abi,
231
+ params: [
232
+ { name: 'recipient', type: 'address' },
233
+ { name: 'amountOut', type: 'uint256' },
234
+ { name: 'amountInMax', type: 'uint256' },
235
+ { name: 'path', subparser: Subparser.V3PathExactOut, type: 'bytes' },
236
+ { name: 'payerIsUser', type: 'bool' },
237
+ { name: 'minHopPriceX36', type: 'uint256[]' },
238
+ ],
239
+ },
240
+ [CommandType.V2_SWAP_EXACT_IN]: {
241
+ parser: Parser.Abi,
242
+ params: [
243
+ { name: 'recipient', type: 'address' },
244
+ { name: 'amountIn', type: 'uint256' },
245
+ { name: 'amountOutMin', type: 'uint256' },
246
+ { name: 'path', type: 'address[]' },
247
+ { name: 'payerIsUser', type: 'bool' },
248
+ { name: 'minHopPriceX36', type: 'uint256[]' },
249
+ ],
250
+ },
251
+ [CommandType.V2_SWAP_EXACT_OUT]: {
252
+ parser: Parser.Abi,
253
+ params: [
254
+ { name: 'recipient', type: 'address' },
255
+ { name: 'amountOut', type: 'uint256' },
256
+ { name: 'amountInMax', type: 'uint256' },
257
+ { name: 'path', type: 'address[]' },
258
+ { name: 'payerIsUser', type: 'bool' },
259
+ { name: 'minHopPriceX36', type: 'uint256[]' },
260
+ ],
261
+ },
262
+ };
263
+ class RoutePlanner {
264
+ constructor() {
265
+ this.commands = '0x';
266
+ this.inputs = [];
267
+ }
268
+ addSubPlan(subplan) {
269
+ this.addCommand(CommandType.EXECUTE_SUB_PLAN, [subplan.commands, subplan.inputs], true);
270
+ return this;
271
+ }
272
+ addCommand(type, parameters, allowRevert = false, urVersion) {
273
+ let command = createCommand(type, parameters, urVersion);
274
+ this.inputs.push(command.encodedInput);
275
+ if (allowRevert) {
276
+ if (!REVERTIBLE_COMMANDS.has(command.type)) {
277
+ throw new Error(`command type: ${command.type} cannot be allowed to revert`);
278
+ }
279
+ command.type = command.type | ALLOW_REVERT_FLAG;
280
+ }
281
+ this.commands = this.commands.concat(command.type.toString(16).padStart(2, '0'));
282
+ return this;
283
+ }
284
+ /**
285
+ * Add Across bridge deposit command for cross-chain bridging
286
+ * @param params AcrossV4DepositV3Params containing bridge parameters
287
+ * @returns RoutePlanner instance for chaining
288
+ */
289
+ addAcrossBridge(params) {
290
+ // One value, not thirteen: the command input is a single offset-prefixed
291
+ // tuple (ACROSS_V4_DEPOSIT_V3_STRUCT) so the contract's
292
+ // `abi.decode(input, (AcrossV4DepositV3Params))` can read it.
293
+ this.addCommand(CommandType.ACROSS_V4_DEPOSIT_V3, [
294
+ [
295
+ params.depositor,
296
+ params.recipient,
297
+ params.inputToken,
298
+ params.outputToken,
299
+ params.inputAmount,
300
+ params.outputAmount,
301
+ params.destinationChainId,
302
+ params.exclusiveRelayer,
303
+ params.quoteTimestamp,
304
+ params.fillDeadline,
305
+ params.exclusivityDeadline,
306
+ params.message,
307
+ params.useNative,
308
+ ],
309
+ ]);
310
+ return this;
311
+ }
312
+ }
313
+ exports.RoutePlanner = RoutePlanner;
314
+ function createCommand(type, parameters, urVersion) {
315
+ const commandDef = (0, constants_1.isAtLeastV2_1_1)(urVersion) && type in exports.V2V3_SWAP_COMMANDS_V2_1_1
316
+ ? exports.V2V3_SWAP_COMMANDS_V2_1_1[type]
317
+ : exports.COMMAND_DEFINITION[type];
318
+ switch (commandDef.parser) {
319
+ case Parser.Abi:
320
+ const encodedInput = abi_1.defaultAbiCoder.encode(commandDef.params.map((abi) => abi.type), parameters);
321
+ return { type, encodedInput };
322
+ case Parser.V4Actions:
323
+ // v4 swap data comes pre-encoded at index 0
324
+ return { type, encodedInput: parameters[0] };
325
+ case Parser.V3Actions:
326
+ // v3 swap data comes pre-encoded at index 0
327
+ return { type, encodedInput: parameters[0] };
328
+ }
329
+ }
330
+ exports.createCommand = createCommand;
331
+ //# sourceMappingURL=routerCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routerCommands.js","sourceRoot":"","sources":["../../../../src/utils/routerCommands.ts"],"names":[],"mappings":";;;AAAA,4CAAoD;AACpD,2CAAqE;AAGrE;;;;GAIG;AACH,IAAY,WA4BX;AA5BD,WAAY,WAAW;IACrB,qEAAuB,CAAA;IACvB,uEAAwB,CAAA;IACxB,+EAA4B,CAAA;IAC5B,6EAA2B,CAAA;IAC3B,+CAAY,CAAA;IACZ,qDAAe,CAAA;IACf,2DAAkB,CAAA;IAClB,yFAAiC,CAAA;IAEjC,qEAAuB,CAAA;IACvB,uEAAwB,CAAA;IACxB,kEAAqB,CAAA;IACrB,sDAAe,CAAA;IACf,4DAAkB,CAAA;IAClB,4FAAkC,CAAA;IAClC,4EAA0B,CAAA;IAE1B,oDAAc,CAAA;IACd,0FAAiC,CAAA;IACjC,sFAA+B,CAAA;IAC/B,0EAAyB,CAAA;IACzB,sFAA+B,CAAA;IAE/B,sEAAuB,CAAA;IAEvB,2CAA2C;IAC3C,8EAA2B,CAAA;AAC7B,CAAC,EA5BW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QA4BtB;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,2DAAa,CAAA;IACb,6DAAc,CAAA;AAChB,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAED,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,iCAAG,CAAA;IACH,6CAAS,CAAA;IACT,6CAAS,CAAA;AACX,CAAC,EAJW,MAAM,GAAN,cAAM,KAAN,cAAM,QAIjB;AAoBD,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAC9B,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAA;AAEhF,MAAM,aAAa,GACjB,6GAA6G,CAAA;AAE/G,MAAM,mBAAmB,GACvB,+GAA+G,CAAA;AAEjH,MAAM,eAAe,GAAG,kFAAkF,CAAA;AAE1G,MAAM,4BAA4B,GAAG,wDAAwD,CAAA;AAC7F,MAAM,kCAAkC,GAAG,4BAA4B,GAAG,IAAI,CAAA;AAE9E,4EAA4E;AAC5E,6EAA6E;AAC7E,iEAAiE;AACjE,yEAAyE;AACzE,sDAAsD;AACtD,MAAM,2BAA2B,GAC/B,6QAA6Q,CAAA;AAElQ,QAAA,kBAAkB,GAAgD;IAC7E,gBAAgB;IAChB,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;QAC9B,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;YACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACpC;KACF;IAED,kBAAkB;IAClB,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;YACvC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;SACrC;KACF;IACD,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE;QAClC,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE;YAC7C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;SACrC;KACF;IACD,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE;QACnC,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACpC;KACF;IACD,CAAC,WAAW,CAAC,2BAA2B,CAAC,EAAE;QACzC,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,kCAAkC;aACzC;SACF;KACF;IAED,kBAAkB;IAClB,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;QAC9B,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;YACnE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;SACtC;KACF;IACD,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;QAC/B,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACxC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;YACpE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;SACtC;KACF;IACD,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;QAC9B,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;YACnC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;SACtC;KACF;IACD,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;QAC/B,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACxC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;YACnC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;SACtC;KACF;IACD,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;IAEnD,2BAA2B;IAC3B,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACpC;KACF;IACD,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;QACzB,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SACvC;KACF;IACD,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SACvC;KACF;IACD,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;SACnC;KACF;IACD,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;QACzB,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;SAClC;KACF;IACD,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE;QACxC,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SACrC;KACF;IACD,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE;QACjC,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;SACxC;KACF;IACD,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE;YAC1C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;SAC1C;KACF;IAED,mBAAmB;IACnB,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;IACtE,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;IACpE,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;IAEpE,yBAAyB;IACzB,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE;QAClC,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;KAChE;CACF,CAAA;AAED,gFAAgF;AACnE,QAAA,yBAAyB,GAAyC;IAC7E,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;QAC9B,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;YACnE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;YACrC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE;SAC9C;KACF;IACD,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;QAC/B,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACxC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;YACpE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;YACrC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE;SAC9C;KACF;IACD,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;QAC9B,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;YACnC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;YACrC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE;SAC9C;KACF;IACD,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;QAC/B,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACxC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;YACnC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;YACrC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE;SAC9C;KACF;CACF,CAAA;AAED,MAAa,YAAY;IAIvB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,UAAU,CAAC,OAAqB;QAC9B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;QACvF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CACR,IAAiB,EACjB,UAAiB,EACjB,WAAW,GAAG,KAAK,EACnB,SAAkC;QAElC,IAAI,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,8BAA8B,CAAC,CAAA;aAC7E;YACD,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAA;SAChD;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QAChF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,MAA+B;QAC7C,yEAAyE;QACzE,wDAAwD;QACxD,8DAA8D;QAC9D,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,EAAE;YAChD;gBACE,MAAM,CAAC,SAAS;gBAChB,MAAM,CAAC,SAAS;gBAChB,MAAM,CAAC,UAAU;gBACjB,MAAM,CAAC,WAAW;gBAClB,MAAM,CAAC,WAAW;gBAClB,MAAM,CAAC,YAAY;gBACnB,MAAM,CAAC,kBAAkB;gBACzB,MAAM,CAAC,gBAAgB;gBACvB,MAAM,CAAC,cAAc;gBACrB,MAAM,CAAC,YAAY;gBACnB,MAAM,CAAC,mBAAmB;gBAC1B,MAAM,CAAC,OAAO;gBACd,MAAM,CAAC,SAAS;aACjB;SACF,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA7DD,oCA6DC;AAOD,SAAgB,aAAa,CAAC,IAAiB,EAAE,UAAiB,EAAE,SAAkC;IACpG,MAAM,UAAU,GACd,IAAA,2BAAe,EAAC,SAAS,CAAC,IAAI,IAAI,IAAI,iCAAyB;QAC7D,CAAC,CAAC,iCAAyB,CAAC,IAAI,CAAC;QACjC,CAAC,CAAC,0BAAkB,CAAC,IAAI,CAAC,CAAA;IAC9B,QAAQ,UAAU,CAAC,MAAM,EAAE;QACzB,KAAK,MAAM,CAAC,GAAG;YACb,MAAM,YAAY,GAAG,qBAAe,CAAC,MAAM,CACzC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EACxC,UAAU,CACX,CAAA;YACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;QAC/B,KAAK,MAAM,CAAC,SAAS;YACnB,4CAA4C;YAC5C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;QAC9C,KAAK,MAAM,CAAC,SAAS;YACnB,4CAA4C;YAC5C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;KAC/C;AACH,CAAC;AAnBD,sCAmBC"}
@@ -1,73 +1,73 @@
1
- import { Trade as RouterTrade } from '@kittycorn-labs/router-sdk';
2
- import { Currency, TradeType } from '@kittycorn-labs/sdk-core';
3
- export declare type TokenInRoute = {
4
- address: string;
5
- chainId: number;
6
- symbol: string;
7
- decimals: string;
8
- name?: string;
9
- buyFeeBps?: string;
10
- sellFeeBps?: string;
11
- };
12
- export declare enum PoolType {
13
- V2Pool = "v2-pool",
14
- V3Pool = "v3-pool",
15
- V4Pool = "v4-pool"
16
- }
17
- export declare type V2Reserve = {
18
- token: TokenInRoute;
19
- quotient: string;
20
- };
21
- export declare type V2PoolInRoute = {
22
- type: PoolType.V2Pool;
23
- address?: string;
24
- tokenIn: TokenInRoute;
25
- tokenOut: TokenInRoute;
26
- reserve0: V2Reserve;
27
- reserve1: V2Reserve;
28
- amountIn?: string;
29
- amountOut?: string;
30
- };
31
- export declare type V3PoolInRoute = {
32
- type: PoolType.V3Pool;
33
- address?: string;
34
- tokenIn: TokenInRoute;
35
- tokenOut: TokenInRoute;
36
- sqrtRatioX96: string;
37
- liquidity: string;
38
- tickCurrent: string;
39
- fee: string;
40
- amountIn?: string;
41
- amountOut?: string;
42
- };
43
- export declare type V4PoolInRoute = {
44
- type: PoolType.V4Pool;
45
- address?: string;
46
- tokenIn: TokenInRoute;
47
- tokenOut: TokenInRoute;
48
- fee: string;
49
- tickSpacing: string;
50
- hooks: string;
51
- liquidity: string;
52
- sqrtRatioX96: string;
53
- tickCurrent: string;
54
- amountIn?: string;
55
- amountOut?: string;
56
- };
57
- export declare type PartialClassicQuote = {
58
- tokenIn: string;
59
- tokenOut: string;
60
- tradeType: TradeType;
61
- route: Array<(V4PoolInRoute | V3PoolInRoute | V2PoolInRoute)[]>;
62
- };
63
- export declare const isNativeCurrency: (address: string) => boolean;
64
- export declare class RouterTradeAdapter {
65
- static fromClassicQuote(quote: PartialClassicQuote): RouterTrade<Currency, Currency, TradeType>;
66
- private static toCurrency;
67
- private static toPoolOrPair;
68
- private static toToken;
69
- private static toV3Pool;
70
- private static toV4Pool;
71
- private static toPair;
72
- private static isVersionedRoute;
73
- }
1
+ import { Trade as RouterTrade } from '@kittycorn-labs/router-sdk';
2
+ import { Currency, TradeType } from '@kittycorn-labs/sdk-core';
3
+ export type TokenInRoute = {
4
+ address: string;
5
+ chainId: number;
6
+ symbol: string;
7
+ decimals: string;
8
+ name?: string;
9
+ buyFeeBps?: string;
10
+ sellFeeBps?: string;
11
+ };
12
+ export declare enum PoolType {
13
+ V2Pool = "v2-pool",
14
+ V3Pool = "v3-pool",
15
+ V4Pool = "v4-pool"
16
+ }
17
+ export type V2Reserve = {
18
+ token: TokenInRoute;
19
+ quotient: string;
20
+ };
21
+ export type V2PoolInRoute = {
22
+ type: PoolType.V2Pool;
23
+ address?: string;
24
+ tokenIn: TokenInRoute;
25
+ tokenOut: TokenInRoute;
26
+ reserve0: V2Reserve;
27
+ reserve1: V2Reserve;
28
+ amountIn?: string;
29
+ amountOut?: string;
30
+ };
31
+ export type V3PoolInRoute = {
32
+ type: PoolType.V3Pool;
33
+ address?: string;
34
+ tokenIn: TokenInRoute;
35
+ tokenOut: TokenInRoute;
36
+ sqrtRatioX96: string;
37
+ liquidity: string;
38
+ tickCurrent: string;
39
+ fee: string;
40
+ amountIn?: string;
41
+ amountOut?: string;
42
+ };
43
+ export type V4PoolInRoute = {
44
+ type: PoolType.V4Pool;
45
+ address?: string;
46
+ tokenIn: TokenInRoute;
47
+ tokenOut: TokenInRoute;
48
+ fee: string;
49
+ tickSpacing: string;
50
+ hooks: string;
51
+ liquidity: string;
52
+ sqrtRatioX96: string;
53
+ tickCurrent: string;
54
+ amountIn?: string;
55
+ amountOut?: string;
56
+ };
57
+ export type PartialClassicQuote = {
58
+ tokenIn: string;
59
+ tokenOut: string;
60
+ tradeType: TradeType;
61
+ route: Array<(V4PoolInRoute | V3PoolInRoute | V2PoolInRoute)[]>;
62
+ };
63
+ export declare const isNativeCurrency: (address: string) => boolean;
64
+ export declare class RouterTradeAdapter {
65
+ static fromClassicQuote(quote: PartialClassicQuote): RouterTrade<Currency, Currency, TradeType>;
66
+ private static toCurrency;
67
+ private static toPoolOrPair;
68
+ private static toToken;
69
+ private static toV3Pool;
70
+ private static toV4Pool;
71
+ private static toPair;
72
+ private static isVersionedRoute;
73
+ }
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RouterTradeAdapter = exports.isNativeCurrency = exports.PoolType = void 0;
4
+ const router_sdk_1 = require("@kittycorn-labs/router-sdk");
5
+ const sdk_core_1 = require("@kittycorn-labs/sdk-core");
6
+ const v2_sdk_1 = require("@kittycorn-labs/v2-sdk");
7
+ const v3_sdk_1 = require("@kittycorn-labs/v3-sdk");
8
+ const v4_sdk_1 = require("@kittycorn-labs/v4-sdk");
9
+ const bignumber_1 = require("@ethersproject/bignumber");
10
+ const constants_1 = require("./constants");
11
+ var PoolType;
12
+ (function (PoolType) {
13
+ PoolType["V2Pool"] = "v2-pool";
14
+ PoolType["V3Pool"] = "v3-pool";
15
+ PoolType["V4Pool"] = "v4-pool";
16
+ })(PoolType = exports.PoolType || (exports.PoolType = {}));
17
+ const isNativeCurrency = (address) => address.toLowerCase() === constants_1.ETH_ADDRESS.toLowerCase() || address.toLowerCase() === constants_1.E_ETH_ADDRESS.toLowerCase();
18
+ exports.isNativeCurrency = isNativeCurrency;
19
+ // Helper class to convert routing-specific quote entities to RouterTrade entities
20
+ // the returned RouterTrade can then be used to build the UniswapTrade entity in this package
21
+ class RouterTradeAdapter {
22
+ // Generate a RouterTrade using fields from a classic quote response
23
+ static fromClassicQuote(quote) {
24
+ const { route, tokenIn, tokenOut } = quote;
25
+ if (!route)
26
+ throw new Error('Expected route to be present');
27
+ if (!route.length)
28
+ throw new Error('Expected there to be at least one route');
29
+ if (route.some((r) => !r.length))
30
+ throw new Error('Expected all routes to have at least one pool');
31
+ const firstRoute = route[0];
32
+ const tokenInData = firstRoute[0].tokenIn;
33
+ const tokenOutData = firstRoute[firstRoute.length - 1].tokenOut;
34
+ if (!tokenInData || !tokenOutData)
35
+ throw new Error('Expected both tokenIn and tokenOut to be present');
36
+ if (tokenInData.chainId !== tokenOutData.chainId)
37
+ throw new Error('Expected tokenIn and tokenOut to be have same chainId');
38
+ const parsedCurrencyIn = RouterTradeAdapter.toCurrency((0, exports.isNativeCurrency)(tokenIn), tokenInData);
39
+ const parsedCurrencyOut = RouterTradeAdapter.toCurrency((0, exports.isNativeCurrency)(tokenOut), tokenOutData);
40
+ const typedRoutes = route.map((subRoute) => {
41
+ const rawAmountIn = subRoute[0].amountIn;
42
+ const rawAmountOut = subRoute[subRoute.length - 1].amountOut;
43
+ if (!rawAmountIn || !rawAmountOut) {
44
+ throw new Error('Expected both raw amountIn and raw amountOut to be present');
45
+ }
46
+ const inputAmount = sdk_core_1.CurrencyAmount.fromRawAmount(parsedCurrencyIn, rawAmountIn);
47
+ const outputAmount = sdk_core_1.CurrencyAmount.fromRawAmount(parsedCurrencyOut, rawAmountOut);
48
+ const isOnlyV2 = RouterTradeAdapter.isVersionedRoute(PoolType.V2Pool, subRoute);
49
+ const isOnlyV3 = RouterTradeAdapter.isVersionedRoute(PoolType.V3Pool, subRoute);
50
+ const isOnlyV4 = RouterTradeAdapter.isVersionedRoute(PoolType.V4Pool, subRoute);
51
+ return {
52
+ routev4: isOnlyV4
53
+ ? new v4_sdk_1.Route(subRoute.map(RouterTradeAdapter.toV4Pool), parsedCurrencyIn, parsedCurrencyOut)
54
+ : null,
55
+ routev3: isOnlyV3
56
+ ? new v3_sdk_1.Route(subRoute.map(RouterTradeAdapter.toV3Pool), parsedCurrencyIn, parsedCurrencyOut)
57
+ : null,
58
+ routev2: isOnlyV2
59
+ ? new v2_sdk_1.Route(subRoute.map(RouterTradeAdapter.toPair), parsedCurrencyIn, parsedCurrencyOut)
60
+ : null,
61
+ mixedRoute: !isOnlyV4 && !isOnlyV3 && !isOnlyV2
62
+ ? new router_sdk_1.MixedRouteSDK(subRoute.map(RouterTradeAdapter.toPoolOrPair), parsedCurrencyIn, parsedCurrencyOut)
63
+ : null,
64
+ inputAmount,
65
+ outputAmount,
66
+ };
67
+ });
68
+ return new router_sdk_1.Trade({
69
+ v2Routes: typedRoutes
70
+ .filter((route) => route.routev2)
71
+ .map((route) => ({
72
+ routev2: route.routev2,
73
+ inputAmount: route.inputAmount,
74
+ outputAmount: route.outputAmount,
75
+ })),
76
+ v3Routes: typedRoutes
77
+ .filter((route) => route.routev3)
78
+ .map((route) => ({
79
+ routev3: route.routev3,
80
+ inputAmount: route.inputAmount,
81
+ outputAmount: route.outputAmount,
82
+ })),
83
+ v4Routes: typedRoutes
84
+ .filter((route) => route.routev4)
85
+ .map((route) => ({
86
+ routev4: route.routev4,
87
+ inputAmount: route.inputAmount,
88
+ outputAmount: route.outputAmount,
89
+ })),
90
+ mixedRoutes: typedRoutes
91
+ .filter((route) => route.mixedRoute)
92
+ .map((route) => ({
93
+ mixedRoute: route.mixedRoute,
94
+ inputAmount: route.inputAmount,
95
+ outputAmount: route.outputAmount,
96
+ })),
97
+ tradeType: quote.tradeType,
98
+ });
99
+ }
100
+ static toCurrency(isNative, token) {
101
+ if (isNative) {
102
+ return sdk_core_1.Ether.onChain(token.chainId);
103
+ }
104
+ return this.toToken(token);
105
+ }
106
+ static toToken(token) {
107
+ const { chainId, address, decimals, symbol, buyFeeBps, sellFeeBps } = token;
108
+ return new sdk_core_1.Token(chainId, address, parseInt(decimals.toString()), symbol,
109
+ /* name */ undefined, false, buyFeeBps ? bignumber_1.BigNumber.from(buyFeeBps) : undefined, sellFeeBps ? bignumber_1.BigNumber.from(sellFeeBps) : undefined);
110
+ }
111
+ static toV3Pool({ fee, sqrtRatioX96, liquidity, tickCurrent, tokenIn, tokenOut }) {
112
+ return new v3_sdk_1.Pool(RouterTradeAdapter.toToken(tokenIn), RouterTradeAdapter.toToken(tokenOut), parseInt(fee), sqrtRatioX96, liquidity, parseInt(tickCurrent));
113
+ }
114
+ static toV4Pool(pool) {
115
+ const parsedCurrencyIn = RouterTradeAdapter.toCurrency((0, exports.isNativeCurrency)(pool.tokenIn.address), pool.tokenIn);
116
+ const parsedCurrencyOut = RouterTradeAdapter.toCurrency((0, exports.isNativeCurrency)(pool.tokenOut.address), pool.tokenOut);
117
+ return new v4_sdk_1.Pool(parsedCurrencyIn, parsedCurrencyOut, parseInt(pool.fee), parseInt(pool.tickSpacing), pool.hooks, pool.sqrtRatioX96, pool.liquidity, parseInt(pool.tickCurrent));
118
+ }
119
+ static isVersionedRoute(type, route) {
120
+ return route.every((pool) => pool.type === type);
121
+ }
122
+ }
123
+ exports.RouterTradeAdapter = RouterTradeAdapter;
124
+ RouterTradeAdapter.toPoolOrPair = (pool) => {
125
+ switch (pool.type) {
126
+ case PoolType.V4Pool:
127
+ return RouterTradeAdapter.toV4Pool(pool);
128
+ case PoolType.V3Pool:
129
+ return RouterTradeAdapter.toV3Pool(pool);
130
+ case PoolType.V2Pool:
131
+ return RouterTradeAdapter.toPair(pool);
132
+ default:
133
+ throw new Error('Invalid pool type');
134
+ }
135
+ };
136
+ RouterTradeAdapter.toPair = ({ reserve0, reserve1 }) => {
137
+ return new v2_sdk_1.Pair(sdk_core_1.CurrencyAmount.fromRawAmount(RouterTradeAdapter.toToken(reserve0.token), reserve0.quotient), sdk_core_1.CurrencyAmount.fromRawAmount(RouterTradeAdapter.toToken(reserve1.token), reserve1.quotient));
138
+ };
139
+ //# sourceMappingURL=routerTradeAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routerTradeAdapter.js","sourceRoot":"","sources":["../../../../src/utils/routerTradeAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { URVersion } from '@kittycorn-labs/v4-sdk';
2
+ import { UniversalRouterVersion } from './constants';
3
+ export declare function toV4URVersion(version?: UniversalRouterVersion): URVersion;