@gearbox-protocol/sdk 1.22.0 → 1.22.2
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/oracles/priceFeeds.js +6 -6
- package/lib/payload/creditSession.d.ts +5 -1
- package/lib/tokens/curveLP.d.ts +2 -2
- package/lib/tokens/curveLP.js +23 -22
- package/lib/tokens/token.js +1 -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;
|
|
@@ -463,6 +463,12 @@ exports.priceFeedsByNetwork = {
|
|
|
463
463
|
assets: ["GUSD", "DAI", "USDC", "USDT"],
|
|
464
464
|
},
|
|
465
465
|
},
|
|
466
|
+
MIM_3LP3CRV: {
|
|
467
|
+
priceFeedUSD: {
|
|
468
|
+
type: oracles_1.OracleType.CURVE_LP_TOKEN_ORACLE,
|
|
469
|
+
assets: ["MIM", "DAI", "USDC", "USDT"],
|
|
470
|
+
},
|
|
471
|
+
},
|
|
466
472
|
OHMFRAXBP: {
|
|
467
473
|
priceFeedUSD: {
|
|
468
474
|
type: oracles_1.OracleType.CURVE_CRYPTO_ORACLE,
|
|
@@ -735,12 +741,6 @@ exports.priceFeedsByNetwork = {
|
|
|
735
741
|
address: { Mainnet: "", Goerli: "" },
|
|
736
742
|
},
|
|
737
743
|
},
|
|
738
|
-
MIM_3LP3CRV: {
|
|
739
|
-
priceFeedUSD: {
|
|
740
|
-
type: oracles_1.OracleType.CURVE_CRYPTO_ORACLE,
|
|
741
|
-
assets: ["MIM", "3Crv"],
|
|
742
|
-
},
|
|
743
|
-
},
|
|
744
744
|
"50OHM_50DAI": {
|
|
745
745
|
priceFeedUSD: {
|
|
746
746
|
type: oracles_1.OracleType.BALANCER_WEIGHTED_LP_ORACLE,
|
|
@@ -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;
|
package/lib/tokens/curveLP.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ 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 type CurveMetaTokens = "FRAX3CRV" | "LUSD3CRV" | "gusd3CRV" | "MIM_3LP3CRV";
|
|
8
|
-
export type CurveLPToken = "3Crv" | "steCRV" | "crvPlain3andSUSD" | "crvFRAX" | "
|
|
7
|
+
export type CurveMetaTokens = "FRAX3CRV" | "LUSD3CRV" | "gusd3CRV" | "MIM_3LP3CRV" | "OHMFRAXBP";
|
|
8
|
+
export type CurveLPToken = "3Crv" | "steCRV" | "crvPlain3andSUSD" | "crvFRAX" | "crvCRVETH" | "crvCVXETH" | "crvUSDTWBTCWETH" | "LDOETH" | CurveMetaTokens;
|
|
9
9
|
export type CurveLPTokenData = {
|
|
10
10
|
symbol: CurveLPToken;
|
|
11
11
|
type: TokenType.CURVE_LP_TOKEN;
|
package/lib/tokens/curveLP.js
CHANGED
|
@@ -104,6 +104,29 @@ exports.curveMetaTokens = {
|
|
|
104
104
|
},
|
|
105
105
|
],
|
|
106
106
|
},
|
|
107
|
+
OHMFRAXBP: {
|
|
108
|
+
name: "Curve.fi Factory Crypto Pool: OHM/FRAXBP",
|
|
109
|
+
symbol: "OHMFRAXBP",
|
|
110
|
+
type: tokenType_1.TokenType.CURVE_LP_TOKEN,
|
|
111
|
+
pool: "CURVE_OHMFRAXBP_POOL",
|
|
112
|
+
lpActions: [
|
|
113
|
+
{
|
|
114
|
+
type: tradeTypes_1.TradeType.CurveWithdrawLP,
|
|
115
|
+
contract: "CURVE_OHMFRAXBP_POOL",
|
|
116
|
+
tokenOut: ["OHM", "FRAX", "USDC"],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: tradeTypes_1.TradeType.ConvexDepositLP,
|
|
120
|
+
contract: "CONVEX_BOOSTER",
|
|
121
|
+
tokenOut: "cvxOHMFRAXBP",
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: tradeTypes_1.TradeType.ConvexDepositLPAndStake,
|
|
125
|
+
contract: "CONVEX_BOOSTER",
|
|
126
|
+
tokenOut: "stkcvxOHMFRAXBP",
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
},
|
|
107
130
|
};
|
|
108
131
|
exports.curveTokens = __assign({
|
|
109
132
|
// CURVE LP TOKENS
|
|
@@ -196,28 +219,6 @@ exports.curveTokens = __assign({
|
|
|
196
219
|
tokenOut: "stkcvxcrvPlain3andSUSD",
|
|
197
220
|
},
|
|
198
221
|
],
|
|
199
|
-
}, OHMFRAXBP: {
|
|
200
|
-
name: "Curve.fi Factory Crypto Pool: OHM/FRAXBP",
|
|
201
|
-
symbol: "OHMFRAXBP",
|
|
202
|
-
type: tokenType_1.TokenType.CURVE_LP_TOKEN,
|
|
203
|
-
pool: "CURVE_OHMFRAXBP_POOL",
|
|
204
|
-
lpActions: [
|
|
205
|
-
{
|
|
206
|
-
type: tradeTypes_1.TradeType.CurveWithdrawLP,
|
|
207
|
-
contract: "CURVE_OHMFRAXBP_POOL",
|
|
208
|
-
tokenOut: ["OHM", "FRAX", "USDC"],
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
type: tradeTypes_1.TradeType.ConvexDepositLP,
|
|
212
|
-
contract: "CONVEX_BOOSTER",
|
|
213
|
-
tokenOut: "cvxOHMFRAXBP",
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
type: tradeTypes_1.TradeType.ConvexDepositLPAndStake,
|
|
217
|
-
contract: "CONVEX_BOOSTER",
|
|
218
|
-
tokenOut: "stkcvxOHMFRAXBP",
|
|
219
|
-
},
|
|
220
|
-
],
|
|
221
222
|
}, crvCRVETH: {
|
|
222
223
|
name: "Curve CRV-ETH",
|
|
223
224
|
symbol: "crvCRVETH",
|
package/lib/tokens/token.js
CHANGED
|
@@ -82,7 +82,7 @@ exports.tokenDataByNetwork = {
|
|
|
82
82
|
cvxcrvCRVETH: "0x0Fb8dcdD95e4C48D3dD0eFA4086512f6F8FD4565",
|
|
83
83
|
cvxcrvCVXETH: "0x0bC857f97c0554d1d0D602b56F2EEcE682016fBA",
|
|
84
84
|
cvxcrvUSDTWBTCWETH: "0xB77BA8B4b9d981269466eE95796A9Af57d4E82DB",
|
|
85
|
-
cvxLDOETH: "
|
|
85
|
+
cvxLDOETH: "0x4eBE557ae39F87D2a014719777FD4cF4d01Dc8Ee",
|
|
86
86
|
// CONVEX PHANTOM TOKEN ADDRESSES
|
|
87
87
|
stkcvx3Crv: "0xbAc7a431146aeAf3F57A16b9954f332Fd292F270",
|
|
88
88
|
stkcvxFRAX3CRV: "0xaF314b088B53835d5cF4e4CB81beABa5934a61fe",
|