@gearbox-protocol/sdk 0.0.30 → 0.0.33

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.
@@ -1,4 +1,3 @@
1
- import { BigNumber } from "ethers";
2
1
  import { SupportedTokens } from "./token";
3
2
  export interface PriceFeed {
4
3
  token: string;
@@ -19,17 +18,14 @@ export declare type PriceFeedData = {
19
18
  } | {
20
19
  type: OracleType.YEARN_TOKEN_ORACLE;
21
20
  token: SupportedTokens;
22
- priceFeedKovan?: string;
23
- lowerBound: BigNumber;
24
- upperBound: BigNumber;
21
+ deployed?: string;
22
+ deployedKovan?: string;
25
23
  } | {
26
24
  type: OracleType.CURVE_LP_ORACLE;
27
25
  assets: Array<SupportedTokens>;
28
26
  } | {
29
27
  type: OracleType.YEARN_CURVE_LP_ORACLE;
30
28
  curveSymbol: SupportedTokens;
31
- lowerBound: BigNumber;
32
- upperBound: BigNumber;
33
29
  } | {
34
30
  type: OracleType.ZERO_ORACLE;
35
31
  } | {
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.priceFeedsByNetwork = void 0;
4
- var ethers_1 = require("ethers");
5
4
  var oracles_1 = require("../core/oracles");
6
- var constants_1 = require("./constants");
7
5
  exports.priceFeedsByNetwork = {
8
6
  "1INCH": {
9
7
  priceFeedETH: {
@@ -285,44 +283,34 @@ exports.priceFeedsByNetwork = {
285
283
  priceFeedETH: {
286
284
  type: oracles_1.OracleType.YEARN_TOKEN_ORACLE,
287
285
  token: "DAI",
288
- lowerBound: constants_1.WAD,
289
- upperBound: constants_1.WAD.mul(10)
286
+ deployedKovan: ""
290
287
  },
291
288
  priceFeedUSD: {
292
289
  type: oracles_1.OracleType.YEARN_TOKEN_ORACLE,
293
- token: "DAI",
294
- lowerBound: constants_1.WAD,
295
- upperBound: constants_1.WAD.mul(10)
290
+ token: "DAI"
296
291
  }
297
292
  },
298
293
  yvUSDC: {
299
294
  priceFeedETH: {
300
295
  type: oracles_1.OracleType.YEARN_TOKEN_ORACLE,
301
296
  token: "USDC",
302
- lowerBound: ethers_1.BigNumber.from(1000000),
303
- upperBound: ethers_1.BigNumber.from(100000000)
297
+ deployedKovan: ""
304
298
  },
305
299
  priceFeedUSD: {
306
300
  type: oracles_1.OracleType.YEARN_TOKEN_ORACLE,
307
- token: "USDC",
308
- lowerBound: ethers_1.BigNumber.from(1000000),
309
- upperBound: ethers_1.BigNumber.from(100000000)
301
+ token: "USDC"
310
302
  }
311
303
  },
312
304
  yvWETH: {
313
305
  priceFeedUSD: {
314
306
  type: oracles_1.OracleType.YEARN_TOKEN_ORACLE,
315
- token: "WETH",
316
- lowerBound: constants_1.WAD,
317
- upperBound: constants_1.WAD.mul(10)
307
+ token: "WETH"
318
308
  }
319
309
  },
320
310
  yvWBTC: {
321
311
  priceFeedUSD: {
322
312
  type: oracles_1.OracleType.YEARN_TOKEN_ORACLE,
323
- token: "WBTC",
324
- lowerBound: ethers_1.BigNumber.from("100000000"),
325
- upperBound: ethers_1.BigNumber.from("10000000000")
313
+ token: "WBTC"
326
314
  }
327
315
  },
328
316
  // CURVE LP TOKENS
@@ -366,25 +354,13 @@ exports.priceFeedsByNetwork = {
366
354
  yvCurve_stETH: {
367
355
  priceFeedUSD: {
368
356
  type: oracles_1.OracleType.YEARN_CURVE_LP_ORACLE,
369
- curveSymbol: "steCRV",
370
- lowerBound: constants_1.WAD,
371
- upperBound: constants_1.WAD.mul(100)
357
+ curveSymbol: "steCRV"
372
358
  }
373
359
  },
374
360
  yvCurve_FRAX: {
375
361
  priceFeedUSD: {
376
362
  type: oracles_1.OracleType.YEARN_CURVE_LP_ORACLE,
377
- curveSymbol: "FRAX3CRV",
378
- lowerBound: constants_1.WAD,
379
- upperBound: constants_1.WAD.mul(100)
380
- }
381
- },
382
- yvCurve_d3pool: {
383
- priceFeedUSD: {
384
- type: oracles_1.OracleType.YEARN_CURVE_LP_ORACLE,
385
- curveSymbol: "crvPlain3andSUSD",
386
- lowerBound: ethers_1.BigNumber.from("100000000"),
387
- upperBound: ethers_1.BigNumber.from("10000000000")
363
+ curveSymbol: "FRAX3CRV"
388
364
  }
389
365
  },
390
366
  // CVX tokens
@@ -1,143 +1,8 @@
1
1
  import { NetworkType } from "./constants";
2
- export declare const supportedTokens: {
3
- "1INCH": {
4
- type: string;
5
- };
6
- AAVE: {
7
- type: string;
8
- };
9
- COMP: {
10
- type: string;
11
- };
12
- CRV: {
13
- type: string;
14
- };
15
- DAI: {
16
- type: string;
17
- };
18
- DPI: {
19
- type: string;
20
- };
21
- FEI: {
22
- type: string;
23
- };
24
- LINK: {
25
- type: string;
26
- };
27
- SNX: {
28
- type: string;
29
- };
30
- SUSHI: {
31
- type: string;
32
- };
33
- UNI: {
34
- type: string;
35
- };
36
- USDC: {
37
- type: string;
38
- };
39
- USDT: {
40
- type: string;
41
- };
42
- WBTC: {
43
- type: string;
44
- };
45
- WETH: {
46
- type: string;
47
- };
48
- YFI: {
49
- type: string;
50
- };
51
- STETH: {
52
- type: string;
53
- };
54
- FTM: {
55
- type: string;
56
- };
57
- CVX: {
58
- type: string;
59
- };
60
- FRAX: {
61
- type: string;
62
- };
63
- FXS: {
64
- type: string;
65
- };
66
- LDO: {
67
- type: string;
68
- };
69
- SPELL: {
70
- type: string;
71
- };
72
- LUSD: {
73
- type: string;
74
- };
75
- sUSD: {
76
- type: string;
77
- };
78
- GUSD: {
79
- type: string;
80
- };
81
- LUNA: {
82
- type: string;
83
- };
84
- LQTY: {
85
- type: string;
86
- };
87
- yvDAI: {
88
- type: string;
89
- };
90
- yvUSDC: {
91
- type: string;
92
- };
93
- yvWETH: {
94
- type: string;
95
- };
96
- yvWBTC: {
97
- type: string;
98
- };
99
- "3Crv": {
100
- type: string;
101
- };
102
- steCRV: {
103
- type: string;
104
- };
105
- FRAX3CRV: {
106
- type: string;
107
- };
108
- LUSD3CRV: {
109
- type: string;
110
- };
111
- crvPlain3andSUSD: {
112
- type: string;
113
- };
114
- gusd3CRV: {
115
- type: string;
116
- };
117
- cvx3Crv: {
118
- type: string;
119
- };
120
- cvxsteCRV: {
121
- type: string;
122
- };
123
- cvxFRAX3CRV: {
124
- type: string;
125
- };
126
- cvxcrvPlain3andSUSD: {
127
- type: string;
128
- };
129
- cvxgusd3CRV: {
130
- type: string;
131
- };
132
- yvCurve_stETH: {
133
- type: string;
134
- };
135
- yvCurve_FRAX: {
136
- type: string;
137
- };
138
- yvCurve_d3pool: {
139
- type: string;
140
- };
141
- };
142
- export declare type SupportedTokens = keyof typeof supportedTokens;
2
+ export interface TokenDataI {
3
+ type: "volatile" | "stable" | "core" | "lp";
4
+ priority: number;
5
+ }
6
+ export declare type SupportedTokens = "1INCH" | "AAVE" | "COMP" | "CRV" | "DAI" | "DPI" | "FEI" | "LINK" | "SNX" | "SUSHI" | "UNI" | "USDC" | "USDT" | "WBTC" | "WETH" | "YFI" | "STETH" | "FTM" | "CVX" | "FRAX" | "FXS" | "LDO" | "SPELL" | "LUSD" | "sUSD" | "GUSD" | "LUNA" | "LQTY" | "yvDAI" | "yvUSDC" | "yvWETH" | "yvWBTC" | "3Crv" | "steCRV" | "FRAX3CRV" | "LUSD3CRV" | "crvPlain3andSUSD" | "gusd3CRV" | "cvx3Crv" | "cvxsteCRV" | "cvxFRAX3CRV" | "cvxcrvPlain3andSUSD" | "cvxgusd3CRV" | "yvCurve_stETH" | "yvCurve_FRAX";
7
+ export declare const supportedTokens: Record<SupportedTokens, TokenDataI>;
143
8
  export declare const tokenDataByNetwork: Record<NetworkType, Record<SupportedTokens, string>>;
package/lib/core/token.js CHANGED
@@ -1,157 +1,205 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tokenDataByNetwork = exports.supportedTokens = void 0;
4
+ var Priority;
5
+ (function (Priority) {
6
+ Priority[Priority["CONNECTOR"] = 0] = "CONNECTOR";
7
+ Priority[Priority["NORMAL_TOKEN"] = 1] = "NORMAL_TOKEN";
8
+ Priority[Priority["CURVE_LP_OR_YEARN"] = 2] = "CURVE_LP_OR_YEARN";
9
+ Priority[Priority["META_CURVE_LP_OR_YEARN_ON_CURVE"] = 3] = "META_CURVE_LP_OR_YEARN_ON_CURVE";
10
+ Priority[Priority["CONVEX_OR_YEARN_ON_META_CURVE_LP"] = 4] = "CONVEX_OR_YEARN_ON_META_CURVE_LP";
11
+ })(Priority || (Priority = {}));
4
12
  exports.supportedTokens = {
5
13
  "1INCH": {
6
- type: "volatile"
14
+ type: "volatile",
15
+ priority: Priority.NORMAL_TOKEN
7
16
  },
8
17
  AAVE: {
9
- type: "volatile"
18
+ type: "volatile",
19
+ priority: Priority.NORMAL_TOKEN
10
20
  },
11
21
  COMP: {
12
- type: "volatile"
22
+ type: "volatile",
23
+ priority: Priority.NORMAL_TOKEN
13
24
  },
14
25
  CRV: {
15
- type: "volatile"
26
+ type: "volatile",
27
+ priority: Priority.NORMAL_TOKEN
16
28
  },
17
29
  DAI: {
18
- type: "stable"
30
+ type: "stable",
31
+ priority: Priority.CONNECTOR
19
32
  },
20
33
  DPI: {
21
- type: "volatile"
34
+ type: "volatile",
35
+ priority: Priority.NORMAL_TOKEN
22
36
  },
23
37
  FEI: {
24
- type: "stable"
38
+ type: "stable",
39
+ priority: Priority.NORMAL_TOKEN
25
40
  },
26
41
  LINK: {
27
- type: "volatile"
42
+ type: "volatile",
43
+ priority: Priority.NORMAL_TOKEN
28
44
  },
29
45
  SNX: {
30
- type: "volatile"
46
+ type: "volatile",
47
+ priority: Priority.NORMAL_TOKEN
31
48
  },
32
49
  SUSHI: {
33
- type: "volatile"
50
+ type: "volatile",
51
+ priority: Priority.NORMAL_TOKEN
34
52
  },
35
53
  UNI: {
36
- type: "volatile"
54
+ type: "volatile",
55
+ priority: Priority.NORMAL_TOKEN
37
56
  },
38
57
  USDC: {
39
- type: "stable"
58
+ type: "stable",
59
+ priority: Priority.CONNECTOR
40
60
  },
41
61
  USDT: {
42
- type: "stable"
62
+ type: "stable",
63
+ priority: Priority.NORMAL_TOKEN
43
64
  },
44
65
  WBTC: {
45
- type: "core"
66
+ type: "core",
67
+ priority: Priority.CONNECTOR
46
68
  },
47
69
  WETH: {
48
- type: "core"
70
+ type: "core",
71
+ priority: Priority.CONNECTOR
49
72
  },
50
73
  YFI: {
51
- type: "volatile"
74
+ type: "volatile",
75
+ priority: Priority.NORMAL_TOKEN
52
76
  },
53
77
  /// UPDATE
54
78
  STETH: {
55
- type: "volatile"
79
+ type: "volatile",
80
+ priority: Priority.NORMAL_TOKEN
56
81
  },
57
82
  FTM: {
58
- type: "volatile"
83
+ type: "volatile",
84
+ priority: Priority.NORMAL_TOKEN
59
85
  },
60
86
  CVX: {
61
- type: "volatile"
87
+ type: "volatile",
88
+ priority: Priority.NORMAL_TOKEN
62
89
  },
63
90
  FRAX: {
64
- type: "stable"
91
+ type: "stable",
92
+ priority: Priority.NORMAL_TOKEN
65
93
  },
66
94
  FXS: {
67
- type: "volatile"
95
+ type: "volatile",
96
+ priority: Priority.NORMAL_TOKEN
68
97
  },
69
98
  LDO: {
70
- type: "volatile"
99
+ type: "volatile",
100
+ priority: Priority.NORMAL_TOKEN
71
101
  },
72
102
  SPELL: {
73
- type: "volatile"
103
+ type: "volatile",
104
+ priority: Priority.NORMAL_TOKEN
74
105
  },
75
106
  LUSD: {
76
- type: "stable"
107
+ type: "stable",
108
+ priority: Priority.NORMAL_TOKEN
77
109
  },
78
110
  sUSD: {
79
- type: "stable"
111
+ type: "stable",
112
+ priority: Priority.NORMAL_TOKEN
80
113
  },
81
114
  GUSD: {
82
- type: "stable"
115
+ type: "stable",
116
+ priority: Priority.NORMAL_TOKEN
83
117
  },
84
118
  LUNA: {
85
- type: "volatile"
119
+ type: "volatile",
120
+ priority: Priority.NORMAL_TOKEN
86
121
  },
87
122
  LQTY: {
88
- type: "volatile"
123
+ type: "volatile",
124
+ priority: Priority.NORMAL_TOKEN
89
125
  },
90
126
  // YEARN TOKENS
91
127
  yvDAI: {
92
- type: "lp"
128
+ type: "lp",
129
+ priority: Priority.CURVE_LP_OR_YEARN
93
130
  },
94
131
  yvUSDC: {
95
- type: "lp"
132
+ type: "lp",
133
+ priority: Priority.CURVE_LP_OR_YEARN
96
134
  },
97
135
  yvWETH: {
98
- type: "lp"
136
+ type: "lp",
137
+ priority: Priority.CURVE_LP_OR_YEARN
99
138
  },
100
139
  yvWBTC: {
101
- type: "lp"
140
+ type: "lp",
141
+ priority: Priority.CURVE_LP_OR_YEARN
102
142
  },
103
143
  // CURVE LP TOKENS
104
144
  "3Crv": {
105
- type: "lp"
145
+ type: "lp",
146
+ priority: Priority.CURVE_LP_OR_YEARN
106
147
  },
107
148
  steCRV: {
108
- type: "lp"
149
+ type: "lp",
150
+ priority: Priority.CURVE_LP_OR_YEARN
109
151
  },
152
+ crvPlain3andSUSD: {
153
+ type: "lp",
154
+ priority: Priority.CURVE_LP_OR_YEARN
155
+ },
156
+ // META CURVE LP TOKENS
110
157
  FRAX3CRV: {
111
- type: "lp"
158
+ type: "lp",
159
+ priority: Priority.META_CURVE_LP_OR_YEARN_ON_CURVE
112
160
  },
113
161
  LUSD3CRV: {
114
- type: "lp"
115
- },
116
- crvPlain3andSUSD: {
117
- type: "lp"
162
+ type: "lp",
163
+ priority: Priority.META_CURVE_LP_OR_YEARN_ON_CURVE
118
164
  },
119
165
  gusd3CRV: {
120
- type: "lp"
166
+ type: "lp",
167
+ priority: Priority.META_CURVE_LP_OR_YEARN_ON_CURVE
121
168
  },
122
169
  // CONVEX LP TOKENS
123
170
  cvx3Crv: {
124
- type: "lp"
171
+ type: "lp",
172
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
125
173
  },
126
174
  cvxsteCRV: {
127
- type: "lp"
175
+ type: "lp",
176
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
128
177
  },
129
178
  cvxFRAX3CRV: {
130
- type: "lp"
179
+ type: "lp",
180
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
131
181
  },
132
182
  cvxcrvPlain3andSUSD: {
133
- type: "lp"
183
+ type: "lp",
184
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
134
185
  },
135
186
  cvxgusd3CRV: {
136
- type: "lp"
187
+ type: "lp",
188
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
137
189
  },
138
190
  // YEARN- CURVE TOKENS
139
191
  yvCurve_stETH: {
140
- type: "lp"
192
+ type: "lp",
193
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
141
194
  },
142
195
  yvCurve_FRAX: {
143
- type: "lp"
144
- },
145
- yvCurve_d3pool: {
146
- type: "lp"
196
+ type: "lp",
197
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
147
198
  }
148
199
  };
149
200
  exports.tokenDataByNetwork = {
150
201
  //
151
202
  // MAINNET NETWORK
152
- // 1INCH ETH AAVE BADGER BAL BTC COMP CREAM CRV
153
- // DAI DPI GRT LINK SNX SRM SUSHI UNI USDC
154
- // USDT YFI ZRX
155
203
  Mainnet: {
156
204
  "1INCH": "0x111111111117dc0aa78b770fa6a738034120c302",
157
205
  AAVE: "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9",
@@ -203,7 +251,6 @@ exports.tokenDataByNetwork = {
203
251
  // YEARN- CURVE TOKENS
204
252
  yvCurve_stETH: "0xdCD90C7f6324cfa40d7169ef80b12031770B4325",
205
253
  yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139",
206
- yvCurve_d3pool: "0x16825039dfe2a5b01F3E1E6a2BBF9a576c6F95c4"
207
254
  },
208
255
  //
209
256
  // KOVAN NETWORK
@@ -260,6 +307,5 @@ exports.tokenDataByNetwork = {
260
307
  // YEARN- CURVE TOKENS
261
308
  yvCurve_stETH: "0xdDc2FA328321573Bc2647C0135D75012c522CDAC",
262
309
  yvCurve_FRAX: "",
263
- yvCurve_d3pool: ""
264
310
  }
265
311
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "0.0.30",
3
+ "version": "0.0.33",
4
4
  "description": "Gearbox SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -1,4 +1,3 @@
1
- import { BigNumber } from "ethers";
2
1
  import { SupportedTokens } from "./token";
3
2
 
4
3
  export interface PriceFeed {
@@ -24,9 +23,8 @@ export type PriceFeedData =
24
23
  | {
25
24
  type: OracleType.YEARN_TOKEN_ORACLE;
26
25
  token: SupportedTokens;
27
- priceFeedKovan?: string;
28
- lowerBound: BigNumber;
29
- upperBound: BigNumber;
26
+ deployed?: string;
27
+ deployedKovan?: string;
30
28
  }
31
29
  | {
32
30
  type: OracleType.CURVE_LP_ORACLE;
@@ -35,8 +33,6 @@ export type PriceFeedData =
35
33
  | {
36
34
  type: OracleType.YEARN_CURVE_LP_ORACLE;
37
35
  curveSymbol: SupportedTokens;
38
- lowerBound: BigNumber;
39
- upperBound: BigNumber;
40
36
  }
41
37
  | {
42
38
  type: OracleType.ZERO_ORACLE;
@@ -1,6 +1,4 @@
1
- import { BigNumber } from "ethers";
2
1
  import { OracleType, TokenPriceFeedData } from "../core/oracles";
3
- import { WAD } from "./constants";
4
2
  import { SupportedTokens } from "./token";
5
3
 
6
4
  export const priceFeedsByNetwork: Record<SupportedTokens, TokenPriceFeedData> =
@@ -308,44 +306,34 @@ export const priceFeedsByNetwork: Record<SupportedTokens, TokenPriceFeedData> =
308
306
  priceFeedETH: {
309
307
  type: OracleType.YEARN_TOKEN_ORACLE,
310
308
  token: "DAI",
311
- lowerBound: WAD,
312
- upperBound: WAD.mul(10)
309
+ deployedKovan: ""
313
310
  },
314
311
  priceFeedUSD: {
315
312
  type: OracleType.YEARN_TOKEN_ORACLE,
316
- token: "DAI",
317
- lowerBound: WAD,
318
- upperBound: WAD.mul(10)
313
+ token: "DAI"
319
314
  }
320
315
  },
321
316
  yvUSDC: {
322
317
  priceFeedETH: {
323
318
  type: OracleType.YEARN_TOKEN_ORACLE,
324
319
  token: "USDC",
325
- lowerBound: BigNumber.from(1000000),
326
- upperBound: BigNumber.from(100000000)
320
+ deployedKovan: ""
327
321
  },
328
322
  priceFeedUSD: {
329
323
  type: OracleType.YEARN_TOKEN_ORACLE,
330
- token: "USDC",
331
- lowerBound: BigNumber.from(1000000),
332
- upperBound: BigNumber.from(100000000)
324
+ token: "USDC"
333
325
  }
334
326
  },
335
327
  yvWETH: {
336
328
  priceFeedUSD: {
337
329
  type: OracleType.YEARN_TOKEN_ORACLE,
338
- token: "WETH",
339
- lowerBound: WAD,
340
- upperBound: WAD.mul(10)
330
+ token: "WETH"
341
331
  }
342
332
  },
343
333
  yvWBTC: {
344
334
  priceFeedUSD: {
345
335
  type: OracleType.YEARN_TOKEN_ORACLE,
346
- token: "WBTC",
347
- lowerBound: BigNumber.from("100000000"),
348
- upperBound: BigNumber.from("10000000000")
336
+ token: "WBTC"
349
337
  }
350
338
  },
351
339
 
@@ -397,25 +385,13 @@ export const priceFeedsByNetwork: Record<SupportedTokens, TokenPriceFeedData> =
397
385
  yvCurve_stETH: {
398
386
  priceFeedUSD: {
399
387
  type: OracleType.YEARN_CURVE_LP_ORACLE,
400
- curveSymbol: "steCRV",
401
- lowerBound: WAD,
402
- upperBound: WAD.mul(100)
388
+ curveSymbol: "steCRV"
403
389
  }
404
390
  },
405
391
  yvCurve_FRAX: {
406
392
  priceFeedUSD: {
407
393
  type: OracleType.YEARN_CURVE_LP_ORACLE,
408
- curveSymbol: "FRAX3CRV",
409
- lowerBound: WAD,
410
- upperBound: WAD.mul(100)
411
- }
412
- },
413
- yvCurve_d3pool: {
414
- priceFeedUSD: {
415
- type: OracleType.YEARN_CURVE_LP_ORACLE,
416
- curveSymbol: "crvPlain3andSUSD",
417
- lowerBound: BigNumber.from("100000000"),
418
- upperBound: BigNumber.from("10000000000")
394
+ curveSymbol: "FRAX3CRV"
419
395
  }
420
396
  },
421
397
 
package/src/core/token.ts CHANGED
@@ -1,207 +1,315 @@
1
1
  import { NetworkType } from "./constants";
2
2
 
3
- export const supportedTokens = {
3
+ export interface TokenDataI {
4
+ type: "volatile" | "stable" | "core" | "lp";
5
+ priority: number;
6
+ }
7
+
8
+ enum Priority {
9
+ CONNECTOR = 0,
10
+ NORMAL_TOKEN,
11
+ CURVE_LP_OR_YEARN,
12
+ META_CURVE_LP_OR_YEARN_ON_CURVE,
13
+ CONVEX_OR_YEARN_ON_META_CURVE_LP
14
+ }
15
+
16
+ export type SupportedTokens =
17
+ | "1INCH"
18
+ | "AAVE"
19
+ | "COMP"
20
+ | "CRV"
21
+ | "DAI"
22
+ | "DPI"
23
+ | "FEI"
24
+ | "LINK"
25
+ | "SNX"
26
+ | "SUSHI"
27
+ | "UNI"
28
+ | "USDC"
29
+ | "USDT"
30
+ | "WBTC"
31
+ | "WETH"
32
+ | "YFI"
33
+
34
+ // NEW TOKENS
35
+ | "STETH"
36
+ | "FTM"
37
+ | "CVX"
38
+ | "FRAX"
39
+ | "FXS"
40
+ | "LDO"
41
+ | "SPELL"
42
+ | "LUSD"
43
+ | "sUSD"
44
+ | "GUSD"
45
+ | "LUNA"
46
+ | "LQTY"
47
+
48
+ // YEARN
49
+ | "yvDAI"
50
+ | "yvUSDC"
51
+ | "yvWETH"
52
+ | "yvWBTC"
53
+
54
+ // CURVE LP TOKENS
55
+ | "3Crv"
56
+ | "steCRV"
57
+ | "FRAX3CRV"
58
+ | "LUSD3CRV"
59
+ | "crvPlain3andSUSD"
60
+ | "gusd3CRV"
61
+
62
+ // CONVEX LP TOKENS
63
+ | "cvx3Crv"
64
+ | "cvxsteCRV"
65
+ | "cvxFRAX3CRV"
66
+ | "cvxcrvPlain3andSUSD"
67
+ | "cvxgusd3CRV"
68
+
69
+ // YEARN- CURVE TOKENS
70
+ | "yvCurve_stETH"
71
+ | "yvCurve_FRAX";
72
+
73
+ export const supportedTokens: Record<SupportedTokens, TokenDataI> = {
4
74
  "1INCH": {
5
- type: "volatile"
75
+ type: "volatile",
76
+ priority: Priority.NORMAL_TOKEN
6
77
  },
7
78
 
8
79
  AAVE: {
9
- type: "volatile"
80
+ type: "volatile",
81
+ priority: Priority.NORMAL_TOKEN
10
82
  },
11
83
 
12
84
  COMP: {
13
- type: "volatile"
85
+ type: "volatile",
86
+ priority: Priority.NORMAL_TOKEN
14
87
  },
15
88
 
16
89
  CRV: {
17
- type: "volatile"
90
+ type: "volatile",
91
+ priority: Priority.NORMAL_TOKEN
18
92
  },
19
93
 
20
94
  DAI: {
21
- type: "stable"
95
+ type: "stable",
96
+ priority: Priority.CONNECTOR
22
97
  },
23
98
 
24
99
  DPI: {
25
- type: "volatile"
100
+ type: "volatile",
101
+ priority: Priority.NORMAL_TOKEN
26
102
  },
27
103
 
28
104
  FEI: {
29
- type: "stable"
105
+ type: "stable",
106
+ priority: Priority.NORMAL_TOKEN
30
107
  },
31
108
 
32
109
  LINK: {
33
- type: "volatile"
110
+ type: "volatile",
111
+ priority: Priority.NORMAL_TOKEN
34
112
  },
35
113
 
36
114
  SNX: {
37
- type: "volatile"
115
+ type: "volatile",
116
+ priority: Priority.NORMAL_TOKEN
38
117
  },
39
118
 
40
119
  SUSHI: {
41
- type: "volatile"
120
+ type: "volatile",
121
+ priority: Priority.NORMAL_TOKEN
42
122
  },
43
123
 
44
124
  UNI: {
45
- type: "volatile"
125
+ type: "volatile",
126
+ priority: Priority.NORMAL_TOKEN
46
127
  },
47
128
 
48
129
  USDC: {
49
- type: "stable"
130
+ type: "stable",
131
+ priority: Priority.CONNECTOR
50
132
  },
51
133
 
52
134
  USDT: {
53
- type: "stable"
135
+ type: "stable",
136
+ priority: Priority.NORMAL_TOKEN
54
137
  },
55
138
 
56
139
  WBTC: {
57
- type: "core"
140
+ type: "core",
141
+ priority: Priority.CONNECTOR
58
142
  },
59
143
 
60
144
  WETH: {
61
- type: "core"
145
+ type: "core",
146
+ priority: Priority.CONNECTOR
62
147
  },
63
148
 
64
149
  YFI: {
65
- type: "volatile"
150
+ type: "volatile",
151
+ priority: Priority.NORMAL_TOKEN
66
152
  },
67
153
 
68
154
  /// UPDATE
69
155
  STETH: {
70
- type: "volatile"
156
+ type: "volatile",
157
+ priority: Priority.NORMAL_TOKEN
71
158
  },
72
159
 
73
160
  FTM: {
74
- type: "volatile"
161
+ type: "volatile",
162
+ priority: Priority.NORMAL_TOKEN
75
163
  },
76
164
 
77
165
  CVX: {
78
- type: "volatile"
166
+ type: "volatile",
167
+ priority: Priority.NORMAL_TOKEN
79
168
  },
80
169
 
81
170
  FRAX: {
82
- type: "stable"
171
+ type: "stable",
172
+ priority: Priority.NORMAL_TOKEN
83
173
  },
84
174
 
85
175
  FXS: {
86
- type: "volatile"
176
+ type: "volatile",
177
+ priority: Priority.NORMAL_TOKEN
87
178
  },
88
179
 
89
180
  LDO: {
90
- type: "volatile"
181
+ type: "volatile",
182
+ priority: Priority.NORMAL_TOKEN
91
183
  },
92
184
 
93
185
  SPELL: {
94
- type: "volatile"
186
+ type: "volatile",
187
+ priority: Priority.NORMAL_TOKEN
95
188
  },
96
189
 
97
190
  LUSD: {
98
- type: "stable"
191
+ type: "stable",
192
+ priority: Priority.NORMAL_TOKEN
99
193
  },
100
194
 
101
195
  sUSD: {
102
- type: "stable"
196
+ type: "stable",
197
+ priority: Priority.NORMAL_TOKEN
103
198
  },
104
199
 
105
200
  GUSD: {
106
- type: "stable"
201
+ type: "stable",
202
+ priority: Priority.NORMAL_TOKEN
107
203
  },
108
204
 
109
205
  LUNA: {
110
- type: "volatile"
206
+ type: "volatile",
207
+ priority: Priority.NORMAL_TOKEN
111
208
  },
112
209
  LQTY: {
113
- type: "volatile"
210
+ type: "volatile",
211
+ priority: Priority.NORMAL_TOKEN
114
212
  },
115
213
 
116
214
  // YEARN TOKENS
117
215
  yvDAI: {
118
- type: "lp"
216
+ type: "lp",
217
+ priority: Priority.CURVE_LP_OR_YEARN
119
218
  },
120
219
 
121
220
  yvUSDC: {
122
- type: "lp"
221
+ type: "lp",
222
+ priority: Priority.CURVE_LP_OR_YEARN
123
223
  },
124
224
 
125
225
  yvWETH: {
126
- type: "lp"
226
+ type: "lp",
227
+ priority: Priority.CURVE_LP_OR_YEARN
127
228
  },
128
229
 
129
230
  yvWBTC: {
130
- type: "lp"
231
+ type: "lp",
232
+ priority: Priority.CURVE_LP_OR_YEARN
131
233
  },
132
234
 
133
235
  // CURVE LP TOKENS
134
236
 
135
237
  "3Crv": {
136
- type: "lp"
238
+ type: "lp",
239
+ priority: Priority.CURVE_LP_OR_YEARN
137
240
  },
138
241
 
139
242
  steCRV: {
140
- type: "lp"
243
+ type: "lp",
244
+ priority: Priority.CURVE_LP_OR_YEARN
141
245
  },
142
246
 
143
- FRAX3CRV: {
144
- type: "lp"
247
+ crvPlain3andSUSD: {
248
+ type: "lp",
249
+ priority: Priority.CURVE_LP_OR_YEARN
145
250
  },
146
251
 
147
- LUSD3CRV: {
148
- type: "lp"
252
+ // META CURVE LP TOKENS
253
+
254
+ FRAX3CRV: {
255
+ type: "lp",
256
+ priority: Priority.META_CURVE_LP_OR_YEARN_ON_CURVE
149
257
  },
150
258
 
151
- crvPlain3andSUSD: {
152
- type: "lp"
259
+ LUSD3CRV: {
260
+ type: "lp",
261
+ priority: Priority.META_CURVE_LP_OR_YEARN_ON_CURVE
153
262
  },
154
263
 
155
264
  gusd3CRV: {
156
- type: "lp"
265
+ type: "lp",
266
+ priority: Priority.META_CURVE_LP_OR_YEARN_ON_CURVE
157
267
  },
158
268
 
159
269
  // CONVEX LP TOKENS
160
270
 
161
271
  cvx3Crv: {
162
- type: "lp"
272
+ type: "lp",
273
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
163
274
  },
164
275
 
165
276
  cvxsteCRV: {
166
- type: "lp"
277
+ type: "lp",
278
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
167
279
  },
168
280
 
169
281
  cvxFRAX3CRV: {
170
- type: "lp"
282
+ type: "lp",
283
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
171
284
  },
172
285
 
173
286
  cvxcrvPlain3andSUSD: {
174
- type: "lp"
287
+ type: "lp",
288
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
175
289
  },
176
290
 
177
291
  cvxgusd3CRV: {
178
- type: "lp"
292
+ type: "lp",
293
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
179
294
  },
180
295
 
181
296
  // YEARN- CURVE TOKENS
182
297
  yvCurve_stETH: {
183
- type: "lp"
298
+ type: "lp",
299
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
184
300
  },
185
301
  yvCurve_FRAX: {
186
- type: "lp"
187
- },
188
-
189
- yvCurve_d3pool: {
190
- type: "lp"
302
+ type: "lp",
303
+ priority: Priority.CONVEX_OR_YEARN_ON_META_CURVE_LP
191
304
  }
192
305
  };
193
306
 
194
- export type SupportedTokens = keyof typeof supportedTokens;
195
-
196
307
  export const tokenDataByNetwork: Record<
197
308
  NetworkType,
198
309
  Record<SupportedTokens, string>
199
310
  > = {
200
311
  //
201
312
  // MAINNET NETWORK
202
- // 1INCH ETH AAVE BADGER BAL BTC COMP CREAM CRV
203
- // DAI DPI GRT LINK SNX SRM SUSHI UNI USDC
204
- // USDT YFI ZRX
205
313
  Mainnet: {
206
314
  "1INCH": "0x111111111117dc0aa78b770fa6a738034120c302",
207
315
  AAVE: "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9",
@@ -258,7 +366,6 @@ export const tokenDataByNetwork: Record<
258
366
  // YEARN- CURVE TOKENS
259
367
  yvCurve_stETH: "0xdCD90C7f6324cfa40d7169ef80b12031770B4325",
260
368
  yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139",
261
- yvCurve_d3pool: "0x16825039dfe2a5b01F3E1E6a2BBF9a576c6F95c4"
262
369
  },
263
370
 
264
371
  //
@@ -296,7 +403,7 @@ export const tokenDataByNetwork: Record<
296
403
  GUSD: "0x3cee6494bf400F8C24871dBD331B9436a9CfaBbb",
297
404
  LUNA: "0x9dc1D71fAeE18bF77C6166aBC8b218D3336919F1",
298
405
  LQTY: "0xC948BB323d753B37eA8195DeAFE904138Df11fbC",
299
-
406
+
300
407
  // YEARN TOKENS
301
408
  yvDAI: "0xe5267045739E4d6FcA15BB4a79190012F146893b",
302
409
  yvUSDC: "0x980E4d8A22105c2a2fA2252B7685F32fc7564512",
@@ -321,6 +428,6 @@ export const tokenDataByNetwork: Record<
321
428
  // YEARN- CURVE TOKENS
322
429
  yvCurve_stETH: "0xdDc2FA328321573Bc2647C0135D75012c522CDAC",
323
430
  yvCurve_FRAX: "",
324
- yvCurve_d3pool: ""
431
+
325
432
  }
326
433
  };