@gearbox-protocol/sdk 0.0.102 → 0.0.103

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/.eslintignore +4 -0
  2. package/.eslintrc.js +52 -0
  3. package/.husky/pre-push +4 -0
  4. package/lib/apy/convexAPY.js +3 -5
  5. package/lib/apy/lidoAPY.js +8 -9
  6. package/lib/contracts/contracts.d.ts +3 -3
  7. package/lib/contracts/contracts.js +2 -2
  8. package/lib/core/constants.d.ts +1 -1
  9. package/lib/core/constants.js +2 -2
  10. package/lib/core/creditAccount.js +7 -5
  11. package/lib/core/creditManager.d.ts +1 -1
  12. package/lib/core/creditManager.js +1 -7
  13. package/lib/core/creditSession.js +14 -3
  14. package/lib/core/eventOrTx.d.ts +1 -1
  15. package/lib/core/events.d.ts +19 -19
  16. package/lib/core/events.js +23 -21
  17. package/lib/core/pool.d.ts +1 -1
  18. package/lib/core/pool.js +1 -7
  19. package/lib/core/price.js +6 -1
  20. package/lib/core/strategy.d.ts +1 -3
  21. package/lib/core/strategy.js +14 -13
  22. package/lib/core/tokenDistributor.js +1 -1
  23. package/lib/core/transactions.d.ts +18 -3
  24. package/lib/core/transactions.js +39 -3
  25. package/lib/index.d.ts +1 -2
  26. package/lib/index.js +1 -1
  27. package/lib/oracles/priceFeeds.js +1 -1
  28. package/lib/pathfinder/convexLP.d.ts +1 -1
  29. package/lib/pathfinder/convexLP.js +26 -29
  30. package/lib/pathfinder/curveLP.d.ts +1 -1
  31. package/lib/pathfinder/curveLP.js +5 -7
  32. package/lib/pathfinder/path.d.ts +1 -1
  33. package/lib/pathfinder/path.js +38 -42
  34. package/lib/pathfinder/trade.d.ts +1 -2
  35. package/lib/pathfinder/tradeTypes.d.ts +5 -5
  36. package/lib/pathfinder/yVault.d.ts +2 -2
  37. package/lib/pathfinder/yVault.js +18 -15
  38. package/lib/strategies/curve.d.ts +6 -60
  39. package/lib/strategies/curve.js +6 -0
  40. package/lib/strategies/uniswapV2.js +3 -19
  41. package/lib/strategies/uniswapV3.js +1 -1
  42. package/lib/strategies/yearn.js +15 -11
  43. package/lib/tokens/convex.d.ts +3 -3
  44. package/lib/tokens/curveLP.d.ts +2 -2
  45. package/lib/tokens/curveLP.js +1 -1
  46. package/lib/tokens/gear.d.ts +2 -2
  47. package/lib/tokens/gear.js +1 -1
  48. package/lib/tokens/normal.d.ts +1 -1
  49. package/lib/tokens/token.js +4 -4
  50. package/lib/tokens/tokenData.d.ts +3 -1
  51. package/lib/tokens/tokenData.js +10 -8
  52. package/lib/tokens/yearn.d.ts +3 -3
  53. package/lib/utils/errors.d.ts +6 -0
  54. package/lib/utils/errors.js +13 -0
  55. package/lib/utils/formatter.d.ts +1 -1
  56. package/lib/utils/formatter.js +17 -14
  57. package/lib/utils/loading.d.ts +2 -1
  58. package/lib/utils/loading.js +9 -13
  59. package/lib/utils/mappers.js +2 -2
  60. package/lib/utils/network.js +2 -2
  61. package/lib/utils/repeater.js +12 -24
  62. package/lib/utils/validate.js +1 -1
  63. package/package.json +26 -8
  64. package/src/apy/convexAPY.ts +6 -6
  65. package/src/apy/lidoAPY.ts +12 -11
  66. package/src/contracts/contracts.ts +8 -7
  67. package/src/core/constants.ts +1 -1
  68. package/src/core/creditAccount.ts +28 -5
  69. package/src/core/creditManager.ts +29 -4
  70. package/src/core/creditOperation.ts +7 -7
  71. package/src/core/creditSession.ts +25 -5
  72. package/src/core/errors.ts +1 -0
  73. package/src/core/eventOrTx.ts +8 -5
  74. package/src/core/events.ts +85 -24
  75. package/src/core/history.ts +46 -46
  76. package/src/core/operations.ts +6 -0
  77. package/src/core/pool.ts +16 -4
  78. package/src/core/price.ts +7 -3
  79. package/src/core/strategy.ts +27 -23
  80. package/src/core/tokenDistributor.ts +2 -2
  81. package/src/core/transactions.ts +427 -350
  82. package/src/index.ts +1 -3
  83. package/src/oracles/priceFeeds.ts +523 -523
  84. package/src/pathfinder/contracts.ts +15 -13
  85. package/src/pathfinder/convexLP.ts +29 -25
  86. package/src/pathfinder/curveLP.ts +57 -53
  87. package/src/pathfinder/path.ts +17 -9
  88. package/src/pathfinder/priority.ts +11 -11
  89. package/src/pathfinder/trade.ts +84 -77
  90. package/src/pathfinder/tradeTypes.ts +98 -94
  91. package/src/pathfinder/yVault.ts +26 -11
  92. package/src/payload/token.ts +3 -3
  93. package/src/strategies/convex.ts +217 -210
  94. package/src/strategies/creditFacade.ts +70 -53
  95. package/src/strategies/curve.ts +263 -194
  96. package/src/strategies/lido.ts +33 -37
  97. package/src/strategies/uniswapV2.ts +90 -112
  98. package/src/strategies/uniswapV3.ts +114 -91
  99. package/src/strategies/yearn.ts +58 -62
  100. package/src/tokens/connectors.ts +6 -6
  101. package/src/tokens/convex.ts +297 -296
  102. package/src/tokens/curveLP.ts +170 -165
  103. package/src/tokens/gear.ts +47 -45
  104. package/src/tokens/normal.ts +801 -802
  105. package/src/tokens/token.ts +9 -5
  106. package/src/tokens/tokenData.ts +19 -9
  107. package/src/tokens/tokenType.ts +11 -11
  108. package/src/tokens/yearn.ts +126 -124
  109. package/src/utils/errors.ts +11 -0
  110. package/src/utils/formatter.ts +22 -18
  111. package/src/utils/loading.ts +14 -6
  112. package/src/utils/mappers.ts +8 -6
  113. package/src/utils/multicall.ts +2 -0
  114. package/src/utils/network.ts +21 -21
  115. package/src/utils/repeater.ts +2 -2
  116. package/src/utils/validate.ts +1 -1
  117. package/lib/utils/events.d.ts +0 -2
  118. package/lib/utils/events.js +0 -13
  119. package/src/utils/events.ts +0 -10
@@ -1,810 +1,809 @@
1
- import {TradeAction, TradeType} from "../pathfinder/tradeTypes";
2
- import {TokenBase} from "./token";
3
- import {TokenType} from "./tokenType";
1
+ import { TradeAction, TradeType } from "../pathfinder/tradeTypes";
2
+ import type { TokenBase } from "./token";
3
+ import { TokenType } from "./tokenType";
4
4
 
