@gearbox-protocol/sdk 1.22.1 → 1.22.3

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.
@@ -72,27 +72,33 @@ var APY_DICTIONARY = {
72
72
  var CRV_APY_RESPONSE_DECIMALS = 100;
73
73
  // const CRYPTO = "https://api.curve.fi/api/getPools/ethereum/crypto";
74
74
  // const FACTORY = "https://api.curve.fi/api/getPools/ethereum/factory";
75
- var CURVE_FACTORY_CRYPTO_URL = "https://api.curve.fi/api/getPools/ethereum/factory-crypto";
76
- var CURVE_MAIN_URL = "https://api.curve.fi/api/getPools/ethereum/main";
77
75
  var CURVE_APY_URL = "https://www.convexfinance.com/api/curve-apys";
76
+ var CURVE_MAIN_URL = "https://api.curve.fi/api/getPools/ethereum/main";
77
+ var CURVE_FACTORY_CRYPTO_URL = "https://api.curve.fi/api/getPools/ethereum/factory-crypto";
78
+ var CURVE_CRYPTO_URL = "https://api.curve.fi/api/getPools/ethereum/crypto";
79
+ var CURVE_FACTORY_TRICRYPTO_URL = "https://api.curve.fi/api/getPools/ethereum/factory-tricrypto";
78
80
  function getCurveAPY() {
79
81
  return __awaiter(this, void 0, void 0, function () {
80
- var _a, apyData, factoryCrypto, main, apys_1, _b, factoryCryptoPoolData, _c, mainPoolData, poolDataByID_1, curveAPY, e_1;
81
- return __generator(this, function (_d) {
82
- switch (_d.label) {
82
+ var _a, apyData, main, factoryCrypto, crypto, factoryTricrypto, apys_1, _b, mainPoolData, _c, factoryCryptoPoolData, _d, cryptoPoolData, _e, factoryTricryptoPoolData, poolDataByID_1, curveAPY, e_1;
83
+ return __generator(this, function (_f) {
84
+ switch (_f.label) {
83
85
  case 0:
84
- _d.trys.push([0, 2, , 3]);
86
+ _f.trys.push([0, 2, , 3]);
85
87
  return [4 /*yield*/, Promise.all([
86
88
  axios_1.default.get(CURVE_APY_URL),
87
- axios_1.default.get(CURVE_FACTORY_CRYPTO_URL),
88
89
  axios_1.default.get(CURVE_MAIN_URL),
90
+ axios_1.default.get(CURVE_FACTORY_CRYPTO_URL),
91
+ axios_1.default.get(CURVE_CRYPTO_URL),
92
+ axios_1.default.get(CURVE_FACTORY_TRICRYPTO_URL),
89
93
  ])];
90
94
  case 1:
91
- _a = _d.sent(), apyData = _a[0].data, factoryCrypto = _a[1].data, main = _a[2].data;
95
+ _a = _f.sent(), apyData = _a[0].data, main = _a[1].data, factoryCrypto = _a[2].data, crypto = _a[3].data, factoryTricrypto = _a[4].data;
92
96
  apys_1 = (apyData || {}).apys;
93
- _b = ((factoryCrypto === null || factoryCrypto === void 0 ? void 0 : factoryCrypto.data) || {}).poolData, factoryCryptoPoolData = _b === void 0 ? [] : _b;
94
- _c = ((main === null || main === void 0 ? void 0 : main.data) || {}).poolData, mainPoolData = _c === void 0 ? [] : _c;
95
- poolDataByID_1 = Object.fromEntries(__spreadArray(__spreadArray([], factoryCryptoPoolData.map(function (p) { return [p.id, p]; }), true), mainPoolData.map(function (p) { return [p.id, p]; }), true));
97
+ _b = ((main === null || main === void 0 ? void 0 : main.data) || {}).poolData, mainPoolData = _b === void 0 ? [] : _b;
98
+ _c = ((factoryCrypto === null || factoryCrypto === void 0 ? void 0 : factoryCrypto.data) || {}).poolData, factoryCryptoPoolData = _c === void 0 ? [] : _c;
99
+ _d = ((crypto === null || crypto === void 0 ? void 0 : crypto.data) || {}).poolData, cryptoPoolData = _d === void 0 ? [] : _d;
100
+ _e = ((factoryTricrypto === null || factoryTricrypto === void 0 ? void 0 : factoryTricrypto.data) || {}).poolData, factoryTricryptoPoolData = _e === void 0 ? [] : _e;
101
+ poolDataByID_1 = Object.fromEntries(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], mainPoolData.map(function (p) { return [p.id, p]; }), true), factoryCryptoPoolData.map(function (p) { return [p.id, p]; }), true), cryptoPoolData.map(function (p) { return [p.id, p]; }), true), factoryTricryptoPoolData.map(function (p) { return [p.id, p]; }), true));
96
102
  curveAPY = (0, mappers_1.objectEntries)(APY_DICTIONARY).reduce(function (acc, _a) {
97
103
  var curveSymbol = _a[0], poolId = _a[1];
98
104
  var _b = apys_1[poolId] || {}, baseApy = _b.baseApy, crvApy = _b.crvApy;
@@ -119,7 +125,7 @@ function getCurveAPY() {
119
125
  }, {});
120
126
  return [2 /*return*/, curveAPY];
121
127
  case 2:
122
- e_1 = _d.sent();
128
+ e_1 = _f.sent();
123
129
  console.error(e_1);
124
130
  return [2 /*return*/, null];
125
131
  case 3: return [2 /*return*/];
@@ -11,6 +11,7 @@ export declare class CreditSession {
11
11
  readonly creditManager: string;
12
12
  readonly account: string;
13
13
  readonly underlyingToken: string;
14
+ readonly version: number;
14
15
  readonly since: number;
15
16
  readonly sinceDate: string;
16
17
  readonly closedAt: number;
@@ -28,6 +29,9 @@ export declare class CreditSession {
28
29
  readonly currentBlock: number;
29
30
  readonly currentTimestamp: number;
30
31
  readonly entryPrice: number;
32
+ readonly closePrice: number;
33
+ readonly quoteToken: string;
34
+ readonly tradingToken: string;
31
35
  readonly borrowAPY_RAY: BigNumber;
32
36
  readonly borrowAPY7DAverage: number;
33
37
  readonly totalValueUSD: number;
@@ -47,6 +47,7 @@ var CreditSession = /** @class */ (function () {
47
47
  this.creditManager = (payload.creditManager || "").toLowerCase();
48
48
  this.account = (payload.account || "").toLowerCase();
49
49
  this.underlyingToken = (payload.underlyingToken || "").toLowerCase();
50
+ this.version = payload.version || 2;
50
51
  this.initialAmount = ethers_1.BigNumber.from(payload.initialAmount || 0);
51
52
  this.borrowedAmount = ethers_1.BigNumber.from(payload.borrowedAmount || 0);
52
53
  this.totalValue = ethers_1.BigNumber.from(payload.totalValue || 0);
@@ -60,6 +61,9 @@ var CreditSession = /** @class */ (function () {
60
61
  this.collateralInUSD = payload.collateralInUSD || 0;
61
62
  this.collateralInUnderlying = payload.collateralInUnderlying || 0;
62
63
  this.entryPrice = payload.entryPrice || 0;
64
+ this.closePrice = payload.closePrice || 0;
65
+ this.tradingToken = (payload.tradingToken || "").toLowerCase();
66
+ this.quoteToken = (payload.quoteToken || "").toLowerCase();
63
67
  this.borrowAPY_RAY = ethers_1.BigNumber.from(payload.borrowAPY_RAY || 0);
64
68
  this.borrowAPY7DAverage =
65
69
  (payload.borrowAPY7DAverage || 0) * constants_1.PERCENTAGE_DECIMALS;
@@ -19,9 +19,9 @@ export interface TradeProps extends BaseTradeInterface {
19
19
  }
20
20
  export type TradeOperations = "farmWithdraw" | "farmDeposit" | "swap" | "unknownOperation";
21
21
  export declare class Trade implements BaseTradeInterface {
22
- protected helper: BaseAdapter;
23
- protected tradePath: PathFinderResult;
24
- protected creditFacade: string;
22
+ readonly helper: BaseAdapter;
23
+ readonly tradePath: PathFinderResult;
24
+ readonly creditFacade: string;
25
25
  readonly swapType: SwapOperation;
26
26
  readonly sourceAmount: BigNumber;
27
27
  readonly expectedAmount: BigNumber;
@@ -2,7 +2,7 @@ import { BigNumber } from "ethers";
2
2
  import { SupportedContract } from "../contracts/contracts";
3
3
  import { EVMTx, EVMTxProps } from "./eventOrTx";
4
4
  export interface TxSerialized {
5
- type: "TxAddLiquidity" | "TxRemoveLiquidity" | "TxSwap" | "TxAddCollateral" | "TxIncreaseBorrowAmount" | "TxOpenAccount" | "TxRepayAccount" | "TxCloseAccount" | "TxApprove" | "TxOpenMultitokenAccount" | "TxClaimReward" | "TxClaimNFT" | "TxClaimGearRewards" | "TxEnableTokens";
5
+ type: "TxAddLiquidity" | "TxRemoveLiquidity" | "TxSwap" | "TxAddCollateral" | "TxIncreaseBorrowAmount" | "TxDecreaseBorrowAmount" | "TxOpenAccount" | "TxRepayAccount" | "TxCloseAccount" | "TxApprove" | "TxOpenMultitokenAccount" | "TxClaimReward" | "TxClaimNFT" | "TxClaimGearRewards" | "TxEnableTokens";
6
6
  content: string;
7
7
  }
8
8
  export declare class TxSerializer {
@@ -82,6 +82,19 @@ export declare class TxIncreaseBorrowAmount extends EVMTx {
82
82
  toString(): string;
83
83
  serialize(): TxSerialized;
84
84
  }
85
+ interface DecreaseBorrowAmountProps extends EVMTxProps {
86
+ amount: BigNumber;
87
+ underlyingToken: string;
88
+ creditManager: string;
89
+ }
90
+ export declare class TxDecreaseBorrowAmount extends EVMTx {
91
+ readonly amount: BigNumber;
92
+ readonly underlyingToken: string;
93
+ readonly creditManager: string;
94
+ constructor(opts: DecreaseBorrowAmountProps);
95
+ toString(): string;
96
+ serialize(): TxSerialized;
97
+ }
85
98
  interface OpenAccountProps extends EVMTxProps {
86
99
  amount: BigNumber;
87
100
  underlyingToken: string;
@@ -15,7 +15,7 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TxEnableTokens = exports.TxApprove = exports.TxCloseAccount = exports.TxRepayAccount = exports.TxClaimGearRewards = exports.TxClaimNFT = exports.TxClaimReward = exports.TxOpenMultitokenAccount = exports.TxOpenAccount = exports.TxIncreaseBorrowAmount = exports.TxAddCollateral = exports.TXSwap = exports.TxRemoveLiquidity = exports.TxAddLiquidity = exports.TxSerializer = void 0;
18
+ exports.TxEnableTokens = exports.TxApprove = exports.TxCloseAccount = exports.TxRepayAccount = exports.TxClaimGearRewards = exports.TxClaimNFT = exports.TxClaimReward = exports.TxOpenMultitokenAccount = exports.TxOpenAccount = exports.TxDecreaseBorrowAmount = exports.TxIncreaseBorrowAmount = exports.TxAddCollateral = exports.TXSwap = exports.TxRemoveLiquidity = exports.TxAddLiquidity = exports.TxSerializer = void 0;
19
19
  var ethers_1 = require("ethers");
20
20
  var contracts_1 = require("../contracts/contracts");
21
21
  var contractsRegister_1 = require("../contracts/contractsRegister");
@@ -43,6 +43,8 @@ var TxSerializer = /** @class */ (function () {
43
43
  return new TxAddCollateral(params);
44
44
  case "TxIncreaseBorrowAmount":
45
45
  return new TxIncreaseBorrowAmount(params);
46
+ case "TxDecreaseBorrowAmount":
47
+ return new TxDecreaseBorrowAmount(params);
46
48
  case "TxOpenAccount":
47
49
  return new TxOpenAccount(params);
48
50
  case "TxRepayAccount":
@@ -213,6 +215,33 @@ var TxIncreaseBorrowAmount = /** @class */ (function (_super) {
213
215
  return TxIncreaseBorrowAmount;
214
216
  }(eventOrTx_1.EVMTx));
215
217
  exports.TxIncreaseBorrowAmount = TxIncreaseBorrowAmount;
218
+ var TxDecreaseBorrowAmount = /** @class */ (function (_super) {
219
+ __extends(TxDecreaseBorrowAmount, _super);
220
+ function TxDecreaseBorrowAmount(opts) {
221
+ var _this = _super.call(this, {
222
+ block: opts.block,
223
+ txHash: opts.txHash,
224
+ txStatus: opts.txStatus,
225
+ timestamp: opts.timestamp,
226
+ }) || this;
227
+ _this.amount = opts.amount;
228
+ _this.underlyingToken = opts.underlyingToken;
229
+ _this.creditManager = opts.creditManager;
230
+ return _this;
231
+ }
232
+ TxDecreaseBorrowAmount.prototype.toString = function () {
233
+ var _a = (0, token_1.extractTokenData)(this.underlyingToken), tokenSymbol = _a[0], tokenDecimals = _a[1];
234
+ return "Credit account ".concat((0, contractsRegister_1.getContractName)(this.creditManager), ": Borrowed amount was decreased for ").concat((0, formatter_1.formatBN)(this.amount, tokenDecimals || 18), " ").concat(tokenSymbol);
235
+ };
236
+ TxDecreaseBorrowAmount.prototype.serialize = function () {
237
+ return {
238
+ type: "TxIncreaseBorrowAmount",
239
+ content: JSON.stringify(this),
240
+ };
241
+ };
242
+ return TxDecreaseBorrowAmount;
243
+ }(eventOrTx_1.EVMTx));
244
+ exports.TxDecreaseBorrowAmount = TxDecreaseBorrowAmount;
216
245
  var TxOpenAccount = /** @class */ (function (_super) {
217
246
  __extends(TxOpenAccount, _super);
218
247
  function TxOpenAccount(opts) {
@@ -19,9 +19,13 @@ export interface CreditSessionPayload {
19
19
  account: string;
20
20
  creditManager: string;
21
21
  underlyingToken: string;
22
+ version: number;
22
23
  borrowAPY_RAY: BigNumberish;
23
24
  borrowAPY7DAverage: number;
24
- entryPrice: number;
25
+ entryPrice?: number;
26
+ closePrice?: number;
27
+ quoteToken?: string;
28
+ tradingToken?: string;
25
29
  healthFactor: BigNumberish;
26
30
  leverage: number;
27
31
  tfIndex: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "1.22.1",
3
+ "version": "1.22.3",
4
4
  "description": "Gearbox SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",