@kamino-finance/klend-sdk
Version:
Typescript SDK for interacting with the Kamino Lending (klend) protocol
50 lines • 2.4 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.decodeVaultState = decodeVaultState;
const VaultState_1 = require("../idl_codegen_kamino_vault/accounts/VaultState");
const VaultAllocation_1 = require("../idl_codegen_kamino_vault/types/VaultAllocation");
function decodeVaultState(data) {
if (!VaultState_1.VaultState.discriminator.equals(data.slice(0, 8))) {
throw new Error('invalid account discriminator');
}
const dec = VaultState_1.VaultState.layout.decode(data.slice(8));
return new VaultState_1.VaultState({
vaultAdminAuthority: dec.vaultAdminAuthority,
baseVaultAuthority: dec.baseVaultAuthority,
baseVaultAuthorityBump: dec.baseVaultAuthorityBump,
tokenMint: dec.tokenMint,
tokenMintDecimals: dec.tokenMintDecimals,
tokenVault: dec.tokenVault,
tokenProgram: dec.tokenProgram,
sharesMint: dec.sharesMint,
sharesMintDecimals: dec.sharesMintDecimals,
tokenAvailable: dec.tokenAvailable,
sharesIssued: dec.sharesIssued,
availableCrankFunds: dec.availableCrankFunds,
padding0: dec.padding0,
performanceFeeBps: dec.performanceFeeBps,
managementFeeBps: dec.managementFeeBps,
lastFeeChargeTimestamp: dec.lastFeeChargeTimestamp,
prevAumSf: dec.prevAumSf,
pendingFeesSf: dec.pendingFeesSf,
vaultAllocationStrategy: dec.vaultAllocationStrategy.map((item /* eslint-disable-line @typescript-eslint/no-explicit-any */) => VaultAllocation_1.VaultAllocation.fromDecoded(item)),
padding1: dec.padding1,
minDepositAmount: dec.minDepositAmount,
minWithdrawAmount: dec.minWithdrawAmount,
minInvestAmount: dec.minInvestAmount,
minInvestDelaySlots: dec.minInvestDelaySlots,
crankFundFeePerReserve: dec.crankFundFeePerReserve,
pendingAdmin: dec.pendingAdmin,
cumulativeEarnedInterestSf: dec.cumulativeEarnedInterestSf,
cumulativeMgmtFeesSf: dec.cumulativeMgmtFeesSf,
cumulativePerfFeesSf: dec.cumulativePerfFeesSf,
name: dec.name,
vaultLookupTable: dec.vaultLookupTable,
vaultFarm: dec.vaultFarm,
creationTimestamp: dec.creationTimestamp,
padding2: dec.padding2,
allocationAdmin: dec.allocationAdmin,
padding3: dec.padding3,
});
}
//# sourceMappingURL=vault.js.map