5
5
  export type NormalToken =
6
- | "1INCH"
7
- | "AAVE"
8
- | "COMP"
9
- | "CRV"
10
- | "DPI"
11
- | "FEI"
12
- | "LINK"
13
- | "SNX"
14
- | "SUSHI"
15
- | "UNI"
16
- | "USDT"
17
- | "USDC"
18
- | "DAI"
19
- | "WETH"
20
- | "WBTC"
21
- | "YFI"
22
-
23
- // NEW TOKENS
24
- | "STETH"
25
- | "FTM"
26
- | "CVX"
27
- | "FRAX"
28
- | "FXS"
29
- | "LDO"
30
- | "SPELL"
31
- | "LUSD"
32
- | "sUSD"
33
- | "GUSD"
34
- | "LUNA"
35
- | "LQTY";
36
-
6
+ | "1INCH"
7
+ | "AAVE"
8
+ | "COMP"
9
+ | "CRV"
10
+ | "DPI"
11
+ | "FEI"
12
+ | "LINK"
13
+ | "SNX"
14
+ | "SUSHI"
15
+ | "UNI"
16
+ | "USDT"
17
+ | "USDC"
18
+ | "DAI"
19
+ | "WETH"
20
+ | "WBTC"
21
+ | "YFI"
22
+
23
+ // NEW TOKENS
24
+ | "STETH"
25
+ | "FTM"
26
+ | "CVX"
27
+ | "FRAX"
28
+ | "FXS"
29
+ | "LDO"
30
+ | "SPELL"
31
+ | "LUSD"
32
+ | "sUSD"
33
+ | "GUSD"
34
+ | "LUNA"
35
+ | "LQTY";
37
36
 
38
37
  export type NormalTokenData = {
39
- symbol: NormalToken;
40
- type: TokenType.CONNECTOR | TokenType.NORMAL_TOKEN;
41
- swapActions: Array<TradeAction>;
42
- lpActions?: Array<TradeAction>;
38
+ symbol: NormalToken;
39
+ type: TokenType.CONNECTOR | TokenType.NORMAL_TOKEN;
40
+ swapActions: Array<TradeAction>;
41
+ lpActions?: Array<TradeAction>;
43
42
  } & TokenBase;
44
43
 
