UNPKG

@kamino-finance/klend-sdk

Version:

Typescript SDK for interacting with the Kamino Lending (klend) protocol

50 lines 2.4 kB
"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