@huma-finance/shared 0.0.59-beta.463 → 0.0.59-beta.472

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.
@@ -1,14 +1,10 @@
1
- import { JsonRpcProvider, Web3Provider } from '@ethersproject/providers';
2
1
  import { BigNumber } from 'ethers';
3
- import { POOL_NAME } from '../../utils';
4
- export declare const getPoolOverviewV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<{
5
- lpConfig: {
6
- liquidityCap: BigNumber;
7
- maxSeniorJuniorRatio: number;
8
- fixedSeniorYieldInBps: number;
9
- tranchesRiskAdjustmentInBps: number;
10
- withdrawalLockoutPeriodInDays: number;
11
- };
2
+ export declare const getPoolOverviewV2: (protocolFeeInBps: number, yieldInBps: number, rewardRateInBpsForPoolOwner: number, rewardRateInBpsForEA: number, liquidityCap: BigNumber, maxSeniorJuniorRatio: number, fixedSeniorYieldInBps: number, tranchesRiskAdjustmentInBps: number, flcConfigs: {
3
+ minLiquidity: BigNumber;
4
+ riskYieldMultiplierInBps: number;
5
+ flcIndex: number;
6
+ maxLiquidity: BigNumber;
7
+ }[]) => {
12
8
  flcConfigsWithApy: {
13
9
  firstLossCoverIndex: number;
14
10
  maxLiquidity: BigNumber;
@@ -19,4 +15,4 @@ export declare const getPoolOverviewV2: (poolName: POOL_NAME, provider: JsonRpcP
19
15
  blendedApy: number;
20
16
  seniorTrancheApy: number;
21
17
  juniorTrancheApy: number;
22
- } | undefined>;
18
+ };
@@ -1,88 +1,73 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPoolOverviewV2 = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const ethers_1 = require("ethers");
6
- const utils_1 = require("../../utils");
7
- const HumaConfig_json_1 = tslib_1.__importDefault(require("../abis/HumaConfig.json"));
8
5
  const types_1 = require("../types");
9
6
  const const_1 = require("./const");
10
- const poolContract_1 = require("./poolContract");
11
- const getProtocolFeeInBps = async (poolConfigContract, provider) => {
12
- const humaConfig = await poolConfigContract.humaConfig();
13
- const humaConfigContract = (0, utils_1.getContract)(humaConfig, HumaConfig_json_1.default, provider);
14
- return humaConfigContract.protocolFeeInBps();
15
- };
16
- const getFlcConfigs = async (poolInfo, poolConfigContract) => {
17
- const flcConfigs = await Promise.all(Object.values(poolInfo.firstLossCovers).map((firstLossCover) => poolConfigContract.getFirstLossCoverConfig(firstLossCover)));
18
- return flcConfigs;
19
- };
20
7
  const getFlcTotalAssetsAfterRisk = (flcConfigs) => {
21
8
  const flcTotalAssetsAfterRisk = flcConfigs.reduce((acc, flcConfig) => acc.add(flcConfig.minLiquidity
22
9
  .mul(flcConfig.riskYieldMultiplierInBps)
23
10
  .div(const_1.BP_FACTOR)), ethers_1.BigNumber.from(0));
24
- return flcTotalAssetsAfterRisk.toNumber();
11
+ return flcTotalAssetsAfterRisk;
25
12
  };
26
13
  // Please refer to: https://docs.google.com/spreadsheets/d/1Pkqj7pcJ6OxFG8ZTYQLAeAKf3ouD0mAzT9AKoH1ym4s/edit#gid=0 for APY formula
27
- const getPoolOverviewV2 = async (poolName, provider) => {
28
- const chainId = await (0, utils_1.getChainIdFromSignerOrProvider)(provider);
29
- const poolInfo = (0, poolContract_1.getPoolInfoV2)(poolName, chainId);
30
- if (!poolInfo) {
31
- return undefined;
32
- }
33
- const poolConfigContract = await (0, poolContract_1.getPoolConfigContractV2)(poolName, provider);
34
- if (!poolConfigContract) {
35
- return undefined;
36
- }
37
- const [protocolFeeInBps, feeStructure, adminRnR, lpConfig, flcConfigs] = await Promise.all([
38
- getProtocolFeeInBps(poolConfigContract, provider),
39
- poolConfigContract.getFeeStructure(),
40
- poolConfigContract.getAdminRnR(),
41
- poolConfigContract.getLPConfig(),
42
- getFlcConfigs(poolInfo, poolConfigContract),
43
- ]);
14
+ const getPoolOverviewV2 = (protocolFeeInBps, yieldInBps, rewardRateInBpsForPoolOwner, rewardRateInBpsForEA, liquidityCap, maxSeniorJuniorRatio, fixedSeniorYieldInBps, tranchesRiskAdjustmentInBps, flcConfigs) => {
44
15
  const BP_FACTOR_NUMBER = const_1.BP_FACTOR.toNumber();
45
16
  // APY = (1+APR/12)^12 - 1
46
- const APY = (1 + feeStructure.yieldInBps / BP_FACTOR_NUMBER / 12) ** 12 - 1;
47
- const poolCap = lpConfig.liquidityCap.toNumber();
48
- const juniorAssets = poolCap / (lpConfig.maxSeniorJuniorRatio + 1);
49
- const seniorAssets = poolCap - juniorAssets;
50
- const totalProfit = poolCap * APY;
17
+ const APY = (1 + yieldInBps / BP_FACTOR_NUMBER / 12) ** 12 - 1;
18
+ const juniorAssets = liquidityCap.div(maxSeniorJuniorRatio + 1);
19
+ const seniorAssets = liquidityCap.sub(juniorAssets);
20
+ const totalProfit = liquidityCap
21
+ .mul(Math.round(APY * BP_FACTOR_NUMBER))
22
+ .div(BP_FACTOR_NUMBER);
51
23
  const postPoolProfitRatio = (1 - protocolFeeInBps / BP_FACTOR_NUMBER) *
52
24
  (1 -
53
- adminRnR.rewardRateInBpsForPoolOwner / BP_FACTOR_NUMBER -
54
- adminRnR.rewardRateInBpsForEA / BP_FACTOR_NUMBER);
55
- const poolPostProfit = totalProfit * postPoolProfitRatio;
56
- const blendedApy = poolPostProfit / poolCap;
25
+ rewardRateInBpsForPoolOwner / BP_FACTOR_NUMBER -
26
+ rewardRateInBpsForEA / BP_FACTOR_NUMBER);
27
+ const poolPostProfit = totalProfit
28
+ .mul(Math.round(postPoolProfitRatio * BP_FACTOR_NUMBER))
29
+ .div(BP_FACTOR_NUMBER);
30
+ const blendedApy = poolPostProfit.mul(BP_FACTOR_NUMBER).div(liquidityCap).toNumber() /
31
+ BP_FACTOR_NUMBER;
57
32
  let seniorTrancheApy = 0;
58
- let seniorPostProfit = 0;
59
- if (lpConfig.fixedSeniorYieldInBps > 0) {
60
- seniorTrancheApy = lpConfig.fixedSeniorYieldInBps / BP_FACTOR_NUMBER;
61
- seniorPostProfit = poolPostProfit - seniorAssets * seniorTrancheApy;
33
+ let seniorPostProfit = ethers_1.BigNumber.from(0);
34
+ if (fixedSeniorYieldInBps > 0) {
35
+ seniorTrancheApy = fixedSeniorYieldInBps / BP_FACTOR_NUMBER;
36
+ seniorPostProfit = poolPostProfit.sub(seniorAssets
37
+ .mul(Math.round(seniorTrancheApy * BP_FACTOR_NUMBER))
38
+ .div(BP_FACTOR_NUMBER));
62
39
  }
63
40
  else {
64
- const riskAdjustment = lpConfig.tranchesRiskAdjustmentInBps / BP_FACTOR_NUMBER;
65
- const seniorProfit = seniorAssets * (postPoolProfitRatio * (1 - riskAdjustment) * APY);
41
+ const riskAdjustment = tranchesRiskAdjustmentInBps / BP_FACTOR_NUMBER;
42
+ const seniorProfit = seniorAssets
43
+ .mul(Math.round(postPoolProfitRatio * (1 - riskAdjustment) * APY * BP_FACTOR_NUMBER))
44
+ .div(BP_FACTOR_NUMBER);
66
45
  seniorTrancheApy = postPoolProfitRatio * (1 - riskAdjustment) * APY;
67
- seniorPostProfit = poolPostProfit - seniorProfit;
46
+ seniorPostProfit = poolPostProfit.sub(seniorProfit);
68
47
  }
69
48
  const flcTotalAssetsAfterRisk = getFlcTotalAssetsAfterRisk(flcConfigs);
70
- const weight = juniorAssets + flcTotalAssetsAfterRisk;
71
- const juniorProfit = (juniorAssets / weight) * seniorPostProfit;
72
- const juniorTrancheApy = juniorProfit / juniorAssets;
73
- const flcTotalProfit = (flcTotalAssetsAfterRisk / weight) * seniorPostProfit;
74
- const flcConfigsWithApy = flcConfigs.map((flcConfig, index) => {
49
+ const weight = juniorAssets.add(flcTotalAssetsAfterRisk);
50
+ const juniorProfit = juniorAssets.mul(seniorPostProfit).div(weight);
51
+ const juniorTrancheApy = juniorProfit.mul(BP_FACTOR_NUMBER).div(juniorAssets).toNumber() /
52
+ BP_FACTOR_NUMBER;
53
+ const flcTotalProfit = flcTotalAssetsAfterRisk
54
+ .mul(seniorPostProfit)
55
+ .div(weight);
56
+ const flcConfigsWithApy = flcConfigs.map((flcConfig) => {
75
57
  const flcAssetsAfterRisk = flcConfig.minLiquidity
76
58
  .mul(flcConfig.riskYieldMultiplierInBps)
77
59
  .div(const_1.BP_FACTOR);
78
60
  let apy = 0;
79
61
  if (flcConfig.minLiquidity.gt(0) && flcAssetsAfterRisk.gt(0)) {
80
- const flcProfit = (flcAssetsAfterRisk.toNumber() / flcTotalAssetsAfterRisk) *
81
- flcTotalProfit;
82
- apy = flcProfit / flcConfig.minLiquidity.toNumber();
62
+ const flcProfit = flcAssetsAfterRisk
63
+ .mul(flcTotalProfit)
64
+ .div(flcTotalAssetsAfterRisk);
65
+ apy =
66
+ flcProfit.mul(BP_FACTOR_NUMBER).div(flcConfig.minLiquidity).toNumber() /
67
+ BP_FACTOR_NUMBER;
83
68
  }
84
69
  return {
85
- firstLossCoverIndex: Number(Object.keys(types_1.FirstLossCoverIndex)[index]),
70
+ firstLossCoverIndex: Number(Object.keys(types_1.FirstLossCoverIndex)[flcConfig.flcIndex]),
86
71
  maxLiquidity: flcConfig.maxLiquidity,
87
72
  minLiquidity: flcConfig.minLiquidity,
88
73
  riskYieldMultiplierInBps: flcConfig.riskYieldMultiplierInBps,
@@ -90,7 +75,6 @@ const getPoolOverviewV2 = async (poolName, provider) => {
90
75
  };
91
76
  });
92
77
  return {
93
- lpConfig,
94
78
  flcConfigsWithApy,
95
79
  blendedApy,
96
80
  seniorTrancheApy,
@@ -1 +1 @@
1
- {"version":3,"file":"poolConfigContract.js","sourceRoot":"","sources":["../../../../src/v2/utils/poolConfigContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poolConfigContract.js","sourceRoot":"","sources":["../../../../src/v2/utils/poolConfigContract.ts"],"names":[],"mappings":"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"}
@@ -36,5 +36,6 @@ export declare const getPoolFeeStructureV2: (poolName: POOL_NAME, provider: Json
36
36
  minPrincipalRate: number;
37
37
  lateFee: number;
38
38
  } | undefined>;
39
+ export declare const calcUtilizationRateV2: (seniorTrancheAssets: BigNumber | undefined, juniorTrancheAssets: BigNumber | undefined, seniorTrancheUnprocessedProfit: BigNumber | undefined, juniorTrancheUnprocessedProfit: BigNumber | undefined, availableBalance: BigNumber | undefined) => number | undefined;
39
40
  export declare const getUtilizationRateV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<number | undefined>;
40
41
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUtilizationRateV2 = exports.getPoolFeeStructureV2 = exports.getCurrentEpochInfoV2 = exports.getCreditConfigV2 = exports.getDueDetailV2 = exports.getCreditRecordV2 = exports.getCreditHashV2 = exports.getTrancheSharesToAssetsV2 = exports.getTrancheAssetsToSharesV2 = exports.getLenderPositionV2 = exports.getTrancheVaultAssetsV2 = exports.getFirstLossCoverAssetsV2 = exports.getPoolUnderlyingTokenInfoV2 = exports.getPoolSafeContractV2 = exports.getFirstLossCoverContractV2 = exports.getEpochManagerContractV2 = exports.getPoolCreditManagerContractV2 = exports.getPoolCreditContractV2 = exports.getPoolUnderlyingTokenBalanceV2 = exports.getPoolUnderlyingTokenContractV2 = exports.getPoolConfigContractV2 = exports.getPoolContractV2 = exports.getPoolInfoV2 = void 0;
3
+ exports.getUtilizationRateV2 = exports.calcUtilizationRateV2 = exports.getPoolFeeStructureV2 = exports.getCurrentEpochInfoV2 = exports.getCreditConfigV2 = exports.getDueDetailV2 = exports.getCreditRecordV2 = exports.getCreditHashV2 = exports.getTrancheSharesToAssetsV2 = exports.getTrancheAssetsToSharesV2 = exports.getLenderPositionV2 = exports.getTrancheVaultAssetsV2 = exports.getFirstLossCoverAssetsV2 = exports.getPoolUnderlyingTokenInfoV2 = exports.getPoolSafeContractV2 = exports.getFirstLossCoverContractV2 = exports.getEpochManagerContractV2 = exports.getPoolCreditManagerContractV2 = exports.getPoolCreditContractV2 = exports.getPoolUnderlyingTokenBalanceV2 = exports.getPoolUnderlyingTokenContractV2 = exports.getPoolConfigContractV2 = exports.getPoolContractV2 = exports.getPoolInfoV2 = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ethers_1 = require("ethers");
6
6
  const _1 = require(".");
@@ -270,6 +270,26 @@ const getPoolFeeStructureV2 = async (poolName, provider) => {
270
270
  };
271
271
  };
272
272
  exports.getPoolFeeStructureV2 = getPoolFeeStructureV2;
273
+ const calcUtilizationRateV2 = (seniorTrancheAssets, juniorTrancheAssets, seniorTrancheUnprocessedProfit, juniorTrancheUnprocessedProfit, availableBalance) => {
274
+ if (!seniorTrancheAssets ||
275
+ !juniorTrancheAssets ||
276
+ !seniorTrancheUnprocessedProfit ||
277
+ !juniorTrancheUnprocessedProfit ||
278
+ !availableBalance) {
279
+ return undefined;
280
+ }
281
+ const trancheTotalAssets = seniorTrancheAssets.add(juniorTrancheAssets);
282
+ const trancheUnprocessedProfit = seniorTrancheUnprocessedProfit.add(juniorTrancheUnprocessedProfit);
283
+ const totalSupply = trancheTotalAssets.sub(trancheUnprocessedProfit);
284
+ const borrowedBalance = totalSupply.sub(availableBalance);
285
+ const BP_FACTOR_NUMBER = _1.BP_FACTOR.toNumber();
286
+ if (borrowedBalance.gt(0) && totalSupply.gt(0)) {
287
+ return (borrowedBalance.mul(BP_FACTOR_NUMBER).div(totalSupply).toNumber() /
288
+ BP_FACTOR_NUMBER);
289
+ }
290
+ return 0;
291
+ };
292
+ exports.calcUtilizationRateV2 = calcUtilizationRateV2;
273
293
  const getUtilizationRateV2 = async (poolName, provider) => {
274
294
  const chainId = await (0, utils_1.getChainIdFromSignerOrProvider)(provider);
275
295
  const poolInfo = (0, exports.getPoolInfoV2)(poolName, chainId);
@@ -287,14 +307,7 @@ const getUtilizationRateV2 = async (poolName, provider) => {
287
307
  poolSafeContract.unprocessedTrancheProfit(poolInfo.juniorTrancheVault),
288
308
  poolSafeContract.getAvailableBalanceForPool(),
289
309
  ]);
290
- const trancheTotalAssets = seniorTrancheAssets.add(juniorTrancheAssets);
291
- const trancheUnprocessedProfit = seniorTrancheUnprocessedProfit.add(juniorTrancheUnprocessedProfit);
292
- const totalSupply = trancheTotalAssets.sub(trancheUnprocessedProfit);
293
- const borrowedBalance = totalSupply.sub(availableBalance);
294
- if (borrowedBalance.gt(0) && totalSupply.gt(0)) {
295
- return borrowedBalance.toNumber() / totalSupply.toNumber();
296
- }
297
- return 0;
310
+ return (0, exports.calcUtilizationRateV2)(seniorTrancheAssets, juniorTrancheAssets, seniorTrancheUnprocessedProfit, juniorTrancheUnprocessedProfit, availableBalance);
298
311
  };
299
312
  exports.getUtilizationRateV2 = getUtilizationRateV2;
300
313
  //# sourceMappingURL=poolContract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"poolContract.js","sourceRoot":"","sources":["../../../../src/v2/utils/poolContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poolContract.js","sourceRoot":"","sources":["../../../../src/v2/utils/poolContract.ts"],"names":[],"mappings":"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"}