@huma-finance/shared 0.0.72-beta.901 → 0.0.72-beta.905
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/dist/cjs/solana/utils/poolUtils.d.ts +16 -0
- package/dist/cjs/solana/utils/poolUtils.js +18 -1
- package/dist/cjs/solana/utils/poolUtils.js.map +1 -1
- package/dist/cjs/utils/credit.d.ts +4 -1
- package/dist/cjs/utils/credit.js +4 -0
- package/dist/cjs/utils/credit.js.map +1 -1
- package/dist/solana/utils/poolUtils.d.ts +16 -0
- package/dist/solana/utils/poolUtils.js +16 -0
- package/dist/solana/utils/poolUtils.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/utils/credit.d.ts +4 -1
- package/dist/utils/credit.js +4 -0
- package/dist/utils/credit.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import { BN } from '@coral-xyz/anchor';
|
|
2
|
+
import { Account } from '@solana/spl-token';
|
|
2
3
|
export declare const getSolanaPoolApy: (protocolFeeInBps: number, yieldInBps: number, rewardRateInBpsForPoolOwner: number, rewardRateInBpsForEA: number, liquidityCap: BN, seniorDeployedAssets: BN, juniorDeployedAssets: BN, defaultMaxSeniorJuniorRatio: number, fixedSeniorYieldInBps: number, tranchesRiskAdjustmentInBps: number) => import("../../utils/apy").PoolApy & {
|
|
3
4
|
maxJuniorTrancheApy: number;
|
|
4
5
|
};
|
|
5
6
|
export declare const getSolanaUtilizationRate: (seniorTrancheAssets: BN | undefined, juniorTrancheAssets: BN | undefined, availableBalance: BN | undefined) => number | undefined;
|
|
7
|
+
export type PoolStateAccount = {
|
|
8
|
+
accruedIncomes: {
|
|
9
|
+
protocolIncome: BN;
|
|
10
|
+
poolOwnerIncome: BN;
|
|
11
|
+
eaIncome: BN;
|
|
12
|
+
};
|
|
13
|
+
incomeWithdrawn: {
|
|
14
|
+
eaIncomeWithdrawn: BN;
|
|
15
|
+
poolOwnerIncomeWithdrawn: BN;
|
|
16
|
+
protocolIncomeWithdrawn: BN;
|
|
17
|
+
};
|
|
18
|
+
disbursementReserve: BN;
|
|
19
|
+
trancheAssets: BN[];
|
|
20
|
+
};
|
|
21
|
+
export declare const calculateAvailablePoolBalance: (underlyingTokenAccount: Account, poolStateAccount: PoolStateAccount) => BN;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSolanaUtilizationRate = exports.getSolanaPoolApy = void 0;
|
|
3
|
+
exports.calculateAvailablePoolBalance = exports.getSolanaUtilizationRate = exports.getSolanaPoolApy = void 0;
|
|
4
4
|
const anchor_1 = require("@coral-xyz/anchor");
|
|
5
5
|
const apy_1 = require("../../utils/apy");
|
|
6
6
|
const const_1 = require("../const");
|
|
@@ -19,4 +19,21 @@ const getSolanaUtilizationRate = (seniorTrancheAssets, juniorTrancheAssets, avai
|
|
|
19
19
|
return 0;
|
|
20
20
|
};
|
|
21
21
|
exports.getSolanaUtilizationRate = getSolanaUtilizationRate;
|
|
22
|
+
const calculateAvailablePoolBalance = (underlyingTokenAccount, poolStateAccount) => {
|
|
23
|
+
const poolTokenBalanceBN = new anchor_1.BN(underlyingTokenAccount.amount.toString());
|
|
24
|
+
const totalAccruedIncomesBN = poolStateAccount.accruedIncomes.protocolIncome
|
|
25
|
+
.add(poolStateAccount.accruedIncomes.poolOwnerIncome)
|
|
26
|
+
.add(poolStateAccount.accruedIncomes.eaIncome);
|
|
27
|
+
const totalIncomeWithdrawnBN = poolStateAccount.incomeWithdrawn.protocolIncomeWithdrawn
|
|
28
|
+
.add(poolStateAccount.incomeWithdrawn.poolOwnerIncomeWithdrawn)
|
|
29
|
+
.add(poolStateAccount.incomeWithdrawn.eaIncomeWithdrawn);
|
|
30
|
+
let availableAdminFeesBN = totalAccruedIncomesBN.sub(totalIncomeWithdrawnBN);
|
|
31
|
+
availableAdminFeesBN = availableAdminFeesBN.ltn(0)
|
|
32
|
+
? new anchor_1.BN(0)
|
|
33
|
+
: availableAdminFeesBN;
|
|
34
|
+
return poolTokenBalanceBN
|
|
35
|
+
.sub(poolStateAccount.disbursementReserve)
|
|
36
|
+
.sub(availableAdminFeesBN);
|
|
37
|
+
};
|
|
38
|
+
exports.calculateAvailablePoolBalance = calculateAvailablePoolBalance;
|
|
22
39
|
//# sourceMappingURL=poolUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poolUtils.js","sourceRoot":"","sources":["../../../../src/solana/utils/poolUtils.ts"],"names":[],"mappings":";;;AAAA,8CAAsC;
|
|
1
|
+
{"version":3,"file":"poolUtils.js","sourceRoot":"","sources":["../../../../src/solana/utils/poolUtils.ts"],"names":[],"mappings":";;;AAAA,8CAAsC;AAGtC,yCAA8C;AAC9C,oCAA2C;AAEpC,MAAM,gBAAgB,GAAG,CAC9B,gBAAwB,EACxB,UAAkB,EAClB,2BAAmC,EACnC,oBAA4B,EAC5B,YAAgB,EAChB,oBAAwB,EACxB,oBAAwB,EACxB,2BAAmC,EACnC,qBAA6B,EAC7B,2BAAmC,EACnC,EAAE,CACF,IAAA,kBAAY,EACV,gBAAgB,EAChB,UAAU,EACV,2BAA2B,EAC3B,oBAAoB,EACpB,YAAY,CAAC,QAAQ,EAAE,EACvB,oBAAoB,CAAC,QAAQ,EAAE,EAC/B,oBAAoB,CAAC,QAAQ,EAAE,EAC/B,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAgB,CAAC,QAAQ,EAAE,CAC5B,CAAA;AAxBU,QAAA,gBAAgB,oBAwB1B;AAEI,MAAM,wBAAwB,GAAG,CACtC,mBAAmC,EACnC,mBAAmC,EACnC,gBAAgC,EACZ,EAAE;IACtB,IAAI,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtE,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAChE,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACzD,IAAI,eAAe,CAAC,EAAE,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,CACL,eAAe,CAAC,GAAG,CAAC,wBAAgB,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;YACjE,wBAAgB,CAAC,QAAQ,EAAE,CAC5B,CAAA;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAlBY,QAAA,wBAAwB,4BAkBpC;AAaM,MAAM,6BAA6B,GAAG,CAC3C,sBAA+B,EAC/B,gBAAkC,EAC9B,EAAE;IACN,MAAM,kBAAkB,GAAG,IAAI,WAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3E,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,cAAc,CAAC,cAAc;SACzE,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,CAAC;SACpD,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChD,MAAM,sBAAsB,GAC1B,gBAAgB,CAAC,eAAe,CAAC,uBAAuB;SACrD,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,wBAAwB,CAAC;SAC9D,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;IAC5D,IAAI,oBAAoB,GAAG,qBAAqB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAC5E,oBAAoB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,oBAAoB,CAAA;IACxB,OAAO,kBAAkB;SACtB,GAAG,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;SACzC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAC9B,CAAC,CAAA;AAnBY,QAAA,6BAA6B,iCAmBzC"}
|
|
@@ -25,7 +25,10 @@ export declare enum CreditEvent {
|
|
|
25
25
|
YieldReinvested = 13,
|
|
26
26
|
CreditLineApproved = 14,
|
|
27
27
|
PaymentMadeWithReceivable = 15,
|
|
28
|
-
PrincipalPaymentMadeWithReceivable = 16
|
|
28
|
+
PrincipalPaymentMadeWithReceivable = 16,
|
|
29
|
+
AddApprovedLender = 17,
|
|
30
|
+
RemoveApprovedLender = 18,
|
|
31
|
+
PaymentMadeOnBehalfOfWithReceivable = 19
|
|
29
32
|
}
|
|
30
33
|
export declare enum LenderEvent {
|
|
31
34
|
LiquidityDeposited = 0,
|
package/dist/cjs/utils/credit.js
CHANGED
|
@@ -41,6 +41,9 @@ var CreditEvent;
|
|
|
41
41
|
CreditEvent[CreditEvent["CreditLineApproved"] = 14] = "CreditLineApproved";
|
|
42
42
|
CreditEvent[CreditEvent["PaymentMadeWithReceivable"] = 15] = "PaymentMadeWithReceivable";
|
|
43
43
|
CreditEvent[CreditEvent["PrincipalPaymentMadeWithReceivable"] = 16] = "PrincipalPaymentMadeWithReceivable";
|
|
44
|
+
CreditEvent[CreditEvent["AddApprovedLender"] = 17] = "AddApprovedLender";
|
|
45
|
+
CreditEvent[CreditEvent["RemoveApprovedLender"] = 18] = "RemoveApprovedLender";
|
|
46
|
+
CreditEvent[CreditEvent["PaymentMadeOnBehalfOfWithReceivable"] = 19] = "PaymentMadeOnBehalfOfWithReceivable";
|
|
44
47
|
})(CreditEvent || (exports.CreditEvent = CreditEvent = {}));
|
|
45
48
|
var LenderEvent;
|
|
46
49
|
(function (LenderEvent) {
|
|
@@ -61,6 +64,7 @@ exports.CreditEventText = {
|
|
|
61
64
|
[String(CreditEvent.PaymentMadeWithReceivable)]: 'Pay',
|
|
62
65
|
[String(CreditEvent.PrincipalPaymentMade)]: 'Pay',
|
|
63
66
|
[String(CreditEvent.PrincipalPaymentMadeWithReceivable)]: 'Pay',
|
|
67
|
+
[String(CreditEvent.PaymentMadeOnBehalfOfWithReceivable)]: 'Pay',
|
|
64
68
|
[String(CreditEvent.ReceivedPaymentProcessed)]: 'Pay',
|
|
65
69
|
[String(CreditEvent.LiquidityDeposited)]: 'Supply',
|
|
66
70
|
[String(CreditEvent.LiquidityWithdrawn)]: 'Withdraw',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credit.js","sourceRoot":"","sources":["../../../src/utils/credit.ts"],"names":[],"mappings":";;;AAEA,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,uDAAa,CAAA;IACb,qDAAY,CAAA;IACZ,6DAAgB,CAAA;IAChB,mDAAW,CAAA;IACX,uDAAa,CAAA;AACf,CAAC,EAPW,WAAW,2BAAX,WAAW,QAOtB;AAEM,MAAM,eAAe,GAAG,CAC7B,YAA+B,EAC/B,cAAmC,EACnC,EAAE;IACF,IAAI,YAAY,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,oBAAoB,GACtB,YAAY,CAAC,KAAK,IAAI,WAAW,CAAC,YAAY;QAC9C,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtC,IAAI,oBAAoB,IAAI,YAAY,CAAC,KAAK,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC;QACxE,oBAAoB,GAAG,KAAK,CAAA;IAC9B,CAAC;IACD,OAAO,oBAAoB,CAAA;AAC7B,CAAC,CAAA;AAdY,QAAA,eAAe,mBAc3B;AAED,IAAY,
|
|
1
|
+
{"version":3,"file":"credit.js","sourceRoot":"","sources":["../../../src/utils/credit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import { BN } from '@coral-xyz/anchor';
|
|
2
|
+
import { Account } from '@solana/spl-token';
|
|
2
3
|
export declare const getSolanaPoolApy: (protocolFeeInBps: number, yieldInBps: number, rewardRateInBpsForPoolOwner: number, rewardRateInBpsForEA: number, liquidityCap: BN, seniorDeployedAssets: BN, juniorDeployedAssets: BN, defaultMaxSeniorJuniorRatio: number, fixedSeniorYieldInBps: number, tranchesRiskAdjustmentInBps: number) => import("../../utils/apy").PoolApy & {
|
|
3
4
|
maxJuniorTrancheApy: number;
|
|
4
5
|
};
|
|
5
6
|
export declare const getSolanaUtilizationRate: (seniorTrancheAssets: BN | undefined, juniorTrancheAssets: BN | undefined, availableBalance: BN | undefined) => number | undefined;
|
|
7
|
+
export type PoolStateAccount = {
|
|
8
|
+
accruedIncomes: {
|
|
9
|
+
protocolIncome: BN;
|
|
10
|
+
poolOwnerIncome: BN;
|
|
11
|
+
eaIncome: BN;
|
|
12
|
+
};
|
|
13
|
+
incomeWithdrawn: {
|
|
14
|
+
eaIncomeWithdrawn: BN;
|
|
15
|
+
poolOwnerIncomeWithdrawn: BN;
|
|
16
|
+
protocolIncomeWithdrawn: BN;
|
|
17
|
+
};
|
|
18
|
+
disbursementReserve: BN;
|
|
19
|
+
trancheAssets: BN[];
|
|
20
|
+
};
|
|
21
|
+
export declare const calculateAvailablePoolBalance: (underlyingTokenAccount: Account, poolStateAccount: PoolStateAccount) => BN;
|
|
@@ -14,4 +14,20 @@ export const getSolanaUtilizationRate = (seniorTrancheAssets, juniorTrancheAsset
|
|
|
14
14
|
}
|
|
15
15
|
return 0;
|
|
16
16
|
};
|
|
17
|
+
export const calculateAvailablePoolBalance = (underlyingTokenAccount, poolStateAccount) => {
|
|
18
|
+
const poolTokenBalanceBN = new BN(underlyingTokenAccount.amount.toString());
|
|
19
|
+
const totalAccruedIncomesBN = poolStateAccount.accruedIncomes.protocolIncome
|
|
20
|
+
.add(poolStateAccount.accruedIncomes.poolOwnerIncome)
|
|
21
|
+
.add(poolStateAccount.accruedIncomes.eaIncome);
|
|
22
|
+
const totalIncomeWithdrawnBN = poolStateAccount.incomeWithdrawn.protocolIncomeWithdrawn
|
|
23
|
+
.add(poolStateAccount.incomeWithdrawn.poolOwnerIncomeWithdrawn)
|
|
24
|
+
.add(poolStateAccount.incomeWithdrawn.eaIncomeWithdrawn);
|
|
25
|
+
let availableAdminFeesBN = totalAccruedIncomesBN.sub(totalIncomeWithdrawnBN);
|
|
26
|
+
availableAdminFeesBN = availableAdminFeesBN.ltn(0)
|
|
27
|
+
? new BN(0)
|
|
28
|
+
: availableAdminFeesBN;
|
|
29
|
+
return poolTokenBalanceBN
|
|
30
|
+
.sub(poolStateAccount.disbursementReserve)
|
|
31
|
+
.sub(availableAdminFeesBN);
|
|
32
|
+
};
|
|
17
33
|
//# sourceMappingURL=poolUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poolUtils.js","sourceRoot":"","sources":["../../../src/solana/utils/poolUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"poolUtils.js","sourceRoot":"","sources":["../../../src/solana/utils/poolUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,gBAAwB,EACxB,UAAkB,EAClB,2BAAmC,EACnC,oBAA4B,EAC5B,YAAgB,EAChB,oBAAwB,EACxB,oBAAwB,EACxB,2BAAmC,EACnC,qBAA6B,EAC7B,2BAAmC,EACnC,EAAE,CACF,YAAY,CACV,gBAAgB,EAChB,UAAU,EACV,2BAA2B,EAC3B,oBAAoB,EACpB,YAAY,CAAC,QAAQ,EAAE,EACvB,oBAAoB,CAAC,QAAQ,EAAE,EAC/B,oBAAoB,CAAC,QAAQ,EAAE,EAC/B,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,CAAC,QAAQ,EAAE,CAC5B,CAAA;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,mBAAmC,EACnC,mBAAmC,EACnC,gBAAgC,EACZ,EAAE;IACtB,IAAI,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtE,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAChE,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACzD,IAAI,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,CACL,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;YACjE,gBAAgB,CAAC,QAAQ,EAAE,CAC5B,CAAA;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAaD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,sBAA+B,EAC/B,gBAAkC,EAC9B,EAAE;IACN,MAAM,kBAAkB,GAAG,IAAI,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3E,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,cAAc,CAAC,cAAc;SACzE,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,CAAC;SACpD,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChD,MAAM,sBAAsB,GAC1B,gBAAgB,CAAC,eAAe,CAAC,uBAAuB;SACrD,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,wBAAwB,CAAC;SAC9D,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;IAC5D,IAAI,oBAAoB,GAAG,qBAAqB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAC5E,oBAAoB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,oBAAoB,CAAA;IACxB,OAAO,kBAAkB;SACtB,GAAG,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;SACzC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAC9B,CAAC,CAAA"}
|