@kamino-finance/klend-sdk 5.1.10 → 5.2.0
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/classes/action.js +2 -2
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/obligation.d.ts.map +1 -1
- package/dist/classes/obligation.js +4 -4
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/vault.d.ts +1 -0
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +10 -23
- package/dist/classes/vault.js.map +1 -1
- package/dist/client_kamino_manager.d.ts.map +1 -1
- package/dist/client_kamino_manager.js +29 -0
- package/dist/client_kamino_manager.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.d.ts +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.js +42 -19
- package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.js +11 -3
- package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/action.ts +2 -2
- package/src/classes/obligation.ts +4 -7
- package/src/classes/vault.ts +19 -29
- package/src/client_kamino_manager.ts +43 -0
- package/src/lending_operations/repay_with_collateral_calcs.ts +53 -22
- package/src/lending_operations/repay_with_collateral_operations.ts +16 -10
- package/src/utils/ata.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_kamino_manager.js","sourceRoot":"","sources":["../src/client_kamino_manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client_kamino_manager.js","sourceRoot":"","sources":["../src/client_kamino_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export declare const calcFlashRepayAmount: (props: {
|
|
|
15
15
|
flashRepayAmountLamports: Decimal;
|
|
16
16
|
};
|
|
17
17
|
export declare function calcMaxWithdrawCollateral(kaminoMarket: KaminoMarket, collReserveAddr: PublicKey, debtReserveAddr: PublicKey, obligation: KaminoObligation, repayAmountLamports: Decimal): {
|
|
18
|
-
|
|
18
|
+
canWithdrawRemainingColl: boolean;
|
|
19
19
|
withdrawableCollLamports: Decimal;
|
|
20
20
|
};
|
|
21
21
|
export declare function estimateDebtRepaymentWithColl(props: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repay_with_collateral_calcs.d.ts","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_calcs.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAA2B,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,aAAa,EAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,SAAS,GAClB;IACD,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAsBA;AAED,eAAO,MAAM,oBAAoB,UAAW;IAC1C,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,yBAAyB,EAAE,OAAO,CAAC;CACpC,KAAG;IACF,wBAAwB,EAAE,OAAO,CAAC;CAanC,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,SAAS,EAC1B,UAAU,EAAE,gBAAgB,EAC5B,mBAAmB,EAAE,OAAO
|
|
1
|
+
{"version":3,"file":"repay_with_collateral_calcs.d.ts","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_calcs.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAA2B,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,aAAa,EAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,SAAS,GAClB;IACD,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAsBA;AAED,eAAO,MAAM,oBAAoB,UAAW;IAC1C,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,yBAAyB,EAAE,OAAO,CAAC;CACpC,KAAG;IACF,wBAAwB,EAAE,OAAO,CAAC;CAanC,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,SAAS,EAC1B,UAAU,EAAE,gBAAgB,EAC5B,mBAAmB,EAAE,OAAO,GAC3B;IACD,wBAAwB,EAAE,OAAO,CAAC;IAClC,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAiEA;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,wCAAwC,EAAE,OAAO,CAAC;IAClD,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,SAAS,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAoCV;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,wCAAwC,EAAE,OAAO,CAAC;CACnD,GAAG,OAAO,CAcV"}
|
|
@@ -39,38 +39,61 @@ const calcFlashRepayAmount = (props) => {
|
|
|
39
39
|
exports.calcFlashRepayAmount = calcFlashRepayAmount;
|
|
40
40
|
function calcMaxWithdrawCollateral(kaminoMarket, collReserveAddr, debtReserveAddr, obligation, repayAmountLamports) {
|
|
41
41
|
const collReserve = kaminoMarket.getReserveByAddress(collReserveAddr);
|
|
42
|
-
const debtReserve = kaminoMarket.getReserveByAddress(debtReserveAddr);
|
|
43
|
-
const debtOraclePx = debtReserve.getOracleMarketPrice();
|
|
44
42
|
const collOraclePx = collReserve.getOracleMarketPrice();
|
|
45
43
|
const { maxLtv: collMaxLtv } = obligation.getLtvForReserve(kaminoMarket, collReserve);
|
|
46
|
-
const debtBorrowFactor = debtReserve.getBorrowFactor();
|
|
47
|
-
const debtPosition = obligation.getBorrowByReserve(debtReserve.address);
|
|
48
44
|
const collPosition = obligation.getDepositByReserve(collReserve.address);
|
|
49
45
|
const initialCollValue = collPosition.amount.floor().div(collReserve.getMintFactor()).mul(collOraclePx);
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
.
|
|
54
|
-
.
|
|
55
|
-
.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
46
|
+
let totalRemainingDebtValue = new decimal_js_1.default(0);
|
|
47
|
+
const borrows = obligation.getBorrows();
|
|
48
|
+
for (const debtPosition of borrows) {
|
|
49
|
+
const debtReserve = kaminoMarket.getReserveByAddress(debtPosition.reserveAddress);
|
|
50
|
+
const debtOraclePx = debtReserve.getOracleMarketPrice();
|
|
51
|
+
const debtBorrowFactor = debtReserve.getBorrowFactor();
|
|
52
|
+
let remainingDebtAmountLamports = debtPosition.amount;
|
|
53
|
+
if (debtPosition.reserveAddress.equals(debtReserveAddr)) {
|
|
54
|
+
remainingDebtAmountLamports = remainingDebtAmountLamports.sub(repayAmountLamports);
|
|
55
|
+
}
|
|
56
|
+
const remainingDebtBfWeightedValue = remainingDebtAmountLamports
|
|
57
|
+
.ceil()
|
|
58
|
+
.div(debtReserve.getMintFactor())
|
|
59
|
+
.mul(debtBorrowFactor)
|
|
60
|
+
.mul(debtOraclePx);
|
|
61
|
+
totalRemainingDebtValue = totalRemainingDebtValue.add(remainingDebtBfWeightedValue);
|
|
62
|
+
}
|
|
63
|
+
let canWithdrawRemainingColl = false;
|
|
64
|
+
if (totalRemainingDebtValue.lte(new decimal_js_1.default(0)) && borrows.length === 1) {
|
|
65
|
+
canWithdrawRemainingColl = true;
|
|
66
|
+
}
|
|
67
|
+
const deposits = obligation.getDeposits();
|
|
68
|
+
const otherCollDeposits = deposits.filter((deposit) => !deposit.reserveAddress.equals(collReserve.address));
|
|
69
|
+
let totalOtherCollateralValue = new decimal_js_1.default(0);
|
|
70
|
+
for (const d of otherCollDeposits) {
|
|
71
|
+
const otherCollReserve = kaminoMarket.getReserveByAddress(d.reserveAddress);
|
|
72
|
+
const otherCollOraclePx = otherCollReserve.getOracleMarketPrice();
|
|
73
|
+
const otherCollMaxLtv = obligation.getLtvForReserve(kaminoMarket, otherCollReserve).maxLtv;
|
|
74
|
+
const otherCollValue = d.amount
|
|
75
|
+
.floor()
|
|
76
|
+
.div(otherCollReserve.getMintFactor())
|
|
77
|
+
.mul(otherCollOraclePx)
|
|
78
|
+
.mul(otherCollMaxLtv);
|
|
79
|
+
totalOtherCollateralValue = totalOtherCollateralValue.add(otherCollValue);
|
|
80
|
+
}
|
|
81
|
+
const numerator = initialCollValue.mul(collMaxLtv).add(totalOtherCollateralValue).sub(totalRemainingDebtValue);
|
|
82
|
+
// If all collateral cannot cover the remaining debt
|
|
83
|
+
if (numerator.lte('0')) {
|
|
84
|
+
return { canWithdrawRemainingColl: false, withdrawableCollLamports: new decimal_js_1.default(0) };
|
|
59
85
|
}
|
|
60
|
-
const numerator = initialCollValue.mul(collMaxLtv).sub(remainingDebtBfWeightedValue);
|
|
61
86
|
const denominator = collOraclePx.mul(collMaxLtv);
|
|
62
87
|
const maxCollWithdrawAmount = numerator.div(denominator);
|
|
63
88
|
const maxCollateralWithdrawalAmountLamports = maxCollWithdrawAmount.mul(collReserve.getMintFactor()).floor();
|
|
64
89
|
let withdrawableCollLamports;
|
|
65
|
-
if (
|
|
66
|
-
|
|
67
|
-
const maxSwapCollLamportsWithBuffer = maxCollateralWithdrawalAmountLamports.mul('1.1');
|
|
68
|
-
withdrawableCollLamports = decimal_js_1.default.min(maxSwapCollLamportsWithBuffer, collPosition.amount).floor();
|
|
90
|
+
if (canWithdrawRemainingColl) {
|
|
91
|
+
withdrawableCollLamports = decimal_js_1.default.min(maxCollateralWithdrawalAmountLamports, collPosition.amount).floor();
|
|
69
92
|
}
|
|
70
93
|
else {
|
|
71
94
|
withdrawableCollLamports = decimal_js_1.default.max(new decimal_js_1.default(0), maxCollateralWithdrawalAmountLamports);
|
|
72
95
|
}
|
|
73
|
-
return {
|
|
96
|
+
return { canWithdrawRemainingColl, withdrawableCollLamports };
|
|
74
97
|
}
|
|
75
98
|
function estimateDebtRepaymentWithColl(props) {
|
|
76
99
|
const { collAmount, priceDebtToColl, slippagePct, flashBorrowReserveFlashLoanFeePercentage, kaminoMarket, debtTokenMint, obligation, currentSlot, } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repay_with_collateral_calcs.js","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_calcs.ts"],"names":[],"mappings":";;;;;;AAIA,kEAiCC;AAuBD,
|
|
1
|
+
{"version":3,"file":"repay_with_collateral_calcs.js","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_calcs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repay_with_collateral_operations.d.ts","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,YAAY,EAAE,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AACzF,OAAO,EAEL,UAAU,EACV,SAAS,EAET,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,YAAY,EAGb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,OAAO,MAAM,YAAY,CAAC;AAGjC,MAAM,MAAM,wBAAwB,CAAC,aAAa,IAAI;IACpD,GAAG,EAAE,sBAAsB,EAAE,CAAC;IAC9B,YAAY,EAAE,yBAAyB,EAAE,CAAC;IAC1C,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,aAAa,IAAI;IACzC,uBAAuB,EAAE,OAAO,CAAC;IACjC,wBAAwB,EAAE,OAAO,CAAC;IAClC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CACjC,CAAC;AAEF,UAAU,4BAA4B,CAAC,aAAa;IAClD,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,SAAS,CAAC;IACzB,aAAa,EAAE,SAAS,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uBAAuB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACnD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;CAC1C;AAED,wBAAsB,0BAA0B,CAAC,aAAa,EAAE,EAC9D,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,MAAM,EACN,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,GACb,EAAE,4BAA4B,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;IACvD,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CAC7C,CAAC,
|
|
1
|
+
{"version":3,"file":"repay_with_collateral_operations.d.ts","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,YAAY,EAAE,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AACzF,OAAO,EAEL,UAAU,EACV,SAAS,EAET,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,YAAY,EAGb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,OAAO,MAAM,YAAY,CAAC;AAGjC,MAAM,MAAM,wBAAwB,CAAC,aAAa,IAAI;IACpD,GAAG,EAAE,sBAAsB,EAAE,CAAC;IAC9B,YAAY,EAAE,yBAAyB,EAAE,CAAC;IAC1C,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,aAAa,IAAI;IACzC,uBAAuB,EAAE,OAAO,CAAC;IACjC,wBAAwB,EAAE,OAAO,CAAC;IAClC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CACjC,CAAC;AAEF,UAAU,4BAA4B,CAAC,aAAa;IAClD,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,SAAS,CAAC;IACzB,aAAa,EAAE,SAAS,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uBAAuB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACnD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;CAC1C;AAED,wBAAsB,0BAA0B,CAAC,aAAa,EAAE,EAC9D,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,MAAM,EACN,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,GACb,EAAE,4BAA4B,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;IACvD,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CAC7C,CAAC,CAgGD;AAED,UAAU,qBAAqB,CAAC,aAAa,CAAE,SAAQ,4BAA4B,CAAC,aAAa,CAAC;IAChG,OAAO,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjD;AAED,wBAAsB,mBAAmB,CAAC,aAAa,EAAE,EACvD,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,MAAM,EACN,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,MAAoB,GACrB,EAAE,qBAAqB,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAkDzF"}
|
|
@@ -20,7 +20,7 @@ async function getRepayWithCollSwapInputs({ collTokenMint, currentSlot, debtToke
|
|
|
20
20
|
if (!debtReserve) {
|
|
21
21
|
throw new Error(`Debt reserve with mint ${debtReserve} not found in market ${kaminoMarket.getAddress()}`);
|
|
22
22
|
}
|
|
23
|
-
const { repayAmountLamports, flashRepayAmountLamports } = (0, repay_with_collateral_calcs_1.calcRepayAmountWithSlippage)(kaminoMarket, debtReserve, currentSlot, obligation, repayAmount, referrer);
|
|
23
|
+
const { repayAmountLamports, flashRepayAmountLamports, repayAmount: finalRepayAmount, } = (0, repay_with_collateral_calcs_1.calcRepayAmountWithSlippage)(kaminoMarket, debtReserve, currentSlot, obligation, repayAmount, referrer);
|
|
24
24
|
const debtPosition = obligation.getBorrowByReserve(debtReserve.address);
|
|
25
25
|
const collPosition = obligation.getDepositByReserve(collReserve.address);
|
|
26
26
|
if (!debtPosition) {
|
|
@@ -30,8 +30,16 @@ async function getRepayWithCollSwapInputs({ collTokenMint, currentSlot, debtToke
|
|
|
30
30
|
throw new Error(`Collateral position not found for ${collReserve.stats.symbol} reserve ${collReserve.address} in obligation ${obligation.obligationAddress}`);
|
|
31
31
|
}
|
|
32
32
|
const { withdrawableCollLamports } = (0, repay_with_collateral_calcs_1.calcMaxWithdrawCollateral)(kaminoMarket, collReserve.address, debtReserve.address, obligation, repayAmountLamports);
|
|
33
|
+
// sanity check: we have extra collateral to swap, but we want to ensure we don't quote for way more than needed and get a bad px
|
|
34
|
+
const maxCollNeededFromOracle = finalRepayAmount
|
|
35
|
+
.mul(debtReserve.getOracleMarketPrice())
|
|
36
|
+
.div(collReserve.getOracleMarketPrice())
|
|
37
|
+
.mul('1.1')
|
|
38
|
+
.mul(collReserve.getMintFactor())
|
|
39
|
+
.ceil();
|
|
40
|
+
const inputAmountLamports = decimal_js_1.default.min(withdrawableCollLamports, maxCollNeededFromOracle);
|
|
33
41
|
const swapQuoteInputs = {
|
|
34
|
-
inputAmountLamports
|
|
42
|
+
inputAmountLamports,
|
|
35
43
|
inputMint: collTokenMint,
|
|
36
44
|
outputMint: debtTokenMint,
|
|
37
45
|
amountDebtAtaBalance: new decimal_js_1.default(0), // only used for kTokens
|
|
@@ -41,7 +49,7 @@ async function getRepayWithCollSwapInputs({ collTokenMint, currentSlot, debtToke
|
|
|
41
49
|
preActionIxs: [],
|
|
42
50
|
swapIxs: [],
|
|
43
51
|
lookupTables: [],
|
|
44
|
-
}, isClosingPosition, repayAmountLamports,
|
|
52
|
+
}, isClosingPosition, repayAmountLamports, inputAmountLamports);
|
|
45
53
|
const uniqueKlendAccounts = (0, utils_1.uniqueAccounts)(klendIxs);
|
|
46
54
|
const swapQuote = await quoter(swapQuoteInputs, uniqueKlendAccounts);
|
|
47
55
|
const swapQuotePxDebtToColl = swapQuote.priceAInB;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repay_with_collateral_operations.js","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_operations.ts"],"names":[],"mappings":";;;;;AAmDA,
|
|
1
|
+
{"version":3,"file":"repay_with_collateral_operations.js","sourceRoot":"","sources":["../../src/lending_operations/repay_with_collateral_operations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/classes/action.ts
CHANGED
|
@@ -347,7 +347,7 @@ export class KaminoAction {
|
|
|
347
347
|
currentSlot: number = 0
|
|
348
348
|
) {
|
|
349
349
|
// placeholder for action initialization
|
|
350
|
-
const firstReserve = obligation.
|
|
350
|
+
const firstReserve = obligation.getDeposits()[0].reserveAddress;
|
|
351
351
|
const firstKaminoReserve = kaminoMarket.getReserveByAddress(firstReserve);
|
|
352
352
|
if (!firstKaminoReserve) {
|
|
353
353
|
throw new Error(`Reserve ${firstReserve.toBase58()} not found`);
|
|
@@ -1927,8 +1927,8 @@ export class KaminoAction {
|
|
|
1927
1927
|
if (['borrow', 'withdrawReferrerFees'].includes(action)) {
|
|
1928
1928
|
await this.addInitReferrerTokenStateIx(this.reserve);
|
|
1929
1929
|
}
|
|
1930
|
+
// depositAndBorrow
|
|
1930
1931
|
if (action === 'deposit' && this.outflowReserve) {
|
|
1931
|
-
// depositAndBorrow
|
|
1932
1932
|
await this.addInitReferrerTokenStateIx(this.outflowReserve);
|
|
1933
1933
|
}
|
|
1934
1934
|
await this.addInitObligationIxs();
|
|
@@ -656,15 +656,12 @@ export class KaminoObligation {
|
|
|
656
656
|
borrow: ObligationLiquidity,
|
|
657
657
|
currentSlot: number
|
|
658
658
|
): Decimal => {
|
|
659
|
-
const
|
|
660
|
-
currentSlot,
|
|
661
|
-
market.state.referralFeeBps
|
|
662
|
-
);
|
|
659
|
+
const newCumulativeBorrowRate = reserve.getEstimatedCumulativeBorrowRate(currentSlot, market.state.referralFeeBps);
|
|
663
660
|
|
|
664
|
-
const
|
|
661
|
+
const formerCumulativeBorrowRate = KaminoObligation.getCumulativeBorrowRate(borrow);
|
|
665
662
|
|
|
666
|
-
if (
|
|
667
|
-
return
|
|
663
|
+
if (newCumulativeBorrowRate.gt(formerCumulativeBorrowRate)) {
|
|
664
|
+
return newCumulativeBorrowRate.div(formerCumulativeBorrowRate);
|
|
668
665
|
}
|
|
669
666
|
|
|
670
667
|
return new Decimal(0);
|
package/src/classes/vault.ts
CHANGED
|
@@ -845,36 +845,21 @@ export class KaminoVaultClient {
|
|
|
845
845
|
if (vaultState.sharesIssued.isZero()) {
|
|
846
846
|
return new Decimal(0);
|
|
847
847
|
}
|
|
848
|
-
const tokenDecimals = new Decimal(vaultState.tokenMintDecimals.toString());
|
|
849
848
|
|
|
850
849
|
const vaultReservesState = vaultReservesMap ? vaultReservesMap : await this.loadVaultReserves(vaultState);
|
|
851
|
-
let totalVaultLiquidityAmount = new Decimal(vaultState.tokenAvailable.toString());
|
|
852
|
-
vaultState.vaultAllocationStrategy.forEach((allocationStrategy) => {
|
|
853
|
-
if (!allocationStrategy.reserve.equals(PublicKey.default)) {
|
|
854
|
-
const reserve = vaultReservesState.get(allocationStrategy.reserve);
|
|
855
|
-
if (reserve === undefined) {
|
|
856
|
-
throw new Error(`Reserve ${allocationStrategy.reserve.toBase58()} not found`);
|
|
857
|
-
}
|
|
858
|
-
const reserveCollExchangeRate = reserve.getEstimatedCollateralExchangeRate(
|
|
859
|
-
slot,
|
|
860
|
-
new Fraction(reserve.state.liquidity.absoluteReferralRateSf)
|
|
861
|
-
.toDecimal()
|
|
862
|
-
.div(reserve.state.config.protocolTakeRatePct / 100)
|
|
863
|
-
.floor()
|
|
864
|
-
.toNumber()
|
|
865
|
-
);
|
|
866
|
-
if (reserveCollExchangeRate.gt(0)) {
|
|
867
|
-
const reserveAllocationLiquidityAmount = new Decimal(allocationStrategy.cTokenAllocation.toString()).div(
|
|
868
|
-
reserveCollExchangeRate
|
|
869
|
-
);
|
|
870
|
-
totalVaultLiquidityAmount = totalVaultLiquidityAmount.add(reserveAllocationLiquidityAmount);
|
|
871
|
-
}
|
|
872
|
-
}
|
|
873
|
-
});
|
|
874
850
|
|
|
875
|
-
|
|
876
|
-
|
|
851
|
+
const sharesDecimal = lamportsToDecimal(
|
|
852
|
+
vaultState.sharesIssued.toString(),
|
|
853
|
+
vaultState.sharesMintDecimals.toString()
|
|
854
|
+
);
|
|
855
|
+
|
|
856
|
+
const holdings = await this.getVaultHoldings(
|
|
857
|
+
vaultState,
|
|
858
|
+
await this._connection.getSlot('confirmed'),
|
|
859
|
+
vaultReservesState
|
|
877
860
|
);
|
|
861
|
+
|
|
862
|
+
return holdings.total.div(sharesDecimal);
|
|
878
863
|
}
|
|
879
864
|
|
|
880
865
|
/**
|
|
@@ -1114,6 +1099,7 @@ export class KaminoVaultClient {
|
|
|
1114
1099
|
available: new Decimal(vault.tokenAvailable.toString()),
|
|
1115
1100
|
invested: new Decimal(0),
|
|
1116
1101
|
investedInReserves: new PubkeyHashMap<PublicKey, Decimal>(),
|
|
1102
|
+
total: new Decimal(0),
|
|
1117
1103
|
};
|
|
1118
1104
|
|
|
1119
1105
|
const vaultReservesState = vaultReserves ? vaultReserves : await this.loadVaultReserves(vault);
|
|
@@ -1130,7 +1116,7 @@ export class KaminoVaultClient {
|
|
|
1130
1116
|
}
|
|
1131
1117
|
|
|
1132
1118
|
const reserveCollExchangeRate = reserve.getEstimatedCollateralExchangeRate(slot, 0);
|
|
1133
|
-
const reserveAllocationLiquidityAmount = new Decimal(allocationStrategy.cTokenAllocation.toString()).
|
|
1119
|
+
const reserveAllocationLiquidityAmount = new Decimal(allocationStrategy.cTokenAllocation.toString()).div(
|
|
1134
1120
|
reserveCollExchangeRate
|
|
1135
1121
|
);
|
|
1136
1122
|
|
|
@@ -1141,10 +1127,13 @@ export class KaminoVaultClient {
|
|
|
1141
1127
|
);
|
|
1142
1128
|
});
|
|
1143
1129
|
|
|
1130
|
+
const totalAvailableDecimal = lamportsToDecimal(vaultHoldings.available, decimals);
|
|
1131
|
+
const totalInvestedDecimal = lamportsToDecimal(vaultHoldings.invested, decimals);
|
|
1144
1132
|
return {
|
|
1145
|
-
available:
|
|
1146
|
-
invested:
|
|
1133
|
+
available: totalAvailableDecimal,
|
|
1134
|
+
invested: totalInvestedDecimal,
|
|
1147
1135
|
investedInReserves: vaultHoldings.investedInReserves,
|
|
1136
|
+
total: totalAvailableDecimal.add(totalInvestedDecimal),
|
|
1148
1137
|
};
|
|
1149
1138
|
}
|
|
1150
1139
|
|
|
@@ -1374,6 +1363,7 @@ export type VaultHoldings = {
|
|
|
1374
1363
|
available: Decimal;
|
|
1375
1364
|
invested: Decimal;
|
|
1376
1365
|
investedInReserves: PubkeyHashMap<PublicKey, Decimal>;
|
|
1366
|
+
total: Decimal;
|
|
1377
1367
|
};
|
|
1378
1368
|
|
|
1379
1369
|
export type VaultHoldingsWithUSDValue = {
|
|
@@ -674,6 +674,49 @@ async function main() {
|
|
|
674
674
|
});
|
|
675
675
|
});
|
|
676
676
|
|
|
677
|
+
commands
|
|
678
|
+
.command('get-tokens-per-share')
|
|
679
|
+
.requiredOption('--vault <string>', 'Vault address')
|
|
680
|
+
.action(async ({ vault }) => {
|
|
681
|
+
const env = initializeClient(false, false);
|
|
682
|
+
|
|
683
|
+
const kaminoManager = new KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
684
|
+
|
|
685
|
+
const vaultAddress = new PublicKey(vault);
|
|
686
|
+
const kaminoVault = new KaminoVault(vaultAddress, undefined, env.kVaultProgramId);
|
|
687
|
+
const tokensPerShare = await kaminoManager.getTokensPerShareSingleVault(
|
|
688
|
+
kaminoVault,
|
|
689
|
+
await env.connection.getSlot('confirmed')
|
|
690
|
+
);
|
|
691
|
+
console.log(`Tokens per share for vault ${vaultAddress.toBase58()}: ${tokensPerShare}`);
|
|
692
|
+
});
|
|
693
|
+
|
|
694
|
+
commands
|
|
695
|
+
.command('print-vault')
|
|
696
|
+
.requiredOption('--vault <string>', 'Vault address')
|
|
697
|
+
.action(async ({ vault }) => {
|
|
698
|
+
const env = initializeClient(false, false);
|
|
699
|
+
|
|
700
|
+
const kaminoManager = new KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|
|
701
|
+
|
|
702
|
+
const vaultAddress = new PublicKey(vault);
|
|
703
|
+
const kaminoVault = new KaminoVault(vaultAddress, undefined, env.kVaultProgramId);
|
|
704
|
+
await kaminoVault.getState(env.connection);
|
|
705
|
+
|
|
706
|
+
const slot = await env.connection.getSlot('confirmed');
|
|
707
|
+
const tokensPerShare = await kaminoManager.getTokensPerShareSingleVault(kaminoVault, slot);
|
|
708
|
+
const holdings = await kaminoManager.getVaultHoldings(kaminoVault.state!, slot);
|
|
709
|
+
|
|
710
|
+
const vaultState = kaminoVault.state!;
|
|
711
|
+
|
|
712
|
+
const sharesIssued = new Decimal(vaultState.sharesIssued.toString()!).div(
|
|
713
|
+
new Decimal(vaultState.sharesMintDecimals.toString())
|
|
714
|
+
);
|
|
715
|
+
console.log('Shares issued: ', sharesIssued);
|
|
716
|
+
console.log('Holdings: ', holdings);
|
|
717
|
+
console.log(`Tokens per share for vault ${vaultAddress.toBase58()}: ${tokensPerShare}`);
|
|
718
|
+
});
|
|
719
|
+
|
|
677
720
|
commands.command('get-oracle-mappings').action(async () => {
|
|
678
721
|
const env = initializeClient(false, false);
|
|
679
722
|
const kaminoManager = new KaminoManager(env.connection, env.kLendProgramId, env.kVaultProgramId);
|