@huma-finance/shared 0.0.48-beta.286 → 0.0.48-beta.292

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.
Files changed (62) hide show
  1. package/dist/cjs/v2/abis/Credit.json +19 -0
  2. package/dist/cjs/v2/abis/types/Credit.d.ts +11 -1
  3. package/dist/cjs/v2/abis/types/factories/Credit__factory.d.ts +14 -0
  4. package/dist/cjs/v2/abis/types/factories/Credit__factory.js +19 -0
  5. package/dist/cjs/v2/abis/types/factories/Credit__factory.js.map +1 -1
  6. package/dist/cjs/v2/hooks/usePool.d.ts +2 -1
  7. package/dist/cjs/v2/hooks/usePool.js +19 -4
  8. package/dist/cjs/v2/hooks/usePool.js.map +1 -1
  9. package/dist/cjs/v2/metadata/humaTestnet.js +2 -2
  10. package/dist/cjs/v2/metadata/humaTestnet.js.map +1 -1
  11. package/dist/cjs/v2/metadata/localhost.js +2 -2
  12. package/dist/cjs/v2/metadata/localhost.js.map +1 -1
  13. package/dist/cjs/v2/metadata/mumbai.js +2 -2
  14. package/dist/cjs/v2/metadata/mumbai.js.map +1 -1
  15. package/dist/cjs/v2/types/index.d.ts +1 -1
  16. package/dist/cjs/v2/types/index.js +1 -1
  17. package/dist/cjs/v2/types/index.js.map +1 -1
  18. package/dist/cjs/v2/utils/firstLossCoverContract.d.ts +6 -0
  19. package/dist/cjs/v2/utils/firstLossCoverContract.js +32 -0
  20. package/dist/cjs/v2/utils/firstLossCoverContract.js.map +1 -0
  21. package/dist/cjs/v2/utils/index.d.ts +2 -0
  22. package/dist/cjs/v2/utils/index.js +2 -0
  23. package/dist/cjs/v2/utils/index.js.map +1 -1
  24. package/dist/cjs/v2/utils/pool.d.ts +1 -1
  25. package/dist/cjs/v2/utils/poolConfigContract.d.ts +22 -0
  26. package/dist/cjs/v2/utils/poolConfigContract.js +101 -0
  27. package/dist/cjs/v2/utils/poolConfigContract.js.map +1 -0
  28. package/dist/cjs/v2/utils/poolContract.d.ts +0 -5
  29. package/dist/cjs/v2/utils/poolContract.js +1 -81
  30. package/dist/cjs/v2/utils/poolContract.js.map +1 -1
  31. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  32. package/dist/v2/abis/Credit.json +19 -0
  33. package/dist/v2/abis/types/Credit.d.ts +11 -1
  34. package/dist/v2/abis/types/factories/Credit__factory.d.ts +14 -0
  35. package/dist/v2/abis/types/factories/Credit__factory.js +19 -0
  36. package/dist/v2/abis/types/factories/Credit__factory.js.map +1 -1
  37. package/dist/v2/hooks/usePool.d.ts +2 -1
  38. package/dist/v2/hooks/usePool.js +16 -2
  39. package/dist/v2/hooks/usePool.js.map +1 -1
  40. package/dist/v2/metadata/humaTestnet.js +2 -2
  41. package/dist/v2/metadata/humaTestnet.js.map +1 -1
  42. package/dist/v2/metadata/localhost.js +2 -2
  43. package/dist/v2/metadata/localhost.js.map +1 -1
  44. package/dist/v2/metadata/mumbai.js +2 -2
  45. package/dist/v2/metadata/mumbai.js.map +1 -1
  46. package/dist/v2/types/index.d.ts +1 -1
  47. package/dist/v2/types/index.js +1 -1
  48. package/dist/v2/types/index.js.map +1 -1
  49. package/dist/v2/utils/firstLossCoverContract.d.ts +6 -0
  50. package/dist/v2/utils/firstLossCoverContract.js +28 -0
  51. package/dist/v2/utils/firstLossCoverContract.js.map +1 -0
  52. package/dist/v2/utils/index.d.ts +2 -0
  53. package/dist/v2/utils/index.js +2 -0
  54. package/dist/v2/utils/index.js.map +1 -1
  55. package/dist/v2/utils/pool.d.ts +1 -1
  56. package/dist/v2/utils/poolConfigContract.d.ts +22 -0
  57. package/dist/v2/utils/poolConfigContract.js +96 -0
  58. package/dist/v2/utils/poolConfigContract.js.map +1 -0
  59. package/dist/v2/utils/poolContract.d.ts +0 -5
  60. package/dist/v2/utils/poolContract.js +0 -79
  61. package/dist/v2/utils/poolContract.js.map +1 -1
  62. package/package.json +2 -2
