@gearbox-protocol/sdk 0.0.35 → 0.0.36

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.
@@ -18,7 +18,8 @@ export declare type PriceFeedData = {
18
18
  } | {
19
19
  type: OracleType.YEARN_TOKEN_ORACLE;
20
20
  token: SupportedTokens;
21
- priceFeedKovan?: string;
21
+ deployed?: string;
22
+ deployedKovan?: string;
22
23
  } | {
23
24
  type: OracleType.CURVE_LP_ORACLE;
24
25
  assets: Array<SupportedTokens>;
@@ -5,11 +5,10 @@ import { SupportedTokens } from "./token";
5
5
  export interface Path {
6
6
  calls: Array<MultiCall>;
7
7
  balances: Record<SupportedTokens, BigNumber>;
8
- usedTokens: Array<SupportedTokens>;
9
8
  gasUsed: number;
10
9
  pool: SupportedTokens;
11
10
  creditManager: CreditManagerData;
12
- getBestPath(p: Path): Promise<Path>;
11
+ getBestPath(): Promise<Path>;
13
12
  }
14
13
  export interface PathAsset {
15
14
  getBestPath(p: Path): Promise<Path>;
@@ -6,6 +6,12 @@ var ConnectorPathAsset = /** @class */ (function () {
6
6
  }
7
7
  ConnectorPathAsset.prototype.getBestPath = function (p) {
8
8
  console.log(p);
9
+ // How to unwrap
10
+ // set balance of current token to 0
11
+ // add balnace what we get
12
+ // add call
13
+ // create new Paths
14
+ // return maxValuable(new Paths.getBestPath())
9
15
  throw new Error("Method not implemented.");
10
16
  };
11
17
  return ConnectorPathAsset;
@@ -257,6 +257,9 @@ exports.priceFeedsByNetwork = {
257
257
  type: oracles_1.OracleType.CHAINLINK_ORACLE,
258
258
  address: "0x4e844125952d32acdf339be976c98e22f6f318db",
259
259
  kovan: "0x6204148EF888786A2988E7b09c8e0A67e32cb387"
260
+ },
261
+ priceFeedUSD: {
262
+ type: oracles_1.OracleType.ZERO_ORACLE
260
263
  }
261
264
  // ADD ETH-> DAI Oracle!
262
265
  },
@@ -282,7 +285,8 @@ exports.priceFeedsByNetwork = {
282
285
  yvDAI: {
283
286
  priceFeedETH: {
284
287
  type: oracles_1.OracleType.YEARN_TOKEN_ORACLE,
285
- token: "DAI"
288
+ token: "DAI",
289
+ deployedKovan: ""
286
290
  },
287
291
  priceFeedUSD: {
288
292
  type: oracles_1.OracleType.YEARN_TOKEN_ORACLE,
@@ -292,7 +296,8 @@ exports.priceFeedsByNetwork = {
292
296
  yvUSDC: {
293
297
  priceFeedETH: {
294
298
  type: oracles_1.OracleType.YEARN_TOKEN_ORACLE,
295
- token: "USDC"
299
+ token: "USDC",
300
+ deployedKovan: ""
296
301
  },
297
302
  priceFeedUSD: {
298
303
  type: oracles_1.OracleType.YEARN_TOKEN_ORACLE,
@@ -361,12 +366,6 @@ exports.priceFeedsByNetwork = {
361
366
  curveSymbol: "FRAX3CRV"
362
367
  }
363
368
  },
364
- yvCurve_d3pool: {
365
- priceFeedUSD: {
366
- type: oracles_1.OracleType.YEARN_CURVE_LP_ORACLE,
367
- curveSymbol: "crvPlain3andSUSD"
368
- }
369
- },
370
369
  // CVX tokens
371
370
  cvx3Crv: {
372
371
  priceFeedUSD: {
@@ -1,143 +1,42 @@
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
- };
2
+ declare enum TokenType {
3
+ CONNECTOR = 0,
4
+ NORMAL_TOKEN = 1,
5
+ CURVE_LP = 2,
6
+ META_CURVE_LP = 3,
7
+ YEARN_VAULT = 4,
8
+ YEARN_VAULT_OF_CURVE_LP = 5,
9
+ YEARN_VAULT_OF_META_CURVE_LP = 6,
10
+ CONVEX_PHANTOM = 7
11
+ }
12
+ export declare const priority: {
13
+ 0: number;
14
+ 1: number;
15
+ 2: number;
16
+ 4: number;
17
+ 3: number;
18
+ 5: number;
19
+ 7: number;
20
+ 6: number;
141
21
  };
142
- export declare type SupportedTokens = keyof typeof supportedTokens;
22
+ export declare type TokenDataI = {
23
+ type: TokenType.CONNECTOR;
24
+ } | {
25
+ type: TokenType.NORMAL_TOKEN;
26
+ } | {
27
+ type: TokenType.CURVE_LP;
28
+ } | {
29
+ type: TokenType.YEARN_VAULT;
30
+ } | {
31
+ type: TokenType.META_CURVE_LP;
32
+ } | {
33
+ type: TokenType.YEARN_VAULT_OF_CURVE_LP;
34
+ } | {
35
+ type: TokenType.CONVEX_PHANTOM;
36
+ } | {
37
+ type: TokenType.YEARN_VAULT_OF_META_CURVE_LP;
38
+ };
39
+ 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";
40
+ export declare const supportedTokens: Record<SupportedTokens, TokenDataI>;
143
41
  export declare const tokenDataByNetwork: Record<NetworkType, Record<SupportedTokens, string>>;
42
+ export {};
package/lib/core/token.js CHANGED
@@ -1,157 +1,174 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tokenDataByNetwork = exports.supportedTokens = void 0;
4
+ exports.tokenDataByNetwork = exports.supportedTokens = exports.priority = void 0;
5
+ var TokenType;
6
+ (function (TokenType) {
7
+ TokenType[TokenType["CONNECTOR"] = 0] = "CONNECTOR";
8
+ TokenType[TokenType["NORMAL_TOKEN"] = 1] = "NORMAL_TOKEN";
9
+ TokenType[TokenType["CURVE_LP"] = 2] = "CURVE_LP";
10
+ TokenType[TokenType["META_CURVE_LP"] = 3] = "META_CURVE_LP";
11
+ TokenType[TokenType["YEARN_VAULT"] = 4] = "YEARN_VAULT";
12
+ TokenType[TokenType["YEARN_VAULT_OF_CURVE_LP"] = 5] = "YEARN_VAULT_OF_CURVE_LP";
13
+ TokenType[TokenType["YEARN_VAULT_OF_META_CURVE_LP"] = 6] = "YEARN_VAULT_OF_META_CURVE_LP";
14
+ TokenType[TokenType["CONVEX_PHANTOM"] = 7] = "CONVEX_PHANTOM";
15
+ })(TokenType || (TokenType = {}));
16
+ exports.priority = (_a = {},
17
+ _a[TokenType.CONNECTOR] = 1,
18
+ _a[TokenType.NORMAL_TOKEN] = 2,
19
+ _a[TokenType.CURVE_LP] = 3,
20
+ _a[TokenType.YEARN_VAULT] = 3,
21
+ _a[TokenType.META_CURVE_LP] = 4,
22
+ _a[TokenType.YEARN_VAULT_OF_CURVE_LP] = 4,
23
+ _a[TokenType.CONVEX_PHANTOM] = 5,
24
+ _a[TokenType.YEARN_VAULT_OF_META_CURVE_LP] = 5,
25
+ _a);
4
26
  exports.supportedTokens = {
5
27
  "1INCH": {
6
- type: "volatile"
28
+ type: TokenType.NORMAL_TOKEN
7
29
  },
8
30
  AAVE: {
9
- type: "volatile"
31
+ type: TokenType.NORMAL_TOKEN
10
32
  },
11
33
  COMP: {
12
- type: "volatile"
34
+ type: TokenType.NORMAL_TOKEN
13
35
  },
14
36
  CRV: {
15
- type: "volatile"
37
+ type: TokenType.NORMAL_TOKEN
16
38
  },
17
39
  DAI: {
18
- type: "stable"
40
+ type: TokenType.CONNECTOR
19
41
  },
20
42
  DPI: {
21
- type: "volatile"
43
+ type: TokenType.NORMAL_TOKEN
22
44
  },
23
45
  FEI: {
24
- type: "stable"
46
+ type: TokenType.NORMAL_TOKEN
25
47
  },
26
48
  LINK: {
27
- type: "volatile"
49
+ type: TokenType.NORMAL_TOKEN
28
50
  },
29
51
  SNX: {
30
- type: "volatile"
52
+ type: TokenType.NORMAL_TOKEN
31
53
  },
32
54
  SUSHI: {
33
- type: "volatile"
55
+ type: TokenType.NORMAL_TOKEN
34
56
  },
35
57
  UNI: {
36
- type: "volatile"
58
+ type: TokenType.NORMAL_TOKEN
37
59
  },
38
60
  USDC: {
39
- type: "stable"
61
+ type: TokenType.CONNECTOR
40
62
  },
41
63
  USDT: {
42
- type: "stable"
64
+ type: TokenType.NORMAL_TOKEN
43
65
  },
44
66
  WBTC: {
45
- type: "core"
67
+ type: TokenType.CONNECTOR
46
68
  },
47
69
  WETH: {
48
- type: "core"
70
+ type: TokenType.CONNECTOR
49
71
  },
50
72
  YFI: {
51
- type: "volatile"
73
+ type: TokenType.NORMAL_TOKEN
52
74
  },
53
75
  /// UPDATE
54
76
  STETH: {
55
- type: "volatile"
77
+ type: TokenType.NORMAL_TOKEN
56
78
  },
57
79
  FTM: {
58
- type: "volatile"
80
+ type: TokenType.NORMAL_TOKEN
59
81
  },
60
82
  CVX: {
61
- type: "volatile"
83
+ type: TokenType.NORMAL_TOKEN
62
84
  },
63
85
  FRAX: {
64
- type: "stable"
86
+ type: TokenType.NORMAL_TOKEN
65
87
  },
66
88
  FXS: {
67
- type: "volatile"
89
+ type: TokenType.NORMAL_TOKEN
68
90
  },
69
91
  LDO: {
70
- type: "volatile"
92
+ type: TokenType.NORMAL_TOKEN
71
93
  },
72
94
  SPELL: {
73
- type: "volatile"
95
+ type: TokenType.NORMAL_TOKEN
74
96
  },
75
97
  LUSD: {
76
- type: "stable"
98
+ type: TokenType.NORMAL_TOKEN
77
99
  },
78
100
  sUSD: {
79
- type: "stable"
101
+ type: TokenType.NORMAL_TOKEN
80
102
  },
81
103
  GUSD: {
82
- type: "stable"
104
+ type: TokenType.NORMAL_TOKEN
83
105
  },
84
106
  LUNA: {
85
- type: "volatile"
107
+ type: TokenType.NORMAL_TOKEN
86
108
  },
87
109
  LQTY: {
88
- type: "volatile"
110
+ type: TokenType.NORMAL_TOKEN
89
111
  },
90
112
  // YEARN TOKENS
91
113
  yvDAI: {
92
- type: "lp"
114
+ type: TokenType.YEARN_VAULT
93
115
  },
94
116
  yvUSDC: {
95
- type: "lp"
117
+ type: TokenType.YEARN_VAULT
96
118
  },
97
119
  yvWETH: {
98
- type: "lp"
120
+ type: TokenType.YEARN_VAULT
99
121
  },
100
122
  yvWBTC: {
101
- type: "lp"
123
+ type: TokenType.YEARN_VAULT
102
124
  },
103
125
  // CURVE LP TOKENS
104
126
  "3Crv": {
105
- type: "lp"
127
+ type: TokenType.CURVE_LP
106
128
  },
107
129
  steCRV: {
108
- type: "lp"
130
+ type: TokenType.CURVE_LP
109
131
  },
132
+ crvPlain3andSUSD: {
133
+ type: TokenType.CURVE_LP
134
+ },
135
+ // META CURVE LP TOKENS
110
136
  FRAX3CRV: {
111
- type: "lp"
137
+ type: TokenType.META_CURVE_LP
112
138
  },
113
139
  LUSD3CRV: {
114
- type: "lp"
115
- },
116
- crvPlain3andSUSD: {
117
- type: "lp"
140
+ type: TokenType.META_CURVE_LP
118
141
  },
119
142
  gusd3CRV: {
120
- type: "lp"
143
+ type: TokenType.META_CURVE_LP
121
144
  },
122
145
  // CONVEX LP TOKENS
123
146
  cvx3Crv: {
124
- type: "lp"
147
+ type: TokenType.CONVEX_PHANTOM
125
148
  },
126
149
  cvxsteCRV: {
127
- type: "lp"
150
+ type: TokenType.CONVEX_PHANTOM
128
151
  },
129
152
  cvxFRAX3CRV: {
130
- type: "lp"
153
+ type: TokenType.CONVEX_PHANTOM
131
154
  },
132
155
  cvxcrvPlain3andSUSD: {
133
- type: "lp"
156
+ type: TokenType.CONVEX_PHANTOM
134
157
  },
135
158
  cvxgusd3CRV: {
136
- type: "lp"
159
+ type: TokenType.CONVEX_PHANTOM
137
160
  },
138
161
  // YEARN- CURVE TOKENS
139
162
  yvCurve_stETH: {
140
- type: "lp"
163
+ type: TokenType.YEARN_VAULT_OF_CURVE_LP
141
164
  },
142
165
  yvCurve_FRAX: {
143
- type: "lp"
144
- },
145
- yvCurve_d3pool: {
146
- type: "lp"
166
+ type: TokenType.YEARN_VAULT_OF_META_CURVE_LP
147
167
  }
148
168
  };
149
169
  exports.tokenDataByNetwork = {
150
170
  //
151
171
  // 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
172
  Mainnet: {
156
173
  "1INCH": "0x111111111117dc0aa78b770fa6a738034120c302",
157
174
  AAVE: "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9",
@@ -202,8 +219,7 @@ exports.tokenDataByNetwork = {
202
219
  cvxgusd3CRV: "0x15c2471ef46Fa721990730cfa526BcFb45574576",
203
220
  // YEARN- CURVE TOKENS
204
221
  yvCurve_stETH: "0xdCD90C7f6324cfa40d7169ef80b12031770B4325",
205
- yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139",
206
- yvCurve_d3pool: "0x16825039dfe2a5b01F3E1E6a2BBF9a576c6F95c4"
222
+ yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139"
207
223
  },
208
224
  //
209
225
  // KOVAN NETWORK
@@ -259,7 +275,6 @@ exports.tokenDataByNetwork = {
259
275
  cvxgusd3CRV: "",
260
276
  // YEARN- CURVE TOKENS
261
277
  yvCurve_stETH: "0xdDc2FA328321573Bc2647C0135D75012c522CDAC",
262
- yvCurve_FRAX: "",
263
- yvCurve_d3pool: ""
278
+ yvCurve_FRAX: ""
264
279
  }
265
280
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "0.0.35",
3
+ "version": "0.0.36",
4
4
  "description": "Gearbox SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  import { BytesLike } from "ethers";
2
2
 
3
3
  export interface MultiCall {
4
- targetContract: string,
5
- callData: BytesLike
6
- }
4
+ targetContract: string;
5
+ callData: BytesLike;
6
+ }
@@ -23,7 +23,8 @@ export type PriceFeedData =
23
23
  | {
24
24
  type: OracleType.YEARN_TOKEN_ORACLE;
25
25
  token: SupportedTokens;
26
- priceFeedKovan?: string;
26
+ deployed?: string;
27
+ deployedKovan?: string;
27
28
  }
28
29
  | {
29
30
  type: OracleType.CURVE_LP_ORACLE;
@@ -6,12 +6,21 @@ import { SupportedTokens } from "./token";
6
6
  export interface Path {
7
7
  calls: Array<MultiCall>;
8
8
  balances: Record<SupportedTokens, BigNumber>;
9
- usedTokens: Array<SupportedTokens>;
9
+ // usedTokens: Array<SupportedTokens>;
10
10
  gasUsed: number;
11
11
  pool: SupportedTokens;
12
12
  creditManager: CreditManagerData;
13
13
 
14
- getBestPath(p: Path): Promise<Path>;
14
+ getBestPath(): Promise<Path>;
15
+ // Get balances and keep non-zero only
16
+ // Find token with highest priority
17
+ // Get token type of this token
18
+ // switch (type) {
19
+ // case TokenType.YearnValut:
20
+ // const assetPathClass = new YearnVaultPathAsset(tokenData);
21
+ // return assetPathClass.getBestPath(this);
22
+ // ...
23
+ //}
15
24
  }
16
25
 
17
26
  export interface PathAsset {
@@ -21,6 +30,12 @@ export interface PathAsset {
21
30
  export class ConnectorPathAsset implements PathAsset {
22
31
  getBestPath(p: Path): Promise<Path> {
23
32
  console.log(p);
33
+ // How to unwrap
34
+ // set balance of current token to 0
35
+ // add balnace what we get
36
+ // add call
37
+ // create new Paths
38
+ // return maxValuable(new Paths.getBestPath())
24
39
  throw new Error("Method not implemented.");
25
40
  }
26
41
  }
@@ -278,6 +278,9 @@ export const priceFeedsByNetwork: Record<SupportedTokens, TokenPriceFeedData> =
278
278
  type: OracleType.CHAINLINK_ORACLE,
279
279
  address: "0x4e844125952d32acdf339be976c98e22f6f318db",
280
280
  kovan: "0x6204148EF888786A2988E7b09c8e0A67e32cb387"
281
+ },
282
+ priceFeedUSD: {
283
+ type: OracleType.ZERO_ORACLE
281
284
  }
282
285
 
283
286
  // ADD ETH-> DAI Oracle!
@@ -305,7 +308,8 @@ export const priceFeedsByNetwork: Record<SupportedTokens, TokenPriceFeedData> =
305
308
  yvDAI: {
306
309
  priceFeedETH: {
307
310
  type: OracleType.YEARN_TOKEN_ORACLE,
308
- token: "DAI"
311
+ token: "DAI",
312
+ deployedKovan: ""
309
313
  },
310
314
  priceFeedUSD: {
311
315
  type: OracleType.YEARN_TOKEN_ORACLE,
@@ -315,7 +319,8 @@ export const priceFeedsByNetwork: Record<SupportedTokens, TokenPriceFeedData> =
315
319
  yvUSDC: {
316
320
  priceFeedETH: {
317
321
  type: OracleType.YEARN_TOKEN_ORACLE,
318
- token: "USDC"
322
+ token: "USDC",
323
+ deployedKovan: ""
319
324
  },
320
325
  priceFeedUSD: {
321
326
  type: OracleType.YEARN_TOKEN_ORACLE,
@@ -392,12 +397,6 @@ export const priceFeedsByNetwork: Record<SupportedTokens, TokenPriceFeedData> =
392
397
  curveSymbol: "FRAX3CRV"
393
398
  }
394
399
  },
395
- yvCurve_d3pool: {
396
- priceFeedUSD: {
397
- type: OracleType.YEARN_CURVE_LP_ORACLE,
398
- curveSymbol: "crvPlain3andSUSD"
399
- }
400
- },
401
400
 
402
401
  // CVX tokens
403
402
  cvx3Crv: {
package/src/core/token.ts CHANGED
@@ -1,207 +1,305 @@
1
1
  import { NetworkType } from "./constants";
2
2
 
3
- export const supportedTokens = {
3
+ enum TokenType {
4
+ CONNECTOR,
5
+ NORMAL_TOKEN,
6
+ CURVE_LP,
7
+ META_CURVE_LP,
8
+ YEARN_VAULT,
9
+ YEARN_VAULT_OF_CURVE_LP,
10
+ YEARN_VAULT_OF_META_CURVE_LP,
11
+ CONVEX_PHANTOM
12
+ }
13
+
14
+ export const priority = {
15
+ [TokenType.CONNECTOR]: 1,
16
+ [TokenType.NORMAL_TOKEN]: 2,
17
+ [TokenType.CURVE_LP]: 3,
18
+ [TokenType.YEARN_VAULT]: 3,
19
+ [TokenType.META_CURVE_LP]: 4,
20
+ [TokenType.YEARN_VAULT_OF_CURVE_LP]: 4,
21
+ [TokenType.CONVEX_PHANTOM]: 5,
22
+ [TokenType.YEARN_VAULT_OF_META_CURVE_LP]: 5
23
+ };
24
+
25
+ export type TokenDataI =
26
+ | {
27
+ type: TokenType.CONNECTOR;
28
+ }
29
+ | {
30
+ type: TokenType.NORMAL_TOKEN;
31
+ }
32
+ | {
33
+ type: TokenType.CURVE_LP;
34
+ }
35
+ | {
36
+ type: TokenType.YEARN_VAULT;
37
+ }
38
+ | {
39
+ type: TokenType.META_CURVE_LP;
40
+ }
41
+ | {
42
+ type: TokenType.YEARN_VAULT_OF_CURVE_LP;
43
+ }
44
+ | {
45
+ type: TokenType.CONVEX_PHANTOM;
46
+ }
47
+ | {
48
+ type: TokenType.YEARN_VAULT_OF_META_CURVE_LP;
49
+ };
50
+
51
+ export type SupportedTokens =
52
+ | "1INCH"
53
+ | "AAVE"
54
+ | "COMP"
55
+ | "CRV"
56
+ | "DAI"
57
+ | "DPI"
58
+ | "FEI"
59
+ | "LINK"
60
+ | "SNX"
61
+ | "SUSHI"
62
+ | "UNI"
63
+ | "USDC"
64
+ | "USDT"
65
+ | "WBTC"
66
+ | "WETH"
67
+ | "YFI"
68
+
69
+ // NEW TOKENS
70
+ | "STETH"
71
+ | "FTM"
72
+ | "CVX"
73
+ | "FRAX"
74
+ | "FXS"
75
+ | "LDO"
76
+ | "SPELL"
77
+ | "LUSD"
78
+ | "sUSD"
79
+ | "GUSD"
80
+ | "LUNA"
81
+ | "LQTY"
82
+
83
+ // YEARN
84
+ | "yvDAI"
85
+ | "yvUSDC"
86
+ | "yvWETH"
87
+ | "yvWBTC"
88
+
89
+ // CURVE LP TOKENS
90
+ | "3Crv"
91
+ | "steCRV"
92
+ | "FRAX3CRV"
93
+ | "LUSD3CRV"
94
+ | "crvPlain3andSUSD"
95
+ | "gusd3CRV"
96
+
97
+ // CONVEX LP TOKENS
98
+ | "cvx3Crv"
99
+ | "cvxsteCRV"
100
+ | "cvxFRAX3CRV"
101
+ | "cvxcrvPlain3andSUSD"
102
+ | "cvxgusd3CRV"
103
+
104
+ // YEARN- CURVE TOKENS
105
+ | "yvCurve_stETH"
106
+ | "yvCurve_FRAX";
107
+
108
+ export const supportedTokens: Record<SupportedTokens, TokenDataI> = {
4
109
  "1INCH": {
5
- type: "volatile"
110
+ type: TokenType.NORMAL_TOKEN
6
111
  },
7
112
 
8
113
  AAVE: {
9
- type: "volatile"
114
+ type: TokenType.NORMAL_TOKEN
10
115
  },
11
116
 
12
117
  COMP: {
13
- type: "volatile"
118
+ type: TokenType.NORMAL_TOKEN
14
119
  },
15
120
 
16
121
  CRV: {
17
- type: "volatile"
122
+ type: TokenType.NORMAL_TOKEN
18
123
  },
19
124
 
20
125
  DAI: {
21
- type: "stable"
126
+ type: TokenType.CONNECTOR
22
127
  },
23
128
 
24
129
  DPI: {
25
- type: "volatile"
130
+ type: TokenType.NORMAL_TOKEN
26
131
  },
27
132
 
28
133
  FEI: {
29
- type: "stable"
134
+ type: TokenType.NORMAL_TOKEN
30
135
  },
31
136
 
32
137
  LINK: {
33
- type: "volatile"
138
+ type: TokenType.NORMAL_TOKEN
34
139
  },
35
140
 
36
141
  SNX: {
37
- type: "volatile"
142
+ type: TokenType.NORMAL_TOKEN
38
143
  },
39
144
 
40
145
  SUSHI: {
41
- type: "volatile"
146
+ type: TokenType.NORMAL_TOKEN
42
147
  },
43
148
 
44
149
  UNI: {
45
- type: "volatile"
150
+ type: TokenType.NORMAL_TOKEN
46
151
  },
47
152
 
48
153
  USDC: {
49
- type: "stable"
154
+ type: TokenType.CONNECTOR
50
155
  },
51
156
 
52
157
  USDT: {
53
- type: "stable"
158
+ type: TokenType.NORMAL_TOKEN
54
159
  },
55
160
 
56
161
  WBTC: {
57
- type: "core"
162
+ type: TokenType.CONNECTOR
58
163
  },
59
164
 
60
165
  WETH: {
61
- type: "core"
166
+ type: TokenType.CONNECTOR
62
167
  },
63
168
 
64
169
  YFI: {
65
- type: "volatile"
170
+ type: TokenType.NORMAL_TOKEN
66
171
  },
67
172
 
68
173
  /// UPDATE
69
174
  STETH: {
70
- type: "volatile"
175
+ type: TokenType.NORMAL_TOKEN
71
176
  },
72
177
 
73
178
  FTM: {
74
- type: "volatile"
179
+ type: TokenType.NORMAL_TOKEN
75
180
  },
76
181
 
77
182
  CVX: {
78
- type: "volatile"
183
+ type: TokenType.NORMAL_TOKEN
79
184
  },
80
185
 
81
186
  FRAX: {
82
- type: "stable"
187
+ type: TokenType.NORMAL_TOKEN
83
188
  },
84
189
 
85
190
  FXS: {
86
- type: "volatile"
191
+ type: TokenType.NORMAL_TOKEN
87
192
  },
88
193
 
89
194
  LDO: {
90
- type: "volatile"
195
+ type: TokenType.NORMAL_TOKEN
91
196
  },
92
197
 
93
198
  SPELL: {
94
- type: "volatile"
199
+ type: TokenType.NORMAL_TOKEN
95
200
  },
96
201
 
97
202
  LUSD: {
98
- type: "stable"
203
+ type: TokenType.NORMAL_TOKEN
99
204
  },
100
205
 
101
206
  sUSD: {
102
- type: "stable"
207
+ type: TokenType.NORMAL_TOKEN
103
208
  },
104
209
 
105
210
  GUSD: {
106
- type: "stable"
211
+ type: TokenType.NORMAL_TOKEN
107
212
  },
108
213
 
109
214
  LUNA: {
110
- type: "volatile"
215
+ type: TokenType.NORMAL_TOKEN
111
216
  },
112
217
  LQTY: {
113
- type: "volatile"
218
+ type: TokenType.NORMAL_TOKEN
114
219
  },
115
220
 
116
221
  // YEARN TOKENS
117
222
  yvDAI: {
118
- type: "lp"
223
+ type: TokenType.YEARN_VAULT
119
224
  },
120
225
 
121
226
  yvUSDC: {
122
- type: "lp"
227
+ type: TokenType.YEARN_VAULT
123
228
  },
124
229
 
125
230
  yvWETH: {
126
- type: "lp"
231
+ type: TokenType.YEARN_VAULT
127
232
  },
128
233
 
129
234
  yvWBTC: {
130
- type: "lp"
235
+ type: TokenType.YEARN_VAULT
131
236
  },
132
237
 
133
238
  // CURVE LP TOKENS
134
239
 
135
240
  "3Crv": {
136
- type: "lp"
241
+ type: TokenType.CURVE_LP
137
242
  },
138
243
 
139
244
  steCRV: {
140
- type: "lp"
245
+ type: TokenType.CURVE_LP
141
246
  },
142
247
 
143
- FRAX3CRV: {
144
- type: "lp"
248
+ crvPlain3andSUSD: {
249
+ type: TokenType.CURVE_LP
145
250
  },
146
251
 
147
- LUSD3CRV: {
148
- type: "lp"
252
+ // META CURVE LP TOKENS
253
+
254
+ FRAX3CRV: {
255
+ type: TokenType.META_CURVE_LP
149
256
  },
150
257
 
151
- crvPlain3andSUSD: {
152
- type: "lp"
258
+ LUSD3CRV: {
259
+ type: TokenType.META_CURVE_LP
153
260
  },
154
261
 
155
262
  gusd3CRV: {
156
- type: "lp"
263
+ type: TokenType.META_CURVE_LP
157
264
  },
158
265
 
159
266
  // CONVEX LP TOKENS
160
267
 
161
268
  cvx3Crv: {
162
- type: "lp"
269
+ type: TokenType.CONVEX_PHANTOM
163
270
  },
164
271
 
165
272
  cvxsteCRV: {
166
- type: "lp"
273
+ type: TokenType.CONVEX_PHANTOM
167
274
  },
168
275
 
169
276
  cvxFRAX3CRV: {
170
- type: "lp"
277
+ type: TokenType.CONVEX_PHANTOM
171
278
  },
172
279
 
173
280
  cvxcrvPlain3andSUSD: {
174
- type: "lp"
281
+ type: TokenType.CONVEX_PHANTOM
175
282
  },
176
283
 
177
284
  cvxgusd3CRV: {
178
- type: "lp"
285
+ type: TokenType.CONVEX_PHANTOM
179
286
  },
180
287
 
181
288
  // YEARN- CURVE TOKENS
182
289
  yvCurve_stETH: {
183
- type: "lp"
290
+ type: TokenType.YEARN_VAULT_OF_CURVE_LP
184
291
  },
185
292
  yvCurve_FRAX: {
186
- type: "lp"
187
- },
188
-
189
- yvCurve_d3pool: {
190
- type: "lp"
293
+ type: TokenType.YEARN_VAULT_OF_META_CURVE_LP
191
294
  }
192
295
  };
193
296
 
194
- export type SupportedTokens = keyof typeof supportedTokens;
195
-
196
297
  export const tokenDataByNetwork: Record<
197
298
  NetworkType,
198
299
  Record<SupportedTokens, string>
199
300
  > = {
200
301
  //
201
302
  // 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
303
  Mainnet: {
206
304
  "1INCH": "0x111111111117dc0aa78b770fa6a738034120c302",
207
305
  AAVE: "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9",
@@ -257,8 +355,7 @@ export const tokenDataByNetwork: Record<
257
355
 
258
356
  // YEARN- CURVE TOKENS
259
357
  yvCurve_stETH: "0xdCD90C7f6324cfa40d7169ef80b12031770B4325",
260
- yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139",
261
- yvCurve_d3pool: "0x16825039dfe2a5b01F3E1E6a2BBF9a576c6F95c4"
358
+ yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139"
262
359
  },
263
360
 
264
361
  //
@@ -296,7 +393,7 @@ export const tokenDataByNetwork: Record<
296
393
  GUSD: "0x3cee6494bf400F8C24871dBD331B9436a9CfaBbb",
297
394
  LUNA: "0x9dc1D71fAeE18bF77C6166aBC8b218D3336919F1",
298
395
  LQTY: "0xC948BB323d753B37eA8195DeAFE904138Df11fbC",
299
-
396
+
300
397
  // YEARN TOKENS
301
398
  yvDAI: "0xe5267045739E4d6FcA15BB4a79190012F146893b",
302
399
  yvUSDC: "0x980E4d8A22105c2a2fA2252B7685F32fc7564512",
@@ -320,7 +417,6 @@ export const tokenDataByNetwork: Record<
320
417
 
321
418
  // YEARN- CURVE TOKENS
322
419
  yvCurve_stETH: "0xdDc2FA328321573Bc2647C0135D75012c522CDAC",
323
- yvCurve_FRAX: "",
324
- yvCurve_d3pool: ""
420
+ yvCurve_FRAX: ""
325
421
  }
326
422
  };