@centurion_project/universal-router-sdk 5.1.0-ctn.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 (121) hide show
  1. package/README.md +332 -0
  2. package/dist/cjs/src/entities/Command.d.ts +12 -0
  3. package/dist/cjs/src/entities/Command.js +9 -0
  4. package/dist/cjs/src/entities/Command.js.map +1 -0
  5. package/dist/cjs/src/entities/actions/across.d.ts +21 -0
  6. package/dist/cjs/src/entities/actions/across.js +7 -0
  7. package/dist/cjs/src/entities/actions/across.js.map +1 -0
  8. package/dist/cjs/src/entities/actions/index.d.ts +3 -0
  9. package/dist/cjs/src/entities/actions/index.js +7 -0
  10. package/dist/cjs/src/entities/actions/index.js.map +1 -0
  11. package/dist/cjs/src/entities/actions/uniswap.d.ts +38 -0
  12. package/dist/cjs/src/entities/actions/uniswap.js +545 -0
  13. package/dist/cjs/src/entities/actions/uniswap.js.map +1 -0
  14. package/dist/cjs/src/entities/actions/unwrapWETH.d.ts +12 -0
  15. package/dist/cjs/src/entities/actions/unwrapWETH.js +33 -0
  16. package/dist/cjs/src/entities/actions/unwrapWETH.js.map +1 -0
  17. package/dist/cjs/src/entities/index.d.ts +2 -0
  18. package/dist/cjs/src/entities/index.js +6 -0
  19. package/dist/cjs/src/entities/index.js.map +1 -0
  20. package/dist/cjs/src/index.d.ts +11 -0
  21. package/dist/cjs/src/index.js +31 -0
  22. package/dist/cjs/src/index.js.map +1 -0
  23. package/dist/cjs/src/swapRouter.d.ts +87 -0
  24. package/dist/cjs/src/swapRouter.js +263 -0
  25. package/dist/cjs/src/swapRouter.js.map +1 -0
  26. package/dist/cjs/src/utils/commandParser.d.ts +34 -0
  27. package/dist/cjs/src/utils/commandParser.js +145 -0
  28. package/dist/cjs/src/utils/commandParser.js.map +1 -0
  29. package/dist/cjs/src/utils/constants.d.ts +39 -0
  30. package/dist/cjs/src/utils/constants.js +549 -0
  31. package/dist/cjs/src/utils/constants.js.map +1 -0
  32. package/dist/cjs/src/utils/eip712.d.ts +17 -0
  33. package/dist/cjs/src/utils/eip712.js +43 -0
  34. package/dist/cjs/src/utils/eip712.js.map +1 -0
  35. package/dist/cjs/src/utils/getCurrencyAddress.d.ts +2 -0
  36. package/dist/cjs/src/utils/getCurrencyAddress.js +9 -0
  37. package/dist/cjs/src/utils/getCurrencyAddress.js.map +1 -0
  38. package/dist/cjs/src/utils/inputTokens.d.ts +23 -0
  39. package/dist/cjs/src/utils/inputTokens.js +58 -0
  40. package/dist/cjs/src/utils/inputTokens.js.map +1 -0
  41. package/dist/cjs/src/utils/numbers.d.ts +7 -0
  42. package/dist/cjs/src/utils/numbers.js +27 -0
  43. package/dist/cjs/src/utils/numbers.js.map +1 -0
  44. package/dist/cjs/src/utils/pathCurrency.d.ts +3 -0
  45. package/dist/cjs/src/utils/pathCurrency.js +27 -0
  46. package/dist/cjs/src/utils/pathCurrency.js.map +1 -0
  47. package/dist/cjs/src/utils/routerCommands.d.ts +77 -0
  48. package/dist/cjs/src/utils/routerCommands.js +334 -0
  49. package/dist/cjs/src/utils/routerCommands.js.map +1 -0
  50. package/dist/cjs/src/utils/routerTradeAdapter.d.ts +73 -0
  51. package/dist/cjs/src/utils/routerTradeAdapter.js +139 -0
  52. package/dist/cjs/src/utils/routerTradeAdapter.js.map +1 -0
  53. package/dist/esm/src/entities/Command.d.ts +12 -0
  54. package/dist/esm/src/entities/Command.js +6 -0
  55. package/dist/esm/src/entities/Command.js.map +1 -0
  56. package/dist/esm/src/entities/actions/across.d.ts +21 -0
  57. package/dist/esm/src/entities/actions/across.js +3 -0
  58. package/dist/esm/src/entities/actions/across.js.map +1 -0
  59. package/dist/esm/src/entities/actions/index.d.ts +3 -0
  60. package/dist/esm/src/entities/actions/index.js +4 -0
  61. package/dist/esm/src/entities/actions/index.js.map +1 -0
  62. package/dist/esm/src/entities/actions/uniswap.d.ts +38 -0
  63. package/dist/esm/src/entities/actions/uniswap.js +541 -0
  64. package/dist/esm/src/entities/actions/uniswap.js.map +1 -0
  65. package/dist/esm/src/entities/actions/unwrapWETH.d.ts +12 -0
  66. package/dist/esm/src/entities/actions/unwrapWETH.js +28 -0
  67. package/dist/esm/src/entities/actions/unwrapWETH.js.map +1 -0
  68. package/dist/esm/src/entities/index.d.ts +2 -0
  69. package/dist/esm/src/entities/index.js +3 -0
  70. package/dist/esm/src/entities/index.js.map +1 -0
  71. package/dist/esm/src/index.d.ts +11 -0
  72. package/dist/esm/src/index.js +8 -0
  73. package/dist/esm/src/index.js.map +1 -0
  74. package/dist/esm/src/swapRouter.d.ts +87 -0
  75. package/dist/esm/src/swapRouter.js +258 -0
  76. package/dist/esm/src/swapRouter.js.map +1 -0
  77. package/dist/esm/src/utils/commandParser.d.ts +34 -0
  78. package/dist/esm/src/utils/commandParser.js +137 -0
  79. package/dist/esm/src/utils/commandParser.js.map +1 -0
  80. package/dist/esm/src/utils/constants.d.ts +39 -0
  81. package/dist/esm/src/utils/constants.js +541 -0
  82. package/dist/esm/src/utils/constants.js.map +1 -0
  83. package/dist/esm/src/utils/eip712.d.ts +17 -0
  84. package/dist/esm/src/utils/eip712.js +38 -0
  85. package/dist/esm/src/utils/eip712.js.map +1 -0
  86. package/dist/esm/src/utils/getCurrencyAddress.d.ts +2 -0
  87. package/dist/esm/src/utils/getCurrencyAddress.js +5 -0
  88. package/dist/esm/src/utils/getCurrencyAddress.js.map +1 -0
  89. package/dist/esm/src/utils/inputTokens.d.ts +23 -0
  90. package/dist/esm/src/utils/inputTokens.js +51 -0
  91. package/dist/esm/src/utils/inputTokens.js.map +1 -0
  92. package/dist/esm/src/utils/numbers.d.ts +7 -0
  93. package/dist/esm/src/utils/numbers.js +19 -0
  94. package/dist/esm/src/utils/numbers.js.map +1 -0
  95. package/dist/esm/src/utils/pathCurrency.d.ts +3 -0
  96. package/dist/esm/src/utils/pathCurrency.js +23 -0
  97. package/dist/esm/src/utils/pathCurrency.js.map +1 -0
  98. package/dist/esm/src/utils/routerCommands.d.ts +77 -0
  99. package/dist/esm/src/utils/routerCommands.js +329 -0
  100. package/dist/esm/src/utils/routerCommands.js.map +1 -0
  101. package/dist/esm/src/utils/routerTradeAdapter.d.ts +73 -0
  102. package/dist/esm/src/utils/routerTradeAdapter.js +134 -0
  103. package/dist/esm/src/utils/routerTradeAdapter.js.map +1 -0
  104. package/dist/types/src/entities/Command.d.ts +12 -0
  105. package/dist/types/src/entities/actions/across.d.ts +21 -0
  106. package/dist/types/src/entities/actions/index.d.ts +3 -0
  107. package/dist/types/src/entities/actions/uniswap.d.ts +38 -0
  108. package/dist/types/src/entities/actions/unwrapWETH.d.ts +12 -0
  109. package/dist/types/src/entities/index.d.ts +2 -0
  110. package/dist/types/src/index.d.ts +11 -0
  111. package/dist/types/src/swapRouter.d.ts +87 -0
  112. package/dist/types/src/utils/commandParser.d.ts +34 -0
  113. package/dist/types/src/utils/constants.d.ts +39 -0
  114. package/dist/types/src/utils/eip712.d.ts +17 -0
  115. package/dist/types/src/utils/getCurrencyAddress.d.ts +2 -0
  116. package/dist/types/src/utils/inputTokens.d.ts +23 -0
  117. package/dist/types/src/utils/numbers.d.ts +7 -0
  118. package/dist/types/src/utils/pathCurrency.d.ts +3 -0
  119. package/dist/types/src/utils/routerCommands.d.ts +77 -0
  120. package/dist/types/src/utils/routerTradeAdapter.d.ts +73 -0
  121. package/package.json +85 -0