@@ -0,0 +1,22 @@
1
+ import { JsonRpcProvider, Web3Provider } from '@ethersproject/providers';
2
+ 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
+ };
12
+ flcConfigsWithApy: {
13
+ firstLossCoverIndex: number;
14
+ maxLiquidity: BigNumber;
15
+ minLiquidity: BigNumber;
16
+ riskYieldMultiplierInBps: number;
17
+ apy: number;
18
+ }[];
19
+ blendedApy: number;
20
+ seniorTrancheApy: number;
21
+ juniorTrancheApy: number;
22
+ } | undefined>;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPoolOverviewV2 = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ethers_1 = require("ethers");
6
+ const utils_1 = require("../../utils");
7
+ const HumaConfig_json_1 = tslib_1.__importDefault(require("../abis/HumaConfig.json"));
8
+ const types_1 = require("../types");
9
+ 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
+ const getFlcTotalAssetsAfterRisk = (flcConfigs) => {
21
+ const flcTotalAssetsAfterRisk = flcConfigs.reduce((acc, flcConfig) => acc.add(flcConfig.minLiquidity
22
+ .mul(flcConfig.riskYieldMultiplierInBps)
23
+ .div(const_1.BP_FACTOR)), ethers_1.BigNumber.from(0));
24
+ return flcTotalAssetsAfterRisk.toNumber();
25
+ };
26
+ // 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
+ ]);
44
+ const BP_FACTOR_NUMBER = const_1.BP_FACTOR.toNumber();
45
+ // 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;
51
+ const postPoolProfitRatio = (1 - protocolFeeInBps / BP_FACTOR_NUMBER) *
52
+ (1 -
53
+ adminRnR.rewardRateInBpsForPoolOwner / BP_FACTOR_NUMBER -
54
+ adminRnR.rewardRateInBpsForEA / BP_FACTOR_NUMBER);
55
+ const poolPostProfit = totalProfit * postPoolProfitRatio;
56
+ const blendedApy = poolPostProfit / poolCap;
57
+ let seniorTrancheApy = 0;
58
+ let seniorPostProfit = 0;
59
+ if (lpConfig.fixedSeniorYieldInBps > 0) {
60
+ seniorTrancheApy = lpConfig.fixedSeniorYieldInBps / BP_FACTOR_NUMBER;
61
+ seniorPostProfit = poolPostProfit - seniorAssets * seniorTrancheApy;
62
+ }
63
+ else {
64
+ const riskAdjustment = lpConfig.tranchesRiskAdjustmentInBps / BP_FACTOR_NUMBER;
65
+ const seniorProfit = seniorAssets * (postPoolProfitRatio * (1 - riskAdjustment) * APY);
66
+ seniorTrancheApy = postPoolProfitRatio * (1 - riskAdjustment) * APY;
67
+ seniorPostProfit = poolPostProfit - seniorProfit;
68
+ }
69
+ 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) => {
75
+ const flcAssetsAfterRisk = flcConfig.minLiquidity
76
+ .mul(flcConfig.riskYieldMultiplierInBps)
77
+ .div(const_1.BP_FACTOR);
78
+ let apy = 0;
79
+ if (flcConfig.minLiquidity.gt(0) && flcAssetsAfterRisk.gt(0)) {
80
+ const flcProfit = (flcAssetsAfterRisk.toNumber() / flcTotalAssetsAfterRisk) *
81
+ flcTotalProfit;
82
+ apy = flcProfit / flcConfig.minLiquidity.toNumber();
83
+ }
84
+ return {
85
+ firstLossCoverIndex: Number(Object.keys(types_1.FirstLossCoverIndex)[index]),
86
+ maxLiquidity: flcConfig.maxLiquidity,
87
+ minLiquidity: flcConfig.minLiquidity,
88
+ riskYieldMultiplierInBps: flcConfig.riskYieldMultiplierInBps,
89
+ apy,
90
+ };
91
+ });
92
+ return {
93
+ lpConfig,
94
+ flcConfigsWithApy,
95
+ blendedApy,
96
+ seniorTrancheApy,
97
+ juniorTrancheApy,
98
+ };
99
+ };
100
+ exports.getPoolOverviewV2 = getPoolOverviewV2;
101
+ //# sourceMappingURL=poolConfigContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolConfigContract.js","sourceRoot":"","sources":["../../../../src/v2/utils/poolConfigContract.ts"],"names":[],"mappings":"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"}
@@ -37,10 +37,5 @@ export declare const getPoolFeeStructureV2: (poolName: POOL_NAME, provider: Json
37
37
  minPrincipalRate: number;
38
38
  lateFee: number;
39
39
  } | undefined>;
