impermax-sdk 2.1.265 → 2.1.266

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.
@@ -175,11 +175,7 @@ class OffchainBorrowable extends offchainPoolToken_1.default {
175
175
  return (UR / kinkUR) * kinkBR;
176
176
  const kinkMultiplier = this.lendingPool.getKinkMultiplier();
177
177
  return (((UR - kinkUR) / (1 - kinkUR)) * (kinkMultiplier - 1) + 1) * kinkBR;
178
- } /*
179
- public async getNextBorrowAPR(borrowAmount: number): Promise<number> {
180
- const borrowRate = await this.getNextBorrowRate(borrowAmount);
181
- return toAPR(borrowRate);
182
- }*/
178
+ }
183
179
  // Supply
184
180
  async getSupply() {
185
181
  const { totalBalance, totalBorrows } = await this._accrueInterest();
@@ -208,134 +204,6 @@ class OffchainBorrowable extends offchainPoolToken_1.default {
208
204
  const supplyRate = await this.getSupplyRate();
209
205
  return (0, utils_1.toAPR)(supplyRate);
210
206
  }
211
- /*
212
- public async getNextSupplyRate(supplyAmount: number): Promise<number> {
213
- const { totalBalance, totalBorrows } = await this._accrueInterest();
214
- const supply = totalBalance + totalBorrows;
215
- const UR = totalBorrows / (supply + supplyAmount);
216
- const { kinkBorrowRate: kinkBR } = await this._calculateBorrowRate();
217
- const kinkUR = await this.getKinkUtilizationRate();
218
- const reserveFactor = await this.getReserveFactor();
219
- if (UR < kinkUR) return (UR / kinkUR) * kinkBR * UR * (1 - reserveFactor);
220
- const kinkMultiplier = this.lendingPool.getKinkMultiplier();
221
- return (
222
- (((UR - kinkUR) / (1 - kinkUR)) * (kinkMultiplier - 1) + 1) *
223
- kinkBR *
224
- UR *
225
- (1 - reserveFactor)
226
- );
227
- }
228
- public async getNextSupplyAPR(supplyAmount: number): Promise<number> {
229
- const supplyRate = await this.getNextSupplyRate(supplyAmount);
230
- return toAPR(supplyRate);
231
- }
232
-
233
- // Reward Speed
234
- public async getFarmingRewardsRate(): Promise<
235
- Array<{
236
- rewardToken: string;
237
- rewardRate: number;
238
- }>
239
- > {
240
- const poolTokenData = (await this.getPoolTokenData()) as BorrowableData;
241
- const rewards = poolTokenData.rewards;
242
- if (rewards && rewards.length > 0) return rewards;
243
-
244
- const FINISH_DELAY = 3600 * 24;
245
- const farmingPoolData = poolTokenData.farmingPool;
246
- if (farmingPoolData === null) return [];
247
- const segmentLength = parseInt(farmingPoolData.segmentLength);
248
- const epochAmount = parseFloat(farmingPoolData.epochAmount);
249
- const epochBegin = parseInt(farmingPoolData.epochBegin);
250
- const epochEnd = epochBegin + segmentLength;
251
- const timestamp = new Date().getTime() / 1000;
252
- if (timestamp - FINISH_DELAY > epochEnd) {
253
- // How to manage better this case? Maybe check shares on distributor
254
- return [];
255
- }
256
- return [
257
- {
258
- rewardToken: IMX[this.getOffchain().network],
259
- rewardRate: epochAmount / segmentLength,
260
- },
261
- ];
262
- }
263
-
264
- // TODO remove farming
265
- // Farming
266
- public async getFarmingRewards(): Promise<
267
- Array<{
268
- APR: number;
269
- symbol: string;
270
- }>
271
- > {
272
- return this.getNextFarmingRewards(0);
273
- }
274
- async getNextFarmingRewards(borrowAmount: number): Promise<
275
- Array<{
276
- APR: number;
277
- symbol: string;
278
- }>
279
- > {
280
- const farmingRewards = await this.getFarmingRewardsRate();
281
- const currentBorrowedUSD = await this.getTotalBorrowsUSD();
282
- const tokenPrice = await this.getTokenPriceFast();
283
- const additionalBorrowsUSD = borrowAmount * tokenPrice;
284
- const totalBorrowedUSD = currentBorrowedUSD + additionalBorrowsUSD;
285
- if (totalBorrowedUSD === 0) return [];
286
-
287
- const rewards: Array<{
288
- APR: number;
289
- symbol: string;
290
- }> = [];
291
- for (const reward of farmingRewards) {
292
- const rewardPrice = await this.getOffchain()
293
- .getPriceHelper()
294
- .getDebankTokenPrice(this.getOffchain().network, reward.rewardToken);
295
- rewards.push({
296
- APR: toAPR((rewardPrice * reward.rewardRate) / totalBorrowedUSD),
297
- symbol:
298
- reward.rewardToken == "0x98878b06940ae243284ca214f92bb71a2b032b8a"
299
- ? "WMOVR"
300
- : reward.rewardToken == "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270"
301
- ? "WMATIC"
302
- : reward.rewardToken ==
303
- "0x6659a9c5cd313974343e30b4fdffd95bd4b4dcd2"
304
- ? "IMX"
305
- : reward.rewardToken ==
306
- "0x7b35ce522cb72e4077baeb96cb923a5529764a00"
307
- ? "IMX"
308
- : reward.rewardToken ==
309
- "0x60bb3d364b765c497c8ce50ae0ae3f0882c5bd05"
310
- ? "IMX"
311
- : reward.rewardToken ==
312
- "0x9c67ee39e3c4954396b9142010653f17257dd39c"
313
- ? "IMX"
314
- : reward.rewardToken ==
315
- "0xea6887e4a9cda1b77e70129e5fba830cdb5cddef"
316
- ? "IMX"
317
- : reward.rewardToken ==
318
- "0x900f1Ec5819FA087d368877cD03B265Bf1802667"
319
- ? "IMX"
320
- : reward.rewardToken ==
321
- "0xea38f1ccf77bf43f352636241b05dd8f6f5f52b2"
322
- ? "IMX"
323
- : "IBEX",
324
- });
325
- }
326
- return rewards;
327
- }
328
- public async getFarmingAPR(): Promise<number> {
329
- return this.getNextFarmingAPR(0);
330
- }
331
- public async getNextFarmingAPR(borrowAmount: number): Promise<number> {
332
- const rewards = await this.getNextFarmingRewards(borrowAmount);
333
- let APR = 0;
334
- for (const reward of rewards) {
335
- APR += reward.APR;
336
- }
337
- return APR;
338
- }*/
339
207
  // Past Data
340
208
  async getPoolTokenDataPast24h() {
341
209
  const lendingPoolDataPast = await this.lendingPool.getLendingPoolDataPast24h();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "impermax-sdk",
3
- "version": "2.1.265",
3
+ "version": "2.1.266",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib/index.js",