@kamino-finance/klend-sdk 7.1.7 → 7.1.9
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/market.d.ts +26 -0
- package/dist/classes/market.d.ts.map +1 -1
- package/dist/classes/market.js +76 -1
- package/dist/classes/market.js.map +1 -1
- package/dist/classes/obligation.d.ts +36 -3
- package/dist/classes/obligation.d.ts.map +1 -1
- package/dist/classes/obligation.js +158 -29
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/vault.js +2 -2
- package/dist/classes/vault.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.js +2 -2
- package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
- package/dist/lending_operations/swap_collateral_operations.js +2 -2
- package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
- package/dist/leverage/operations.d.ts.map +1 -1
- package/dist/leverage/operations.js +8 -8
- package/dist/leverage/operations.js.map +1 -1
- package/package.json +2 -2
- package/src/classes/market.ts +96 -1
- package/src/classes/obligation.ts +216 -45
- package/src/classes/vault.ts +2 -2
- package/src/lending_operations/repay_with_collateral_operations.ts +2 -2
- package/src/lending_operations/swap_collateral_operations.ts +2 -2
- package/src/leverage/operations.ts +8 -11
|
@@ -154,7 +154,7 @@ async function buildDepositWithLeverageIxs(market, debtReserve, collReserve, own
|
|
|
154
154
|
// 2. Flash borrow & repay the collateral amount needed for given leverage
|
|
155
155
|
// if user deposits coll, then we borrow the diff, else we borrow the entire amount
|
|
156
156
|
const { flashBorrowIx, flashRepayIx } = (0, instructions_1.getFlashLoanInstructions)({
|
|
157
|
-
borrowIxIndex:
|
|
157
|
+
borrowIxIndex: createAtasIxs.length + fillWsolAtaIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),
|
|
158
158
|
userTransferAuthority: owner,
|
|
159
159
|
lendingMarketAuthority: await market.getLendingMarketAuthority(),
|
|
160
160
|
lendingMarketAddress: market.getAddress(),
|
|
@@ -183,13 +183,13 @@ async function buildDepositWithLeverageIxs(market, debtReserve, collReserve, own
|
|
|
183
183
|
flashLoanInfo,
|
|
184
184
|
instructions: [
|
|
185
185
|
...scopeRefreshIx,
|
|
186
|
-
...budgetIxs,
|
|
187
186
|
...createAtasIxs,
|
|
188
187
|
...fillWsolAtaIxs,
|
|
189
188
|
...[flashBorrowIx],
|
|
190
189
|
...classes_1.KaminoAction.actionToIxs(kaminoDepositAndBorrowAction),
|
|
191
190
|
...swapInstructions,
|
|
192
191
|
...[flashRepayIx],
|
|
192
|
+
...budgetIxs,
|
|
193
193
|
],
|
|
194
194
|
};
|
|
195
195
|
});
|
|
@@ -315,7 +315,7 @@ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, ow
|
|
|
315
315
|
// We borrow exactly how much we need to repay
|
|
316
316
|
// and repay that + flash amount fee
|
|
317
317
|
const { flashBorrowIx, flashRepayIx } = (0, instructions_1.getFlashLoanInstructions)({
|
|
318
|
-
borrowIxIndex:
|
|
318
|
+
borrowIxIndex: createAtasIxs.length + fillWsolAtaIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),
|
|
319
319
|
userTransferAuthority: owner,
|
|
320
320
|
lendingMarketAuthority: await market.getLendingMarketAuthority(),
|
|
321
321
|
lendingMarketAddress: market.getAddress(),
|
|
@@ -340,7 +340,6 @@ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, ow
|
|
|
340
340
|
},
|
|
341
341
|
instructions: [
|
|
342
342
|
...scopeRefreshIx,
|
|
343
|
-
...budgetIxs,
|
|
344
343
|
...createAtasIxs,
|
|
345
344
|
...fillWsolAtaIxs,
|
|
346
345
|
...[flashBorrowIx],
|
|
@@ -348,6 +347,7 @@ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, ow
|
|
|
348
347
|
...swapInstructions,
|
|
349
348
|
...[flashRepayIx],
|
|
350
349
|
...closeWsolAtaIxs,
|
|
350
|
+
...budgetIxs,
|
|
351
351
|
],
|
|
352
352
|
};
|
|
353
353
|
});
|
|
@@ -557,7 +557,7 @@ async function buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
|
|
|
557
557
|
const { budgetIxs, createAtasIxs } = await (0, exports.getSetupIxs)(owner, collTokenMint, collReserve, debtTokenMint, debtReserve, budgetAndPriorityFeeIxs);
|
|
558
558
|
// 2. Create borrow flash loan instruction
|
|
559
559
|
const { flashBorrowIx, flashRepayIx } = (0, instructions_1.getFlashLoanInstructions)({
|
|
560
|
-
borrowIxIndex:
|
|
560
|
+
borrowIxIndex: createAtasIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0), // TODO: how about user metadata ixs
|
|
561
561
|
userTransferAuthority: owner,
|
|
562
562
|
lendingMarketAuthority: await kaminoMarket.getLendingMarketAuthority(),
|
|
563
563
|
lendingMarketAddress: kaminoMarket.getAddress(),
|
|
@@ -577,13 +577,13 @@ async function buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
|
|
|
577
577
|
const swapInstructions = (0, utils_1.removeBudgetIxs)(swapQuoteIxs.swapIxs);
|
|
578
578
|
const ixs = [
|
|
579
579
|
...scopeRefreshIx,
|
|
580
|
-
...budgetIxs,
|
|
581
580
|
...createAtasIxs,
|
|
582
581
|
...[flashBorrowIx],
|
|
583
582
|
...classes_1.KaminoAction.actionToIxs(depositAction),
|
|
584
583
|
...classes_1.KaminoAction.actionToIxs(borrowAction),
|
|
585
584
|
...swapInstructions,
|
|
586
585
|
...[flashRepayIx],
|
|
586
|
+
...budgetIxs,
|
|
587
587
|
];
|
|
588
588
|
const flashBorrowReserve = collReserve;
|
|
589
589
|
const res = {
|
|
@@ -626,7 +626,7 @@ async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
|
|
|
626
626
|
}
|
|
627
627
|
// 3. Flash borrow & repay amount to repay (debt)
|
|
628
628
|
const { flashBorrowIx, flashRepayIx } = (0, instructions_1.getFlashLoanInstructions)({
|
|
629
|
-
borrowIxIndex:
|
|
629
|
+
borrowIxIndex: createAtasIxs.length + fillWsolAtaIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),
|
|
630
630
|
userTransferAuthority: owner,
|
|
631
631
|
lendingMarketAuthority: await kaminoMarket.getLendingMarketAuthority(),
|
|
632
632
|
lendingMarketAddress: kaminoMarket.getAddress(),
|
|
@@ -649,7 +649,6 @@ async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
|
|
|
649
649
|
const swapInstructions = (0, utils_1.removeBudgetIxs)(swapQuoteIxs.swapIxs);
|
|
650
650
|
const ixs = [
|
|
651
651
|
...scopeRefreshIx,
|
|
652
|
-
...budgetIxs,
|
|
653
652
|
...createAtasIxs,
|
|
654
653
|
...fillWsolAtaIxs,
|
|
655
654
|
...[flashBorrowIx],
|
|
@@ -658,6 +657,7 @@ async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
|
|
|
658
657
|
...swapInstructions,
|
|
659
658
|
...[flashRepayIx],
|
|
660
659
|
...closeWsolAtaIxs,
|
|
660
|
+
...budgetIxs,
|
|
661
661
|
];
|
|
662
662
|
const res = {
|
|
663
663
|
flashLoanInfo: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/leverage/operations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/leverage/operations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kamino-finance/klend-sdk",
|
|
3
|
-
"version": "7.1.
|
|
3
|
+
"version": "7.1.9",
|
|
4
4
|
"description": "Typescript SDK for interacting with the Kamino Lending (klend) protocol",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"@coral-xyz/borsh": "^0.28.0",
|
|
66
66
|
"@kamino-finance/farms-sdk": "3.2.13",
|
|
67
67
|
"@kamino-finance/kliquidity-sdk": "^8.4.7",
|
|
68
|
-
"@kamino-finance/scope-sdk": "^10.0.
|
|
68
|
+
"@kamino-finance/scope-sdk": "^10.0.5",
|
|
69
69
|
"@solana-program/address-lookup-table": "^0.8.0",
|
|
70
70
|
"@solana-program/system": "^0.8.0",
|
|
71
71
|
"@solana-program/token": "^0.6.0",
|
package/src/classes/market.ts
CHANGED
|
@@ -21,6 +21,7 @@ import { KaminoReserve, KaminoReserveRpcApi, ReserveWithAddress } from './reserv
|
|
|
21
21
|
import { LendingMarket, Obligation, ReferrerTokenState, Reserve, UserMetadata } from '../@codegen/klend/accounts';
|
|
22
22
|
import {
|
|
23
23
|
AllOracleAccounts,
|
|
24
|
+
BORROWS_LIMIT,
|
|
24
25
|
cacheOrGetPythPrices,
|
|
25
26
|
cacheOrGetScopePrice,
|
|
26
27
|
cacheOrGetSwitchboardPrice,
|
|
@@ -882,6 +883,18 @@ export class KaminoMarket {
|
|
|
882
883
|
});
|
|
883
884
|
}
|
|
884
885
|
|
|
886
|
+
/**
|
|
887
|
+
* Retrieves all obligations that have deposited into the specified reserve.
|
|
888
|
+
*
|
|
889
|
+
* Iterates through all possible deposit slots up to DEPOSITS_LIMIT, applying filters to fetch obligations
|
|
890
|
+
* from the program accounts where the deposited reserve matches the provided address. For each matching
|
|
891
|
+
* obligation, it decodes the account data, validates ownership, and constructs KaminoObligation instances
|
|
892
|
+
* with calculated rates.
|
|
893
|
+
*
|
|
894
|
+
* @param {Address} reserve - The address of the reserve to filter deposited obligations by.
|
|
895
|
+
* @returns {Promise<KaminoObligation[]>} A promise that resolves to an array of KaminoObligation objects representing all obligations that have deposited into the specified reserve.
|
|
896
|
+
* @throws {Error} If an account is invalid or does not belong to this program, or if obligation parsing fails.
|
|
897
|
+
*/
|
|
885
898
|
async getAllObligationsByDepositedReserve(reserve: Address) {
|
|
886
899
|
const finalObligations: KaminoObligation[] = [];
|
|
887
900
|
for (let i = 0; i < DEPOSITS_LIMIT; i++) {
|
|
@@ -895,7 +908,7 @@ export class KaminoMarket {
|
|
|
895
908
|
},
|
|
896
909
|
{
|
|
897
910
|
memcmp: {
|
|
898
|
-
offset: 96n + 136n * BigInt(i),
|
|
911
|
+
offset: 96n + 136n * BigInt(i), // the offset for the borrows array in the obligation account
|
|
899
912
|
bytes: reserve.toString() as Base58EncodedBytes,
|
|
900
913
|
encoding: 'base58',
|
|
901
914
|
},
|
|
@@ -951,6 +964,88 @@ export class KaminoMarket {
|
|
|
951
964
|
return finalObligations;
|
|
952
965
|
}
|
|
953
966
|
|
|
967
|
+
/**
|
|
968
|
+
* Retrieves all obligations that have borrowed from the specified reserve.
|
|
969
|
+
*
|
|
970
|
+
* Iterates through all possible borrow slots up to BORROWS_LIMIT, applying filters to fetch obligations
|
|
971
|
+
* from the program accounts where the borrowed reserve matches the provided address. For each matching
|
|
972
|
+
* obligation, it decodes the account data, validates ownership, and constructs KaminoObligation instances
|
|
973
|
+
* with calculated rates.
|
|
974
|
+
*
|
|
975
|
+
* @param {Address} reserve - The address of the reserve to filter borrowed obligations by.
|
|
976
|
+
* @returns {Promise<KaminoObligation[]>} A promise that resolves to an array of KaminoObligation objects
|
|
977
|
+
* representing all obligations that have borrowed from the specified reserve.
|
|
978
|
+
* @throws {Error} If an account is invalid or does not belong to this program, or if obligation parsing fails.
|
|
979
|
+
*/
|
|
980
|
+
async getAllObligationsByBorrowedReserve(reserve: Address) {
|
|
981
|
+
const finalObligations: KaminoObligation[] = [];
|
|
982
|
+
for (let i = 0; i < BORROWS_LIMIT; i++) {
|
|
983
|
+
const [slot, obligations] = await Promise.all([
|
|
984
|
+
this.rpc.getSlot().send(),
|
|
985
|
+
this.rpc
|
|
986
|
+
.getProgramAccounts(this.programId, {
|
|
987
|
+
filters: [
|
|
988
|
+
{
|
|
989
|
+
dataSize: BigInt(Obligation.layout.span + 8),
|
|
990
|
+
},
|
|
991
|
+
{
|
|
992
|
+
memcmp: {
|
|
993
|
+
offset: 96n + 136n * 8n + 24n + 200n * BigInt(i), // the offset for the borrows array in the obligation account
|
|
994
|
+
bytes: reserve.toString() as Base58EncodedBytes,
|
|
995
|
+
encoding: 'base58',
|
|
996
|
+
},
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
memcmp: {
|
|
1000
|
+
offset: 32n, // lendingMarket address
|
|
1001
|
+
bytes: this.address.toString() as Base58EncodedBytes,
|
|
1002
|
+
encoding: 'base58',
|
|
1003
|
+
},
|
|
1004
|
+
},
|
|
1005
|
+
],
|
|
1006
|
+
encoding: 'base64',
|
|
1007
|
+
})
|
|
1008
|
+
.send(),
|
|
1009
|
+
]);
|
|
1010
|
+
|
|
1011
|
+
const collateralExchangeRates = new Map<Address, Decimal>();
|
|
1012
|
+
const cumulativeBorrowRates = new Map<Address, Decimal>();
|
|
1013
|
+
|
|
1014
|
+
const obligationsBatch = obligations.map((obligation) => {
|
|
1015
|
+
if (obligation.account === null) {
|
|
1016
|
+
throw new Error('Invalid account');
|
|
1017
|
+
}
|
|
1018
|
+
if (obligation.account.owner !== this.programId) {
|
|
1019
|
+
throw new Error("account doesn't belong to this program");
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
const obligationAccount = Obligation.decode(Buffer.from(obligation.account.data[0], 'base64'));
|
|
1023
|
+
|
|
1024
|
+
if (!obligationAccount) {
|
|
1025
|
+
throw Error('Could not parse obligation.');
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
KaminoObligation.addRatesForObligation(
|
|
1029
|
+
this,
|
|
1030
|
+
obligationAccount,
|
|
1031
|
+
collateralExchangeRates,
|
|
1032
|
+
cumulativeBorrowRates,
|
|
1033
|
+
slot
|
|
1034
|
+
);
|
|
1035
|
+
|
|
1036
|
+
return new KaminoObligation(
|
|
1037
|
+
this,
|
|
1038
|
+
obligation.pubkey,
|
|
1039
|
+
obligationAccount,
|
|
1040
|
+
collateralExchangeRates,
|
|
1041
|
+
cumulativeBorrowRates
|
|
1042
|
+
);
|
|
1043
|
+
});
|
|
1044
|
+
finalObligations.push(...obligationsBatch);
|
|
1045
|
+
}
|
|
1046
|
+
return finalObligations;
|
|
1047
|
+
}
|
|
1048
|
+
|
|
954
1049
|
async getAllUserObligations(
|
|
955
1050
|
user: Address,
|
|
956
1051
|
commitment: Commitment = 'processed',
|