@gearbox-protocol/sdk 1.8.11 → 1.9.1

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.
@@ -52,6 +52,7 @@ var NAME_DICTIONARY = {
52
52
  LUSD3CRV: "lusd",
53
53
  crvPlain3andSUSD: "susdv2",
54
54
  steCRV: "steth",
55
+ crvFRAX: "fraxusdc", // TODO: CHECK!
55
56
  };
56
57
  var RESPONSE_DECIMALS = 100;
57
58
  var ZERO = ethers_1.BigNumber.from(0);
@@ -80,6 +81,7 @@ function getCurveAPY() {
80
81
  e_1 = _a.sent();
81
82
  return [2 /*return*/, {
82
83
  "3Crv": ZERO,
84
+ crvFRAX: ZERO,
83
85
  FRAX3CRV: ZERO,
84
86
  gusd3CRV: ZERO,
85
87
  LUSD3CRV: ZERO,
@@ -6,7 +6,7 @@ import type { YearnLPToken } from "../tokens/yearn";
6
6
  import { AdapterInterface } from "./adapters";
7
7
  import { Protocols } from "./protocols";
8
8
  export declare type UniswapV2Contract = "UNISWAP_V2_ROUTER" | "SUSHISWAP_ROUTER";
9
- export declare type CurvePoolContract = "CURVE_3CRV_POOL" | "CURVE_STETH_GATEWAY" | "CURVE_FRAX_POOL" | "CURVE_LUSD_POOL" | "CURVE_GUSD_POOL" | "CURVE_SUSD_POOL" | "CURVE_SUSD_DEPOSIT";
9
+ export declare type CurvePoolContract = "CURVE_3CRV_POOL" | "CURVE_FRAX_USDC_POOL" | "CURVE_STETH_GATEWAY" | "CURVE_FRAX_POOL" | "CURVE_LUSD_POOL" | "CURVE_GUSD_POOL" | "CURVE_SUSD_POOL" | "CURVE_SUSD_DEPOSIT";
10
10
  export declare type YearnVaultContract = "YEARN_DAI_VAULT" | "YEARN_USDC_VAULT" | "YEARN_WETH_VAULT" | "YEARN_WBTC_VAULT" | "YEARN_CURVE_FRAX_VAULT" | "YEARN_CURVE_STETH_VAULT";
11
11
  export declare type ConvexPoolContract = "CONVEX_3CRV_POOL" | "CONVEX_GUSD_POOL" | "CONVEX_SUSD_POOL" | "CONVEX_STECRV_POOL" | "CONVEX_FRAX3CRV_POOL" | "CONVEX_LUSD3CRV_POOL";
12
12
  export declare type SupportedContract = UniswapV2Contract | "UNISWAP_V3_ROUTER" | CurvePoolContract | YearnVaultContract | "CONVEX_BOOSTER" | ConvexPoolContract | "CONVEX_CLAIM_ZAP" | "LIDO_STETH_GATEWAY" | "LIDO_WSTETH" | "UNIVERSAL_ADAPTER";
@@ -23,6 +23,7 @@ exports.contractsByNetwork = {
23
23
  SUSHISWAP_ROUTER: "0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F",
24
24
  // CURVE
25
25
  CURVE_3CRV_POOL: "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7",
26
+ CURVE_FRAX_USDC_POOL: "0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC",
26
27
  CURVE_STETH_GATEWAY: "0x0c304D4cff4C562BcF09e198a30611a853d1Cad8",
27
28
  CURVE_FRAX_POOL: token_1.tokenDataByNetwork.Mainnet.FRAX3CRV,
28
29
  CURVE_LUSD_POOL: token_1.tokenDataByNetwork.Mainnet.LUSD3CRV,
@@ -66,6 +67,7 @@ exports.contractsByNetwork = {
66
67
  SUSHISWAP_ROUTER: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",
67
68
  // CURVE
68
69
  CURVE_3CRV_POOL: "0x6491f8A62678c90C84b237791d9D7cF21b4D1418",
70
+ CURVE_FRAX_USDC_POOL: "0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2",
69
71
  CURVE_STETH_GATEWAY: "0xcD4b22ed0E2aD95d648C6E4c45B38f83D0Cbb654",
70
72
  CURVE_FRAX_POOL: token_1.tokenDataByNetwork.Goerli.FRAX3CRV,
71
73
  CURVE_LUSD_POOL: token_1.tokenDataByNetwork.Goerli.LUSD3CRV,
@@ -120,6 +122,13 @@ exports.contractParams = {
120
122
  lpToken: "3Crv",
121
123
  tokens: ["DAI", "USDC", "USDT"],
122
124
  },
125
+ CURVE_FRAX_USDC_POOL: {
126
+ name: "Curve 3Pool",
127
+ protocol: protocols_1.Protocols.Curve,
128
+ type: adapters_1.AdapterInterface.CURVE_V1_3ASSETS,
129
+ lpToken: "crvFRAX",
130
+ tokens: ["FRAX", "USDC"],
131
+ },
123
132
  CURVE_STETH_GATEWAY: {
124
133
  name: "Curve stETH",
125
134
  protocol: protocols_1.Protocols.Curve,
@@ -371,6 +371,12 @@ exports.priceFeedsByNetwork = {
371
371
  assets: ["DAI", "USDC", "USDT"],
372
372
  },
373
373
  },
374
+ crvFRAX: {
375
+ priceFeedUSD: {
376
+ type: oracles_1.OracleType.CURVE_LP_TOKEN_ORACLE,
377
+ assets: ["FRAX", "USDC"],
378
+ },
379
+ },
374
380
  steCRV: {
375
381
  priceFeedUSD: {
376
382
  type: oracles_1.OracleType.CURVE_LP_TOKEN_ORACLE,
@@ -10,6 +10,7 @@ var curveAdapterParser_1 = require("./curveAdapterParser");
10
10
  var lidoAdapterParser_1 = require("./lidoAdapterParser");
11
11
  var uniV2AdapterParser_1 = require("./uniV2AdapterParser");
12
12
  var uniV3AdapterParser_1 = require("./uniV3AdapterParser");
13
+ var wstETHAdapterParser_1 = require("./wstETHAdapterParser");
13
14
  var yearnV2AdapterParser_1 = require("./yearnV2AdapterParser");
14
15
  var TxParser = /** @class */ (function () {
15
16
  function TxParser() {
@@ -86,6 +87,9 @@ var TxParser = /** @class */ (function () {
86
87
  case "LIDO_V1":
87
88
  TxParser.parsers[addressLC] = new lidoAdapterParser_1.LidoAdapterParser(contract, isContract);
88
89
  break;
90
+ case "LIDO_WSTETH_V1":
91
+ TxParser.parsers[addressLC] = new wstETHAdapterParser_1.WstETHAdapterParser(contract, isContract);
92
+ break;
89
93
  }
90
94
  };
91
95
  TxParser.parsers = {};
@@ -0,0 +1,7 @@
1
+ import { SupportedContract } from "../contracts/contracts";
2
+ import { AbstractParser } from "./abstractParser";
3
+ import { IParser } from "./iParser";
4
+ export declare class WstETHAdapterParser extends AbstractParser implements IParser {
5
+ constructor(contract: SupportedContract, isContract: boolean);
6
+ parse(calldata: string): string;
7
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.WstETHAdapterParser = void 0;
19
+ var types_1 = require("../types");
20
+ var abstractParser_1 = require("./abstractParser");
21
+ var WstETHAdapterParser = /** @class */ (function (_super) {
22
+ __extends(WstETHAdapterParser, _super);
23
+ function WstETHAdapterParser(contract, isContract) {
24
+ var _this = _super.call(this, contract) || this;
25
+ _this.ifc = types_1.IwstETHV1Adapter__factory.createInterface();
26
+ if (!isContract)
27
+ _this.adapterName = "wstETHAdapter";
28
+ return _this;
29
+ }
30
+ WstETHAdapterParser.prototype.parse = function (calldata) {
31
+ var _a = this.parseSelector(calldata), functionFragment = _a.functionFragment, functionName = _a.functionName;
32
+ switch (functionFragment.name) {
33
+ case "wrap": {
34
+ var amount = this.decodeFunctionData(functionFragment, calldata)[0];
35
+ return "".concat(functionName, "(amount: ").concat(this.formatBN(amount, "STETH"), ")");
36
+ }
37
+ case "wrapAll": {
38
+ return "".concat(functionName, "()");
39
+ }
40
+ case "unwrap": {
41
+ var amount = this.decodeFunctionData(functionFragment, calldata)[0];
42
+ return "".concat(functionName, "(amount: ").concat(this.formatBN(amount, "wstETH"), ")");
43
+ }
44
+ case "unwrapAll": {
45
+ return "".concat(functionName, "()");
46
+ }
47
+ default:
48
+ return "".concat(functionName, ": Unknown operation ").concat(functionFragment.name, " with calldata ").concat(calldata);
49
+ }
50
+ };
51
+ return WstETHAdapterParser;
52
+ }(abstractParser_1.AbstractParser));
53
+ exports.WstETHAdapterParser = WstETHAdapterParser;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var chai_1 = require("chai");
4
+ var constants_1 = require("../core/constants");
5
+ var types_1 = require("../types");
6
+ var wstETHAdapterParser_1 = require("./wstETHAdapterParser");
7
+ describe("WstETHAdapterParser test", function () {
8
+ it("wrap / unwrap function works well", function () {
9
+ var parser = new wstETHAdapterParser_1.WstETHAdapterParser("LIDO_WSTETH", false);
10
+ var ifc = types_1.IwstETHV1Adapter__factory.createInterface();
11
+ var parsed = parser.parse(ifc.encodeFunctionData("wrap", [constants_1.WAD.mul(1020)]));
12
+ (0, chai_1.expect)(parsed).to.be.eq("wstETHAdapter[LIDO_WSTETH].wrap(amount: 1.02K [1020000000000000000000])", "Incorrect parse wrap(amount)");
13
+ parsed = parser.parse(ifc.encodeFunctionData("wrapAll"));
14
+ (0, chai_1.expect)(parsed).to.be.eq("wstETHAdapter[LIDO_WSTETH].wrapAll()", "Incorrect parse wrapAll()");
15
+ parser = new wstETHAdapterParser_1.WstETHAdapterParser("LIDO_WSTETH", true);
16
+ parsed = parser.parse(ifc.encodeFunctionData("unwrap", [constants_1.WAD.mul(1020)]));
17
+ (0, chai_1.expect)(parsed).to.be.eq("Contract[LIDO_WSTETH].unwrap(amount: 1.02K [1020000000000000000000])", "Incorrect parse unwrap(amount)");
18
+ parsed = parser.parse(ifc.encodeFunctionData("unwrapAll"));
19
+ (0, chai_1.expect)(parsed).to.be.eq("Contract[LIDO_WSTETH].unwrapAll()", "Incorrect parse unwrapAll()");
20
+ });
21
+ });
@@ -4,7 +4,7 @@ import { TradeAction } from "../pathfinder/tradeTypes";
4
4
  import { PartialRecord } from "../utils/types";
5
5
  import type { SupportedToken, TokenBase } from "./token";
6
6
  import { TokenType } from "./tokenType";
7
- export declare type CurveLPToken = "3Crv" | "steCRV" | "FRAX3CRV" | "LUSD3CRV" | "crvPlain3andSUSD" | "gusd3CRV";
7
+ export declare type CurveLPToken = "3Crv" | "steCRV" | "FRAX3CRV" | "LUSD3CRV" | "crvPlain3andSUSD" | "gusd3CRV" | "crvFRAX";
8
8
  export declare type CurveLPTokenData = {
9
9
  symbol: CurveLPToken;
10
10
  type: TokenType.CURVE_LP_TOKEN;
@@ -34,6 +34,29 @@ exports.curveTokens = {
34
34
  },
35
35
  ],
36
36
  },
37
+ crvFRAX: {
38
+ name: "Curve.fi FRAX/USDC",
39
+ symbol: "3Crv",
40
+ type: tokenType_1.TokenType.CURVE_LP_TOKEN,
41
+ pool: "CURVE_FRAX_USDC_POOL",
42
+ lpActions: [
43
+ {
44
+ type: tradeTypes_1.TradeType.CurveWithdrawLP,
45
+ contract: "CURVE_3CRV_POOL",
46
+ tokenOut: ["DAI", "USDC", "USDT"],
47
+ },
48
+ {
49
+ type: tradeTypes_1.TradeType.ConvexDepositLP,
50
+ contract: "CONVEX_BOOSTER",
51
+ tokenOut: "cvx3Crv",
52
+ },
53
+ {
54
+ type: tradeTypes_1.TradeType.ConvexDepositLPAndStake,
55
+ contract: "CONVEX_BOOSTER",
56
+ tokenOut: "stkcvx3Crv",
57
+ },
58
+ ],
59
+ },
37
60
  steCRV: {
38
61
  name: "Curve steCRV",
39
62
  symbol: "steCRV",
@@ -28,6 +28,7 @@ exports.decimals = {
28
28
  GUSD: 2,
29
29
  LQTY: 18,
30
30
  "3Crv": 18,
31
+ crvFRAX: 18,
31
32
  steCRV: 18,
32
33
  crvPlain3andSUSD: 18,
33
34
  FRAX3CRV: 18,
@@ -53,6 +53,7 @@ exports.tokenDataByNetwork = {
53
53
  LQTY: "0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D",
54
54
  // CURVE LP TOKENS
55
55
  "3Crv": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490",
56
+ crvFRAX: "DEPLOY ME",
56
57
  steCRV: "0x06325440D014e39736583c165C2963BA99fAf14E",
57
58
  FRAX3CRV: "0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B",
58
59
  LUSD3CRV: "0xEd279fDD11cA84bEef15AF5D39BB4d4bEE23F0cA",
@@ -127,6 +128,7 @@ exports.tokenDataByNetwork = {
127
128
  yvCurve_FRAX: "0x43d45AEf2BAb5fa79e3bBDb2dB7E4443B8123C8f",
128
129
  // CURVE LP TOKENS
129
130
  "3Crv": "0xb2f394A64966a8892a43CcfBBD48D28bC58Aeb67",
131
+ crvFRAX: "DEPLOY ME",
130
132
  steCRV: "0xf5c5e39F56fF90C0F63a97F3c77779eF495c1faD",
131
133
  crvPlain3andSUSD: "0xC3d328CCA12347A31126d891D16fe8C5466625a5",
132
134
  gusd3CRV: "0xbD919fcC47ae2b5Cc2fe646971aCcB1e88843DC5",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "1.8.11",
3
+ "version": "1.9.1",
4
4
  "description": "Gearbox SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",