@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,777 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROUTER_AS_RECIPIENT = exports.SENDER_AS_RECIPIENT = exports.MAX_UINT160 = exports.MAX_UINT256 = exports.ZERO_ADDRESS = exports.E_ETH_ADDRESS = exports.ETH_ADDRESS = exports.CONTRACT_BALANCE = exports.WETH_ADDRESS = exports.UNIVERSAL_ROUTER_CREATION_BLOCK = exports.SWAP_PROXY_ADDRESS = exports.UNIVERSAL_ROUTER_ADDRESS = exports.CHAIN_CONFIGS = exports.isAtLeastV2_0 = exports.isAtLeastV2_1_1 = exports.DEFAULT_UR_VERSION = exports.UniversalRouterVersion = void 0;
4
+ const bignumber_1 = require("@ethersproject/bignumber");
5
+ // Members must stay declared oldest-to-newest: the isAtLeast* helpers derive their version
6
+ // ordering from this declaration order.
7
+ var UniversalRouterVersion;
8
+ (function (UniversalRouterVersion) {
9
+ UniversalRouterVersion["V1_2"] = "1.2";
10
+ UniversalRouterVersion["V2_0"] = "2.0";
11
+ UniversalRouterVersion["V2_1_1"] = "2.1.1";
12
+ UniversalRouterVersion["V2_1_2"] = "2.1.2";
13
+ UniversalRouterVersion["V2_2_0"] = "2.2.0";
14
+ })(UniversalRouterVersion = exports.UniversalRouterVersion || (exports.UniversalRouterVersion = {}));
15
+ /** Version assumed when a caller does not pass `urVersion`; kept at V2_0 for backward compatibility. */
16
+ exports.DEFAULT_UR_VERSION = UniversalRouterVersion.V2_0;
17
+ // Enum order, not string comparison: '2.1.1-rc.1' would sort >= '2.1.1', and unknown values must be index -1.
18
+ const VERSION_ORDER = Object.values(UniversalRouterVersion);
19
+ function isAtLeast(version, minimum) {
20
+ return !!version && VERSION_ORDER.indexOf(version) >= VERSION_ORDER.indexOf(minimum);
21
+ }
22
+ /**
23
+ * Check if a UniversalRouterVersion is at least V2_1_1.
24
+ * Duplicated from @kittycorn-labs/v4-sdk's isAtLeastV2_1_1 (which operates on URVersion)
25
+ * to avoid coupling universal-router-sdk's version logic to v4-sdk.
26
+ */
27
+ function isAtLeastV2_1_1(version) {
28
+ return isAtLeast(version, UniversalRouterVersion.V2_1_1);
29
+ }
30
+ exports.isAtLeastV2_1_1 = isAtLeastV2_1_1;
31
+ /** Check if a UniversalRouterVersion is at least V2_0, the first router with the position-manager commands. */
32
+ function isAtLeastV2_0(version) {
33
+ return isAtLeast(version, UniversalRouterVersion.V2_0);
34
+ }
35
+ exports.isAtLeastV2_0 = isAtLeastV2_0;
36
+ const WETH_NOT_SUPPORTED_ON_CHAIN = '0x0000000000000000000000000000000000000000';
37
+ const SWAP_PROXY_DEPLOY_ADDRESS = '0x02E5be68D46DAc0B524905bfF209cf47EE6dB2a9';
38
+ // Todo: Change `CHAIN_CONFIGS` to pull the UR address with v4
39
+ exports.CHAIN_CONFIGS = {
40
+ // mainnet
41
+ [1]: {
42
+ weth: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
43
+ nativeErc20BalanceAlias: false,
44
+ routerConfigs: {
45
+ [UniversalRouterVersion.V1_2]: {
46
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
47
+ creationBlock: 17143817,
48
+ },
49
+ [UniversalRouterVersion.V2_0]: {
50
+ address: '0x66a9893cc07d91d95644aedd05d03f95e1dba8af',
51
+ creationBlock: 21689092,
52
+ },
53
+ [UniversalRouterVersion.V2_1_1]: {
54
+ address: '0x4C82D1fBFe28C977cBB58D8C7FF8FCF9F70a2cCA',
55
+ creationBlock: 24680568,
56
+ },
57
+ [UniversalRouterVersion.V2_1_2]: {
58
+ address: '0x23617e59A5925b2A4Bf75d73ff6711cD0b29De85',
59
+ creationBlock: 25999984,
60
+ },
61
+ [UniversalRouterVersion.V2_2_0]: {
62
+ address: '0xab863E752Bf67D8DCDD929EaAe9Be9dc83Fb3BbB',
63
+ creationBlock: 26006366,
64
+ },
65
+ },
66
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
67
+ },
68
+ // goerli
69
+ [5]: {
70
+ weth: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6',
71
+ nativeErc20BalanceAlias: false,
72
+ routerConfigs: {
73
+ [UniversalRouterVersion.V1_2]: {
74
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
75
+ creationBlock: 8940568,
76
+ },
77
+ [UniversalRouterVersion.V2_0]: {
78
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
79
+ creationBlock: 8940568,
80
+ },
81
+ },
82
+ },
83
+ // sepolia
84
+ [11155111]: {
85
+ weth: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',
86
+ nativeErc20BalanceAlias: false,
87
+ routerConfigs: {
88
+ [UniversalRouterVersion.V1_2]: {
89
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
90
+ creationBlock: 3543575,
91
+ },
92
+ [UniversalRouterVersion.V2_0]: {
93
+ address: '0x3a9d48ab9751398bbfa63ad67599bb04e4bdf98b',
94
+ creationBlock: 7259601,
95
+ },
96
+ [UniversalRouterVersion.V2_1_1]: {
97
+ address: '0x7DfD4F31be6814D2906BDE155c3e1B146EAc1468',
98
+ creationBlock: 11343084,
99
+ },
100
+ [UniversalRouterVersion.V2_1_2]: {
101
+ address: '0x7E4f6c5e954Da5c61B3423D81E2277431Ac043f3',
102
+ creationBlock: 11726370,
103
+ },
104
+ [UniversalRouterVersion.V2_2_0]: {
105
+ address: '0x5093f1CDED83d99FfEd6602dA6260672ae16787c',
106
+ creationBlock: 11732372,
107
+ },
108
+ },
109
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
110
+ },
111
+ // polygon
112
+ [137]: {
113
+ weth: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
114
+ nativeErc20BalanceAlias: true,
115
+ routerConfigs: {
116
+ [UniversalRouterVersion.V1_2]: {
117
+ address: '0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2',
118
+ creationBlock: 52210153,
119
+ },
120
+ [UniversalRouterVersion.V2_0]: {
121
+ address: '0x1095692a6237d83c6a72f3f5efedb9a670c49223',
122
+ creationBlock: 66980401,
123
+ },
124
+ [UniversalRouterVersion.V2_1_1]: {
125
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
126
+ creationBlock: 84336468,
127
+ },
128
+ [UniversalRouterVersion.V2_1_2]: {
129
+ address: '0xDc264714F68d84CF29BC605589405E78bDBE7C9f',
130
+ creationBlock: 93985021,
131
+ },
132
+ },
133
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
134
+ },
135
+ //polygon mumbai
136
+ [80001]: {
137
+ weth: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889',
138
+ nativeErc20BalanceAlias: true,
139
+ routerConfigs: {
140
+ [UniversalRouterVersion.V1_2]: {
141
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
142
+ creationBlock: 35176052,
143
+ },
144
+ [UniversalRouterVersion.V2_0]: {
145
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
146
+ creationBlock: 35176052,
147
+ },
148
+ },
149
+ },
150
+ //optimism
151
+ [10]: {
152
+ weth: '0x4200000000000000000000000000000000000006',
153
+ nativeErc20BalanceAlias: false,
154
+ routerConfigs: {
155
+ [UniversalRouterVersion.V1_2]: {
156
+ address: '0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8',
157
+ creationBlock: 114702266,
158
+ },
159
+ [UniversalRouterVersion.V2_0]: {
160
+ address: '0x851116d9223fabed8e56c0e6b8ad0c31d98b3507',
161
+ creationBlock: 130947687,
162
+ },
163
+ [UniversalRouterVersion.V2_1_1]: {
164
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
165
+ creationBlock: 149097062,
166
+ },
167
+ [UniversalRouterVersion.V2_1_2]: {
168
+ address: '0xC09255D86DB563cBc11C2fCf4a0C512e160111B4',
169
+ creationBlock: 157042185,
170
+ },
171
+ },
172
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
173
+ },
174
+ // optimism goerli
175
+ [420]: {
176
+ weth: '0x4200000000000000000000000000000000000006',
177
+ nativeErc20BalanceAlias: false,
178
+ routerConfigs: {
179
+ [UniversalRouterVersion.V1_2]: {
180
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
181
+ creationBlock: 8887728,
182
+ },
183
+ [UniversalRouterVersion.V2_0]: {
184
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
185
+ creationBlock: 8887728,
186
+ },
187
+ },
188
+ },
189
+ // arbitrum
190
+ [42161]: {
191
+ weth: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
192
+ nativeErc20BalanceAlias: false,
193
+ routerConfigs: {
194
+ [UniversalRouterVersion.V1_2]: {
195
+ address: '0x5E325eDA8064b456f4781070C0738d849c824258',
196
+ creationBlock: 169472836,
197
+ },
198
+ [UniversalRouterVersion.V2_0]: {
199
+ address: '0xa51afafe0263b40edaef0df8781ea9aa03e381a3',
200
+ creationBlock: 297842906,
201
+ },
202
+ [UniversalRouterVersion.V2_1_1]: {
203
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
204
+ creationBlock: 442902181,
205
+ },
206
+ [UniversalRouterVersion.V2_1_2]: {
207
+ address: '0x2d01411773c8C24805306E89A41F7855C3c4Fe65',
208
+ creationBlock: 506233838,
209
+ },
210
+ },
211
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
212
+ },
213
+ // arbitrum goerli
214
+ [421613]: {
215
+ weth: '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3',
216
+ nativeErc20BalanceAlias: false,
217
+ routerConfigs: {
218
+ [UniversalRouterVersion.V1_2]: {
219
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
220
+ creationBlock: 18815277,
221
+ },
222
+ [UniversalRouterVersion.V2_0]: {
223
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
224
+ creationBlock: 18815277,
225
+ },
226
+ },
227
+ },
228
+ // celo
229
+ [42220]: {
230
+ weth: WETH_NOT_SUPPORTED_ON_CHAIN,
231
+ nativeErc20BalanceAlias: true,
232
+ routerConfigs: {
233
+ [UniversalRouterVersion.V1_2]: {
234
+ address: '0x643770e279d5d0733f21d6dc03a8efbabf3255b4',
235
+ creationBlock: 21407637,
236
+ },
237
+ [UniversalRouterVersion.V2_0]: {
238
+ address: '0xcb695bc5D3Aa22cAD1E6DF07801b061a05A0233A',
239
+ creationBlock: 47387857,
240
+ },
241
+ [UniversalRouterVersion.V2_1_1]: {
242
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
243
+ creationBlock: 61893766,
244
+ },
245
+ [UniversalRouterVersion.V2_1_2]: {
246
+ address: '0xe2023F3FA515cF070e07fD9d51c1d236e07843f4',
247
+ creationBlock: 77782041,
248
+ },
249
+ },
250
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
251
+ },
252
+ // celo alfajores
253
+ [44787]: {
254
+ weth: WETH_NOT_SUPPORTED_ON_CHAIN,
255
+ nativeErc20BalanceAlias: true,
256
+ routerConfigs: {
257
+ [UniversalRouterVersion.V1_2]: {
258
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
259
+ creationBlock: 17566658,
260
+ },
261
+ [UniversalRouterVersion.V2_0]: {
262
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
263
+ creationBlock: 17566658,
264
+ },
265
+ },
266
+ },
267
+ // binance smart chain
268
+ [56]: {
269
+ weth: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
270
+ nativeErc20BalanceAlias: false,
271
+ routerConfigs: {
272
+ [UniversalRouterVersion.V1_2]: {
273
+ address: '0x4Dae2f939ACf50408e13d58534Ff8c2776d45265',
274
+ creationBlock: 35160263,
275
+ },
276
+ [UniversalRouterVersion.V2_0]: {
277
+ address: '0x1906c1d672b88cd1b9ac7593301ca990f94eae07',
278
+ creationBlock: 45970616,
279
+ },
280
+ [UniversalRouterVersion.V2_1_1]: {
281
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
282
+ creationBlock: 87208607,
283
+ },
284
+ [UniversalRouterVersion.V2_1_2]: {
285
+ address: '0xDc264714F68d84CF29BC605589405E78bDBE7C9f',
286
+ creationBlock: 122489907,
287
+ },
288
+ },
289
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
290
+ },
291
+ // avalanche
292
+ [43114]: {
293
+ weth: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
294
+ nativeErc20BalanceAlias: false,
295
+ routerConfigs: {
296
+ [UniversalRouterVersion.V1_2]: {
297
+ address: '0x4Dae2f939ACf50408e13d58534Ff8c2776d45265',
298
+ creationBlock: 40237257,
299
+ },
300
+ [UniversalRouterVersion.V2_0]: {
301
+ address: '0x94b75331ae8d42c1b61065089b7d48fe14aa73b7',
302
+ creationBlock: 56195395,
303
+ },
304
+ [UniversalRouterVersion.V2_1_1]: {
305
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
306
+ creationBlock: 80616324,
307
+ },
308
+ [UniversalRouterVersion.V2_1_2]: {
309
+ address: '0x661E93cca42AfacB172121EF892830cA3b70F08d',
310
+ creationBlock: 95539189,
311
+ },
312
+ },
313
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
314
+ },
315
+ // base goerli
316
+ [84531]: {
317
+ weth: '0x4200000000000000000000000000000000000006',
318
+ nativeErc20BalanceAlias: false,
319
+ routerConfigs: {
320
+ [UniversalRouterVersion.V1_2]: {
321
+ address: '0xd0872d928672ae2ff74bdb2f5130ac12229cafaf',
322
+ creationBlock: 6915289,
323
+ },
324
+ [UniversalRouterVersion.V2_0]: {
325
+ address: '0xd0872d928672ae2ff74bdb2f5130ac12229cafaf',
326
+ creationBlock: 6915289,
327
+ },
328
+ },
329
+ },
330
+ // base mainnet
331
+ [8453]: {
332
+ weth: '0x4200000000000000000000000000000000000006',
333
+ nativeErc20BalanceAlias: false,
334
+ routerConfigs: {
335
+ [UniversalRouterVersion.V1_2]: {
336
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
337
+ creationBlock: 9107268,
338
+ },
339
+ [UniversalRouterVersion.V2_0]: {
340
+ address: '0x6ff5693b99212da76ad316178a184ab56d299b43',
341
+ creationBlock: 25350999,
342
+ },
343
+ [UniversalRouterVersion.V2_1_1]: {
344
+ address: '0xfdf682f51fe81aa4898f0ae2163d8a55c127fbc7',
345
+ creationBlock: 43501203,
346
+ },
347
+ [UniversalRouterVersion.V2_1_2]: {
348
+ address: '0xd6145b2D3F379919E8CdEda7B97e37c4b2Ca9c40',
349
+ creationBlock: 51446913,
350
+ },
351
+ [UniversalRouterVersion.V2_2_0]: {
352
+ address: '0xbe2257d1aafbe6b73f67a9ac971c2f0b344bb3c5',
353
+ creationBlock: 51740773,
354
+ },
355
+ },
356
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
357
+ },
358
+ // blast
359
+ [81457]: {
360
+ weth: '0x4300000000000000000000000000000000000004',
361
+ nativeErc20BalanceAlias: false,
362
+ routerConfigs: {
363
+ [UniversalRouterVersion.V1_2]: {
364
+ address: '0x643770E279d5D0733F21d6DC03A8efbABf3255B4',
365
+ creationBlock: 1116444,
366
+ },
367
+ [UniversalRouterVersion.V2_0]: {
368
+ address: '0xeabbcb3e8e415306207ef514f660a3f820025be3',
369
+ creationBlock: 14377319,
370
+ },
371
+ [UniversalRouterVersion.V2_1_1]: {
372
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
373
+ creationBlock: 32492192,
374
+ },
375
+ [UniversalRouterVersion.V2_1_2]: {
376
+ address: '0x661E93cca42AfacB172121EF892830cA3b70F08d',
377
+ creationBlock: 40435962,
378
+ },
379
+ },
380
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
381
+ },
382
+ // zora
383
+ [7777777]: {
384
+ weth: '0x4200000000000000000000000000000000000006',
385
+ nativeErc20BalanceAlias: false,
386
+ routerConfigs: {
387
+ [UniversalRouterVersion.V1_2]: {
388
+ address: '0x2986d9721A49838ab4297b695858aF7F17f38014',
389
+ creationBlock: 11832155,
390
+ },
391
+ [UniversalRouterVersion.V2_0]: {
392
+ address: '0x3315ef7ca28db74abadc6c44570efdf06b04b020',
393
+ creationBlock: 25434544,
394
+ },
395
+ [UniversalRouterVersion.V2_1_1]: {
396
+ address: '0xFdf682F51FE81Aa4898F0AE2163d8A55c127fbC7',
397
+ creationBlock: 43550401,
398
+ },
399
+ [UniversalRouterVersion.V2_1_2]: {
400
+ address: '0xF025e0Fe9E331A0eF05c2ad3C4E9C64b625cda6f',
401
+ creationBlock: 51493994,
402
+ },
403
+ },
404
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
405
+ },
406
+ // zksync
407
+ [324]: {
408
+ weth: '0x5aea5775959fbc2557cc8789bc1bf90a239d9a91',
409
+ nativeErc20BalanceAlias: false,
410
+ routerConfigs: {
411
+ [UniversalRouterVersion.V1_2]: {
412
+ address: '0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06',
413
+ creationBlock: 12640979,
414
+ },
415
+ [UniversalRouterVersion.V2_0]: {
416
+ address: '0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06',
417
+ creationBlock: 12640979,
418
+ },
419
+ },
420
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
421
+ },
422
+ // worldchain
423
+ [480]: {
424
+ weth: '0x4200000000000000000000000000000000000006',
425
+ nativeErc20BalanceAlias: false,
426
+ routerConfigs: {
427
+ [UniversalRouterVersion.V1_2]: {
428
+ address: '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D',
429
+ creationBlock: 4063979,
430
+ },
431
+ [UniversalRouterVersion.V2_0]: {
432
+ address: '0x8ac7bee993bb44dab564ea4bc9ea67bf9eb5e743',
433
+ creationBlock: 9111895,
434
+ },
435
+ [UniversalRouterVersion.V2_1_1]: {
436
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
437
+ creationBlock: 27228771,
438
+ },
439
+ [UniversalRouterVersion.V2_1_2]: {
440
+ address: '0xF025e0Fe9E331A0eF05c2ad3C4E9C64b625cda6f',
441
+ creationBlock: 35173079,
442
+ },
443
+ },
444
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
445
+ },
446
+ // unichain sepolia
447
+ [1301]: {
448
+ weth: '0x4200000000000000000000000000000000000006',
449
+ nativeErc20BalanceAlias: false,
450
+ routerConfigs: {
451
+ [UniversalRouterVersion.V1_2]: {
452
+ address: '0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6',
453
+ creationBlock: 1241811,
454
+ },
455
+ [UniversalRouterVersion.V2_0]: {
456
+ address: '0xf70536b3bcc1bd1a972dc186a2cf84cc6da6be5d',
457
+ creationBlock: 7100543,
458
+ },
459
+ [UniversalRouterVersion.V2_1_1]: {
460
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
461
+ creationBlock: 46987997,
462
+ },
463
+ [UniversalRouterVersion.V2_1_2]: {
464
+ address: '0xDf38F24fE153761634Be942F9d859f3DBA857E95',
465
+ creationBlock: 62830804,
466
+ },
467
+ },
468
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
469
+ },
470
+ // unichain mainnet
471
+ [130]: {
472
+ weth: '0x4200000000000000000000000000000000000006',
473
+ nativeErc20BalanceAlias: false,
474
+ routerConfigs: {
475
+ [UniversalRouterVersion.V1_2]: {
476
+ address: '0x4D73A4411CA1c660035e4AECC8270E5DdDEC8C17',
477
+ creationBlock: 23678,
478
+ },
479
+ [UniversalRouterVersion.V2_0]: {
480
+ address: '0xef740bf23acae26f6492b10de645d6b98dc8eaf3',
481
+ creationBlock: 6819690,
482
+ },
483
+ [UniversalRouterVersion.V2_1_1]: {
484
+ address: '0xFdf682F51FE81Aa4898F0AE2163d8A55c127fbC7',
485
+ creationBlock: 43044663,
486
+ },
487
+ [UniversalRouterVersion.V2_1_2]: {
488
+ address: '0xD1b797D92d87B688193A2B976eFc8D577D204343',
489
+ creationBlock: 58934463,
490
+ },
491
+ },
492
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
493
+ },
494
+ // monad testnet
495
+ [10143]: {
496
+ weth: '0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701',
497
+ nativeErc20BalanceAlias: false,
498
+ routerConfigs: {
499
+ [UniversalRouterVersion.V1_2]: {
500
+ address: '0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893',
501
+ creationBlock: 23678,
502
+ },
503
+ [UniversalRouterVersion.V2_0]: {
504
+ address: '0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893',
505
+ creationBlock: 23678,
506
+ },
507
+ },
508
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
509
+ },
510
+ // base sepolia
511
+ [84532]: {
512
+ weth: '0x4200000000000000000000000000000000000006',
513
+ nativeErc20BalanceAlias: false,
514
+ routerConfigs: {
515
+ [UniversalRouterVersion.V1_2]: {
516
+ address: '0x492e6456d9528771018deb9e87ef7750ef184104',
517
+ creationBlock: 20216585,
518
+ },
519
+ [UniversalRouterVersion.V2_0]: {
520
+ address: '0x492e6456d9528771018deb9e87ef7750ef184104',
521
+ creationBlock: 20216585,
522
+ },
523
+ [UniversalRouterVersion.V2_1_1]: {
524
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
525
+ creationBlock: 39035624,
526
+ },
527
+ [UniversalRouterVersion.V2_1_2]: {
528
+ address: '0x8702463e73f74d0b6765aBceb314Ef07aCb92650',
529
+ creationBlock: 46958874,
530
+ },
531
+ },
532
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
533
+ },
534
+ // soneium
535
+ [1868]: {
536
+ weth: '0x4200000000000000000000000000000000000006',
537
+ nativeErc20BalanceAlias: false,
538
+ routerConfigs: {
539
+ [UniversalRouterVersion.V1_2]: {
540
+ address: '0x0e2850543f69f678257266e0907ff9a58b3f13de',
541
+ creationBlock: 3254782,
542
+ },
543
+ [UniversalRouterVersion.V2_0]: {
544
+ address: '0x0e2850543f69f678257266e0907ff9a58b3f13de',
545
+ creationBlock: 3254782,
546
+ },
547
+ [UniversalRouterVersion.V2_1_1]: {
548
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
549
+ creationBlock: 20352508,
550
+ },
551
+ [UniversalRouterVersion.V2_1_2]: {
552
+ address: '0x661E93cca42AfacB172121EF892830cA3b70F08d',
553
+ creationBlock: 28273507,
554
+ },
555
+ },
556
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
557
+ },
558
+ // monad
559
+ [143]: {
560
+ weth: '0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A',
561
+ nativeErc20BalanceAlias: false,
562
+ routerConfigs: {
563
+ [UniversalRouterVersion.V1_2]: {
564
+ address: '0x0d97dc33264bfc1c226207428a79b26757fb9dc3',
565
+ creationBlock: 29255937,
566
+ },
567
+ [UniversalRouterVersion.V2_0]: {
568
+ address: '0x0d97dc33264bfc1c226207428a79b26757fb9dc3',
569
+ creationBlock: 29255937,
570
+ },
571
+ [UniversalRouterVersion.V2_1_1]: {
572
+ address: '0xFdf682F51FE81Aa4898F0AE2163d8A55c127fbC7',
573
+ creationBlock: 62239835,
574
+ },
575
+ [UniversalRouterVersion.V2_1_2]: {
576
+ address: '0xa6CE4F10d83dBdDAc17E68e1837ca9cE6a1b596e',
577
+ creationBlock: 105721635,
578
+ },
579
+ },
580
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
581
+ },
582
+ // linea
583
+ [59144]: {
584
+ weth: '0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f',
585
+ nativeErc20BalanceAlias: false,
586
+ routerConfigs: {
587
+ [UniversalRouterVersion.V2_0]: {
588
+ address: '0x661e93cca42afacb172121ef892830ca3b70f08d',
589
+ creationBlock: 28974980,
590
+ },
591
+ [UniversalRouterVersion.V2_1_1]: {
592
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
593
+ creationBlock: 29782392,
594
+ },
595
+ [UniversalRouterVersion.V2_1_2]: {
596
+ address: '0xDc264714F68d84CF29BC605589405E78bDBE7C9f',
597
+ creationBlock: 32065952,
598
+ },
599
+ },
600
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
601
+ },
602
+ // tempo
603
+ [4217]: {
604
+ weth: WETH_NOT_SUPPORTED_ON_CHAIN,
605
+ nativeErc20BalanceAlias: true,
606
+ routerConfigs: {
607
+ [UniversalRouterVersion.V2_0]: {
608
+ address: '0x1febb76be10aaf3a1402f04e8e835f2c382f7914',
609
+ creationBlock: 6458546,
610
+ },
611
+ [UniversalRouterVersion.V2_1_1]: {
612
+ address: '0xFdf682F51FE81Aa4898F0AE2163d8A55c127fbC7',
613
+ creationBlock: 10065560,
614
+ },
615
+ [UniversalRouterVersion.V2_1_2]: {
616
+ address: '0x182a927119D56008d921126764bF884221b10f59',
617
+ creationBlock: 40003559,
618
+ },
619
+ },
620
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
621
+ },
622
+ // megaeth
623
+ [4326]: {
624
+ weth: '0x4200000000000000000000000000000000000006',
625
+ nativeErc20BalanceAlias: false,
626
+ routerConfigs: {
627
+ [UniversalRouterVersion.V2_0]: {
628
+ address: '0x48fd03529d2a91be835f07f6b72f53b4aad6093d',
629
+ creationBlock: 7009661,
630
+ },
631
+ // MegaETH skipped v2.1.1: it went 2.0 -> 2.1.2.
632
+ [UniversalRouterVersion.V2_1_2]: {
633
+ address: '0xAedd1CF4C14e833140A61E9C0d2b73a64795c823',
634
+ creationBlock: 26887500,
635
+ },
636
+ },
637
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
638
+ },
639
+ // arc
640
+ [5042]: {
641
+ weth: WETH_NOT_SUPPORTED_ON_CHAIN,
642
+ nativeErc20BalanceAlias: true,
643
+ routerConfigs: {
644
+ [UniversalRouterVersion.V2_1_1]: {
645
+ address: '0x4fca4a51ab4f23a7447b3284fbd7d73289a89fb1',
646
+ creationBlock: 1950059,
647
+ },
648
+ [UniversalRouterVersion.V2_1_2]: {
649
+ address: '0x8702463e73f74d0b6765aBceb314Ef07aCb92650',
650
+ creationBlock: 21402239,
651
+ },
652
+ },
653
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
654
+ },
655
+ // robinhood
656
+ [4663]: {
657
+ weth: '0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73',
658
+ nativeErc20BalanceAlias: false,
659
+ routerConfigs: {
660
+ [UniversalRouterVersion.V2_1_1]: {
661
+ address: '0x8876789976decbfcbbbe364623c63652db8c0904',
662
+ creationBlock: 18127,
663
+ },
664
+ [UniversalRouterVersion.V2_1_2]: {
665
+ address: '0x204FAca1764B154221e35c0d20aBb3c525710498',
666
+ creationBlock: 65727895,
667
+ },
668
+ },
669
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
670
+ },
671
+ // ink
672
+ [57073]: {
673
+ weth: '0x4200000000000000000000000000000000000006',
674
+ nativeErc20BalanceAlias: false,
675
+ routerConfigs: {
676
+ [UniversalRouterVersion.V2_0]: {
677
+ address: '0x112908dac86e20e7241b0927479ea3bf935d1fa0',
678
+ creationBlock: 4580586,
679
+ },
680
+ // No v2.1.1 router is deployed on Ink
681
+ [UniversalRouterVersion.V2_1_2]: {
682
+ address: '0x661E93cca42AfacB172121EF892830cA3b70F08d',
683
+ creationBlock: 56186042,
684
+ },
685
+ [UniversalRouterVersion.V2_2_0]: {
686
+ address: '0x315e413a11ab0df498ef83873012430ca36638ae',
687
+ creationBlock: 56772481,
688
+ },
689
+ },
690
+ // SwapProxy on Ink is not at the deterministic SWAP_PROXY_DEPLOY_ADDRESS
691
+ swapProxy: '0x0000000085E102724e78eCd2F45DC9cA239Affad',
692
+ },
693
+ // elysium
694
+ [99901]: {
695
+ // WHYPE: Elysium's gas token is HYPE
696
+ weth: '0xbA876237B0F021A6c6D852d6c26E107997cC5E81',
697
+ nativeErc20BalanceAlias: false,
698
+ routerConfigs: {
699
+ // Only 2.1.2 and 2.2.0 are deployed on Elysium
700
+ [UniversalRouterVersion.V2_1_2]: {
701
+ address: '0xA13f7611115752DEB2B13813BDDE16A5073e4b45',
702
+ creationBlock: 256483,
703
+ },
704
+ // Not the superseded 0x1BD4d69B…3B0D, which is wired to a stale PermissionsAdapterFactory
705
+ [UniversalRouterVersion.V2_2_0]: {
706
+ address: '0x1B341FDD55d56F8E08409A2C25DDFad93Eb03C1a',
707
+ creationBlock: 257585,
708
+ },
709
+ },
710
+ // SwapProxy on Elysium is not at the deterministic SWAP_PROXY_DEPLOY_ADDRESS
711
+ swapProxy: '0x0000000085E102724e78eCd2F45DC9cA239Affad',
712
+ },
713
+ // xlayer
714
+ [196]: {
715
+ weth: '0xe538905cf8410324e03A5A23C1c177a474D59b2b',
716
+ nativeErc20BalanceAlias: false,
717
+ routerConfigs: {
718
+ [UniversalRouterVersion.V2_0]: {
719
+ address: '0x5507749f2c558bb3e162c6e90c314c092e7372ff',
720
+ creationBlock: 47680350,
721
+ },
722
+ [UniversalRouterVersion.V2_1_1]: {
723
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
724
+ creationBlock: 55072165,
725
+ },
726
+ [UniversalRouterVersion.V2_1_2]: {
727
+ address: '0x1cd182C94fcF42277B80DBB9060F88024809E61E',
728
+ creationBlock: 70914540,
729
+ },
730
+ },
731
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
732
+ },
733
+ };
734
+ const UNIVERSAL_ROUTER_ADDRESS = (version, chainId) => {
735
+ if (!(chainId in exports.CHAIN_CONFIGS))
736
+ throw new Error(`Universal Router not deployed on chain ${chainId}`);
737
+ const config = exports.CHAIN_CONFIGS[chainId].routerConfigs[version];
738
+ if (!config)
739
+ throw new Error(`Universal Router version ${version} not deployed on chain ${chainId}`);
740
+ return config.address;
741
+ };
742
+ exports.UNIVERSAL_ROUTER_ADDRESS = UNIVERSAL_ROUTER_ADDRESS;
743
+ const SWAP_PROXY_ADDRESS = (chainId) => {
744
+ if (!(chainId in exports.CHAIN_CONFIGS))
745
+ throw new Error(`SwapProxy not deployed on chain ${chainId}`);
746
+ const proxy = exports.CHAIN_CONFIGS[chainId].swapProxy;
747
+ if (!proxy)
748
+ throw new Error(`SwapProxy not configured for chain ${chainId}`);
749
+ return proxy;
750
+ };
751
+ exports.SWAP_PROXY_ADDRESS = SWAP_PROXY_ADDRESS;
752
+ const UNIVERSAL_ROUTER_CREATION_BLOCK = (version, chainId) => {
753
+ if (!(chainId in exports.CHAIN_CONFIGS))
754
+ throw new Error(`Universal Router not deployed on chain ${chainId}`);
755
+ const config = exports.CHAIN_CONFIGS[chainId].routerConfigs[version];
756
+ if (!config)
757
+ throw new Error(`Universal Router version ${version} not deployed on chain ${chainId}`);
758
+ return config.creationBlock;
759
+ };
760
+ exports.UNIVERSAL_ROUTER_CREATION_BLOCK = UNIVERSAL_ROUTER_CREATION_BLOCK;
761
+ const WETH_ADDRESS = (chainId) => {
762
+ if (!(chainId in exports.CHAIN_CONFIGS))
763
+ throw new Error(`Universal Router not deployed on chain ${chainId}`);
764
+ if (exports.CHAIN_CONFIGS[chainId].weth == WETH_NOT_SUPPORTED_ON_CHAIN)
765
+ throw new Error(`Chain ${chainId} does not have WETH`);
766
+ return exports.CHAIN_CONFIGS[chainId].weth;
767
+ };
768
+ exports.WETH_ADDRESS = WETH_ADDRESS;
769
+ exports.CONTRACT_BALANCE = bignumber_1.BigNumber.from(2).pow(255);
770
+ exports.ETH_ADDRESS = '0x0000000000000000000000000000000000000000';
771
+ exports.E_ETH_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
772
+ exports.ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
773
+ exports.MAX_UINT256 = bignumber_1.BigNumber.from(2).pow(256).sub(1);
774
+ exports.MAX_UINT160 = bignumber_1.BigNumber.from(2).pow(160).sub(1);
775
+ exports.SENDER_AS_RECIPIENT = '0x0000000000000000000000000000000000000001';
776
+ exports.ROUTER_AS_RECIPIENT = '0x0000000000000000000000000000000000000002';
777
+ //# sourceMappingURL=constants.js.map