@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.
@@ -10,9 +10,12 @@ export declare enum TradeType {
10
10
  YearnDeposit = 6,
11
11
  YearnWithdraw = 7,
12
12
  LidoStake = 8,
13
- ConvexDeposit = 9,
13
+ ConvexDepositLP = 9,
14
14
  ConvexStake = 10,
15
- ConvexDepositAndStake = 11
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.ConvexDeposit;
49
- contract: ConvexPoolContract;
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.ConvexDepositAndStake;
57
- contract: ConvexPoolContract;
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
  };
@@ -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["ConvexDeposit"] = 9] = "ConvexDeposit";
15
+ TradeType[TradeType["ConvexDepositLP"] = 9] = "ConvexDepositLP";
16
16
  TradeType[TradeType["ConvexStake"] = 10] = "ConvexStake";
17
- TradeType[TradeType["ConvexDepositAndStake"] = 11] = "ConvexDepositAndStake";
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "0.0.50",
3
+ "version": "0.0.53",
4
4
  "description": "Gearbox SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -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
- ConvexStakedPhantomToken,
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
- | "CURVE_3POOL"
16
+ | "CURVE_3CRV_POOL"
21
17
  | "CURVE_STETH_GATEWAY"
22
- | "CURVE_FRAX"
23
- | "CURVE_LUSD"
24
- | "CURVE_GUSD"
25
- | "CURVE_SUSD";
18
+ | "CURVE_FRAX_POOL"
19
+ | "CURVE_LUSD_POOL"
20
+ | "CURVE_GUSD_POOL"
21
+ | "CURVE_SUSD_POOL";
26
22
 
27
23
  export type YearnVaultContract =
28
- | "YEARN_DAI"
29
- | "YEARN_USDC"
30
- | "YEARN_WETH"
31
- | "YEARN_WBTC"
32
- | "YEARN_CURVE_FRAX"
33
- | "YEARN_CURVE_STETH";
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
- | "CONVEX_3CRV"
37
- | "CONVEX_GUSD"
38
- | "CONVEX_SUSD"
39
- | "CONVEX_STECRV"
40
- | "CONVEX_FRAX3CRV";
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
- CURVE_3POOL: "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7", // SEPARATE TOKEN
63
- CURVE_STETH_GATEWAY: "", // SEPARATE TOKEN
64
- CURVE_FRAX: tokenDataByNetwork.Mainnet.FRAX3CRV,
65
- CURVE_LUSD: tokenDataByNetwork.Mainnet.LUSD3CRV,
66
- CURVE_SUSD: "0xA5407eAE9Ba41422680e2e00537571bcC53efBfD", // SEPARATE TOKEN
67
- CURVE_GUSD: "0x4f062658EaAF2C1ccf8C8e36D6824CDf41167956", // SEPARATE TOKEN
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
- YEARN_DAI: tokenDataByNetwork.Mainnet.yvDAI,
71
- YEARN_USDC: tokenDataByNetwork.Mainnet.yvUSDC,
72
- YEARN_WETH: tokenDataByNetwork.Mainnet.yvWETH,
73
- YEARN_WBTC: tokenDataByNetwork.Mainnet.yvWBTC,
74
- YEARN_CURVE_FRAX: tokenDataByNetwork.Mainnet.yvCurve_FRAX,
75
- YEARN_CURVE_STETH: tokenDataByNetwork.Mainnet.yvCurve_stETH,
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
- CONVEX_3CRV: "0x689440f2Ff927E1f24c72F1087E1FAF471eCe1c8",
80
- CONVEX_GUSD: "0x7A7bBf95C44b144979360C3300B54A7D34b44985",
81
- CONVEX_SUSD: "0x22eE18aca7F3Ee920D01F25dA85840D12d98E8Ca",
82
- CONVEX_STECRV: "0x0A760466E1B4621579a82a39CB56Dda2F4E70f03",
83
- CONVEX_FRAX3CRV: "0xB900EF131301B307dB5eFcbed9DBb50A3e209B2e",
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
- CURVE_3POOL: "0x769C784D1e958672bDef04cf12Fd5399b3db0f27",
91
+ CURVE_3CRV_POOL: "0x769C784D1e958672bDef04cf12Fd5399b3db0f27",
96
92
  CURVE_STETH_GATEWAY: "",
