@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.
- package/lib/apy/curveAPY.js +18 -12
- package/lib/core/creditSession.d.ts +4 -0
- package/lib/core/creditSession.js +4 -0
- package/lib/core/trade.d.ts +3 -3
- package/lib/core/transactions.d.ts +14 -1
- package/lib/core/transactions.js +30 -1
- package/lib/payload/creditSession.d.ts +5 -1
- package/package.json +1 -1
package/lib/apy/curveAPY.js
CHANGED
|
@@ -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,
|
|
81
|
-
return __generator(this, function (
|
|
82
|
-
switch (
|
|
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
|
-
|
|
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 =
|
|
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 = ((
|
|
94
|
-
_c = ((
|
|
95
|
-
|
|
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 =
|
|
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;
|
package/lib/core/trade.d.ts
CHANGED
|
@@ -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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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;
|
package/lib/core/transactions.js
CHANGED
|
@@ -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
|
|
25
|
+
entryPrice?: number;
|
|
26
|
+
closePrice?: number;
|
|
27
|
+
quoteToken?: string;
|
|
28
|
+
tradingToken?: string;
|
|
25
29
|
healthFactor: BigNumberish;
|
|
26
30
|
leverage: number;
|
|
27
31
|
tfIndex: number;
|