@uniswap/universal-router-sdk 4.18.1 → 4.19.1

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 (119) hide show
  1. package/dist/{entities → cjs/src/entities}/Command.d.ts +12 -12
  2. package/dist/cjs/src/entities/Command.js +9 -0
  3. package/dist/cjs/src/entities/Command.js.map +1 -0
  4. package/dist/{entities → cjs/src/entities}/actions/index.d.ts +2 -2
  5. package/dist/cjs/src/entities/actions/index.js +6 -0
  6. package/dist/cjs/src/entities/actions/index.js.map +1 -0
  7. package/dist/{entities → cjs/src/entities}/actions/uniswap.d.ts +30 -30
  8. package/dist/cjs/src/entities/actions/uniswap.js +365 -0
  9. package/dist/cjs/src/entities/actions/uniswap.js.map +1 -0
  10. package/dist/{entities → cjs/src/entities}/actions/unwrapWETH.d.ts +12 -12
  11. package/dist/cjs/src/entities/actions/unwrapWETH.js +33 -0
  12. package/dist/cjs/src/entities/actions/unwrapWETH.js.map +1 -0
  13. package/dist/{entities → cjs/src/entities}/index.d.ts +2 -2
  14. package/dist/cjs/src/entities/index.js +6 -0
  15. package/dist/cjs/src/entities/index.js.map +1 -0
  16. package/dist/cjs/src/index.d.ts +9 -0
  17. package/dist/cjs/src/index.js +24 -0
  18. package/dist/cjs/src/index.js.map +1 -0
  19. package/dist/{swapRouter.d.ts → cjs/src/swapRouter.d.ts} +37 -37
  20. package/dist/cjs/src/swapRouter.js +120 -0
  21. package/dist/cjs/src/swapRouter.js.map +1 -0
  22. package/dist/{utils → cjs/src/utils}/commandParser.d.ts +34 -34
  23. package/dist/cjs/src/utils/commandParser.js +144 -0
  24. package/dist/cjs/src/utils/commandParser.js.map +1 -0
  25. package/dist/{utils → cjs/src/utils}/constants.d.ts +30 -30
  26. package/dist/cjs/src/utils/constants.js +373 -0
  27. package/dist/cjs/src/utils/constants.js.map +1 -0
  28. package/dist/{utils → cjs/src/utils}/getCurrencyAddress.d.ts +2 -2
  29. package/dist/cjs/src/utils/getCurrencyAddress.js +9 -0
  30. package/dist/cjs/src/utils/getCurrencyAddress.js.map +1 -0
  31. package/dist/{utils → cjs/src/utils}/inputTokens.d.ts +23 -23
  32. package/dist/cjs/src/utils/inputTokens.js +58 -0
  33. package/dist/cjs/src/utils/inputTokens.js.map +1 -0
  34. package/dist/{utils → cjs/src/utils}/numbers.d.ts +6 -6
  35. package/dist/cjs/src/utils/numbers.js +22 -0
  36. package/dist/cjs/src/utils/numbers.js.map +1 -0
  37. package/dist/{utils → cjs/src/utils}/pathCurrency.d.ts +3 -3
  38. package/dist/cjs/src/utils/pathCurrency.js +27 -0
  39. package/dist/cjs/src/utils/pathCurrency.js.map +1 -0
  40. package/dist/{utils → cjs/src/utils}/routerCommands.d.ts +64 -64
  41. package/dist/cjs/src/utils/routerCommands.js +231 -0
  42. package/dist/cjs/src/utils/routerCommands.js.map +1 -0
  43. package/dist/{utils → cjs/src/utils}/routerTradeAdapter.d.ts +73 -73
  44. package/dist/cjs/src/utils/routerTradeAdapter.js +139 -0
  45. package/dist/cjs/src/utils/routerTradeAdapter.js.map +1 -0
  46. package/dist/esm/src/entities/Command.d.ts +12 -0
  47. package/dist/esm/src/entities/Command.js +6 -0
  48. package/dist/esm/src/entities/Command.js.map +1 -0
  49. package/dist/esm/src/entities/actions/index.d.ts +2 -0
  50. package/dist/esm/src/entities/actions/index.js +3 -0
  51. package/dist/esm/src/entities/actions/index.js.map +1 -0
  52. package/dist/esm/src/entities/actions/uniswap.d.ts +30 -0
  53. package/dist/esm/src/entities/actions/uniswap.js +361 -0
  54. package/dist/esm/src/entities/actions/uniswap.js.map +1 -0
  55. package/dist/esm/src/entities/actions/unwrapWETH.d.ts +12 -0
  56. package/dist/esm/src/entities/actions/unwrapWETH.js +28 -0
  57. package/dist/esm/src/entities/actions/unwrapWETH.js.map +1 -0
  58. package/dist/esm/src/entities/index.d.ts +2 -0
  59. package/dist/esm/src/entities/index.js +3 -0
  60. package/dist/esm/src/entities/index.js.map +1 -0
  61. package/dist/esm/src/index.d.ts +9 -0
  62. package/dist/esm/src/index.js +7 -0
  63. package/dist/esm/src/index.js.map +1 -0
  64. package/dist/esm/src/swapRouter.d.ts +37 -0
  65. package/dist/esm/src/swapRouter.js +115 -0
  66. package/dist/esm/src/swapRouter.js.map +1 -0
  67. package/dist/esm/src/utils/commandParser.d.ts +34 -0
  68. package/dist/esm/src/utils/commandParser.js +137 -0
  69. package/dist/esm/src/utils/commandParser.js.map +1 -0
  70. package/dist/esm/src/utils/constants.d.ts +30 -0
  71. package/dist/esm/src/utils/constants.js +367 -0
  72. package/dist/esm/src/utils/constants.js.map +1 -0
  73. package/dist/esm/src/utils/getCurrencyAddress.d.ts +2 -0
  74. package/dist/esm/src/utils/getCurrencyAddress.js +5 -0
  75. package/dist/esm/src/utils/getCurrencyAddress.js.map +1 -0
  76. package/dist/esm/src/utils/inputTokens.d.ts +23 -0
  77. package/dist/esm/src/utils/inputTokens.js +51 -0
  78. package/dist/esm/src/utils/inputTokens.js.map +1 -0
  79. package/dist/esm/src/utils/numbers.d.ts +6 -0
  80. package/dist/esm/src/utils/numbers.js +15 -0
  81. package/dist/esm/src/utils/numbers.js.map +1 -0
  82. package/dist/esm/src/utils/pathCurrency.d.ts +3 -0
  83. package/dist/esm/src/utils/pathCurrency.js +23 -0
  84. package/dist/esm/src/utils/pathCurrency.js.map +1 -0
  85. package/dist/esm/src/utils/routerCommands.d.ts +64 -0
  86. package/dist/esm/src/utils/routerCommands.js +226 -0
  87. package/dist/esm/src/utils/routerCommands.js.map +1 -0
  88. package/dist/esm/src/utils/routerTradeAdapter.d.ts +73 -0
  89. package/dist/esm/src/utils/routerTradeAdapter.js +134 -0
  90. package/dist/esm/src/utils/routerTradeAdapter.js.map +1 -0
  91. package/dist/types/src/entities/Command.d.ts +12 -0
  92. package/dist/types/src/entities/actions/index.d.ts +2 -0
  93. package/dist/types/src/entities/actions/uniswap.d.ts +30 -0
  94. package/dist/types/src/entities/actions/unwrapWETH.d.ts +12 -0
  95. package/dist/types/src/entities/index.d.ts +2 -0
  96. package/dist/types/src/index.d.ts +9 -0
  97. package/dist/types/src/swapRouter.d.ts +37 -0
  98. package/dist/types/src/utils/commandParser.d.ts +34 -0
  99. package/dist/types/src/utils/constants.d.ts +30 -0
  100. package/dist/types/src/utils/getCurrencyAddress.d.ts +2 -0
  101. package/dist/types/src/utils/inputTokens.d.ts +23 -0
  102. package/dist/types/src/utils/numbers.d.ts +6 -0
  103. package/dist/types/src/utils/pathCurrency.d.ts +3 -0
  104. package/dist/types/src/utils/routerCommands.d.ts +64 -0
  105. package/dist/types/src/utils/routerTradeAdapter.d.ts +73 -0
  106. package/package.json +22 -10
  107. package/dist/index.d.ts +0 -6
  108. package/dist/index.js +0 -8
  109. package/dist/test/forge/writeInterop.d.ts +0 -2
  110. package/dist/test/utils/addresses.d.ts +0 -5
  111. package/dist/test/utils/hexToDecimalString.d.ts +0 -2
  112. package/dist/test/utils/permit2.d.ts +0 -7
  113. package/dist/test/utils/uniswapData.d.ts +0 -24
  114. package/dist/universal-router-sdk.cjs.development.js +0 -1424
  115. package/dist/universal-router-sdk.cjs.development.js.map +0 -1
  116. package/dist/universal-router-sdk.cjs.production.min.js +0 -2
  117. package/dist/universal-router-sdk.cjs.production.min.js.map +0 -1
  118. package/dist/universal-router-sdk.esm.js +0 -1417
  119. package/dist/universal-router-sdk.esm.js.map +0 -1