97
- CURVE_FRAX: "",
98
- CURVE_LUSD: tokenDataByNetwork.Kovan.LUSD3CRV,
99
- CURVE_SUSD: "0x032f1cE00865F3499C0052ceBA5F2348842416DB", // SEPARATE TOKEN
100
- CURVE_GUSD: "",
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
- YEARN_DAI: tokenDataByNetwork.Kovan.yvDAI,
104
- YEARN_USDC: tokenDataByNetwork.Kovan.yvUSDC,
105
- YEARN_WETH: tokenDataByNetwork.Kovan.yvWETH,
106
- YEARN_WBTC: tokenDataByNetwork.Kovan.yvWBTC,
107
- YEARN_CURVE_FRAX: tokenDataByNetwork.Kovan.yvCurve_FRAX,
108
- YEARN_CURVE_STETH: tokenDataByNetwork.Kovan.yvCurve_stETH,
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
- CONVEX_3CRV: "0x90D9E8ecc406cd7363C08fAdb4ac0f3994b4cA71",
113
- CONVEX_GUSD: "",
114
- CONVEX_SUSD: "",
115
- CONVEX_STECRV: "0x0f64e188BFF97e09C71FF85f30509f5596D420dD",
116
- CONVEX_FRAX3CRV: "",
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
- CURVE_3POOL: {
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
- CURVE_FRAX: {
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
- CURVE_LUSD: {
205
+ CURVE_LUSD_POOL: {
210
206
  protocol: Protocols.Curve,
211
207
  type: AdapterInterface.CURVE_V1_2ASSETS,
212
208
  lpToken: "LUSD3CRV",
213
- tokens: ["3Crv", "FRAX"]
209
+ tokens: ["3Crv", "LUSD"]
214
210
  },
215
- CURVE_SUSD: {
211
+ CURVE_SUSD_POOL: {
216
212
  protocol: Protocols.Curve,
217
- type: AdapterInterface.CURVE_V1_2ASSETS,
213
+ type: AdapterInterface.CURVE_V1_4ASSETS,
218
214
  lpToken: "crvPlain3andSUSD",
219
- tokens: ["3Crv", "FRAX"]
215
+ tokens: ["DAI", "USDC", "USDT", "sUSD"]
220
216
  },
221
- CURVE_GUSD: {
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
- YEARN_DAI: {
223
+ YEARN_DAI_VAULT: {
228
224
  protocol: Protocols.Yearn,
229
225
  type: AdapterInterface.YEARN_V2
230
226
  },
231
227
 
232
- YEARN_USDC: {
228
+ YEARN_USDC_VAULT: {
233
229
  protocol: Protocols.Yearn,
234
230
  type: AdapterInterface.YEARN_V2
235
231
  },
236
- YEARN_WETH: {
232
+ YEARN_WETH_VAULT: {
237
233
  protocol: Protocols.Yearn,
238
234
  type: AdapterInterface.YEARN_V2
239
235
  },
240
- YEARN_WBTC: {
236
+ YEARN_WBTC_VAULT: {
241
237
  protocol: Protocols.Yearn,
242
238
  type: AdapterInterface.YEARN_V2
243
239
  },
244
- YEARN_CURVE_FRAX: {
240
+ YEARN_CURVE_FRAX_VAULT: {
245
241
  protocol: Protocols.Yearn,
246
242
  type: AdapterInterface.YEARN_V2
247
243
  },
248
- YEARN_CURVE_STETH: {
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
- CONVEX_3CRV: {
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
- CONVEX_GUSD: {
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
- CONVEX_SUSD: {
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
- CONVEX_STECRV: {
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
- CONVEX_FRAX3CRV: {
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
- // [CURVE_3POOL_ADDRESS]: "Curve 3Pool",
18
+ // [CURVE_3CRV_POOL_ADDRESS]: "Curve 3Pool",
19
19
  // [SUSHISWAP_MAINNET]: "Sushiswap",
20
- // [YEARN_DAI_ADDRESS]: "Yearn DAI",
21
- // [YEARN_USDC_ADDRESS]: "Yearn USDC",
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
- // [YEARN_DAI_KOVAN_MOCK]: "Yearn DAI",
33
- // [YEARN_USDC_KOVAN_MOCK]: "Yearn USDC",
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
 
@@ -390,7 +390,7 @@ export const priceFeedsByNetwork: Record<SupportedToken, TokenPriceFeedData> = {
390
390
  curveSymbol: "steCRV"
391
391
  }
392
392
  },
393
- yvCurve_FRAX: {
393
+ yvCURVE_FRAX_POOL: {
394
394
  priceFeedUSD: {
395
395
  type: OracleType.YEARN_CURVE_LP_ORACLE,
396
396
  curveSymbol: "FRAX3CRV"