@@ -0,0 +1,39 @@
1
+ import { BigNumber } from 'ethers';
2
+ export declare enum UniversalRouterVersion {
3
+ V1_2 = "1.2",
4
+ V2_0 = "2.0",
5
+ V2_1_1 = "2.1.1"
6
+ }
7
+ /**
8
+ * Check if a UniversalRouterVersion is at least V2_1_1.
9
+ * Duplicated from @uniswap/v4-sdk's isAtLeastV2_1_1 (which operates on URVersion)
10
+ * to avoid coupling universal-router-sdk's version logic to v4-sdk.
11
+ */
12
+ export declare function isAtLeastV2_1_1(version?: UniversalRouterVersion): boolean;
13
+ export type RouterConfig = {
14
+ address: string;
15
+ creationBlock: number;
16
+ };
17
+ type ChainConfig = {
18
+ weth: string;
19
+ routerConfigs: {
20
+ [key in UniversalRouterVersion]?: RouterConfig;
21
+ };
22
+ swapProxy?: string;
23
+ };
24
+ export declare const CHAIN_CONFIGS: {
25
+ [key: number]: ChainConfig;
26
+ };
27
+ export declare const UNIVERSAL_ROUTER_ADDRESS: (version: UniversalRouterVersion, chainId: number) => string;
28
+ export declare const SWAP_PROXY_ADDRESS: (chainId: number) => string;
29
+ export declare const UNIVERSAL_ROUTER_CREATION_BLOCK: (version: UniversalRouterVersion, chainId: number) => number;
30
+ export declare const WETH_ADDRESS: (chainId: number) => string;
31
+ export declare const CONTRACT_BALANCE: BigNumber;
32
+ export declare const ETH_ADDRESS = "0x0000000000000000000000000000000000000000";
33
+ export declare const E_ETH_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
34
+ export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
35
+ export declare const MAX_UINT256: BigNumber;
36
+ export declare const MAX_UINT160: BigNumber;
37
+ export declare const SENDER_AS_RECIPIENT = "0x0000000000000000000000000000000000000001";
38
+ export declare const ROUTER_AS_RECIPIENT = "0x0000000000000000000000000000000000000002";
39
+ export {};
@@ -0,0 +1,549 @@
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_1_1 = exports.UniversalRouterVersion = void 0;
4
+ const ethers_1 = require("ethers");
5
+ var UniversalRouterVersion;
6
+ (function (UniversalRouterVersion) {
7
+ UniversalRouterVersion["V1_2"] = "1.2";
8
+ UniversalRouterVersion["V2_0"] = "2.0";
9
+ UniversalRouterVersion["V2_1_1"] = "2.1.1";
10
+ })(UniversalRouterVersion = exports.UniversalRouterVersion || (exports.UniversalRouterVersion = {}));
11
+ /**
12
+ * Check if a UniversalRouterVersion is at least V2_1_1.
13
+ * Duplicated from @uniswap/v4-sdk's isAtLeastV2_1_1 (which operates on URVersion)
14
+ * to avoid coupling universal-router-sdk's version logic to v4-sdk.
15
+ */
16
+ function isAtLeastV2_1_1(version) {
17
+ return !!version && version.localeCompare(UniversalRouterVersion.V2_1_1, undefined, { numeric: true }) >= 0;
18
+ }
19
+ exports.isAtLeastV2_1_1 = isAtLeastV2_1_1;
20
+ const WETH_NOT_SUPPORTED_ON_CHAIN = '0x0000000000000000000000000000000000000000';
21
+ const SWAP_PROXY_DEPLOY_ADDRESS = '0x02E5be68D46DAc0B524905bfF209cf47EE6dB2a9';
22
+ // Todo: Change `CHAIN_CONFIGS` to pull the UR address with v4
23
+ exports.CHAIN_CONFIGS = {
24
+ // mainnet (Centurion)
25
+ [286]: {
26
+ weth: '0xDF523a3e9eFc161a5fA2e7054EE3f6705CCD790F',
27
+ routerConfigs: {
28
+ [UniversalRouterVersion.V1_2]: {
29
+ address: '0x53c806C338267Da5dD19F2A5Cf1D32fa7649fA5f',
30
+ creationBlock: 0,
31
+ },
32
+ [UniversalRouterVersion.V2_0]: {
33
+ address: '0x53c806C338267Da5dD19F2A5Cf1D32fa7649fA5f',
34
+ creationBlock: 0,
35
+ },
36
+ [UniversalRouterVersion.V2_1_1]: {
37
+ address: '0x53c806C338267Da5dD19F2A5Cf1D32fa7649fA5f',
38
+ creationBlock: 0,
39
+ },
40
+ },
41
+ },
42
+ // goerli
43
+ [5]: {
44
+ weth: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6',
45
+ routerConfigs: {
46
+ [UniversalRouterVersion.V1_2]: {
47
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
48
+ creationBlock: 8940568,
49
+ },
50
+ [UniversalRouterVersion.V2_0]: {
51
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
52
+ creationBlock: 8940568,
53
+ },
54
+ },
55
+ },
56
+ // sepolia
57
+ [11155111]: {
58
+ weth: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',
59
+ routerConfigs: {
60
+ [UniversalRouterVersion.V1_2]: {
61
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
62
+ creationBlock: 3543575,
63
+ },
64
+ [UniversalRouterVersion.V2_0]: {
65
+ address: '0x3a9d48ab9751398bbfa63ad67599bb04e4bdf98b',
66
+ creationBlock: 7259601,
67
+ },
68
+ [UniversalRouterVersion.V2_1_1]: {
69
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
70
+ creationBlock: 10470160,
71
+ },
72
+ },
73
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
74
+ },
75
+ // polygon
76
+ [137]: {
77
+ weth: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
78
+ routerConfigs: {
79
+ [UniversalRouterVersion.V1_2]: {
80
+ address: '0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2',
81
+ creationBlock: 52210153,
82
+ },
83
+ [UniversalRouterVersion.V2_0]: {
84
+ address: '0x1095692a6237d83c6a72f3f5efedb9a670c49223',
85
+ creationBlock: 66980401,
86
+ },
87
+ [UniversalRouterVersion.V2_1_1]: {
88
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
89
+ creationBlock: 84336468,
90
+ },
91
+ },
92
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
93
+ },
94
+ //polygon mumbai
95
+ [80001]: {
96
+ weth: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889',
97
+ routerConfigs: {
98
+ [UniversalRouterVersion.V1_2]: {
99
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
100
+ creationBlock: 35176052,
101
+ },
102
+ [UniversalRouterVersion.V2_0]: {
103
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
104
+ creationBlock: 35176052,
105
+ },
106
+ },
107
+ },
108
+ //optimism
109
+ [10]: {
110
+ weth: '0x4200000000000000000000000000000000000006',
111
+ routerConfigs: {
112
+ [UniversalRouterVersion.V1_2]: {
113
+ address: '0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8',
114
+ creationBlock: 114702266,
115
+ },
116
+ [UniversalRouterVersion.V2_0]: {
117
+ address: '0x851116d9223fabed8e56c0e6b8ad0c31d98b3507',
118
+ creationBlock: 130947687,
119
+ },
120
+ [UniversalRouterVersion.V2_1_1]: {
121
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
122
+ creationBlock: 149097062,
123
+ },
124
+ },
125
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
126
+ },
127
+ // optimism goerli
128
+ [420]: {
129
+ weth: '0x4200000000000000000000000000000000000006',
130
+ routerConfigs: {
131
+ [UniversalRouterVersion.V1_2]: {
132
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
133
+ creationBlock: 8887728,
134
+ },
135
+ [UniversalRouterVersion.V2_0]: {
136
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
137
+ creationBlock: 8887728,
138
+ },
139
+ },
140
+ },
141
+ // arbitrum
142
+ [42161]: {
143
+ weth: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
144
+ routerConfigs: {
145
+ [UniversalRouterVersion.V1_2]: {
146
+ address: '0x5E325eDA8064b456f4781070C0738d849c824258',
147
+ creationBlock: 169472836,
148
+ },
149
+ [UniversalRouterVersion.V2_0]: {
150
+ address: '0xa51afafe0263b40edaef0df8781ea9aa03e381a3',
151
+ creationBlock: 297842906,
152
+ },
153
+ [UniversalRouterVersion.V2_1_1]: {
154
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
155
+ creationBlock: 442902181,
156
+ },
157
+ },
158
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
159
+ },
160
+ // arbitrum goerli
161
+ [421613]: {
162
+ weth: '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3',
163
+ routerConfigs: {
164
+ [UniversalRouterVersion.V1_2]: {
165
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
166
+ creationBlock: 18815277,
167
+ },
168
+ [UniversalRouterVersion.V2_0]: {
169
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
170
+ creationBlock: 18815277,
171
+ },
172
+ },
173
+ },
174
+ // celo
175
+ [42220]: {
176
+ weth: WETH_NOT_SUPPORTED_ON_CHAIN,
177
+ routerConfigs: {
178
+ [UniversalRouterVersion.V1_2]: {
179
+ address: '0x643770e279d5d0733f21d6dc03a8efbabf3255b4',
180
+ creationBlock: 21407637,
181
+ },
182
+ [UniversalRouterVersion.V2_0]: {
183
+ address: '0xcb695bc5D3Aa22cAD1E6DF07801b061a05A0233A',
184
+ creationBlock: 47387857,
185
+ },
186
+ [UniversalRouterVersion.V2_1_1]: {
187
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
188
+ creationBlock: 61893766,
189
+ },
190
+ },
191
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
192
+ },
193
+ // celo alfajores
194
+ [44787]: {
195
+ weth: WETH_NOT_SUPPORTED_ON_CHAIN,
196
+ routerConfigs: {
197
+ [UniversalRouterVersion.V1_2]: {
198
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
199
+ creationBlock: 17566658,
200
+ },
201
+ [UniversalRouterVersion.V2_0]: {
202
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
203
+ creationBlock: 17566658,
204
+ },
205
+ },
206
+ },
207
+ // binance smart chain
208
+ [56]: {
209
+ weth: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
210
+ routerConfigs: {
211
+ [UniversalRouterVersion.V1_2]: {
212
+ address: '0x4Dae2f939ACf50408e13d58534Ff8c2776d45265',
213
+ creationBlock: 35160263,
214
+ },
215
+ [UniversalRouterVersion.V2_0]: {
216
+ address: '0x1906c1d672b88cd1b9ac7593301ca990f94eae07',
217
+ creationBlock: 45970616,
218
+ },
219
+ [UniversalRouterVersion.V2_1_1]: {
220
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
221
+ creationBlock: 87208607,
222
+ },
223
+ },
224
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
225
+ },
226
+ // avalanche
227
+ [43114]: {
228
+ weth: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
229
+ routerConfigs: {
230
+ [UniversalRouterVersion.V1_2]: {
231
+ address: '0x4Dae2f939ACf50408e13d58534Ff8c2776d45265',
232
+ creationBlock: 40237257,
233
+ },
234
+ [UniversalRouterVersion.V2_0]: {
235
+ address: '0x94b75331ae8d42c1b61065089b7d48fe14aa73b7',
236
+ creationBlock: 56195395,
237
+ },
238
+ [UniversalRouterVersion.V2_1_1]: {
239
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
240
+ creationBlock: 80616324,
241
+ },
242
+ },
243
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
244
+ },
245
+ // base goerli
246
+ [84531]: {
247
+ weth: '0x4200000000000000000000000000000000000006',
248
+ routerConfigs: {
249
+ [UniversalRouterVersion.V1_2]: {
250
+ address: '0xd0872d928672ae2ff74bdb2f5130ac12229cafaf',
251
+ creationBlock: 6915289,
252
+ },
253
+ [UniversalRouterVersion.V2_0]: {
254
+ address: '0xd0872d928672ae2ff74bdb2f5130ac12229cafaf',
255
+ creationBlock: 6915289,
256
+ },
257
+ },
258
+ },
259
+ // base mainnet
260
+ [8453]: {
261
+ weth: '0x4200000000000000000000000000000000000006',
262
+ routerConfigs: {
263
+ [UniversalRouterVersion.V1_2]: {
264
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
265
+ creationBlock: 9107268,
266
+ },
267
+ [UniversalRouterVersion.V2_0]: {
268
+ address: '0x6ff5693b99212da76ad316178a184ab56d299b43',
269
+ creationBlock: 25350999,
270
+ },
271
+ [UniversalRouterVersion.V2_1_1]: {
272
+ address: '0xfdf682f51fe81aa4898f0ae2163d8a55c127fbc7',
273
+ creationBlock: 43501203,
274
+ },
275
+ },
276
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
277
+ },
278
+ // blast
279
+ [81457]: {
280
+ weth: '0x4300000000000000000000000000000000000004',
281
+ routerConfigs: {
282
+ [UniversalRouterVersion.V1_2]: {
283
+ address: '0x643770E279d5D0733F21d6DC03A8efbABf3255B4',
284
+ creationBlock: 1116444,
285
+ },
286
+ [UniversalRouterVersion.V2_0]: {
287
+ address: '0xeabbcb3e8e415306207ef514f660a3f820025be3',
288
+ creationBlock: 14377319,
289
+ },
290
+ [UniversalRouterVersion.V2_1_1]: {
291
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
292
+ creationBlock: 32492192,
293
+ },
294
+ },
295
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
296
+ },
297
+ // zora
298
+ [7777777]: {
299
+ weth: '0x4200000000000000000000000000000000000006',
300
+ routerConfigs: {
301
+ [UniversalRouterVersion.V1_2]: {
302
+ address: '0x2986d9721A49838ab4297b695858aF7F17f38014',
303
+ creationBlock: 11832155,
304
+ },
305
+ [UniversalRouterVersion.V2_0]: {
306
+ address: '0x3315ef7ca28db74abadc6c44570efdf06b04b020',
307
+ creationBlock: 25434544,
308
+ },
309
+ [UniversalRouterVersion.V2_1_1]: {
310
+ address: '0xFdf682F51FE81Aa4898F0AE2163d8A55c127fbC7',
311
+ creationBlock: 43550401,
312
+ },
313
+ },
314
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
315
+ },
316
+ // zksync
317
+ [324]: {
318
+ weth: '0x5aea5775959fbc2557cc8789bc1bf90a239d9a91',
319
+ routerConfigs: {
320
+ [UniversalRouterVersion.V1_2]: {
321
+ address: '0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06',
322
+ creationBlock: 12640979,
323
+ },
324
+ [UniversalRouterVersion.V2_0]: {
325
+ address: '0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06',
326
+ creationBlock: 12640979,
327
+ },
328
+ },
329
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
330
+ },
331
+ // worldchain
332
+ [480]: {
333
+ weth: '0x4200000000000000000000000000000000000006',
334
+ routerConfigs: {
335
+ [UniversalRouterVersion.V1_2]: {
336
+ address: '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D',
337
+ creationBlock: 4063979,
338
+ },
339
+ [UniversalRouterVersion.V2_0]: {
340
+ address: '0x8ac7bee993bb44dab564ea4bc9ea67bf9eb5e743',
341
+ creationBlock: 9111895,
342
+ },
343
+ [UniversalRouterVersion.V2_1_1]: {
344
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
345
+ creationBlock: 27228771,
346
+ },
347
+ },
348
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
349
+ },
350
+ // unichain sepolia
351
+ [1301]: {
352
+ weth: '0x4200000000000000000000000000000000000006',
353
+ routerConfigs: {
354
+ [UniversalRouterVersion.V1_2]: {
355
+ address: '0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6',
356
+ creationBlock: 1241811,
357
+ },
358
+ [UniversalRouterVersion.V2_0]: {
359
+ address: '0xf70536b3bcc1bd1a972dc186a2cf84cc6da6be5d',
360
+ creationBlock: 7100543,
361
+ },
362
+ [UniversalRouterVersion.V2_1_1]: {
363
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
364
+ creationBlock: 46987997,
365
+ },
366
+ },
367
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
368
+ },
369
+ // unichain mainnet
370
+ [130]: {
371
+ weth: '0x4200000000000000000000000000000000000006',
372
+ routerConfigs: {
373
+ [UniversalRouterVersion.V1_2]: {
374
+ address: '0x4D73A4411CA1c660035e4AECC8270E5DdDEC8C17',
375
+ creationBlock: 23678,
376
+ },
377
+ [UniversalRouterVersion.V2_0]: {
378
+ address: '0xef740bf23acae26f6492b10de645d6b98dc8eaf3',
379
+ creationBlock: 6819690,
380
+ },
381
+ [UniversalRouterVersion.V2_1_1]: {
382
+ address: '0xFdf682F51FE81Aa4898F0AE2163d8A55c127fbC7',
383
+ creationBlock: 43044663,
384
+ },
385
+ },
386
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
387
+ },
388
+ // monad testnet
389
+ [10143]: {
390
+ weth: '0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701',
391
+ routerConfigs: {
392
+ [UniversalRouterVersion.V1_2]: {
393
+ address: '0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893',
394
+ creationBlock: 23678,
395
+ },
396
+ [UniversalRouterVersion.V2_0]: {
397
+ address: '0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893',
398
+ creationBlock: 23678,
399
+ },
400
+ },
401
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
402
+ },
403
+ // base sepolia
404
+ [84532]: {
405
+ weth: '0x4200000000000000000000000000000000000006',
406
+ routerConfigs: {
407
+ [UniversalRouterVersion.V1_2]: {
408
+ address: '0x492e6456d9528771018deb9e87ef7750ef184104',
409
+ creationBlock: 20216585,
410
+ },
411
+ [UniversalRouterVersion.V2_0]: {
412
+ address: '0x492e6456d9528771018deb9e87ef7750ef184104',
413
+ creationBlock: 20216585,
414
+ },
415
+ [UniversalRouterVersion.V2_1_1]: {
416
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
417
+ creationBlock: 39035624,
418
+ },
419
+ },
420
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
421
+ },
422
+ // soneium
423
+ [1868]: {
424
+ weth: '0x4200000000000000000000000000000000000006',
425
+ routerConfigs: {
426
+ [UniversalRouterVersion.V1_2]: {
427
+ address: '0x0e2850543f69f678257266e0907ff9a58b3f13de',
428
+ creationBlock: 3254782,
429
+ },
430
+ [UniversalRouterVersion.V2_0]: {
431
+ address: '0x0e2850543f69f678257266e0907ff9a58b3f13de',
432
+ creationBlock: 3254782,
433
+ },
434
+ [UniversalRouterVersion.V2_1_1]: {
435
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
436
+ creationBlock: 20352508,
437
+ },
438
+ },
439
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
440
+ },
441
+ // monad
442
+ [143]: {
443
+ weth: '0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A',
444
+ routerConfigs: {
445
+ [UniversalRouterVersion.V1_2]: {
446
+ address: '0x0d97dc33264bfc1c226207428a79b26757fb9dc3',
447
+ creationBlock: 29255937,
448
+ },
449
+ [UniversalRouterVersion.V2_0]: {
450
+ address: '0x0d97dc33264bfc1c226207428a79b26757fb9dc3',
451
+ creationBlock: 29255937,
452
+ },
453
+ [UniversalRouterVersion.V2_1_1]: {
454
+ address: '0xFdf682F51FE81Aa4898F0AE2163d8A55c127fbC7',
455
+ creationBlock: 62239835,
456
+ },
457
+ },
458
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
459
+ },
460
+ // linea
461
+ [59144]: {
462
+ weth: '0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f',
463
+ routerConfigs: {
464
+ [UniversalRouterVersion.V2_0]: {
465
+ address: '0x661e93cca42afacb172121ef892830ca3b70f08d',
466
+ creationBlock: 28974980,
467
+ },
468
+ [UniversalRouterVersion.V2_1_1]: {
469
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
470
+ creationBlock: 29782392,
471
+ },
472
+ },
473
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
474
+ },
475
+ // tempo
476
+ [4217]: {
477
+ weth: WETH_NOT_SUPPORTED_ON_CHAIN,
478
+ routerConfigs: {
479
+ [UniversalRouterVersion.V2_0]: {
480
+ address: '0x1febb76be10aaf3a1402f04e8e835f2c382f7914',
481
+ creationBlock: 6458546,
482
+ },
483
+ [UniversalRouterVersion.V2_1_1]: {
484
+ address: '0xFdf682F51FE81Aa4898F0AE2163d8A55c127fbC7',
485
+ creationBlock: 10065560,
486
+ },
487
+ },
488
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
489
+ },
490
+ // xlayer
491
+ [196]: {
492
+ weth: '0xe538905cf8410324e03A5A23C1c177a474D59b2b',
493
+ routerConfigs: {
494
+ [UniversalRouterVersion.V2_0]: {
495
+ address: '0x5507749f2c558bb3e162c6e90c314c092e7372ff',
496
+ creationBlock: 47680350,
497
+ },
498
+ [UniversalRouterVersion.V2_1_1]: {
499
+ address: '0x8B844f885672f333Bc0042cB669255f93a4C1E6b',
500
+ creationBlock: 55072165,
501
+ },
502
+ },
503
+ swapProxy: SWAP_PROXY_DEPLOY_ADDRESS,
504
+ },
505
+ };
506
+ const UNIVERSAL_ROUTER_ADDRESS = (version, chainId) => {
507
+ if (!(chainId in exports.CHAIN_CONFIGS))
508
+ throw new Error(`Universal Router not deployed on chain ${chainId}`);
509
+ const config = exports.CHAIN_CONFIGS[chainId].routerConfigs[version];
510
+ if (!config)
511
+ throw new Error(`Universal Router version ${version} not deployed on chain ${chainId}`);
512
+ return config.address;
513
+ };
514
+ exports.UNIVERSAL_ROUTER_ADDRESS = UNIVERSAL_ROUTER_ADDRESS;
515
+ const SWAP_PROXY_ADDRESS = (chainId) => {
516
+ if (!(chainId in exports.CHAIN_CONFIGS))
517
+ throw new Error(`SwapProxy not deployed on chain ${chainId}`);
518
+ const proxy = exports.CHAIN_CONFIGS[chainId].swapProxy;
519
+ if (!proxy)
520
+ throw new Error(`SwapProxy not configured for chain ${chainId}`);
521
+ return proxy;
522
+ };
523
+ exports.SWAP_PROXY_ADDRESS = SWAP_PROXY_ADDRESS;
524
+ const UNIVERSAL_ROUTER_CREATION_BLOCK = (version, chainId) => {
525
+ if (!(chainId in exports.CHAIN_CONFIGS))
526
+ throw new Error(`Universal Router not deployed on chain ${chainId}`);
527
+ const config = exports.CHAIN_CONFIGS[chainId].routerConfigs[version];
528
+ if (!config)
529
+ throw new Error(`Universal Router version ${version} not deployed on chain ${chainId}`);
530
+ return config.creationBlock;
531
+ };
532
+ exports.UNIVERSAL_ROUTER_CREATION_BLOCK = UNIVERSAL_ROUTER_CREATION_BLOCK;
533
+ const WETH_ADDRESS = (chainId) => {
534
+ if (!(chainId in exports.CHAIN_CONFIGS))
535
+ throw new Error(`Universal Router not deployed on chain ${chainId}`);
536
+ if (exports.CHAIN_CONFIGS[chainId].weth == WETH_NOT_SUPPORTED_ON_CHAIN)
537
+ throw new Error(`Chain ${chainId} does not have WETH`);
538
+ return exports.CHAIN_CONFIGS[chainId].weth;
539
+ };
540
+ exports.WETH_ADDRESS = WETH_ADDRESS;
541
+ exports.CONTRACT_BALANCE = ethers_1.BigNumber.from(2).pow(255);
542
+ exports.ETH_ADDRESS = '0x0000000000000000000000000000000000000000';
543
+ exports.E_ETH_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
544
+ exports.ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
545
+ exports.MAX_UINT256 = ethers_1.BigNumber.from(2).pow(256).sub(1);
546
+ exports.MAX_UINT160 = ethers_1.BigNumber.from(2).pow(160).sub(1);
547
+ exports.SENDER_AS_RECIPIENT = '0x0000000000000000000000000000000000000001';
548
+ exports.ROUTER_AS_RECIPIENT = '0x0000000000000000000000000000000000000002';
549
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/utils/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { TypedDataDomain, TypedDataField } from '@ethersproject/abstract-signer';
2
+ export declare const EIP712_DOMAIN_NAME = "UniversalRouter";
3
+ export declare const EIP712_DOMAIN_VERSION = "2";
4
+ export declare const EXECUTE_SIGNED_TYPES: Record<string, TypedDataField[]>;
5
+ /**
6
+ * Generate EIP712 domain for Universal Router
7
+ */
8
+ export declare function getUniversalRouterDomain(chainId: number, verifyingContract: string): TypedDataDomain;
9
+ /**
10
+ * Generate a random nonce for signed execution
11
+ * Uses ethers.utils.randomBytes for secure randomness
12
+ */
13
+ export declare function generateNonce(): string;
14
+ /**
15
+ * Sentinel value to skip nonce checking (allows signature replay)
16
+ */
17
+ export declare const NONCE_SKIP_CHECK: string;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NONCE_SKIP_CHECK = exports.generateNonce = exports.getUniversalRouterDomain = exports.EXECUTE_SIGNED_TYPES = exports.EIP712_DOMAIN_VERSION = exports.EIP712_DOMAIN_NAME = void 0;
4
+ const ethers_1 = require("ethers");
5
+ exports.EIP712_DOMAIN_NAME = 'UniversalRouter';
6
+ exports.EIP712_DOMAIN_VERSION = '2';
7
+ exports.EXECUTE_SIGNED_TYPES = {
8
+ ExecuteSigned: [
9
+ { name: 'commands', type: 'bytes' },
10
+ { name: 'inputs', type: 'bytes[]' },
11
+ { name: 'intent', type: 'bytes32' },
12
+ { name: 'data', type: 'bytes32' },
13
+ { name: 'sender', type: 'address' },
14
+ { name: 'nonce', type: 'bytes32' },
15
+ { name: 'deadline', type: 'uint256' },
16
+ ],
17
+ };
18
+ /**
19
+ * Generate EIP712 domain for Universal Router
20
+ */
21
+ function getUniversalRouterDomain(chainId, verifyingContract) {
22
+ return {
23
+ name: exports.EIP712_DOMAIN_NAME,
24
+ version: exports.EIP712_DOMAIN_VERSION,
25
+ chainId,
26
+ verifyingContract,
27
+ };
28
+ }
29
+ exports.getUniversalRouterDomain = getUniversalRouterDomain;
30
+ /**
31
+ * Generate a random nonce for signed execution
32
+ * Uses ethers.utils.randomBytes for secure randomness
33
+ */
34
+ function generateNonce() {
35
+ const randomBytes = ethers_1.ethers.utils.randomBytes(32);
36
+ return ethers_1.ethers.utils.hexlify(randomBytes);
37
+ }
38
+ exports.generateNonce = generateNonce;
39
+ /**
40
+ * Sentinel value to skip nonce checking (allows signature replay)
41
+ */
42
+ exports.NONCE_SKIP_CHECK = '0x' + 'f'.repeat(64); // bytes32(type(uint256).max)
43
+ //# sourceMappingURL=eip712.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip712.js","sourceRoot":"","sources":["../../../../src/utils/eip712.ts"],"names":[],"mappings":";;;AACA,mCAA+B;AAElB,QAAA,kBAAkB,GAAG,iBAAiB,CAAA;AACtC,QAAA,qBAAqB,GAAG,GAAG,CAAA;AAE3B,QAAA,oBAAoB,GAAqC;IACpE,aAAa,EAAE;QACb,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;QACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;CACF,CAAA;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,OAAe,EAAE,iBAAyB;IACjF,OAAO;QACL,IAAI,EAAE,0BAAkB;QACxB,OAAO,EAAE,6BAAqB;QAC9B,OAAO;QACP,iBAAiB;KAClB,CAAA;AACH,CAAC;AAPD,4DAOC;AAED;;;GAGG;AACH,SAAgB,aAAa;IAC3B,MAAM,WAAW,GAAG,eAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAChD,OAAO,eAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;AAC1C,CAAC;AAHD,sCAGC;AAED;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA,CAAC,6BAA6B"}
@@ -0,0 +1,2 @@
1
+ import { Currency } from '@centurion_project/sdk-core';
2
+ export declare function getCurrencyAddress(currency: Currency): string;