@gearbox-protocol/sdk 0.0.50 → 0.0.53
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.
- package/lib/core/contracts.d.ts +4 -4
- package/lib/core/contracts.js +53 -53
- package/lib/core/contractsRegister.js +5 -5
- package/lib/core/priceFeeds.js +1 -1
- package/lib/core/token.d.ts +1 -1
- package/lib/core/token.js +375 -59
- package/lib/core/tradeTypes.d.ts +21 -6
- package/lib/core/tradeTypes.js +5 -2
- package/package.json +1 -1
- package/src/core/contracts.ts +71 -75
- package/src/core/contractsRegister.ts +5 -5
- package/src/core/priceFeeds.ts +1 -1
- package/src/core/token.ts +409 -93
- package/src/core/tradeTypes.ts +24 -6
package/lib/core/tradeTypes.d.ts
CHANGED
|
@@ -10,9 +10,12 @@ export declare enum TradeType {
|
|
|
10
10
|
YearnDeposit = 6,
|
|
11
11
|
YearnWithdraw = 7,
|
|
12
12
|
LidoStake = 8,
|
|
13
|
-
|
|
13
|
+
ConvexDepositLP = 9,
|
|
14
14
|
ConvexStake = 10,
|
|
15
|
-
|
|
15
|
+
ConvexDepositLPAndStake = 11,
|
|
16
|
+
ConvexWithdrawLP = 12,
|
|
17
|
+
ConvexWithdraw = 13,
|
|
18
|
+
ConvexWithdrawAndUnwrap = 14
|
|
16
19
|
}
|
|
17
20
|
export declare type TradeAction = {
|
|
18
21
|
type: TradeType.UniswapV2Swap;
|
|
@@ -45,15 +48,27 @@ export declare type TradeAction = {
|
|
|
45
48
|
contract: "LIDO_STETH_GATEWAY";
|
|
46
49
|
tokenOut: NormalToken;
|
|
47
50
|
} | {
|
|
48
|
-
type: TradeType.
|
|
49
|
-
contract:
|
|
51
|
+
type: TradeType.ConvexDepositLP;
|
|
52
|
+
contract: "CONVEX_BOOSTER";
|
|
50
53
|
tokenOut: ConvexLPToken;
|
|
51
54
|
} | {
|
|
52
55
|
type: TradeType.ConvexStake;
|
|
53
56
|
contract: ConvexPoolContract;
|
|
54
57
|
tokenOut: ConvexStakedPhantomToken;
|
|
55
58
|
} | {
|
|
56
|
-
type: TradeType.
|
|
57
|
-
contract:
|
|
59
|
+
type: TradeType.ConvexDepositLPAndStake;
|
|
60
|
+
contract: "CONVEX_BOOSTER";
|
|
58
61
|
tokenOut: ConvexStakedPhantomToken;
|
|
62
|
+
} | {
|
|
63
|
+
type: TradeType.ConvexWithdrawLP;
|
|
64
|
+
contract: "CONVEX_BOOSTER";
|
|
65
|
+
tokenOut: CurveLPToken;
|
|
66
|
+
} | {
|
|
67
|
+
type: TradeType.ConvexWithdraw;
|
|
68
|
+
contract: ConvexPoolContract;
|
|
69
|
+
tokenOut: ConvexLPToken;
|
|
70
|
+
} | {
|
|
71
|
+
type: TradeType.ConvexWithdrawAndUnwrap;
|
|
72
|
+
contract: ConvexPoolContract;
|
|
73
|
+
tokenOut: CurveLPToken;
|
|
59
74
|
};
|
package/lib/core/tradeTypes.js
CHANGED
|
@@ -12,7 +12,10 @@ var TradeType;
|
|
|
12
12
|
TradeType[TradeType["YearnDeposit"] = 6] = "YearnDeposit";
|
|
13
13
|
TradeType[TradeType["YearnWithdraw"] = 7] = "YearnWithdraw";
|
|
14
14
|
TradeType[TradeType["LidoStake"] = 8] = "LidoStake";
|
|
15
|
-
TradeType[TradeType["
|
|
15
|
+
TradeType[TradeType["ConvexDepositLP"] = 9] = "ConvexDepositLP";
|
|
16
16
|
TradeType[TradeType["ConvexStake"] = 10] = "ConvexStake";
|
|
17
|
-
TradeType[TradeType["
|
|
17
|
+
TradeType[TradeType["ConvexDepositLPAndStake"] = 11] = "ConvexDepositLPAndStake";
|
|
18
|
+
TradeType[TradeType["ConvexWithdrawLP"] = 12] = "ConvexWithdrawLP";
|
|
19
|
+
TradeType[TradeType["ConvexWithdraw"] = 13] = "ConvexWithdraw";
|
|
20
|
+
TradeType[TradeType["ConvexWithdrawAndUnwrap"] = 14] = "ConvexWithdrawAndUnwrap";
|
|
18
21
|
})(TradeType = exports.TradeType || (exports.TradeType = {}));
|
package/package.json
CHANGED
package/src/core/contracts.ts
CHANGED
|
@@ -7,37 +7,33 @@
|
|
|
7
7
|
import { AdapterInterface } from "./adapters";
|
|
8
8
|
import { NetworkType } from "./constants";
|
|
9
9
|
import { Protocols } from "./protocols";
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
CurveLPToken,
|
|
13
|
-
NormalToken,
|
|
14
|
-
tokenDataByNetwork
|
|
15
|
-
} from "./token";
|
|
10
|
+
import { CurveLPToken, NormalToken, ConvexStakedPhantomToken, tokenDataByNetwork } from "./token";
|
|
11
|
+
|
|
16
12
|
|
|
17
13
|
export type UniswapV2Contract = "UNISWAP_V2_ROUTER" | "SUSHISWAP_ROUTER";
|
|
18
14
|
|
|
19
15
|
export type CurvePoolContract =
|
|
20
|
-
| "
|
|
16
|
+
| "CURVE_3CRV_POOL"
|
|
21
17
|
| "CURVE_STETH_GATEWAY"
|
|
22
|
-
| "
|
|
23
|
-
| "
|
|
24
|
-
| "
|
|
25
|
-
| "
|
|
18
|
+
| "CURVE_FRAX_POOL"
|
|
19
|
+
| "CURVE_LUSD_POOL"
|
|
20
|
+
| "CURVE_GUSD_POOL"
|
|
21
|
+
| "CURVE_SUSD_POOL";
|
|
26
22
|
|
|
27
23
|
export type YearnVaultContract =
|
|
28
|
-
| "
|
|
29
|
-
| "
|
|
30
|
-
| "
|
|
31
|
-
| "
|
|
32
|
-
| "
|
|
33
|
-
| "
|
|
24
|
+
| "YEARN_DAI_VAULT"
|
|
25
|
+
| "YEARN_USDC_VAULT"
|
|
26
|
+
| "YEARN_WETH_VAULT"
|
|
27
|
+
| "YEARN_WBTC_VAULT"
|
|
28
|
+
| "YEARN_CURVE_FRAX_VAULT"
|
|
29
|
+
| "YEARN_CURVE_STETH_VAULT";
|
|
34
30
|
|
|
35
31
|
export type ConvexPoolContract =
|
|
36
|
-
| "
|
|
37
|
-
| "
|
|
38
|
-
| "
|
|
39
|
-
| "
|
|
40
|
-
| "
|
|
32
|
+
| "CONVEX_3CRV_POOL"
|
|
33
|
+
| "CONVEX_GUSD_POOL"
|
|
34
|
+
| "CONVEX_SUSD_POOL"
|
|
35
|
+
| "CONVEX_STECRV_POOL"
|
|
36
|
+
| "CONVEX_FRAX3CRV_POOL";
|
|
41
37
|
|
|
42
38
|
export type SupportedContract =
|
|
43
39
|
| UniswapV2Contract
|
|
@@ -59,32 +55,32 @@ export const contractsByNetwork: Record<
|
|
|
59
55
|
SUSHISWAP_ROUTER: "0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F",
|
|
60
56
|
|
|
61
57
|
// CURVE
|
|
62
|
-
|
|
63
|
-
CURVE_STETH_GATEWAY: "", // SEPARATE TOKEN
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
58
|
+
CURVE_3CRV_POOL: "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7", // SEPARATE TOKEN
|
|
59
|
+
CURVE_STETH_GATEWAY: "0xB949Ef5b39164537ee97BF17b968e465368C97AD", // SEPARATE TOKEN
|
|
60
|
+
CURVE_FRAX_POOL: tokenDataByNetwork.Mainnet.FRAX3CRV,
|
|
61
|
+
CURVE_LUSD_POOL: tokenDataByNetwork.Mainnet.LUSD3CRV,
|
|
62
|
+
CURVE_SUSD_POOL: "0xA5407eAE9Ba41422680e2e00537571bcC53efBfD", // SEPARATE TOKEN
|
|
63
|
+
CURVE_GUSD_POOL: "0x4f062658EaAF2C1ccf8C8e36D6824CDf41167956", // SEPARATE TOKEN
|
|
68
64
|
|
|
69
65
|
// YEARN
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
66
|
+
YEARN_DAI_VAULT: tokenDataByNetwork.Mainnet.yvDAI,
|
|
67
|
+
YEARN_USDC_VAULT: tokenDataByNetwork.Mainnet.yvUSDC,
|
|
68
|
+
YEARN_WETH_VAULT: tokenDataByNetwork.Mainnet.yvWETH,
|
|
69
|
+
YEARN_WBTC_VAULT: tokenDataByNetwork.Mainnet.yvWBTC,
|
|
70
|
+
YEARN_CURVE_FRAX_VAULT: tokenDataByNetwork.Mainnet.yvCURVE_FRAX_POOL,
|
|
71
|
+
YEARN_CURVE_STETH_VAULT: tokenDataByNetwork.Mainnet.yvCurve_stETH,
|
|
76
72
|
|
|
77
73
|
// CONVEX
|
|
78
74
|
CONVEX_BOOSTER: "0xF403C135812408BFbE8713b5A23a04b3D48AAE31",
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
75
|
+
CONVEX_3CRV_POOL: "0x689440f2Ff927E1f24c72F1087E1FAF471eCe1c8",
|
|
76
|
+
CONVEX_GUSD_POOL: "0x7A7bBf95C44b144979360C3300B54A7D34b44985",
|
|
77
|
+
CONVEX_SUSD_POOL: "0x22eE18aca7F3Ee920D01F25dA85840D12d98E8Ca",
|
|
78
|
+
CONVEX_STECRV_POOL: "0x0A760466E1B4621579a82a39CB56Dda2F4E70f03",
|
|
79
|
+
CONVEX_FRAX3CRV_POOL: "0xB900EF131301B307dB5eFcbed9DBb50A3e209B2e",
|
|
84
80
|
CONVEX_CLAIM_ZAP: "0x92Cf9E5e4D1Dfbf7dA0d2BB3e884a68416a65070",
|
|
85
81
|
|
|
86
82
|
// LIDO
|
|
87
|
-
LIDO_STETH_GATEWAY: ""
|
|
83
|
+
LIDO_STETH_GATEWAY: "0x55045Eaae19d92680E02231e4Ce7bBEB4814ca64"
|
|
88
84
|
},
|
|
89
85
|
Kovan: {
|
|
90
86
|
UNISWAP_V2_ROUTER: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
|
|
@@ -92,28 +88,28 @@ export const contractsByNetwork: Record<
|
|
|
92
88
|
SUSHISWAP_ROUTER: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",
|
|
93
89
|
|
|
94
90
|
// CURVE
|
|
95
|
-
|
|
91
|
+
CURVE_3CRV_POOL: "0x769C784D1e958672bDef04cf12Fd5399b3db0f27",
|
|
96
92
|
CURVE_STETH_GATEWAY: "",
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
93
|
+
CURVE_FRAX_POOL: "",
|
|
94
|
+
CURVE_LUSD_POOL: tokenDataByNetwork.Kovan.LUSD3CRV,
|
|
95
|
+
CURVE_SUSD_POOL: "0x032f1cE00865F3499C0052ceBA5F2348842416DB", // SEPARATE TOKEN
|
|
96
|
+
CURVE_GUSD_POOL: "",
|
|
101
97
|
|
|
102
98
|
// YEARN
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
99
|
+
YEARN_DAI_VAULT: tokenDataByNetwork.Kovan.yvDAI,
|
|
100
|
+
YEARN_USDC_VAULT: tokenDataByNetwork.Kovan.yvUSDC,
|
|
101
|
+
YEARN_WETH_VAULT: tokenDataByNetwork.Kovan.yvWETH,
|
|
102
|
+
YEARN_WBTC_VAULT: tokenDataByNetwork.Kovan.yvWBTC,
|
|
103
|
+
YEARN_CURVE_FRAX_VAULT: tokenDataByNetwork.Kovan.yvCURVE_FRAX_POOL,
|
|
104
|
+
YEARN_CURVE_STETH_VAULT: tokenDataByNetwork.Kovan.yvCurve_stETH,
|
|
109
105
|
|
|
110
106
|
// CONVEX
|
|
111
107
|
CONVEX_BOOSTER: "0x78A9261965F048b9FF055699569be4400EEC7005",
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
108
|
+
CONVEX_3CRV_POOL: "0x90D9E8ecc406cd7363C08fAdb4ac0f3994b4cA71",
|
|
109
|
+
CONVEX_GUSD_POOL: "",
|
|
110
|
+
CONVEX_SUSD_POOL: "",
|
|
111
|
+
CONVEX_STECRV_POOL: "0x0f64e188BFF97e09C71FF85f30509f5596D420dD",
|
|
112
|
+
CONVEX_FRAX3CRV_POOL: "",
|
|
117
113
|
CONVEX_CLAIM_ZAP: "",
|
|
118
114
|
|
|
119
115
|
// LIDO
|
|
@@ -186,7 +182,7 @@ export const contractParams: Record<SupportedContract, ContractParams> = {
|
|
|
186
182
|
protocol: Protocols.Sushiswap,
|
|
187
183
|
type: AdapterInterface.UNISWAP_V2_ROUTER
|
|
188
184
|
},
|
|
189
|
-
|
|
185
|
+
CURVE_3CRV_POOL: {
|
|
190
186
|
protocol: Protocols.Curve,
|
|
191
187
|
type: AdapterInterface.CURVE_V1_3ASSETS,
|
|
192
188
|
lpToken: "3Crv",
|
|
@@ -200,52 +196,52 @@ export const contractParams: Record<SupportedContract, ContractParams> = {
|
|
|
200
196
|
Kovan: "0xF695d3aa358D5087A0C157DBb9449d4f0d8E534a"
|
|
201
197
|
}
|
|
202
198
|
},
|
|
203
|
-
|
|
199
|
+
CURVE_FRAX_POOL: {
|
|
204
200
|
protocol: Protocols.Curve,
|
|
205
201
|
type: AdapterInterface.CURVE_V1_2ASSETS,
|
|
206
202
|
lpToken: "FRAX3CRV",
|
|
207
203
|
tokens: ["3Crv", "FRAX"]
|
|
208
204
|
},
|
|
209
|
-
|
|
205
|
+
CURVE_LUSD_POOL: {
|
|
210
206
|
protocol: Protocols.Curve,
|
|
211
207
|
type: AdapterInterface.CURVE_V1_2ASSETS,
|
|
212
208
|
lpToken: "LUSD3CRV",
|
|
213
|
-
tokens: ["3Crv", "
|
|
209
|
+
tokens: ["3Crv", "LUSD"]
|
|
214
210
|
},
|
|
215
|
-
|
|
211
|
+
CURVE_SUSD_POOL: {
|
|
216
212
|
protocol: Protocols.Curve,
|
|
217
|
-
type: AdapterInterface.
|
|
213
|
+
type: AdapterInterface.CURVE_V1_4ASSETS,
|
|
218
214
|
lpToken: "crvPlain3andSUSD",
|
|
219
|
-
tokens: ["
|
|
215
|
+
tokens: ["DAI", "USDC", "USDT", "sUSD"]
|
|
220
216
|
},
|
|
221
|
-
|
|
217
|
+
CURVE_GUSD_POOL: {
|
|
222
218
|
protocol: Protocols.Curve,
|
|
223
219
|
type: AdapterInterface.CURVE_V1_2ASSETS,
|
|
224
220
|
lpToken: "gusd3CRV",
|
|
225
221
|
tokens: ["3Crv", "FRAX"]
|
|
226
222
|
},
|
|
227
|
-
|
|
223
|
+
YEARN_DAI_VAULT: {
|
|
228
224
|
protocol: Protocols.Yearn,
|
|
229
225
|
type: AdapterInterface.YEARN_V2
|
|
230
226
|
},
|
|
231
227
|
|
|
232
|
-
|
|
228
|
+
YEARN_USDC_VAULT: {
|
|
233
229
|
protocol: Protocols.Yearn,
|
|
234
230
|
type: AdapterInterface.YEARN_V2
|
|
235
231
|
},
|
|
236
|
-
|
|
232
|
+
YEARN_WETH_VAULT: {
|
|
237
233
|
protocol: Protocols.Yearn,
|
|
238
234
|
type: AdapterInterface.YEARN_V2
|
|
239
235
|
},
|
|
240
|
-
|
|
236
|
+
YEARN_WBTC_VAULT: {
|
|
241
237
|
protocol: Protocols.Yearn,
|
|
242
238
|
type: AdapterInterface.YEARN_V2
|
|
243
239
|
},
|
|
244
|
-
|
|
240
|
+
YEARN_CURVE_FRAX_VAULT: {
|
|
245
241
|
protocol: Protocols.Yearn,
|
|
246
242
|
type: AdapterInterface.YEARN_V2
|
|
247
243
|
},
|
|
248
|
-
|
|
244
|
+
YEARN_CURVE_STETH_VAULT: {
|
|
249
245
|
protocol: Protocols.Yearn,
|
|
250
246
|
type: AdapterInterface.YEARN_V2
|
|
251
247
|
},
|
|
@@ -253,27 +249,27 @@ export const contractParams: Record<SupportedContract, ContractParams> = {
|
|
|
253
249
|
protocol: Protocols.Convex,
|
|
254
250
|
type: AdapterInterface.CONVEX_V1_BOOSTER
|
|
255
251
|
},
|
|
256
|
-
|
|
252
|
+
CONVEX_3CRV_POOL: {
|
|
257
253
|
protocol: Protocols.Convex,
|
|
258
254
|
type: AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
|
|
259
255
|
stakedToken: "stkcvx3Crv"
|
|
260
256
|
},
|
|
261
|
-
|
|
257
|
+
CONVEX_GUSD_POOL: {
|
|
262
258
|
protocol: Protocols.Convex,
|
|
263
259
|
type: AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
|
|
264
260
|
stakedToken: "stkcvxgusd3CRV"
|
|
265
261
|
},
|
|
266
|
-
|
|
262
|
+
CONVEX_SUSD_POOL: {
|
|
267
263
|
protocol: Protocols.Convex,
|
|
268
264
|
type: AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
|
|
269
265
|
stakedToken: "stkcvxcrvPlain3andSUSD"
|
|
270
266
|
},
|
|
271
|
-
|
|
267
|
+
CONVEX_STECRV_POOL: {
|
|
272
268
|
protocol: Protocols.Convex,
|
|
273
269
|
type: AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
|
|
274
270
|
stakedToken: "stkcvxsteCRV"
|
|
275
271
|
},
|
|
276
|
-
|
|
272
|
+
CONVEX_FRAX3CRV_POOL: {
|
|
277
273
|
protocol: Protocols.Convex,
|
|
278
274
|
type: AdapterInterface.CONVEX_V1_BASE_REWARD_POOL,
|
|
279
275
|
stakedToken: "stkcvxFRAX3CRV"
|
|
@@ -15,10 +15,10 @@ export const deployedContracts: Record<string, string> = {
|
|
|
15
15
|
|
|
16
16
|
// [UNISWAP_V2_ROUTER]: "Uniswap V2",
|
|
17
17
|
// [UNISWAP_V3_ROUTER]: "Uniswap V3",
|
|
18
|
-
// [
|
|
18
|
+
// [CURVE_3CRV_POOL_ADDRESS]: "Curve 3Pool",
|
|
19
19
|
// [SUSHISWAP_MAINNET]: "Sushiswap",
|
|
20
|
-
// [
|
|
21
|
-
// [
|
|
20
|
+
// [YEARN_DAI_VAULT_ADDRESS]: "Yearn DAI",
|
|
21
|
+
// [YEARN_USDC_VAULT_ADDRESS]: "Yearn USDC",
|
|
22
22
|
|
|
23
23
|
// KOVAN
|
|
24
24
|
"0xc40B71BCcb749D91923654571f715Bf1FC464E66": "DAI",
|
|
@@ -29,8 +29,8 @@ export const deployedContracts: Record<string, string> = {
|
|
|
29
29
|
"0x600073357c29d169aAF3E543A4519749830553F1": "WETH",
|
|
30
30
|
"0xdBAd1361d9A03B81Be8D3a54Ef0dc9e39a1bA5b3": "USDC",
|
|
31
31
|
"0x50d1fA47b0D88BA0D108148B8481b4A762eFB99e": "DAI",
|
|
32
|
-
// [
|
|
33
|
-
// [
|
|
32
|
+
// [YEARN_DAI_VAULT_KOVAN_MOCK]: "Yearn DAI",
|
|
33
|
+
// [YEARN_USDC_VAULT_KOVAN_MOCK]: "Yearn USDC",
|
|
34
34
|
// [SUSHISWAP_KOVAN]: "Sushiswap"
|
|
35
35
|
};
|
|
36
36
|
|
package/src/core/priceFeeds.ts
CHANGED
|
@@ -390,7 +390,7 @@ export const priceFeedsByNetwork: Record<SupportedToken, TokenPriceFeedData> = {
|
|
|
390
390
|
curveSymbol: "steCRV"
|
|
391
391
|
}
|
|
392
392
|
},
|
|
393
|
-
|
|
393
|
+
yvCURVE_FRAX_POOL: {
|
|
394
394
|
priceFeedUSD: {
|
|
395
395
|
type: OracleType.YEARN_CURVE_LP_ORACLE,
|
|
396
396
|
curveSymbol: "FRAX3CRV"
|