45
44
  export const normalTokens: Record<NormalToken, NormalTokenData> = {
46
- "1INCH": {
47
- name: "1INCH",
48
- decimals: 18,
49
-
50
- symbol: "1INCH",
51
- type: TokenType.NORMAL_TOKEN,
52
- swapActions: [
53
- {
54
- type: TradeType.UniswapV3Swap,
55
- contract: "UNISWAP_V3_ROUTER"
56
- },
57
- {
58
- type: TradeType.UniswapV2Swap,
59
- contract: "UNISWAP_V2_ROUTER"
60
- },
61
- {
62
- type: TradeType.UniswapV2Swap,
63
- contract: "SUSHISWAP_ROUTER"
64
- }
65
- ]
66
- },
67
-
68
- AAVE: {
69
- name: "AAVE",
70
- decimals: 18,
71
-
72
- symbol: "AAVE",
73
- type: TokenType.NORMAL_TOKEN,
74
- swapActions: [
75
- {
76
- type: TradeType.UniswapV3Swap,
77
- contract: "UNISWAP_V3_ROUTER"
78
- },
79
- {
80
- type: TradeType.UniswapV2Swap,
81
- contract: "UNISWAP_V2_ROUTER"
82
- },
83
- {
84
- type: TradeType.UniswapV2Swap,
85
- contract: "SUSHISWAP_ROUTER"
86
- }
87
- ]
88
- },
89
-
90
- COMP: {
91
- name: "COMP",
92
- decimals: 18,
93
-
94
- symbol: "COMP",
95
- type: TokenType.NORMAL_TOKEN,
96
- swapActions: [
97
- {
98
- type: TradeType.UniswapV3Swap,
99
- contract: "UNISWAP_V3_ROUTER"
100
- },
101
- {
102
- type: TradeType.UniswapV2Swap,
103
- contract: "UNISWAP_V2_ROUTER"
104
- },
105
- {
106
- type: TradeType.UniswapV2Swap,
107
- contract: "SUSHISWAP_ROUTER"
108
- }
109
- ]
110
- },
111
-
112
- CRV: {
113
- name: "CRV",
114
- decimals: 18,
115
-
116
- symbol: "CRV",
117
- type: TokenType.NORMAL_TOKEN,
118
- swapActions: [
119
- {
120
- type: TradeType.UniswapV3Swap,
121
- contract: "UNISWAP_V3_ROUTER"
122
- },
123
- {
124
- type: TradeType.UniswapV2Swap,
125
- contract: "UNISWAP_V2_ROUTER"
126
- },
127
- {
128
- type: TradeType.UniswapV2Swap,
129
- contract: "SUSHISWAP_ROUTER"
130
- }
131
- ]
132
- },
133
-
134
- DAI: {
135
- name: "DAI",
136
- decimals: 18,
137
-
138
- symbol: "DAI",
139
- type: TokenType.CONNECTOR,
140
- swapActions: [
141
- {
142
- type: TradeType.UniswapV3Swap,
143
- contract: "UNISWAP_V3_ROUTER"
144
- },
145
- {
146
- type: TradeType.UniswapV2Swap,
147
- contract: "UNISWAP_V2_ROUTER"
148
- },
149
- {
150
- type: TradeType.UniswapV2Swap,
151
- contract: "SUSHISWAP_ROUTER"
152
- },
153
- {
154
- type: TradeType.CurveExchange,
155
- contract: "CURVE_3CRV_POOL",
156
- tokenOut: ["USDC", "USDT"]
157
- },
158
- {
159
- type: TradeType.CurveExchange,
160
- contract: "CURVE_SUSD_POOL",
161
- tokenOut: ["USDC", "USDT", "sUSD"]
162
- }
163
- ],
164
- lpActions: [
165
- {
166
- type: TradeType.CurveDepositLP,
167
- contract: "CURVE_3CRV_POOL",
168
- tokenOut: "3Crv"
169
- },
170
- {
171
- type: TradeType.CurveDepositLP,
172
- contract: "CURVE_SUSD_POOL",
173
- tokenOut: "crvPlain3andSUSD"
174
- },
175
- {
176
- type: TradeType.YearnDeposit,
177
- contract: "YEARN_DAI_VAULT",
178
- tokenOut: "yvDAI"
179
- }
180
- ]
181
- },
182
-
183
- DPI: {
184
- name: "DPI",
185
- decimals: 18,
186
-
187
- symbol: "DPI",
188
- type: TokenType.NORMAL_TOKEN,
189
- swapActions: [
190
- {
191
- type: TradeType.UniswapV3Swap,
192
- contract: "UNISWAP_V3_ROUTER"
193
- },
194
- {
195
- type: TradeType.UniswapV2Swap,
196
- contract: "UNISWAP_V2_ROUTER"
197
- },
198
- {
199
- type: TradeType.UniswapV2Swap,
200
- contract: "SUSHISWAP_ROUTER"
201
- }
202
- ]
203
- },
204
-
205
- FEI: {
206
- name: "FEI",
207
- decimals: 18,
208
-
209
- symbol: "FEI",
210
- type: TokenType.NORMAL_TOKEN,
211
- swapActions: [
212
- {
213
- type: TradeType.UniswapV3Swap,
214
- contract: "UNISWAP_V3_ROUTER"
215
- },
216
- {
217
- type: TradeType.UniswapV2Swap,
218
- contract: "UNISWAP_V2_ROUTER"
219
- },
220
- {
221
- type: TradeType.UniswapV2Swap,
222
- contract: "SUSHISWAP_ROUTER"
223
- }
224
- ]
225
- },
226
-
227
- LINK: {
228
- name: "LINK",
229
- decimals: 18,
230
-
231
- symbol: "LINK",
232
- type: TokenType.NORMAL_TOKEN,
233
- swapActions: [
234
- {
235
- type: TradeType.UniswapV3Swap,
236
- contract: "UNISWAP_V3_ROUTER"
237
- },
238
- {
239
- type: TradeType.UniswapV2Swap,
240
- contract: "UNISWAP_V2_ROUTER"
241
- },
242
- {
243
- type: TradeType.UniswapV2Swap,
244
- contract: "SUSHISWAP_ROUTER"
245
- }
246
- ]
247
- },
248
-
249
- SNX: {
250
- name: "SNX",
251
- decimals: 18,
252
-
253
- symbol: "SNX",
254
- type: TokenType.NORMAL_TOKEN,
255
- swapActions: [
256
- {
257
- type: TradeType.UniswapV3Swap,
258
- contract: "UNISWAP_V3_ROUTER"
259
- },
260
- {
261
- type: TradeType.UniswapV2Swap,
262
- contract: "UNISWAP_V2_ROUTER"
263
- },
264
- {
265
- type: TradeType.UniswapV2Swap,
266
- contract: "SUSHISWAP_ROUTER"
267
- }
268
- ]
269
- },
270
-
271
- SUSHI: {
272
- name: "SUSHI",
273
- decimals: 18,
274
-
275
- symbol: "SUSHI",
276
- type: TokenType.NORMAL_TOKEN,
277
- swapActions: [
278
- {
279
- type: TradeType.UniswapV2Swap,
280
- contract: "SUSHISWAP_ROUTER"
281
- }
282
- ]
283
- },
284
-
285
- UNI: {
286
- name: "UNI",
287
- decimals: 18,
288
-
289
- symbol: "UNI",
290
- type: TokenType.NORMAL_TOKEN,
291
- swapActions: [
292
- {
293
- type: TradeType.UniswapV3Swap,
294
- contract: "UNISWAP_V3_ROUTER"
295
- },
296
- {
297
- type: TradeType.UniswapV2Swap,
298
- contract: "UNISWAP_V2_ROUTER"
299
- }
300
- ]
301
- },
302
-
303
- USDC: {
304
- name: "USDC",
305
- decimals: 6,
306
-
307
- symbol: "USDC",
308
- type: TokenType.CONNECTOR,
309
- swapActions: [
310
- {
311
- type: TradeType.UniswapV3Swap,
312
- contract: "UNISWAP_V3_ROUTER"
313
- },
314
- {
315
- type: TradeType.UniswapV2Swap,
316
- contract: "UNISWAP_V2_ROUTER"
317
- },
318
- {
319
- type: TradeType.UniswapV2Swap,
320
- contract: "SUSHISWAP_ROUTER"
321
- },
322
- {
323
- type: TradeType.CurveExchange,
324
- contract: "CURVE_3CRV_POOL",
325
- tokenOut: ["DAI", "USDT"]
326
- },
327
- {
328
- type: TradeType.CurveExchange,
329
- contract: "CURVE_SUSD_POOL",
330
- tokenOut: ["DAI", "USDT", "sUSD"]
331
- }
332
- ],
333
- lpActions: [
334
- {
335
- type: TradeType.CurveDepositLP,
336
- contract: "CURVE_3CRV_POOL",
337
- tokenOut: "3Crv"
338
- },
339
- {
340
- type: TradeType.CurveDepositLP,
341
- contract: "CURVE_SUSD_POOL",
342
- tokenOut: "crvPlain3andSUSD"
343
- },
344
- {
345
- type: TradeType.YearnDeposit,
346
- contract: "YEARN_USDC_VAULT",
347
- tokenOut: "yvUSDC"
348
- }
349
- ]
350
- },
351
-
352
- USDT: {
353
- name: "USDT",
354
- decimals: 6,
355
-
356
- symbol: "USDT",
357
- type: TokenType.NORMAL_TOKEN,
358
- swapActions: [
359
- {
360
- type: TradeType.UniswapV3Swap,
361
- contract: "UNISWAP_V3_ROUTER"
362
- },
363
- {
364
- type: TradeType.UniswapV2Swap,
365
- contract: "UNISWAP_V2_ROUTER"
366
- },
367
- {
368
- type: TradeType.UniswapV2Swap,
369
- contract: "SUSHISWAP_ROUTER"
370
- },
371
- {
372
- type: TradeType.CurveExchange,
373
- contract: "CURVE_3CRV_POOL",
374
- tokenOut: ["USDC", "DAI"]
375
- },
376
- {
377
- type: TradeType.CurveExchange,
378
- contract: "CURVE_SUSD_POOL",
379
- tokenOut: ["DAI", "USDC", "sUSD"]
380
- }
381
- ],
382
- lpActions: [
383
- {
384
- type: TradeType.CurveDepositLP,
385
- contract: "CURVE_3CRV_POOL",
386
- tokenOut: "3Crv"
387
- },
388
- {
389
- type: TradeType.CurveDepositLP,
390
- contract: "CURVE_SUSD_POOL",
391
- tokenOut: "crvPlain3andSUSD"
392
- }
393
- ]
394
- },
395
-
396
- WBTC: {
397
- name: "WBTC",
398
- decimals: 8,
399
-
400
- symbol: "WBTC",
401
- type: TokenType.CONNECTOR,
402
- swapActions: [
403
- {
404
- type: TradeType.UniswapV3Swap,
405
- contract: "UNISWAP_V3_ROUTER"
406
- },
407
- {
408
- type: TradeType.UniswapV2Swap,
409
- contract: "UNISWAP_V2_ROUTER"
410
- },
411
- {
412
- type: TradeType.UniswapV2Swap,
413
- contract: "SUSHISWAP_ROUTER"
414
- }
415
- ],
416
- lpActions: [
417
- {
418
- type: TradeType.YearnDeposit,
419
- contract: "YEARN_WBTC_VAULT",
420
- tokenOut: "yvWBTC"
421
- }
422
- ]
423
- },
424
-
425
- WETH: {
426
- name: "WETH",
427
- decimals: 18,
428
-
429
- symbol: "WETH",
430
- type: TokenType.CONNECTOR,
431
- swapActions: [
432
- {
433
- type: TradeType.UniswapV3Swap,
434
- contract: "UNISWAP_V3_ROUTER"
435
- },
436
- {
437
- type: TradeType.UniswapV2Swap,
438
- contract: "UNISWAP_V2_ROUTER"
439
- },
440
- {
441
- type: TradeType.UniswapV2Swap,
442
- contract: "SUSHISWAP_ROUTER"
443
- },
444
- {
445
- type: TradeType.CurveExchange,
446
- contract: "CURVE_STETH_GATEWAY",
447
- tokenOut: ["STETH"]
448
- }
449
- ],
450
- lpActions: [
451
- {
452
- type: TradeType.YearnDeposit,
453
- contract: "YEARN_WETH_VAULT",
454
- tokenOut: "yvWETH"
455
- },
456
- {
457
- type: TradeType.CurveDepositLP,
458
- contract: "CURVE_STETH_GATEWAY",
459
- tokenOut: "steCRV"
460
- }
461
- ]
462
- },
463
-
464
- YFI: {
465
- name: "YFI",
466
- decimals: 18,
467
-
468
- symbol: "YFI",
469
- type: TokenType.NORMAL_TOKEN,
470
- swapActions: [
471
- {
472
- type: TradeType.UniswapV3Swap,
473
- contract: "UNISWAP_V3_ROUTER"
474
- },
475
- {
476
- type: TradeType.UniswapV2Swap,
477
- contract: "UNISWAP_V2_ROUTER"
478
- },
479
- {
480
- type: TradeType.UniswapV2Swap,
481
- contract: "SUSHISWAP_ROUTER"
482
- }
483
- ]
484
- },
485
-
486
- /// UPDATE
487
- STETH: {
488
- name: "stETH",
489
- decimals: 18,
490
-
491
- symbol: "STETH",
492
- type: TokenType.NORMAL_TOKEN,
493
- swapActions: [
494
- {
495
- type: TradeType.UniswapV3Swap,
496
- contract: "UNISWAP_V3_ROUTER"
497
- },
498
- {
499
- type: TradeType.UniswapV2Swap,
500
- contract: "UNISWAP_V2_ROUTER"
501
- },
502
- {
503
- type: TradeType.UniswapV2Swap,
504
- contract: "SUSHISWAP_ROUTER"
505
- },
506
- {
507
- type: TradeType.CurveExchange,
508
- contract: "CURVE_STETH_GATEWAY",
509
- tokenOut: ["WETH"]
510
- }
511
- ],
512
- lpActions: [
513
- {
514
- type: TradeType.CurveDepositLP,
515
- contract: "CURVE_STETH_GATEWAY",
516
- tokenOut: "steCRV"
517
- }
518
- ]
519
- },
520
-
521
- FTM: {
522
- name: "FTM",
523
- decimals: 18,
524
-
525
- symbol: "FTM",
526
- type: TokenType.NORMAL_TOKEN,
527
- swapActions: [
528
- {
529
- type: TradeType.UniswapV3Swap,
530
- contract: "UNISWAP_V3_ROUTER"
531
- },
532
- {
533
- type: TradeType.UniswapV2Swap,
534
- contract: "UNISWAP_V2_ROUTER"
535
- },
536
- {
537
- type: TradeType.UniswapV2Swap,
538
- contract: "SUSHISWAP_ROUTER"
539
- }
540
- ]
541
- },
542
-
543
- CVX: {
544
- name: "CVX",
545
- decimals: 18,
546
-
547
- symbol: "CVX",
548
- type: TokenType.NORMAL_TOKEN,
549
- swapActions: [
550
- {
551
- type: TradeType.UniswapV3Swap,
552
- contract: "UNISWAP_V3_ROUTER"
553
- },
554
- {
555
- type: TradeType.UniswapV2Swap,
556
- contract: "UNISWAP_V2_ROUTER"
557
- },
558
- {
559
- type: TradeType.UniswapV2Swap,
560
- contract: "SUSHISWAP_ROUTER"
561
- }
562
- ]
563
- },
564
-
565
- FRAX: {
566
- name: "FRAX",
567
- decimals: 18,
568
-
569
- symbol: "FRAX",
570
- type: TokenType.NORMAL_TOKEN,
571
- swapActions: [
572
- {
573
- type: TradeType.UniswapV3Swap,
574
- contract: "UNISWAP_V3_ROUTER"
575
- },
576
- {
577
- type: TradeType.UniswapV2Swap,
578
- contract: "UNISWAP_V2_ROUTER"
579
- },
580
- {
581
- type: TradeType.UniswapV2Swap,
582
- contract: "SUSHISWAP_ROUTER"
583
- },
584
- {
585
- type: TradeType.CurveExchange,
586
- contract: "CURVE_FRAX_POOL",
587
- tokenOut: ["3Crv"]
588
- }
589
- ],
590
- lpActions: [
591
- {
592
- type: TradeType.CurveDepositLP,
593
- contract: "CURVE_FRAX_POOL",
594
- tokenOut: "FRAX3CRV"
595
- }
596
- ]
597
- },
598
-
599
- FXS: {
600
- name: "FXS",
601
- decimals: 18,
602
-
603
- symbol: "FXS",
604
- type: TokenType.NORMAL_TOKEN,
605
- swapActions: [
606
- {
607
- type: TradeType.UniswapV3Swap,
608
- contract: "UNISWAP_V3_ROUTER"
609
- },
610
- {
611
- type: TradeType.UniswapV2Swap,
612
- contract: "UNISWAP_V2_ROUTER"
613
- },
614
- {
615
- type: TradeType.UniswapV2Swap,
616
- contract: "SUSHISWAP_ROUTER"
617
- }
618
- ]
619
- },
620
-
621
- LDO: {
622
- name: "LDO",
623
- decimals: 18,
624
-
625
- symbol: "LDO",
626
- type: TokenType.NORMAL_TOKEN,
627
- swapActions: [
628
- {
629
- type: TradeType.UniswapV3Swap,
630
- contract: "UNISWAP_V3_ROUTER"
631
- },
632
- {
633
- type: TradeType.UniswapV2Swap,
634
- contract: "UNISWAP_V2_ROUTER"
635
- },
636
- {
637
- type: TradeType.UniswapV2Swap,
638
- contract: "SUSHISWAP_ROUTER"
639
- }
640
- ]
641
- },
642
-
643
- SPELL: {
644
- name: "SPELL",
645
- decimals: 18,
646
-
647
- symbol: "SPELL",
648
- type: TokenType.NORMAL_TOKEN,
649
- swapActions: [
650
- {
651
- type: TradeType.UniswapV3Swap,
652
- contract: "UNISWAP_V3_ROUTER"
653
- },
654
- {
655
- type: TradeType.UniswapV2Swap,
656
- contract: "UNISWAP_V2_ROUTER"
657
- },
658
- {
659
- type: TradeType.UniswapV2Swap,
660
- contract: "SUSHISWAP_ROUTER"
661
- }
662
- ]
663
- },
664
-
665
- LUSD: {
666
- name: "LUSD",
667
- decimals: 18,
668
-
669
- symbol: "LUSD",
670
- type: TokenType.NORMAL_TOKEN,
671
- swapActions: [
672
- {
673
- type: TradeType.UniswapV3Swap,
674
- contract: "UNISWAP_V3_ROUTER"
675
- },
676
- {
677
- type: TradeType.UniswapV2Swap,
678
- contract: "UNISWAP_V2_ROUTER"
679
- },
680
- {
681
- type: TradeType.UniswapV2Swap,
682
- contract: "SUSHISWAP_ROUTER"
683
- },
684
- {
685
- type: TradeType.CurveExchange,
686
- contract: "CURVE_LUSD_POOL",
687
- tokenOut: ["3Crv"]
688
- }
689
- ],
690
- lpActions: [
691
- {
692
- type: TradeType.CurveDepositLP,
693
- contract: "CURVE_LUSD_POOL",
694
- tokenOut: "LUSD3CRV"
695
- }
696
- ]
697
- },
698
-
699
- sUSD: {
700
- name: "sUSD",
701
- decimals: 18,
702
-
703
- symbol: "sUSD",
704
- type: TokenType.NORMAL_TOKEN,
705
- swapActions: [
706
- {
707
- type: TradeType.UniswapV3Swap,
708
- contract: "UNISWAP_V3_ROUTER"
709
- },
710
- {
711
- type: TradeType.UniswapV2Swap,
712
- contract: "UNISWAP_V2_ROUTER"
713
- },
714
- {
715
- type: TradeType.UniswapV2Swap,
716
- contract: "SUSHISWAP_ROUTER"
717
- },
718
- {
719
- type: TradeType.CurveExchange,
720
- contract: "CURVE_SUSD_POOL",
721
- tokenOut: ["DAI", "USDT", "USDC"]
722
- }
723
- ],
724
- lpActions: [
725
- {
726
- type: TradeType.CurveDepositLP,
727
- contract: "CURVE_SUSD_POOL",
728
- tokenOut: "crvPlain3andSUSD"
729
- }
730
- ]
731
- },
732
-
733
- GUSD: {
734
- name: "GUSD",
735
- decimals: 18,
736
-
737
- symbol: "GUSD",
738
- type: TokenType.NORMAL_TOKEN,
739
- swapActions: [
740
- {
741
- type: TradeType.UniswapV3Swap,
742
- contract: "UNISWAP_V3_ROUTER"
743
- },
744
- {
745
- type: TradeType.UniswapV2Swap,
746
- contract: "UNISWAP_V2_ROUTER"
747
- },
748
- {
749
- type: TradeType.UniswapV2Swap,
750
- contract: "SUSHISWAP_ROUTER"
751
- },
752
- {
753
- type: TradeType.CurveExchange,
754
- contract: "CURVE_GUSD_POOL",
755
- tokenOut: ["3Crv"]
756
- }
757
- ],
758
- lpActions: [
759
- {
760
- type: TradeType.CurveDepositLP,
761
- contract: "CURVE_GUSD_POOL",
762
- tokenOut: "gusd3CRV"
763
- }
764
- ]
765
- },
766
-
767
- LUNA: {
768
- name: "LUNA",
769
- decimals: 18,
770
-
771
- symbol: "LUNA",
772
- type: TokenType.NORMAL_TOKEN,
773
- swapActions: [
774
- {
775
- type: TradeType.UniswapV3Swap,
776
- contract: "UNISWAP_V3_ROUTER"
777
- },
778
- {
779
- type: TradeType.UniswapV2Swap,
780
- contract: "UNISWAP_V2_ROUTER"
781
- },
782
- {
783
- type: TradeType.UniswapV2Swap,
784
- contract: "SUSHISWAP_ROUTER"
785
- }
786
- ]
787
- },
788
-
789
- LQTY: {
790
- name: "LQTY",
791
- decimals: 18,
792
-
793
- symbol: "LQTY",
794
- type: TokenType.NORMAL_TOKEN,
795
- swapActions: [
796
- {
797
- type: TradeType.UniswapV3Swap,
798
- contract: "UNISWAP_V3_ROUTER"
799
- },
800
- {
801
- type: TradeType.UniswapV2Swap,
802
- contract: "UNISWAP_V2_ROUTER"
803
- },
804
- {
805
- type: TradeType.UniswapV2Swap,
806
- contract: "SUSHISWAP_ROUTER"
807
- }
808
- ]
809
- }
45
+ "1INCH": {
46
+ name: "1INCH",
47
+ decimals: 18,
48
+
49
+ symbol: "1INCH",
50
+ type: TokenType.NORMAL_TOKEN,
51
+ swapActions: [
52
+ {
53
+ type: TradeType.UniswapV3Swap,
54
+ contract: "UNISWAP_V3_ROUTER"
55
+ },
56
+ {
57
+ type: TradeType.UniswapV2Swap,
58
+ contract: "UNISWAP_V2_ROUTER"
59
+ },
60
+ {
61
+ type: TradeType.UniswapV2Swap,
62
+ contract: "SUSHISWAP_ROUTER"
63
+ }
64
+ ]
65
+ },
66
+
67
+ AAVE: {
68
+ name: "AAVE",
69
+ decimals: 18,
70
+
71
+ symbol: "AAVE",
72
+ type: TokenType.NORMAL_TOKEN,
73
+ swapActions: [
74
+ {
75
+ type: TradeType.UniswapV3Swap,
76
+ contract: "UNISWAP_V3_ROUTER"
77
+ },
78
+ {
79
+ type: TradeType.UniswapV2Swap,
80
+ contract: "UNISWAP_V2_ROUTER"
81
+ },
82
+ {
83
+ type: TradeType.UniswapV2Swap,
84
+ contract: "SUSHISWAP_ROUTER"
85
+ }
86
+ ]
87
+ },
88
+
89
+ COMP: {
90
+ name: "COMP",
91
+ decimals: 18,
92
+
93
+ symbol: "COMP",
94
+ type: TokenType.NORMAL_TOKEN,
95
+ swapActions: [
96
+ {
97
+ type: TradeType.UniswapV3Swap,
98
+ contract: "UNISWAP_V3_ROUTER"
99
+ },
100
+ {
101
+ type: TradeType.UniswapV2Swap,
102
+ contract: "UNISWAP_V2_ROUTER"
103
+ },
104
+ {
105
+ type: TradeType.UniswapV2Swap,
106
+ contract: "SUSHISWAP_ROUTER"
107
+ }
108
+ ]
109
+ },
110
+
111
+ CRV: {
112
+ name: "CRV",
113
+ decimals: 18,
114
+
115
+ symbol: "CRV",
116
+ type: TokenType.NORMAL_TOKEN,
117
+ swapActions: [
118
+ {
119
+ type: TradeType.UniswapV3Swap,
120
+ contract: "UNISWAP_V3_ROUTER"
121
+ },
122
+ {
123
+ type: TradeType.UniswapV2Swap,
124
+ contract: "UNISWAP_V2_ROUTER"
125
+ },
126
+ {
127
+ type: TradeType.UniswapV2Swap,
128
+ contract: "SUSHISWAP_ROUTER"
129
+ }
130
+ ]
131
+ },
132
+
133
+ DAI: {
134
+ name: "DAI",
135
+ decimals: 18,
136
+
137
+ symbol: "DAI",
138
+ type: TokenType.CONNECTOR,
139
+ swapActions: [
140
+ {
141
+ type: TradeType.UniswapV3Swap,
142
+ contract: "UNISWAP_V3_ROUTER"
143
+ },
144
+ {
145
+ type: TradeType.UniswapV2Swap,
146
+ contract: "UNISWAP_V2_ROUTER"
147
+ },
148
+ {
149
+ type: TradeType.UniswapV2Swap,
150
+ contract: "SUSHISWAP_ROUTER"
151
+ },
152
+ {
153
+ type: TradeType.CurveExchange,
154
+ contract: "CURVE_3CRV_POOL",
155
+ tokenOut: ["USDC", "USDT"]
156
+ },
157
+ {
158
+ type: TradeType.CurveExchange,
159
+ contract: "CURVE_SUSD_POOL",
160
+ tokenOut: ["USDC", "USDT", "sUSD"]
161
+ }
162
+ ],
163
+ lpActions: [
164
+ {
165
+ type: TradeType.CurveDepositLP,
166
+ contract: "CURVE_3CRV_POOL",
167
+ tokenOut: "3Crv"
168
+ },
169
+ {
170
+ type: TradeType.CurveDepositLP,
171
+ contract: "CURVE_SUSD_POOL",
172
+ tokenOut: "crvPlain3andSUSD"
173
+ },
174
+ {
175
+ type: TradeType.YearnDeposit,
176
+ contract: "YEARN_DAI_VAULT",
177
+ tokenOut: "yvDAI"
178
+ }
179
+ ]
180
+ },
181
+
182
+ DPI: {
183
+ name: "DPI",
184
+ decimals: 18,
185
+
186
+ symbol: "DPI",
187
+ type: TokenType.NORMAL_TOKEN,
188
+ swapActions: [
189
+ {
190
+ type: TradeType.UniswapV3Swap,
191
+ contract: "UNISWAP_V3_ROUTER"
192
+ },
193
+ {
194
+ type: TradeType.UniswapV2Swap,
195
+ contract: "UNISWAP_V2_ROUTER"
196
+ },
197
+ {
198
+ type: TradeType.UniswapV2Swap,
199
+ contract: "SUSHISWAP_ROUTER"
200
+ }
201
+ ]
202
+ },
203
+
204
+ FEI: {
205
+ name: "FEI",
206
+ decimals: 18,
207
+
208
+ symbol: "FEI",
209
+ type: TokenType.NORMAL_TOKEN,
210
+ swapActions: [
211
+ {
212
+ type: TradeType.UniswapV3Swap,
213
+ contract: "UNISWAP_V3_ROUTER"
214
+ },
215
+ {
216
+ type: TradeType.UniswapV2Swap,
217
+ contract: "UNISWAP_V2_ROUTER"
218
+ },
219
+ {
220
+ type: TradeType.UniswapV2Swap,
221
+ contract: "SUSHISWAP_ROUTER"
222
+ }
223
+ ]
224
+ },
225
+
226
+ LINK: {
227
+ name: "LINK",
228
+ decimals: 18,
229
+
230
+ symbol: "LINK",
231
+ type: TokenType.NORMAL_TOKEN,
232
+ swapActions: [
233
+ {
234
+ type: TradeType.UniswapV3Swap,
235
+ contract: "UNISWAP_V3_ROUTER"
236
+ },
237
+ {
238
+ type: TradeType.UniswapV2Swap,
239
+ contract: "UNISWAP_V2_ROUTER"
240
+ },
241
+ {
242
+ type: TradeType.UniswapV2Swap,
243
+ contract: "SUSHISWAP_ROUTER"
244
+ }
245
+ ]
246
+ },
247
+
248
+ SNX: {
249
+ name: "SNX",
250
+ decimals: 18,
251
+
252
+ symbol: "SNX",
253
+ type: TokenType.NORMAL_TOKEN,
254
+ swapActions: [
255
+ {
256
+ type: TradeType.UniswapV3Swap,
257
+ contract: "UNISWAP_V3_ROUTER"
258
+ },
259
+ {
260
+ type: TradeType.UniswapV2Swap,
261
+ contract: "UNISWAP_V2_ROUTER"
262
+ },
263
+ {
264
+ type: TradeType.UniswapV2Swap,
265
+ contract: "SUSHISWAP_ROUTER"
266
+ }
267
+ ]
268
+ },
269
+
270
+ SUSHI: {
271
+ name: "SUSHI",
272
+ decimals: 18,
273
+
274
+ symbol: "SUSHI",
275
+ type: TokenType.NORMAL_TOKEN,
276
+ swapActions: [
277
+ {
278
+ type: TradeType.UniswapV2Swap,
279
+ contract: "SUSHISWAP_ROUTER"
280
+ }
281
+ ]
282
+ },
283
+
284
+ UNI: {
285
+ name: "UNI",
286
+ decimals: 18,
287
+
288
+ symbol: "UNI",
289
+ type: TokenType.NORMAL_TOKEN,
290
+ swapActions: [
291
+ {
292
+ type: TradeType.UniswapV3Swap,
293
+ contract: "UNISWAP_V3_ROUTER"
294
+ },
295
+ {
296
+ type: TradeType.UniswapV2Swap,
297
+ contract: "UNISWAP_V2_ROUTER"
298
+ }
299
+ ]
300
+ },
301
+
302
+ USDC: {
303
+ name: "USDC",
304
+ decimals: 6,
305
+
306
+ symbol: "USDC",
307
+ type: TokenType.CONNECTOR,
308
+ swapActions: [
309
+ {
310
+ type: TradeType.UniswapV3Swap,
311
+ contract: "UNISWAP_V3_ROUTER"
312
+ },
313
+ {
314
+ type: TradeType.UniswapV2Swap,
315
+ contract: "UNISWAP_V2_ROUTER"
316
+ },
317
+ {
318
+ type: TradeType.UniswapV2Swap,
319
+ contract: "SUSHISWAP_ROUTER"
320
+ },
321
+ {
322
+ type: TradeType.CurveExchange,
323
+ contract: "CURVE_3CRV_POOL",
324
+ tokenOut: ["DAI", "USDT"]
325
+ },
326
+ {
327
+ type: TradeType.CurveExchange,
328
+ contract: "CURVE_SUSD_POOL",
329
+ tokenOut: ["DAI", "USDT", "sUSD"]
330
+ }
331
+ ],
332
+ lpActions: [
333
+ {
334
+ type: TradeType.CurveDepositLP,
335
+ contract: "CURVE_3CRV_POOL",
336
+ tokenOut: "3Crv"
337
+ },
338
+ {
339
+ type: TradeType.CurveDepositLP,
340
+ contract: "CURVE_SUSD_POOL",
341
+ tokenOut: "crvPlain3andSUSD"
342
+ },
343
+ {
344
+ type: TradeType.YearnDeposit,
345
+ contract: "YEARN_USDC_VAULT",
346
+ tokenOut: "yvUSDC"
347
+ }
348
+ ]
349
+ },
350
+
351
+ USDT: {
352
+ name: "USDT",
353
+ decimals: 6,
354
+
355
+ symbol: "USDT",
356
+ type: TokenType.NORMAL_TOKEN,
357
+ swapActions: [
358
+ {
359
+ type: TradeType.UniswapV3Swap,
360
+ contract: "UNISWAP_V3_ROUTER"
361
+ },
362
+ {
363
+ type: TradeType.UniswapV2Swap,
364
+ contract: "UNISWAP_V2_ROUTER"
365
+ },
366
+ {
367
+ type: TradeType.UniswapV2Swap,
368
+ contract: "SUSHISWAP_ROUTER"
369
+ },
370
+ {
371
+ type: TradeType.CurveExchange,
372
+ contract: "CURVE_3CRV_POOL",
373
+ tokenOut: ["USDC", "DAI"]
374
+ },
375
+ {
376
+ type: TradeType.CurveExchange,
377
+ contract: "CURVE_SUSD_POOL",
378
+ tokenOut: ["DAI", "USDC", "sUSD"]
379
+ }
380
+ ],
381
+ lpActions: [
382
+ {
383
+ type: TradeType.CurveDepositLP,
384
+ contract: "CURVE_3CRV_POOL",
385
+ tokenOut: "3Crv"
386
+ },
387
+ {
388
+ type: TradeType.CurveDepositLP,
389
+ contract: "CURVE_SUSD_POOL",
390
+ tokenOut: "crvPlain3andSUSD"
391
+ }
392
+ ]
393
+ },
394
+
395
+ WBTC: {
396
+ name: "WBTC",
397
+ decimals: 8,
398
+
399
+ symbol: "WBTC",
400
+ type: TokenType.CONNECTOR,
401
+ swapActions: [
402
+ {
403
+ type: TradeType.UniswapV3Swap,
404
+ contract: "UNISWAP_V3_ROUTER"
405
+ },
406
+ {
407
+ type: TradeType.UniswapV2Swap,
408
+ contract: "UNISWAP_V2_ROUTER"
409
+ },
410
+ {
411
+ type: TradeType.UniswapV2Swap,
412
+ contract: "SUSHISWAP_ROUTER"
413
+ }
414
+ ],
415
+ lpActions: [
416
+ {
417
+ type: TradeType.YearnDeposit,
418
+ contract: "YEARN_WBTC_VAULT",
419
+ tokenOut: "yvWBTC"
420
+ }
421
+ ]
422
+ },
423
+
424
+ WETH: {
425
+ name: "WETH",
426
+ decimals: 18,
427
+
428
+ symbol: "WETH",
429
+ type: TokenType.CONNECTOR,
430
+ swapActions: [
431
+ {
432
+ type: TradeType.UniswapV3Swap,
433
+ contract: "UNISWAP_V3_ROUTER"
434
+ },
435
+ {
436
+ type: TradeType.UniswapV2Swap,
437
+ contract: "UNISWAP_V2_ROUTER"
438
+ },
439
+ {
440
+ type: TradeType.UniswapV2Swap,
441
+ contract: "SUSHISWAP_ROUTER"
442
+ },
443
+ {
444
+ type: TradeType.CurveExchange,
445
+ contract: "CURVE_STETH_GATEWAY",
446
+ tokenOut: ["STETH"]
447
+ }
448
+ ],
449
+ lpActions: [
450
+ {
451
+ type: TradeType.YearnDeposit,
452
+ contract: "YEARN_WETH_VAULT",
453
+ tokenOut: "yvWETH"
454
+ },
455
+ {
456
+ type: TradeType.CurveDepositLP,
457
+ contract: "CURVE_STETH_GATEWAY",
458
+ tokenOut: "steCRV"
459
+ }
460
+ ]
461
+ },
462
+
463
+ YFI: {
464
+ name: "YFI",
465
+ decimals: 18,
466
+
467
+ symbol: "YFI",
468
+ type: TokenType.NORMAL_TOKEN,
469
+ swapActions: [
470
+ {
471
+ type: TradeType.UniswapV3Swap,
472
+ contract: "UNISWAP_V3_ROUTER"
473
+ },
474
+ {
475
+ type: TradeType.UniswapV2Swap,
476
+ contract: "UNISWAP_V2_ROUTER"
477
+ },
478
+ {
479
+ type: TradeType.UniswapV2Swap,
480
+ contract: "SUSHISWAP_ROUTER"
481
+ }
482
+ ]
483
+ },
484
+
485
+ /// UPDATE
486
+ STETH: {
487
+ name: "stETH",
488
+ decimals: 18,
489
+
490
+ symbol: "STETH",
491
+ type: TokenType.NORMAL_TOKEN,
492
+ swapActions: [
493
+ {
494
+ type: TradeType.UniswapV3Swap,
495
+ contract: "UNISWAP_V3_ROUTER"
496
+ },
497
+ {
498
+ type: TradeType.UniswapV2Swap,
499
+ contract: "UNISWAP_V2_ROUTER"
500
+ },
501
+ {
502
+ type: TradeType.UniswapV2Swap,
503
+ contract: "SUSHISWAP_ROUTER"
504
+ },
505
+ {
506
+ type: TradeType.CurveExchange,
507
+ contract: "CURVE_STETH_GATEWAY",
508
+ tokenOut: ["WETH"]
509
+ }
510
+ ],
511
+ lpActions: [
512
+ {
513
+ type: TradeType.CurveDepositLP,
514
+ contract: "CURVE_STETH_GATEWAY",
515
+ tokenOut: "steCRV"
516
+ }
517
+ ]
518
+ },
519
+
520
+ FTM: {
521
+ name: "FTM",
522
+ decimals: 18,
523
+
524
+ symbol: "FTM",
525
+ type: TokenType.NORMAL_TOKEN,
526
+ swapActions: [
527
+ {
528
+ type: TradeType.UniswapV3Swap,
529
+ contract: "UNISWAP_V3_ROUTER"
530
+ },
531
+ {
532
+ type: TradeType.UniswapV2Swap,
533
+ contract: "UNISWAP_V2_ROUTER"
534
+ },
535
+ {
536
+ type: TradeType.UniswapV2Swap,
537
+ contract: "SUSHISWAP_ROUTER"
538
+ }
539
+ ]
540
+ },
541
+
542
+ CVX: {
543
+ name: "CVX",
544
+ decimals: 18,
545
+
546
+ symbol: "CVX",
547
+ type: TokenType.NORMAL_TOKEN,
548
+ swapActions: [
549
+ {
550
+ type: TradeType.UniswapV3Swap,
551
+ contract: "UNISWAP_V3_ROUTER"
552
+ },
553
+ {
554
+ type: TradeType.UniswapV2Swap,
555
+ contract: "UNISWAP_V2_ROUTER"
556
+ },
557
+ {
558
+ type: TradeType.UniswapV2Swap,
559
+ contract: "SUSHISWAP_ROUTER"
560
+ }
561
+ ]
562
+ },
563
+
564
+ FRAX: {
565
+ name: "FRAX",
566
+ decimals: 18,
567
+
568
+ symbol: "FRAX",
569
+ type: TokenType.NORMAL_TOKEN,
570
+ swapActions: [
571
+ {
572
+ type: TradeType.UniswapV3Swap,
573
+ contract: "UNISWAP_V3_ROUTER"
574
+ },
575
+ {
576
+ type: TradeType.UniswapV2Swap,
577
+ contract: "UNISWAP_V2_ROUTER"
578
+ },
579
+ {
580
+ type: TradeType.UniswapV2Swap,
581
+ contract: "SUSHISWAP_ROUTER"
582
+ },
583
+ {
584
+ type: TradeType.CurveExchange,
585
+ contract: "CURVE_FRAX_POOL",
586
+ tokenOut: ["3Crv"]
587
+ }
588
+ ],
589
+ lpActions: [
590
+ {
591
+ type: TradeType.CurveDepositLP,
592
+ contract: "CURVE_FRAX_POOL",
593
+ tokenOut: "FRAX3CRV"
594
+ }
595
+ ]
596
+ },
597
+
598
+ FXS: {
599
+ name: "FXS",
600
+ decimals: 18,
601
+
602
+ symbol: "FXS",
603
+ type: TokenType.NORMAL_TOKEN,
604
+ swapActions: [
605
+ {
606
+ type: TradeType.UniswapV3Swap,
607
+ contract: "UNISWAP_V3_ROUTER"
608
+ },
609
+ {
610
+ type: TradeType.UniswapV2Swap,
611
+ contract: "UNISWAP_V2_ROUTER"
612
+ },
613
+ {
614
+ type: TradeType.UniswapV2Swap,
615
+ contract: "SUSHISWAP_ROUTER"
616
+ }
617
+ ]
618
+ },
619
+
620
+ LDO: {
621
+ name: "LDO",
622
+ decimals: 18,
623
+
624
+ symbol: "LDO",
625
+ type: TokenType.NORMAL_TOKEN,
626
+ swapActions: [
627
+ {
628
+ type: TradeType.UniswapV3Swap,
629
+ contract: "UNISWAP_V3_ROUTER"
630
+ },
631
+ {
632
+ type: TradeType.UniswapV2Swap,
633
+ contract: "UNISWAP_V2_ROUTER"
634
+ },
635
+ {
636
+ type: TradeType.UniswapV2Swap,
637
+ contract: "SUSHISWAP_ROUTER"
638
+ }
639
+ ]
640
+ },
641
+
642
+ SPELL: {
643
+ name: "SPELL",
644
+ decimals: 18,
645
+
646
+ symbol: "SPELL",
647
+ type: TokenType.NORMAL_TOKEN,
648
+ swapActions: [
649
+ {
650
+ type: TradeType.UniswapV3Swap,
651
+ contract: "UNISWAP_V3_ROUTER"
652
+ },
653
+ {
654
+ type: TradeType.UniswapV2Swap,
655
+ contract: "UNISWAP_V2_ROUTER"
656
+ },
657
+ {
658
+ type: TradeType.UniswapV2Swap,
659
+ contract: "SUSHISWAP_ROUTER"
660
+ }
661
+ ]
662
+ },
663
+
664
+ LUSD: {
665
+ name: "LUSD",
666
+ decimals: 18,
667
+
668
+ symbol: "LUSD",
669
+ type: TokenType.NORMAL_TOKEN,
670
+ swapActions: [
671
+ {
672
+ type: TradeType.UniswapV3Swap,
673
+ contract: "UNISWAP_V3_ROUTER"
674
+ },
675
+ {
676
+ type: TradeType.UniswapV2Swap,
677
+ contract: "UNISWAP_V2_ROUTER"
678
+ },
679
+ {
680
+ type: TradeType.UniswapV2Swap,
681
+ contract: "SUSHISWAP_ROUTER"
682
+ },
683
+ {
684
+ type: TradeType.CurveExchange,
685
+ contract: "CURVE_LUSD_POOL",
686
+ tokenOut: ["3Crv"]
687
+ }
688
+ ],
689
+ lpActions: [
690
+ {
691
+ type: TradeType.CurveDepositLP,
692
+ contract: "CURVE_LUSD_POOL",
693
+ tokenOut: "LUSD3CRV"
694
+ }
695
+ ]
696
+ },
697
+
698
+ sUSD: {
699
+ name: "sUSD",
700
+ decimals: 18,
701
+
702
+ symbol: "sUSD",
703
+ type: TokenType.NORMAL_TOKEN,
704
+ swapActions: [
705
+ {
706
+ type: TradeType.UniswapV3Swap,
707
+ contract: "UNISWAP_V3_ROUTER"
708
+ },
709
+ {
710
+ type: TradeType.UniswapV2Swap,
711
+ contract: "UNISWAP_V2_ROUTER"
712
+ },
713
+ {
714
+ type: TradeType.UniswapV2Swap,
715
+ contract: "SUSHISWAP_ROUTER"
716
+ },
717
+ {
718
+ type: TradeType.CurveExchange,
719
+ contract: "CURVE_SUSD_POOL",
720
+ tokenOut: ["DAI", "USDT", "USDC"]
721
+ }
722
+ ],
723
+ lpActions: [
724
+ {
725
+ type: TradeType.CurveDepositLP,
726
+ contract: "CURVE_SUSD_POOL",
727
+ tokenOut: "crvPlain3andSUSD"
728
+ }
729
+ ]
730
+ },
731
+
732
+ GUSD: {
733
+ name: "GUSD",
734
+ decimals: 18,
735
+
736
+ symbol: "GUSD",
737
+ type: TokenType.NORMAL_TOKEN,
738
+ swapActions: [
739
+ {
740
+ type: TradeType.UniswapV3Swap,
741
+ contract: "UNISWAP_V3_ROUTER"
742
+ },
743
+ {
744
+ type: TradeType.UniswapV2Swap,
745
+ contract: "UNISWAP_V2_ROUTER"
746
+ },
747
+ {
748
+ type: TradeType.UniswapV2Swap,
749
+ contract: "SUSHISWAP_ROUTER"
750
+ },
751
+ {
752
+ type: TradeType.CurveExchange,
753
+ contract: "CURVE_GUSD_POOL",
754
+ tokenOut: ["3Crv"]
755
+ }
756
+ ],
757
+ lpActions: [
758
+ {
759
+ type: TradeType.CurveDepositLP,
760
+ contract: "CURVE_GUSD_POOL",
761
+ tokenOut: "gusd3CRV"
762
+ }
763
+ ]
764
+ },
765
+
766
+ LUNA: {
767
+ name: "LUNA",
768
+ decimals: 18,
769
+
770
+ symbol: "LUNA",
771
+ type: TokenType.NORMAL_TOKEN,
772
+ swapActions: [
773
+ {
774
+ type: TradeType.UniswapV3Swap,
775
+ contract: "UNISWAP_V3_ROUTER"
776
+ },
777
+ {
778
+ type: TradeType.UniswapV2Swap,
779
+ contract: "UNISWAP_V2_ROUTER"
780
+ },
781
+ {
782
+ type: TradeType.UniswapV2Swap,
783
+ contract: "SUSHISWAP_ROUTER"
784
+ }
785
+ ]
786
+ },
787
+
788
+ LQTY: {
789
+ name: "LQTY",
790
+ decimals: 18,
791
+
792
+ symbol: "LQTY",
793
+ type: TokenType.NORMAL_TOKEN,
794
+ swapActions: [
795
+ {
796
+ type: TradeType.UniswapV3Swap,
797
+ contract: "UNISWAP_V3_ROUTER"
798
+ },
799
+ {
800
+ type: TradeType.UniswapV2Swap,
801
+ contract: "UNISWAP_V2_ROUTER"
802
+ },
803
+ {
804
+ type: TradeType.UniswapV2Swap,
805
+ contract: "SUSHISWAP_ROUTER"
806
+ }
807
+ ]
808
+ }
810
809
  };