40
- export declare const getApyV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<{
41
- seniorTrancheApy: number;
42
- juniorTrancheApy: number;
43
- firstLossCoverApy: number;
44
- } | undefined>;
45
40
  export declare const getUtilizationRateV2: (poolName: POOL_NAME, provider: JsonRpcProvider | Web3Provider | undefined) => Promise<number | undefined>;
46
41
  export {};
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUtilizationRateV2 = exports.getApyV2 = 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.getTrancheVaultContractV2 = exports.getPoolCreditManagerContractV2 = exports.getPoolCreditContractV2 = exports.getPoolUnderlyingTokenBalanceV2 = exports.getPoolUnderlyingTokenContractV2 = exports.getPoolConfigContractV2 = exports.getPoolContractV2 = exports.getPoolInfoV2 = void 0;
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.getTrancheVaultContractV2 = 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(".");
7
7
  const utils_1 = require("../../utils");
8
8
  const Credit_json_1 = tslib_1.__importDefault(require("../abis/Credit.json"));
9
9
  const CreditManager_json_1 = tslib_1.__importDefault(require("../abis/CreditManager.json"));
10
- const HumaConfig_json_1 = tslib_1.__importDefault(require("../abis/HumaConfig.json"));
11
10
  const getPoolInfoV2 = (poolName, chainId) => {
12
11
  var _a;
13
12
  if ((0, utils_1.isChainEnum)(chainId)) {
@@ -280,85 +279,6 @@ const getPoolFeeStructureV2 = async (poolName, provider) => {
280
279
  };
281
280
  };
282
281
  exports.getPoolFeeStructureV2 = getPoolFeeStructureV2;
283
- // Please refer to: https://docs.google.com/spreadsheets/d/1Pkqj7pcJ6OxFG8ZTYQLAeAKf3ouD0mAzT9AKoH1ym4s/edit#gid=0
284
- const getApyV2 = async (poolName, provider) => {
285
- const chainId = await (0, utils_1.getChainIdFromSignerOrProvider)(provider);
286
- const poolInfo = (0, exports.getPoolInfoV2)(poolName, chainId);
287
- if (!poolInfo) {
288
- return undefined;
289
- }
290
- const poolConfigContract = await (0, exports.getPoolConfigContractV2)(poolName, provider);
291
- if (!poolConfigContract) {
292
- return undefined;
293
- }
294
- const getProtocolFeeInBps = async () => {
295
- const humaConfig = await poolConfigContract.humaConfig();
296
- const humaConfigContract = (0, utils_1.getContract)(humaConfig, HumaConfig_json_1.default, provider);
297
- return humaConfigContract.protocolFeeInBps();
298
- };
299
- const getFlcTotalAssetsAndTotalAssetsAfterRisk = async () => {
300
- const flcConfigs = await Promise.all(Object.values(poolInfo.firstLossCovers)
301
- .filter((firstLossCover) => firstLossCover !== ethers_1.ethers.constants.AddressZero)
302
- .map((firstLossCover) => poolConfigContract.getFirstLossCoverConfig(firstLossCover)));
303
- const result = {
304
- flcTotalAssets: ethers_1.BigNumber.from(0),
305
- flcTotalAssetsAfterRisk: ethers_1.BigNumber.from(0),
306
- };
307
- flcConfigs.forEach((flcConfig) => {
308
- result.flcTotalAssets = result.flcTotalAssets.add(flcConfig.minLiquidity);
309
- result.flcTotalAssetsAfterRisk = result.flcTotalAssetsAfterRisk.add(flcConfig.minLiquidity
310
- .mul(flcConfig.riskYieldMultiplierInBps)
311
- .div(_1.BP_FACTOR));
312
- });
313
- return {
314
- flcTotalAssets: result.flcTotalAssets.toNumber(),
315
- flcTotalAssetsAfterRisk: result.flcTotalAssetsAfterRisk.toNumber(),
316
- };
317
- };
318
- const [protocolFeeInBps, feeStructure, adminRnR, lpConfig, flcTotalAssetsAndTotalAssetsAfterRisk,] = await Promise.all([
319
- getProtocolFeeInBps(),
320
- poolConfigContract.getFeeStructure(),
321
- poolConfigContract.getAdminRnR(),
322
- poolConfigContract.getLPConfig(),
323
- getFlcTotalAssetsAndTotalAssetsAfterRisk(),
324
- ]);
325
- const BP_FACTOR_NUMBER = _1.BP_FACTOR.toNumber();
326
- // APY = (1+APR/12)^12 - 1
327
- const APY = (1 + feeStructure.yieldInBps / BP_FACTOR_NUMBER / 12) ** 12 - 1;
328
- const poolCap = lpConfig.liquidityCap.toNumber();
329
- const juniorAssets = poolCap / (lpConfig.maxSeniorJuniorRatio + 1);
330
- const seniorAssets = poolCap - juniorAssets;
331
- const totalProfit = poolCap * APY;
332
- const postPoolProfitRatio = (1 - protocolFeeInBps / BP_FACTOR_NUMBER) *
333
- (1 -
334
- adminRnR.rewardRateInBpsForPoolOwner / BP_FACTOR_NUMBER -
335
- adminRnR.rewardRateInBpsForEA / BP_FACTOR_NUMBER);
336
- const poolPostProfit = totalProfit * postPoolProfitRatio;
337
- let seniorTrancheApy = 0;
338
- let seniorPostProfit = 0;
339
- if (lpConfig.fixedSeniorYieldInBps > 0) {
340
- seniorTrancheApy = lpConfig.fixedSeniorYieldInBps / BP_FACTOR_NUMBER;
341
- seniorPostProfit = poolPostProfit - seniorAssets * seniorTrancheApy;
342
- }
343
- else {
344
- const riskAdjustment = lpConfig.tranchesRiskAdjustmentInBps / BP_FACTOR_NUMBER;
345
- const seniorProfit = seniorAssets * (postPoolProfitRatio * (1 - riskAdjustment) * APY);
346
- seniorTrancheApy = postPoolProfitRatio * (1 - riskAdjustment) * APY;
347
- seniorPostProfit = poolPostProfit - seniorProfit;
348
- }
349
- const { flcTotalAssets, flcTotalAssetsAfterRisk } = flcTotalAssetsAndTotalAssetsAfterRisk;
350
- const weight = juniorAssets + flcTotalAssetsAfterRisk;
351
- const juniorProfit = (juniorAssets / weight) * seniorPostProfit;
352
- const juniorTrancheApy = juniorProfit / juniorAssets;
353
- const flcProfit = (flcTotalAssetsAfterRisk / weight) * seniorPostProfit;
354
- const firstLossCoverApy = flcProfit / flcTotalAssets;
355
- return {
356
- seniorTrancheApy,
357
- juniorTrancheApy,
358
- firstLossCoverApy,
359
- };
360
- };
361
- exports.getApyV2 = getApyV2;
362
282
  const getUtilizationRateV2 = async (poolName, provider) => {
363
283
  const chainId = await (0, utils_1.getChainIdFromSignerOrProvider)(provider);
364
284
  const poolInfo = (0, exports.getPoolInfoV2)(poolName, chainId);
@@ -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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"}