@gearbox-protocol/sdk 0.0.34 → 0.0.35

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