@kamino-finance/klend-sdk 5.0.7 → 5.1.1
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/README_KAMINO_MANAGER.md +24 -3
- package/dist/classes/action.d.ts +5 -1
- package/dist/classes/action.d.ts.map +1 -1
- package/dist/classes/action.js +39 -26
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/manager.d.ts +45 -2
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +54 -0
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/vault.d.ts +56 -4
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +107 -3
- package/dist/classes/vault.js.map +1 -1
- package/dist/client_kamino_manager.d.ts.map +1 -1
- package/dist/client_kamino_manager.js +6 -0
- package/dist/client_kamino_manager.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +9 -3
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +42 -32
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts +10 -10
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js +51 -52
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.js +4 -4
- package/dist/idl_codegen_kamino_vault/types/WithdrawalCaps.js.map +1 -1
- package/dist/leverage/operations.d.ts.map +1 -1
- package/dist/leverage/operations.js +3 -9
- package/dist/leverage/operations.js.map +1 -1
- package/dist/referrals/instructions.d.ts +2 -1
- package/dist/referrals/instructions.d.ts.map +1 -1
- package/dist/referrals/instructions.js +13 -8
- package/dist/referrals/instructions.js.map +1 -1
- package/dist/utils/ata.d.ts +1 -2
- package/dist/utils/ata.d.ts.map +1 -1
- package/dist/utils/ata.js +8 -15
- package/dist/utils/ata.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/action.ts +41 -33
- package/src/classes/manager.ts +80 -1
- package/src/classes/vault.ts +158 -4
- package/src/client.ts +4 -20
- package/src/client_kamino_manager.ts +8 -0
- package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +178 -175
- package/src/idl_codegen_kamino_vault/types/VaultConfigField.ts +117 -116
- package/src/idl_codegen_kamino_vault/types/WithdrawalCaps.ts +30 -30
- package/src/leverage/operations.ts +3 -9
- package/src/referrals/instructions.ts +16 -9
- package/src/utils/ata.ts +8 -14
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AccountInfo, Connection, Keypair, ParsedAccountData, PublicKey, TransactionInstruction } from '@solana/web3.js';
|
|
2
|
-
import { KaminoVault, KaminoVaultClient, KaminoVaultConfig, ReserveAllocationConfig, VaultHolder } from './vault';
|
|
3
|
-
import { AddAssetToMarketParams, CreateKaminoMarketParams, ENV, LendingMarket, MarketWithAddress, PubkeyHashMap, Reserve, ReserveWithAddress, ScopeOracleConfig } from '../lib';
|
|
2
|
+
import { KaminoVault, KaminoVaultClient, KaminoVaultConfig, ReserveAllocationConfig, ReserveOverview, VaultHolder, VaultHoldings } from './vault';
|
|
3
|
+
import { AddAssetToMarketParams, CreateKaminoMarketParams, ENV, KaminoReserve, LendingMarket, MarketWithAddress, PubkeyHashMap, Reserve, ReserveWithAddress, ScopeOracleConfig } from '../lib';
|
|
4
4
|
import { ReserveConfig } from '../idl_codegen/types';
|
|
5
5
|
import Decimal from 'decimal.js';
|
|
6
|
+
import { VaultState } from '../idl_codegen_kamino_vault/accounts';
|
|
6
7
|
import { VaultConfigFieldKind } from '../idl_codegen_kamino_vault/types';
|
|
7
8
|
/**
|
|
8
9
|
* KaminoManager is a class that provides a high-level interface to interact with the Kamino Lend and Kamino Vault programs, in order to create and manage a market, as well as vaults
|
|
@@ -178,6 +179,48 @@ export declare class KaminoManager {
|
|
|
178
179
|
* @returns an array of all vault holders with their pubkeys and amounts
|
|
179
180
|
*/
|
|
180
181
|
getVaultHolders: (vault: KaminoVault) => Promise<VaultHolder[]>;
|
|
182
|
+
/**
|
|
183
|
+
* This will return an Holdings object which contains the amount available (uninvested) in vault, total amount invested in reseves and a breakdown of the amount invested in each reserve
|
|
184
|
+
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
185
|
+
* @param slot - current slot
|
|
186
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
187
|
+
* @returns an Holdings object
|
|
188
|
+
*/
|
|
189
|
+
getVaultHoldings(vault: VaultState, slot: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<VaultHoldings>;
|
|
190
|
+
/**
|
|
191
|
+
* This will return an overview of each reserve that is part of the vault allocation
|
|
192
|
+
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
193
|
+
* @param slot - current slot
|
|
194
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
195
|
+
* @returns a hashmap from vault reserve pubkey to ReserveOverview object
|
|
196
|
+
*/
|
|
197
|
+
getVaultReservesDetails(vault: VaultState, slot: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<PubkeyHashMap<PublicKey, ReserveOverview>>;
|
|
198
|
+
/**
|
|
199
|
+
* This will return the APY of the vault under the assumption that all the available tokens in the vault are all the time invested in the reserves
|
|
200
|
+
* @param vault - the kamino vault to get APY for
|
|
201
|
+
* @param slot - current slot
|
|
202
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
203
|
+
* @returns APY for the vault
|
|
204
|
+
*/
|
|
205
|
+
getVaultTheoreticalAPY(vault: VaultState, slot: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<Decimal>;
|
|
206
|
+
/**
|
|
207
|
+
* This will load the onchain state for all the reserves that the vault has allocations for
|
|
208
|
+
* @param vaultState - the vault state to load reserves for
|
|
209
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
210
|
+
*/
|
|
211
|
+
loadVaultReserves(vaultState: VaultState): Promise<PubkeyHashMap<PublicKey, KaminoReserve>>;
|
|
212
|
+
/**
|
|
213
|
+
* This will get the list of all reserve pubkeys that the vault has allocations for
|
|
214
|
+
* @param vaultState - the vault state to load reserves for
|
|
215
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
216
|
+
*/
|
|
217
|
+
getAllVaultReserves(vault: VaultState): PublicKey[];
|
|
218
|
+
/**
|
|
219
|
+
* This will load the onchain state for all the reserves that the vault has allocations for
|
|
220
|
+
* @param vaultState - the vault state to load reserves for
|
|
221
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
222
|
+
*/
|
|
223
|
+
getVaultReserves(vault: VaultState): PublicKey[];
|
|
181
224
|
/**
|
|
182
225
|
* This will trigger invest by balancing, based on weights, the reserve allocations of the vault. It can either withdraw or deposit into reserves to balance them. This is a function that should be cranked
|
|
183
226
|
* @param kaminoVault - vault to invest from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,SAAS,EAGT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EAEjB,uBAAuB,EACvB,WAAW,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/manager.js
CHANGED
|
@@ -376,6 +376,60 @@ class KaminoManager {
|
|
|
376
376
|
}
|
|
377
377
|
return result;
|
|
378
378
|
};
|
|
379
|
+
/**
|
|
380
|
+
* This will return an Holdings object which contains the amount available (uninvested) in vault, total amount invested in reseves and a breakdown of the amount invested in each reserve
|
|
381
|
+
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
382
|
+
* @param slot - current slot
|
|
383
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
384
|
+
* @returns an Holdings object
|
|
385
|
+
*/
|
|
386
|
+
async getVaultHoldings(vault, slot, vaultReserves) {
|
|
387
|
+
return this._vaultClient.getVaultHoldings(vault, slot, vaultReserves);
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* This will return an overview of each reserve that is part of the vault allocation
|
|
391
|
+
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
392
|
+
* @param slot - current slot
|
|
393
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
394
|
+
* @returns a hashmap from vault reserve pubkey to ReserveOverview object
|
|
395
|
+
*/
|
|
396
|
+
async getVaultReservesDetails(vault, slot, vaultReserves) {
|
|
397
|
+
return this._vaultClient.getVaultReservesDetails(vault, slot, vaultReserves);
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* This will return the APY of the vault under the assumption that all the available tokens in the vault are all the time invested in the reserves
|
|
401
|
+
* @param vault - the kamino vault to get APY for
|
|
402
|
+
* @param slot - current slot
|
|
403
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
404
|
+
* @returns APY for the vault
|
|
405
|
+
*/
|
|
406
|
+
async getVaultTheoreticalAPY(vault, slot, vaultReserves) {
|
|
407
|
+
return this._vaultClient.getVaultTheoreticalAPY(vault, slot, vaultReserves);
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* This will load the onchain state for all the reserves that the vault has allocations for
|
|
411
|
+
* @param vaultState - the vault state to load reserves for
|
|
412
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
413
|
+
*/
|
|
414
|
+
async loadVaultReserves(vaultState) {
|
|
415
|
+
return this._vaultClient.loadVaultReserves(vaultState);
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* This will get the list of all reserve pubkeys that the vault has allocations for
|
|
419
|
+
* @param vaultState - the vault state to load reserves for
|
|
420
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
421
|
+
*/
|
|
422
|
+
getAllVaultReserves(vault) {
|
|
423
|
+
return this._vaultClient.getAllVaultReserves(vault);
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* This will load the onchain state for all the reserves that the vault has allocations for
|
|
427
|
+
* @param vaultState - the vault state to load reserves for
|
|
428
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
429
|
+
*/
|
|
430
|
+
getVaultReserves(vault) {
|
|
431
|
+
return this._vaultClient.getVaultReserves(vault);
|
|
432
|
+
}
|
|
379
433
|
/**
|
|
380
434
|
* This will trigger invest by balancing, based on weights, the reserve allocations of the vault. It can either withdraw or deposit into reserves to balance them. This is a function that should be cranked
|
|
381
435
|
* @param kaminoVault - vault to invest from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/vault.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Connection, Keypair, PublicKey, TransactionInstruction } from '@solana/web3.js';
|
|
2
|
-
import { PubkeyHashMap, Reserve } from '../lib';
|
|
2
|
+
import { KaminoReserve, PubkeyHashMap, Reserve } from '../lib';
|
|
3
3
|
import { VaultConfigFieldKind } from '../idl_codegen_kamino_vault/types';
|
|
4
4
|
import { VaultState } from '../idl_codegen_kamino_vault/accounts';
|
|
5
5
|
import Decimal from 'decimal.js';
|
|
6
6
|
import { ReserveWithAddress } from './reserve';
|
|
7
7
|
export declare const kaminoVaultId: PublicKey;
|
|
8
|
+
export declare const kaminoVaultStagingId: PublicKey;
|
|
8
9
|
/**
|
|
9
10
|
* KaminoVaultClient is a class that provides a high-level interface to interact with the Kamino Vault program.
|
|
10
11
|
*/
|
|
@@ -68,7 +69,7 @@ export declare class KaminoVaultClient {
|
|
|
68
69
|
* @param tokenAmount - token amount to be deposited, in decimals (will be converted in lamports)
|
|
69
70
|
* @returns - an array of instructions to be used to be executed
|
|
70
71
|
*/
|
|
71
|
-
depositIxs(user: PublicKey, vault: KaminoVault, tokenAmount: Decimal): Promise<TransactionInstruction[]>;
|
|
72
|
+
depositIxs(user: PublicKey, vault: KaminoVault, tokenAmount: Decimal, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<TransactionInstruction[]>;
|
|
72
73
|
/**
|
|
73
74
|
* This function will return the missing ATA creation instructions, as well as one or multiple withdraw instructions, based on how many reserves it's needed to withdraw from. This might have to be split in multiple transactions
|
|
74
75
|
* @param user - user to withdraw
|
|
@@ -133,8 +134,48 @@ export declare class KaminoVaultClient {
|
|
|
133
134
|
* @returns an HashMap of reserves (key) with the amount available to withdraw for each (value)
|
|
134
135
|
*/
|
|
135
136
|
private getReserveAllocationAvailableLiquidityToWithdraw;
|
|
136
|
-
|
|
137
|
-
|
|
137
|
+
/**
|
|
138
|
+
* This will get the list of all reserve pubkeys that the vault has allocations for
|
|
139
|
+
* @param vaultState - the vault state to load reserves for
|
|
140
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
141
|
+
*/
|
|
142
|
+
getAllVaultReserves(vault: VaultState): PublicKey[];
|
|
143
|
+
/**
|
|
144
|
+
* This will get the list of all reserve pubkeys that the vault has allocations for ex
|
|
145
|
+
* @param vaultState - the vault state to load reserves for
|
|
146
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
147
|
+
*/
|
|
148
|
+
getVaultReserves(vault: VaultState): PublicKey[];
|
|
149
|
+
/**
|
|
150
|
+
* This will load the onchain state for all the reserves that the vault has allocations for
|
|
151
|
+
* @param vaultState - the vault state to load reserves for
|
|
152
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
153
|
+
*/
|
|
154
|
+
loadVaultReserves(vaultState: VaultState): Promise<PubkeyHashMap<PublicKey, KaminoReserve>>;
|
|
155
|
+
/**
|
|
156
|
+
* This will return an Holdings object which contains the amount available (uninvested) in vault, total amount invested in reseves and a breakdown of the amount invested in each reserve
|
|
157
|
+
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
158
|
+
* @param slot - current slot
|
|
159
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
160
|
+
* @returns an Holdings object
|
|
161
|
+
*/
|
|
162
|
+
getVaultHoldings(vault: VaultState, slot: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<VaultHoldings>;
|
|
163
|
+
/**
|
|
164
|
+
* This will return an overview of each reserve that is part of the vault allocation
|
|
165
|
+
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
166
|
+
* @param slot - current slot
|
|
167
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
168
|
+
* @returns a hashmap from vault reserve pubkey to ReserveOverview object
|
|
169
|
+
*/
|
|
170
|
+
getVaultReservesDetails(vault: VaultState, slot: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<PubkeyHashMap<PublicKey, ReserveOverview>>;
|
|
171
|
+
/**
|
|
172
|
+
* This will return the APY of the vault under the assumption that all the available tokens in the vault are all the time invested in the reserves
|
|
173
|
+
* @param vault - the kamino vault to get APY for
|
|
174
|
+
* @param slot - current slot
|
|
175
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
176
|
+
* @returns APY for the vault
|
|
177
|
+
*/
|
|
178
|
+
getVaultTheoreticalAPY(vault: VaultState, slot: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>): Promise<Decimal>;
|
|
138
179
|
}
|
|
139
180
|
export declare class KaminoVault {
|
|
140
181
|
readonly address: PublicKey;
|
|
@@ -182,4 +223,15 @@ export type VaultHolder = {
|
|
|
182
223
|
holderPubkey: PublicKey;
|
|
183
224
|
amount: Decimal;
|
|
184
225
|
};
|
|
226
|
+
export type VaultHoldings = {
|
|
227
|
+
available: Decimal;
|
|
228
|
+
invested: Decimal;
|
|
229
|
+
investedInReserves: PubkeyHashMap<PublicKey, Decimal>;
|
|
230
|
+
};
|
|
231
|
+
export type ReserveOverview = {
|
|
232
|
+
supplyAPY: Decimal;
|
|
233
|
+
uUtilizationRatio: Decimal;
|
|
234
|
+
liquidationThresholdPct: Decimal;
|
|
235
|
+
borrowedAmount: Decimal;
|
|
236
|
+
};
|
|
185
237
|
//# sourceMappingURL=vault.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EACV,OAAO,EACP,SAAS,EAIT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,
|
|
1
|
+
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/vault.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ReserveAllocationConfig = exports.KaminoVaultConfig = exports.KaminoVault = exports.KaminoVaultClient = exports.kaminoVaultId = void 0;
|
|
6
|
+
exports.ReserveAllocationConfig = exports.KaminoVaultConfig = exports.KaminoVault = exports.KaminoVaultClient = exports.kaminoVaultStagingId = exports.kaminoVaultId = void 0;
|
|
7
7
|
exports.getCTokenVaultPda = getCTokenVaultPda;
|
|
8
8
|
const anchor_1 = require("@coral-xyz/anchor");
|
|
9
9
|
const web3_js_1 = require("@solana/web3.js");
|
|
@@ -22,6 +22,7 @@ const seeds_1 = require("../utils/seeds");
|
|
|
22
22
|
const bs58_1 = __importDefault(require("bs58"));
|
|
23
23
|
const rpc_1 = require("../utils/rpc");
|
|
24
24
|
exports.kaminoVaultId = new web3_js_1.PublicKey('kvauTFR8qm1dhniz6pYuBZkuene3Hfrs1VQhVRgCNrr');
|
|
25
|
+
exports.kaminoVaultStagingId = new web3_js_1.PublicKey('STkvh7ostar39Fwr4uZKASs1RNNuYMFMTsE77FiRsL2');
|
|
25
26
|
const TOKEN_VAULT_SEED = 'token_vault';
|
|
26
27
|
const CTOKEN_VAULT_SEED = 'ctoken_vault';
|
|
27
28
|
const BASE_VAULT_AUTHORITY_SEED = 'authority';
|
|
@@ -257,7 +258,7 @@ class KaminoVaultClient {
|
|
|
257
258
|
* @param tokenAmount - token amount to be deposited, in decimals (will be converted in lamports)
|
|
258
259
|
* @returns - an array of instructions to be used to be executed
|
|
259
260
|
*/
|
|
260
|
-
async depositIxs(user, vault, tokenAmount) {
|
|
261
|
+
async depositIxs(user, vault, tokenAmount, vaultReservesMap) {
|
|
261
262
|
const vaultState = await vault.getState(this._connection);
|
|
262
263
|
const userTokenAta = (0, lib_1.getAssociatedTokenAddress)(vaultState.tokenMint, user);
|
|
263
264
|
const createAtasIxns = [];
|
|
@@ -300,7 +301,7 @@ class KaminoVaultClient {
|
|
|
300
301
|
};
|
|
301
302
|
const depositIx = (0, deposit_1.deposit)(depositArgs, depoistAccounts, this._kaminoVaultProgramId);
|
|
302
303
|
const vaultReserves = this.getVaultReserves(vaultState);
|
|
303
|
-
const vaultReservesState = await this.loadVaultReserves(vaultState);
|
|
304
|
+
const vaultReservesState = vaultReservesMap ? vaultReservesMap : await this.loadVaultReserves(vaultState);
|
|
304
305
|
let vaultReservesAccountMetas = [];
|
|
305
306
|
let vaultReservesLendingMarkets = [];
|
|
306
307
|
vaultReserves.forEach((reserve) => {
|
|
@@ -696,11 +697,29 @@ class KaminoVaultClient {
|
|
|
696
697
|
});
|
|
697
698
|
return reserveAllocationAvailableLiquidityToWithdraw;
|
|
698
699
|
}
|
|
700
|
+
/**
|
|
701
|
+
* This will get the list of all reserve pubkeys that the vault has allocations for
|
|
702
|
+
* @param vaultState - the vault state to load reserves for
|
|
703
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
704
|
+
*/
|
|
705
|
+
getAllVaultReserves(vault) {
|
|
706
|
+
return vault.vaultAllocationStrategy.map((vaultAllocation) => vaultAllocation.reserve);
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* This will get the list of all reserve pubkeys that the vault has allocations for ex
|
|
710
|
+
* @param vaultState - the vault state to load reserves for
|
|
711
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
712
|
+
*/
|
|
699
713
|
getVaultReserves(vault) {
|
|
700
714
|
return vault.vaultAllocationStrategy
|
|
701
715
|
.filter((vaultAllocation) => !vaultAllocation.reserve.equals(web3_js_1.PublicKey.default))
|
|
702
716
|
.map((vaultAllocation) => vaultAllocation.reserve);
|
|
703
717
|
}
|
|
718
|
+
/**
|
|
719
|
+
* This will load the onchain state for all the reserves that the vault has allocations for
|
|
720
|
+
* @param vaultState - the vault state to load reserves for
|
|
721
|
+
* @returns a hashmap from each reserve pubkey to the reserve state
|
|
722
|
+
*/
|
|
704
723
|
async loadVaultReserves(vaultState) {
|
|
705
724
|
const vaultReservesAddresses = this.getVaultReserves(vaultState);
|
|
706
725
|
const reserveAccounts = await this._connection.getMultipleAccountsInfo(vaultReservesAddresses, 'processed');
|
|
@@ -726,6 +745,91 @@ class KaminoVaultClient {
|
|
|
726
745
|
});
|
|
727
746
|
return kaminoReserves;
|
|
728
747
|
}
|
|
748
|
+
/**
|
|
749
|
+
* This will return an Holdings object which contains the amount available (uninvested) in vault, total amount invested in reseves and a breakdown of the amount invested in each reserve
|
|
750
|
+
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
751
|
+
* @param slot - current slot
|
|
752
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
753
|
+
* @returns an Holdings object
|
|
754
|
+
*/
|
|
755
|
+
async getVaultHoldings(vault, slot, vaultReserves) {
|
|
756
|
+
const vaultHoldings = {
|
|
757
|
+
available: new decimal_js_1.default(vault.tokenAvailable.toString()),
|
|
758
|
+
invested: new decimal_js_1.default(0),
|
|
759
|
+
investedInReserves: new lib_1.PubkeyHashMap(),
|
|
760
|
+
};
|
|
761
|
+
const vaultReservesState = vaultReserves ? vaultReserves : await this.loadVaultReserves(vault);
|
|
762
|
+
vault.vaultAllocationStrategy.forEach((allocationStrategy) => {
|
|
763
|
+
if (allocationStrategy.reserve.equals(web3_js_1.PublicKey.default)) {
|
|
764
|
+
return;
|
|
765
|
+
}
|
|
766
|
+
const reserve = vaultReservesState.get(allocationStrategy.reserve);
|
|
767
|
+
if (reserve === undefined) {
|
|
768
|
+
throw new Error(`Reserve ${allocationStrategy.reserve.toBase58()} not found`);
|
|
769
|
+
}
|
|
770
|
+
const reserveCollExchangeRate = reserve.getEstimatedCollateralExchangeRate(slot, 0);
|
|
771
|
+
const reserveAllocationLiquidityAmount = new decimal_js_1.default(allocationStrategy.cTokenAllocation.toString()).mul(reserveCollExchangeRate);
|
|
772
|
+
vaultHoldings.invested = vaultHoldings.invested.add(reserveAllocationLiquidityAmount);
|
|
773
|
+
vaultHoldings.investedInReserves.set(allocationStrategy.reserve, reserveAllocationLiquidityAmount);
|
|
774
|
+
});
|
|
775
|
+
return vaultHoldings;
|
|
776
|
+
}
|
|
777
|
+
/**
|
|
778
|
+
* This will return an overview of each reserve that is part of the vault allocation
|
|
779
|
+
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
780
|
+
* @param slot - current slot
|
|
781
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
782
|
+
* @returns a hashmap from vault reserve pubkey to ReserveOverview object
|
|
783
|
+
*/
|
|
784
|
+
async getVaultReservesDetails(vault, slot, vaultReserves) {
|
|
785
|
+
const vaultReservesState = vaultReserves ? vaultReserves : await this.loadVaultReserves(vault);
|
|
786
|
+
const reservesDetails = new lib_1.PubkeyHashMap();
|
|
787
|
+
vault.vaultAllocationStrategy.forEach((allocationStrategy) => {
|
|
788
|
+
if (allocationStrategy.reserve.equals(web3_js_1.PublicKey.default)) {
|
|
789
|
+
return;
|
|
790
|
+
}
|
|
791
|
+
const reserve = vaultReservesState.get(allocationStrategy.reserve);
|
|
792
|
+
if (reserve === undefined) {
|
|
793
|
+
throw new Error(`Reserve ${allocationStrategy.reserve.toBase58()} not found`);
|
|
794
|
+
}
|
|
795
|
+
reserve.getBorrowedAmount();
|
|
796
|
+
const reserveOverview = {
|
|
797
|
+
supplyAPY: new decimal_js_1.default(reserve.totalSupplyAPY(slot)),
|
|
798
|
+
uUtilizationRatio: new decimal_js_1.default(reserve.getEstimatedUtilizationRatio(slot, 0)),
|
|
799
|
+
liquidationThresholdPct: new decimal_js_1.default(reserve.state.config.liquidationThresholdPct),
|
|
800
|
+
borrowedAmount: reserve.getBorrowedAmount(),
|
|
801
|
+
};
|
|
802
|
+
reservesDetails.set(allocationStrategy.reserve, reserveOverview);
|
|
803
|
+
});
|
|
804
|
+
return reservesDetails;
|
|
805
|
+
}
|
|
806
|
+
/**
|
|
807
|
+
* This will return the APY of the vault under the assumption that all the available tokens in the vault are all the time invested in the reserves
|
|
808
|
+
* @param vault - the kamino vault to get APY for
|
|
809
|
+
* @param slot - current slot
|
|
810
|
+
* @param vaultReserves - optional parameter; a hashmap from each reserve pubkey to the reserve state. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
811
|
+
* @returns APY for the vault
|
|
812
|
+
*/
|
|
813
|
+
async getVaultTheoreticalAPY(vault, slot, vaultReserves) {
|
|
814
|
+
const vaultReservesState = vaultReserves ? vaultReserves : await this.loadVaultReserves(vault);
|
|
815
|
+
let totalWeights = new decimal_js_1.default(0);
|
|
816
|
+
let totalAPY = new decimal_js_1.default(0);
|
|
817
|
+
vault.vaultAllocationStrategy.forEach((allocationStrategy) => {
|
|
818
|
+
if (allocationStrategy.reserve.equals(web3_js_1.PublicKey.default)) {
|
|
819
|
+
return;
|
|
820
|
+
}
|
|
821
|
+
const reserve = vaultReservesState.get(allocationStrategy.reserve);
|
|
822
|
+
if (reserve === undefined) {
|
|
823
|
+
throw new Error(`Reserve ${allocationStrategy.reserve.toBase58()} not found`);
|
|
824
|
+
}
|
|
825
|
+
const reserveAPY = new decimal_js_1.default(reserve.totalSupplyAPY(slot));
|
|
826
|
+
const weight = new decimal_js_1.default(allocationStrategy.targetAllocationWeight.toString());
|
|
827
|
+
const weightedAPY = reserveAPY.mul(weight);
|
|
828
|
+
totalAPY = totalAPY.add(weightedAPY);
|
|
829
|
+
totalWeights = totalWeights.add(weight);
|
|
830
|
+
});
|
|
831
|
+
return totalAPY.div(totalWeights);
|
|
832
|
+
}
|
|
729
833
|
} // KaminoVaultClient
|
|
730
834
|
exports.KaminoVaultClient = KaminoVaultClient;
|
|
731
835
|
class KaminoVault {
|