@@ -0,0 +1,373 @@
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.UNIVERSAL_ROUTER_ADDRESS = exports.CHAIN_CONFIGS = 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 = exports.UniversalRouterVersion || (exports.UniversalRouterVersion = {}));
10
+ const WETH_NOT_SUPPORTED_ON_CHAIN = '0x0000000000000000000000000000000000000000';
11
+ // Todo: Change `CHAIN_CONFIGS` to pull the UR address with v4
12
+ exports.CHAIN_CONFIGS = {
13
+ // mainnet
14
+ [1]: {
15
+ weth: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
16
+ routerConfigs: {
17
+ [UniversalRouterVersion.V1_2]: {
18
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
19
+ creationBlock: 17143817,
20
+ },
21
+ [UniversalRouterVersion.V2_0]: {
22
+ address: '0x66a9893cc07d91d95644aedd05d03f95e1dba8af',
23
+ creationBlock: 1737658355,
24
+ },
25
+ },
26
+ },
27
+ // goerli
28
+ [5]: {
29
+ weth: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6',
30
+ routerConfigs: {
31
+ [UniversalRouterVersion.V1_2]: {
32
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
33
+ creationBlock: 8940568,
34
+ },
35
+ [UniversalRouterVersion.V2_0]: {
36
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
37
+ creationBlock: 8940568,
38
+ },
39
+ },
40
+ },
41
+ // sepolia
42
+ [11155111]: {
43
+ weth: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',
44
+ routerConfigs: {
45
+ [UniversalRouterVersion.V1_2]: {
46
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
47
+ creationBlock: 3543575,
48
+ },
49
+ [UniversalRouterVersion.V2_0]: {
50
+ address: '0x3a9d48ab9751398bbfa63ad67599bb04e4bdf98b',
51
+ creationBlock: 7259601,
52
+ },
53
+ },
54
+ },
55
+ // polygon
56
+ [137]: {
57
+ weth: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
58
+ routerConfigs: {
59
+ [UniversalRouterVersion.V1_2]: {
60
+ address: '0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2',
61
+ creationBlock: 52210153,
62
+ },
63
+ [UniversalRouterVersion.V2_0]: {
64
+ address: '0x1095692a6237d83c6a72f3f5efedb9a670c49223',
65
+ creationBlock: 1737492197,
66
+ },
67
+ },
68
+ },
69
+ //polygon mumbai
70
+ [80001]: {
71
+ weth: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889',
72
+ routerConfigs: {
73
+ [UniversalRouterVersion.V1_2]: {
74
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
75
+ creationBlock: 35176052,
76
+ },
77
+ [UniversalRouterVersion.V2_0]: {
78
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
79
+ creationBlock: 35176052,
80
+ },
81
+ },
82
+ },
83
+ //optimism
84
+ [10]: {
85
+ weth: '0x4200000000000000000000000000000000000006',
86
+ routerConfigs: {
87
+ [UniversalRouterVersion.V1_2]: {
88
+ address: '0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8',
89
+ creationBlock: 114702266,
90
+ },
91
+ [UniversalRouterVersion.V2_0]: {
92
+ address: '0x851116d9223fabed8e56c0e6b8ad0c31d98b3507',
93
+ creationBlock: 1737494278,
94
+ },
95
+ },
96
+ },
97
+ // optimism goerli
98
+ [420]: {
99
+ weth: '0x4200000000000000000000000000000000000006',
100
+ routerConfigs: {
101
+ [UniversalRouterVersion.V1_2]: {
102
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
103
+ creationBlock: 8887728,
104
+ },
105
+ [UniversalRouterVersion.V2_0]: {
106
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
107
+ creationBlock: 8887728,
108
+ },
109
+ },
110
+ },
111
+ // arbitrum
112
+ [42161]: {
113
+ weth: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
114
+ routerConfigs: {
115
+ [UniversalRouterVersion.V1_2]: {
116
+ address: '0x5E325eDA8064b456f4781070C0738d849c824258',
117
+ creationBlock: 169472836,
118
+ },
119
+ [UniversalRouterVersion.V2_0]: {
120
+ address: '0xa51afafe0263b40edaef0df8781ea9aa03e381a3',
121
+ creationBlock: 1737487458,
122
+ },
123
+ },
124
+ },
125
+ // arbitrum goerli
126
+ [421613]: {
127
+ weth: '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3',
128
+ routerConfigs: {
129
+ [UniversalRouterVersion.V1_2]: {
130
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
131
+ creationBlock: 18815277,
132
+ },
133
+ [UniversalRouterVersion.V2_0]: {
134
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
135
+ creationBlock: 18815277,
136
+ },
137
+ },
138
+ },
139
+ // celo
140
+ [42220]: {
141
+ weth: WETH_NOT_SUPPORTED_ON_CHAIN,
142
+ routerConfigs: {
143
+ [UniversalRouterVersion.V1_2]: {
144
+ address: '0x643770e279d5d0733f21d6dc03a8efbabf3255b4',
145
+ creationBlock: 21407637,
146
+ },
147
+ [UniversalRouterVersion.V2_0]: {
148
+ address: '0x643770e279d5d0733f21d6dc03a8efbabf3255b4',
149
+ creationBlock: 21407637,
150
+ },
151
+ },
152
+ },
153
+ // celo alfajores
154
+ [44787]: {
155
+ weth: WETH_NOT_SUPPORTED_ON_CHAIN,
156
+ routerConfigs: {
157
+ [UniversalRouterVersion.V1_2]: {
158
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
159
+ creationBlock: 17566658,
160
+ },
161
+ [UniversalRouterVersion.V2_0]: {
162
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
163
+ creationBlock: 17566658,
164
+ },
165
+ },
166
+ },
167
+ // binance smart chain
168
+ [56]: {
169
+ weth: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
170
+ routerConfigs: {
171
+ [UniversalRouterVersion.V1_2]: {
172
+ address: '0x4Dae2f939ACf50408e13d58534Ff8c2776d45265',
173
+ creationBlock: 35160263,
174
+ },
175
+ [UniversalRouterVersion.V2_0]: {
176
+ address: '0x1906c1d672b88cd1b9ac7593301ca990f94eae07',
177
+ creationBlock: 1737493275,
178
+ },
179
+ },
180
+ },
181
+ // avalanche
182
+ [43114]: {
183
+ weth: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
184
+ routerConfigs: {
185
+ [UniversalRouterVersion.V1_2]: {
186
+ address: '0x4Dae2f939ACf50408e13d58534Ff8c2776d45265',
187
+ creationBlock: 40237257,
188
+ },
189
+ [UniversalRouterVersion.V2_0]: {
190
+ address: '0x94b75331ae8d42c1b61065089b7d48fe14aa73b7',
191
+ creationBlock: 1737558236,
192
+ },
193
+ },
194
+ },
195
+ // base goerli
196
+ [84531]: {
197
+ weth: '0x4200000000000000000000000000000000000006',
198
+ routerConfigs: {
199
+ [UniversalRouterVersion.V1_2]: {
200
+ address: '0xd0872d928672ae2ff74bdb2f5130ac12229cafaf',
201
+ creationBlock: 6915289,
202
+ },
203
+ [UniversalRouterVersion.V2_0]: {
204
+ address: '0xd0872d928672ae2ff74bdb2f5130ac12229cafaf',
205
+ creationBlock: 6915289,
206
+ },
207
+ },
208
+ },
209
+ // base mainnet
210
+ [8453]: {
211
+ weth: '0x4200000000000000000000000000000000000006',
212
+ routerConfigs: {
213
+ [UniversalRouterVersion.V1_2]: {
214
+ address: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
215
+ creationBlock: 9107268,
216
+ },
217
+ [UniversalRouterVersion.V2_0]: {
218
+ address: '0x6ff5693b99212da76ad316178a184ab56d299b43',
219
+ creationBlock: 1737491485,
220
+ },
221
+ },
222
+ },
223
+ // blast
224
+ [81457]: {
225
+ weth: '0x4300000000000000000000000000000000000004',
226
+ routerConfigs: {
227
+ [UniversalRouterVersion.V1_2]: {
228
+ address: '0x643770E279d5D0733F21d6DC03A8efbABf3255B4',
229
+ creationBlock: 1116444,
230
+ },
231
+ [UniversalRouterVersion.V2_0]: {
232
+ address: '0xeabbcb3e8e415306207ef514f660a3f820025be3',
233
+ creationBlock: 1737564586,
234
+ },
235
+ },
236
+ },
237
+ // zora
238
+ [7777777]: {
239
+ weth: '0x4200000000000000000000000000000000000006',
240
+ routerConfigs: {
241
+ [UniversalRouterVersion.V1_2]: {
242
+ address: '0x2986d9721A49838ab4297b695858aF7F17f38014',
243
+ creationBlock: 11832155,
244
+ },
245
+ [UniversalRouterVersion.V2_0]: {
246
+ address: '0x3315ef7ca28db74abadc6c44570efdf06b04b020',
247
+ creationBlock: 1737562927,
248
+ },
249
+ },
250
+ },
251
+ [324]: {
252
+ weth: '0x5aea5775959fbc2557cc8789bc1bf90a239d9a91',
253
+ routerConfigs: {
254
+ [UniversalRouterVersion.V1_2]: {
255
+ address: '0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06',
256
+ creationBlock: 12640979,
257
+ },
258
+ [UniversalRouterVersion.V2_0]: {
259
+ address: '0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06',
260
+ creationBlock: 12640979,
261
+ },
262
+ },
263
+ },
264
+ // worldchain
265
+ [480]: {
266
+ weth: '0x4200000000000000000000000000000000000006',
267
+ routerConfigs: {
268
+ [UniversalRouterVersion.V1_2]: {
269
+ address: '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D',
270
+ creationBlock: 4063979,
271
+ },
272
+ [UniversalRouterVersion.V2_0]: {
273
+ address: '0x8ac7bee993bb44dab564ea4bc9ea67bf9eb5e743',
274
+ creationBlock: 1737559557,
275
+ },
276
+ },
277
+ },
278
+ [1301]: {
279
+ weth: '0x4200000000000000000000000000000000000006',
280
+ routerConfigs: {
281
+ [UniversalRouterVersion.V1_2]: {
282
+ address: '0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6',
283
+ creationBlock: 1241811,
284
+ },
285
+ [UniversalRouterVersion.V2_0]: {
286
+ address: '0xf70536b3bcc1bd1a972dc186a2cf84cc6da6be5d',
287
+ creationBlock: 7100543,
288
+ },
289
+ },
290
+ },
291
+ // unichain mainnet
292
+ [130]: {
293
+ weth: '0x4200000000000000000000000000000000000006',
294
+ routerConfigs: {
295
+ [UniversalRouterVersion.V1_2]: {
296
+ address: '0x4D73A4411CA1c660035e4AECC8270E5DdDEC8C17',
297
+ creationBlock: 23678,
298
+ },
299
+ [UniversalRouterVersion.V2_0]: {
300
+ address: '0xef740bf23acae26f6492b10de645d6b98dc8eaf3',
301
+ creationBlock: 1737568156,
302
+ },
303
+ },
304
+ },
305
+ [10143]: {
306
+ weth: '0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701',
307
+ routerConfigs: {
308
+ [UniversalRouterVersion.V1_2]: {
309
+ address: '0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893',
310
+ creationBlock: 23678,
311
+ },
312
+ [UniversalRouterVersion.V2_0]: {
313
+ address: '0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893',
314
+ creationBlock: 23678,
315
+ },
316
+ },
317
+ },
318
+ [84532]: {
319
+ weth: '0x4200000000000000000000000000000000000006',
320
+ routerConfigs: {
321
+ [UniversalRouterVersion.V1_2]: {
322
+ address: '0x492e6456d9528771018deb9e87ef7750ef184104',
323
+ creationBlock: 20216585,
324
+ },
325
+ [UniversalRouterVersion.V2_0]: {
326
+ address: '0x492e6456d9528771018deb9e87ef7750ef184104',
327
+ creationBlock: 20216585,
328
+ },
329
+ },
330
+ },
331
+ [1868]: {
332
+ weth: '0x4200000000000000000000000000000000000006',
333
+ routerConfigs: {
334
+ [UniversalRouterVersion.V1_2]: {
335
+ address: '0x0e2850543f69f678257266e0907ff9a58b3f13de',
336
+ creationBlock: 3254782,
337
+ },
338
+ [UniversalRouterVersion.V2_0]: {
339
+ address: '0x0e2850543f69f678257266e0907ff9a58b3f13de',
340
+ creationBlock: 3254782,
341
+ },
342
+ },
343
+ },
344
+ };
345
+ const UNIVERSAL_ROUTER_ADDRESS = (version, chainId) => {
346
+ if (!(chainId in exports.CHAIN_CONFIGS))
347
+ throw new Error(`Universal Router not deployed on chain ${chainId}`);
348
+ return exports.CHAIN_CONFIGS[chainId].routerConfigs[version].address;
349
+ };
350
+ exports.UNIVERSAL_ROUTER_ADDRESS = UNIVERSAL_ROUTER_ADDRESS;
351
+ const UNIVERSAL_ROUTER_CREATION_BLOCK = (version, chainId) => {
352
+ if (!(chainId in exports.CHAIN_CONFIGS))
353
+ throw new Error(`Universal Router not deployed on chain ${chainId}`);
354
+ return exports.CHAIN_CONFIGS[chainId].routerConfigs[version].creationBlock;
355
+ };
356
+ exports.UNIVERSAL_ROUTER_CREATION_BLOCK = UNIVERSAL_ROUTER_CREATION_BLOCK;
357
+ const WETH_ADDRESS = (chainId) => {
358
+ if (!(chainId in exports.CHAIN_CONFIGS))
359
+ throw new Error(`Universal Router not deployed on chain ${chainId}`);
360
+ if (exports.CHAIN_CONFIGS[chainId].weth == WETH_NOT_SUPPORTED_ON_CHAIN)
361
+ throw new Error(`Chain ${chainId} does not have WETH`);
362
+ return exports.CHAIN_CONFIGS[chainId].weth;
363
+ };
364
+ exports.WETH_ADDRESS = WETH_ADDRESS;
365
+ exports.CONTRACT_BALANCE = ethers_1.BigNumber.from(2).pow(255);
366
+ exports.ETH_ADDRESS = '0x0000000000000000000000000000000000000000';
367
+ exports.E_ETH_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
368
+ exports.ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
369
+ exports.MAX_UINT256 = ethers_1.BigNumber.from(2).pow(256).sub(1);
370
+ exports.MAX_UINT160 = ethers_1.BigNumber.from(2).pow(160).sub(1);
371
+ exports.SENDER_AS_RECIPIENT = '0x0000000000000000000000000000000000000001';
372
+ exports.ROUTER_AS_RECIPIENT = '0x0000000000000000000000000000000000000002';
373
+ //# 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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"}
@@ -1,2 +1,2 @@
1
- import { Currency } from '@uniswap/sdk-core';
2
- export declare function getCurrencyAddress(currency: Currency): string;
1
+ import { Currency } from '@uniswap/sdk-core';
2
+ export declare function getCurrencyAddress(currency: Currency): string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCurrencyAddress = void 0;
4
+ const constants_1 = require("./constants");
5
+ function getCurrencyAddress(currency) {
6
+ return currency.isNative ? constants_1.ETH_ADDRESS : currency.wrapped.address;
7
+ }
8
+ exports.getCurrencyAddress = getCurrencyAddress;
9
+ //# sourceMappingURL=getCurrencyAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCurrencyAddress.js","sourceRoot":"","sources":["../../../../src/utils/getCurrencyAddress.ts"],"names":[],"mappings":";;;AACA,2CAAyC;AAEzC,SAAgB,kBAAkB,CAAC,QAAkB;IACnD,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAA;AACnE,CAAC;AAFD,gDAEC"}
@@ -1,23 +1,23 @@
1
- import { BigintIsh } from '@uniswap/sdk-core';
2
- import { NFTPermitOptions } from '@uniswap/v3-sdk';
3
- import { PermitSingle } from '@uniswap/permit2-sdk';
4
- import { RoutePlanner } from './routerCommands';
5
- export interface Permit2Permit extends PermitSingle {
6
- signature: string;
7
- }
8
- export declare type ApproveProtocol = {
9
- token: string;
10
- protocol: string;
11
- };
12
- export declare type Permit2TransferFrom = {
13
- token: string;
14
- amount: string;
15
- recipient?: string;
16
- };
17
- export declare type InputTokenOptions = {
18
- permit2Permit?: Permit2Permit;
19
- permit2TransferFrom?: Permit2TransferFrom;
20
- };
21
- export declare function encodePermit(planner: RoutePlanner, permit2: Permit2Permit): void;
22
- export declare function encodeV3PositionPermit(planner: RoutePlanner, permit: NFTPermitOptions, tokenId: BigintIsh): void;
23
- export declare function encodeInputTokenOptions(planner: RoutePlanner, options: InputTokenOptions): void;
1
+ import { BigintIsh } from '@uniswap/sdk-core';
2
+ import { NFTPermitOptions } from '@uniswap/v3-sdk';
3
+ import { PermitSingle } from '@uniswap/permit2-sdk';
4
+ import { RoutePlanner } from './routerCommands';
5
+ export interface Permit2Permit extends PermitSingle {
6
+ signature: string;
7
+ }
8
+ export type ApproveProtocol = {
9
+ token: string;
10
+ protocol: string;
11
+ };
12
+ export type Permit2TransferFrom = {
13
+ token: string;
14
+ amount: string;
15
+ recipient?: string;
16
+ };
17
+ export type InputTokenOptions = {
18
+ permit2Permit?: Permit2Permit;
19
+ permit2TransferFrom?: Permit2TransferFrom;
20
+ };
21
+ export declare function encodePermit(planner: RoutePlanner, permit2: Permit2Permit): void;
22
+ export declare function encodeV3PositionPermit(planner: RoutePlanner, permit: NFTPermitOptions, tokenId: BigintIsh): void;
23
+ export declare function encodeInputTokenOptions(planner: RoutePlanner, options: InputTokenOptions): void;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodeInputTokenOptions = exports.encodeV3PositionPermit = exports.encodePermit = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const tiny_invariant_1 = tslib_1.__importDefault(require("tiny-invariant"));
6
+ const ethers_1 = require("ethers");
7
+ const sdk_core_1 = require("@uniswap/sdk-core");
8
+ const v3_sdk_1 = require("@uniswap/v3-sdk");
9
+ const routerCommands_1 = require("./routerCommands");
10
+ const constants_1 = require("./constants");
11
+ const SIGNATURE_LENGTH = 65;
12
+ const EIP_2098_SIGNATURE_LENGTH = 64;
13
+ function encodePermit(planner, permit2) {
14
+ let signature = permit2.signature;
15
+ const length = ethers_1.ethers.utils.arrayify(permit2.signature).length;
16
+ // signature data provided for EIP-1271 may have length different from ECDSA signature
17
+ if (length === SIGNATURE_LENGTH || length === EIP_2098_SIGNATURE_LENGTH) {
18
+ // sanitizes signature to cover edge cases of malformed EIP-2098 sigs and v used as recovery id
19
+ signature = ethers_1.ethers.utils.joinSignature(ethers_1.ethers.utils.splitSignature(permit2.signature));
20
+ }
21
+ planner.addCommand(routerCommands_1.CommandType.PERMIT2_PERMIT, [permit2, signature]);
22
+ }
23
+ exports.encodePermit = encodePermit;
24
+ function encodeV3PositionPermit(planner, permit, tokenId) {
25
+ const calldata = v3_sdk_1.NonfungiblePositionManager.INTERFACE.encodeFunctionData('permit', [
26
+ (0, sdk_core_1.validateAndParseAddress)(permit.spender),
27
+ tokenId,
28
+ permit.deadline,
29
+ permit.v,
30
+ permit.r,
31
+ permit.s,
32
+ ]);
33
+ planner.addCommand(routerCommands_1.CommandType.V3_POSITION_MANAGER_PERMIT, [calldata]);
34
+ }
35
+ exports.encodeV3PositionPermit = encodeV3PositionPermit;
36
+ // Handles the encoding of commands needed to gather input tokens for a trade
37
+ // Approval: The router approving another address to take tokens.
38
+ // note: Only seaport and sudoswap support this action. Approvals are left open.
39
+ // Permit: A Permit2 signature-based Permit to allow the router to access a user's tokens
40
+ // Transfer: A Permit2 TransferFrom of tokens from a user to either the router or another address
41
+ function encodeInputTokenOptions(planner, options) {
42
+ // first ensure that all tokens provided for encoding are the same
43
+ if (!!options.permit2TransferFrom && !!options.permit2Permit)
44
+ (0, tiny_invariant_1.default)(options.permit2TransferFrom.token === options.permit2Permit.details.token, `inconsistent token`);
45
+ // if this order has a options.permit2Permit, encode it
46
+ if (!!options.permit2Permit) {
47
+ encodePermit(planner, options.permit2Permit);
48
+ }
49
+ if (!!options.permit2TransferFrom) {
50
+ planner.addCommand(routerCommands_1.CommandType.PERMIT2_TRANSFER_FROM, [
51
+ options.permit2TransferFrom.token,
52
+ options.permit2TransferFrom.recipient ? options.permit2TransferFrom.recipient : constants_1.ROUTER_AS_RECIPIENT,
53
+ options.permit2TransferFrom.amount,
54
+ ]);
55
+ }
56
+ }
57
+ exports.encodeInputTokenOptions = encodeInputTokenOptions;
58
+ //# sourceMappingURL=inputTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputTokens.js","sourceRoot":"","sources":["../../../../src/utils/inputTokens.ts"],"names":[],"mappings":";;;;AAAA,4EAAsC;AACtC,mCAA+B;AAC/B,gDAAsE;AACtE,4CAA8E;AAE9E,qDAA4D;AAC5D,2CAAiD;AAsBjD,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAC3B,MAAM,yBAAyB,GAAG,EAAE,CAAA;AAEpC,SAAgB,YAAY,CAAC,OAAqB,EAAE,OAAsB;IACxE,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IAEjC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAA;IAC9D,sFAAsF;IACtF,IAAI,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,yBAAyB,EAAE;QACvE,+FAA+F;QAC/F,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC,eAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;KACvF;IAED,OAAO,CAAC,UAAU,CAAC,4BAAW,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;AACtE,CAAC;AAXD,oCAWC;AAED,SAAgB,sBAAsB,CAAC,OAAqB,EAAE,MAAwB,EAAE,OAAkB;IACxG,MAAM,QAAQ,GAAG,mCAA0B,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE;QACjF,IAAA,kCAAuB,EAAC,MAAM,CAAC,OAAO,CAAC;QACvC,OAAO;QACP,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,CAAC;QACR,MAAM,CAAC,CAAC;QACR,MAAM,CAAC,CAAC;KACT,CAAC,CAAA;IAEF,OAAO,CAAC,UAAU,CAAC,4BAAW,CAAC,0BAA0B,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;AACxE,CAAC;AAXD,wDAWC;AAED,6EAA6E;AAC7E,iEAAiE;AACjE,kFAAkF;AAClF,yFAAyF;AACzF,iGAAiG;AACjG,SAAgB,uBAAuB,CAAC,OAAqB,EAAE,OAA0B;IACvF,kEAAkE;IAClE,IAAI,CAAC,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa;QAC1D,IAAA,wBAAS,EAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,KAAK,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAA;IAE5G,uDAAuD;IACvD,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE;QAC3B,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;KAC7C;IAED,IAAI,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE;QACjC,OAAO,CAAC,UAAU,CAAC,4BAAW,CAAC,qBAAqB,EAAE;YACpD,OAAO,CAAC,mBAAmB,CAAC,KAAK;YACjC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,+BAAmB;YACnG,OAAO,CAAC,mBAAmB,CAAC,MAAM;SACnC,CAAC,CAAA;KACH;AACH,CAAC;AAjBD,0DAiBC"}
@@ -1,6 +1,6 @@
1
- import { BigNumber } from 'ethers';
2
- import JSBI from 'jsbi';
3
- import { Percent } from '@uniswap/sdk-core';
4
- export declare function expandTo18DecimalsBN(n: number): BigNumber;
5
- export declare function expandTo18Decimals(n: number): JSBI;
6
- export declare function encodeFeeBips(fee: Percent): string;
1
+ import { BigNumber } from 'ethers';
2
+ import JSBI from 'jsbi';
3
+ import { Percent } from '@uniswap/sdk-core';
4
+ export declare function expandTo18DecimalsBN(n: number): BigNumber;
5
+ export declare function expandTo18Decimals(n: number): JSBI;
6
+ export declare function encodeFeeBips(fee: Percent): string;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodeFeeBips = exports.expandTo18Decimals = exports.expandTo18DecimalsBN = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ethers_1 = require("ethers");
6
+ const jsbi_1 = tslib_1.__importDefault(require("jsbi"));
7
+ const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
8
+ const v3_sdk_1 = require("@uniswap/v3-sdk");
9
+ function expandTo18DecimalsBN(n) {
10
+ // use bn intermediately to allow decimals in intermediate calculations
11
+ return ethers_1.BigNumber.from(new bignumber_js_1.default(n).times(new bignumber_js_1.default(10).pow(18)).toFixed());
12
+ }
13
+ exports.expandTo18DecimalsBN = expandTo18DecimalsBN;
14
+ function expandTo18Decimals(n) {
15
+ return jsbi_1.default.BigInt(ethers_1.BigNumber.from(n).mul(ethers_1.BigNumber.from(10).pow(18)).toString());
16
+ }
17
+ exports.expandTo18Decimals = expandTo18Decimals;
18
+ function encodeFeeBips(fee) {
19
+ return (0, v3_sdk_1.toHex)(fee.multiply(10000).quotient);
20
+ }
21
+ exports.encodeFeeBips = encodeFeeBips;
22
+ //# sourceMappingURL=numbers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numbers.js","sourceRoot":"","sources":["../../../../src/utils/numbers.ts"],"names":[],"mappings":";;;;AAAA,mCAAkC;AAClC,wDAAuB;AACvB,wEAA6B;AAE7B,4CAAuC;AAEvC,SAAgB,oBAAoB,CAAC,CAAS;IAC5C,uEAAuE;IACvE,OAAO,kBAAS,CAAC,IAAI,CAAC,IAAI,sBAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,sBAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AACtE,CAAC;AAHD,oDAGC;AAED,SAAgB,kBAAkB,CAAC,CAAS;IAC1C,OAAO,cAAI,CAAC,MAAM,CAAC,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AAClF,CAAC;AAFD,gDAEC;AAED,SAAgB,aAAa,CAAC,GAAY;IACxC,OAAO,IAAA,cAAK,EAAC,GAAG,CAAC,QAAQ,CAAC,KAAM,CAAC,CAAC,QAAQ,CAAC,CAAA;AAC7C,CAAC;AAFD,sCAEC"}
@@ -1,3 +1,3 @@
1
- import { Currency } from '@uniswap/sdk-core';
2
- import { TPool } from '@uniswap/router-sdk/dist/utils/TPool';
3
- export declare function getPathCurrency(currency: Currency, pool: TPool): Currency;
1
+ import { Currency } from '@uniswap/sdk-core';
2
+ import { TPool } from '@uniswap/router-sdk/dist/utils/TPool';
3
+ export declare function getPathCurrency(currency: Currency, pool: TPool): Currency;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPathCurrency = void 0;
4
+ const v4_sdk_1 = require("@uniswap/v4-sdk");
5
+ function getPathCurrency(currency, pool) {
6
+ // return currency if the currency matches a currency of the pool
7
+ if (pool.involvesToken(currency)) {
8
+ return currency;
9
+ // return if currency.wrapped if pool involves wrapped currency
10
+ }
11
+ else if (pool.involvesToken(currency.wrapped)) {
12
+ return currency.wrapped;
13
+ // return native currency if pool involves native version of wrapped currency (only applies to V4)
14
+ }
15
+ else if (pool instanceof v4_sdk_1.Pool && pool.token0.wrapped.equals(currency)) {
16
+ return pool.token0;
17
+ }
18
+ else if (pool instanceof v4_sdk_1.Pool && pool.token1.wrapped.equals(currency)) {
19
+ return pool.token1;
20
+ }
21
+ else {
22
+ throw new Error(`Expected currency ${currency.symbol} to be either ${pool.token0.symbol} or ${pool.token1.symbol}`);
23
+ }
24
+ return currency; // this line needed for typescript to compile
25
+ }
26
+ exports.getPathCurrency = getPathCurrency;
27
+ //# sourceMappingURL=pathCurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathCurrency.js","sourceRoot":"","sources":["../../../../src/utils/pathCurrency.ts"],"names":[],"mappings":";;;AACA,4CAAgD;AAGhD,SAAgB,eAAe,CAAC,QAAkB,EAAE,IAAW;IAC7D,iEAAiE;IACjE,IAAI,IAAI,CAAC,aAAa,CAAC,QAAiB,CAAC,EAAE;QACzC,OAAO,QAAQ,CAAA;QAEf,+DAA+D;KAChE;SAAM,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAgB,CAAC,EAAE;QACxD,OAAO,QAAQ,CAAC,OAAO,CAAA;QAEvB,kGAAkG;KACnG;SAAM,IAAI,IAAI,YAAY,aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QACzE,OAAO,IAAI,CAAC,MAAM,CAAA;KACnB;SAAM,IAAI,IAAI,YAAY,aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QACzE,OAAO,IAAI,CAAC,MAAM,CAAA;KACnB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;KACpH;IAED,OAAO,QAAQ,CAAA,CAAC,6CAA6C;AAC/D,CAAC;AAnBD,0CAmBC"}