#[repr(C)]pub struct VaultState {Show 44 fields
pub vault_admin_authority: Pubkey,
pub base_vault_authority: Pubkey,
pub base_vault_authority_bump: u64,
pub token_mint: Pubkey,
pub token_mint_decimals: u64,
pub token_vault: Pubkey,
pub token_program: Pubkey,
pub shares_mint: Pubkey,
pub shares_mint_decimals: u64,
pub token_available: u64,
pub shares_issued: u64,
pub available_crank_funds: u64,
pub unallocated_weight: u64,
pub performance_fee_bps: u64,
pub management_fee_bps: u64,
pub last_fee_charge_timestamp: u64,
pub prev_aum_sf: PodU128,
pub pending_fees_sf: PodU128,
pub vault_allocation_strategy: [VaultAllocation; 25],
pub padding_1: [PodU128; 256],
pub min_deposit_amount: u64,
pub min_withdraw_amount: u64,
pub min_invest_amount: u64,
pub min_invest_delay_slots: u64,
pub crank_fund_fee_per_reserve: u64,
pub pending_admin: Pubkey,
pub cumulative_earned_interest_sf: PodU128,
pub cumulative_mgmt_fees_sf: PodU128,
pub cumulative_perf_fees_sf: PodU128,
pub name: [u8; 40],
pub vault_lookup_table: Pubkey,
pub vault_farm: Pubkey,
pub creation_timestamp: u64,
pub unallocated_tokens_cap: u64,
pub allocation_admin: Pubkey,
pub withdrawal_penalty_lamports: u64,
pub withdrawal_penalty_bps: u64,
pub first_loss_capital_farm: Pubkey,
pub allow_allocations_in_whitelisted_reserves_only: u8,
pub allow_invest_in_whitelisted_reserves_only: u8,
pub padding_2: [u8; 6],
pub deposit_cap: u64,
pub reward_info: VaultRewardInfo,
pub padding_3: [PodU128; 232],
}Expand description
Kamino Vault account state.
Fields§
Wallet authorised to manage the vault (update config, allocations, etc.).
PDA that signs CPI calls on behalf of the vault.
Bump seed for base_vault_authority.
token_mint: PubkeySPL token mint for the vault’s underlying asset (e.g. USDC).
token_mint_decimals: u64Decimal places of token_mint.
token_vault: PubkeyToken account holding the vault’s uninvested (available) liquidity.
token_program: PubkeyToken program for token_mint (TOKEN_PROGRAM_ID or Token-2022).
SPL mint for vault share tokens issued to depositors.
Decimal places of shares_mint.
token_available: u64Amount of underlying tokens currently available (not invested).
Total vault share tokens currently outstanding.
available_crank_funds: u64Tokens reserved for crank operation fees.
unallocated_weight: u64Weight assigned to the unallocated (idle) portion of the vault.
performance_fee_bps: u64Performance fee rate in basis points.
management_fee_bps: u64Annual management fee rate in basis points.
last_fee_charge_timestamp: u64Unix timestamp of the last fee charge.
prev_aum_sf: PodU128Previous assets under management as a scaled fraction (Fraction).
pending_fees_sf: PodU128Accrued but uncollected fees as a scaled fraction (Fraction).
vault_allocation_strategy: [VaultAllocation; 25]Per-reserve allocation slots. Active reserves have a non-default reserve pubkey.
padding_1: [PodU128; 256]Reserved for future use.
min_deposit_amount: u64Minimum token amount accepted for a deposit.
min_withdraw_amount: u64Minimum share amount accepted for a withdrawal.
min_invest_amount: u64Minimum token amount for an invest operation.
min_invest_delay_slots: u64Minimum number of slots between consecutive invest calls.
crank_fund_fee_per_reserve: u64Crank fee charged per reserve during invest operations.
pending_admin: PubkeyWallet that has been nominated as the next admin (two-step transfer).
cumulative_earned_interest_sf: PodU128Cumulative interest earned by the vault, scaled fraction.
cumulative_mgmt_fees_sf: PodU128Cumulative management fees collected, scaled fraction.
cumulative_perf_fees_sf: PodU128Cumulative performance fees collected, scaled fraction.
name: [u8; 40]Human-readable vault name (UTF-8, up to 40 bytes).
vault_lookup_table: PubkeyAddress lookup table for the vault’s accounts.
vault_farm: PubkeyKamino Farms state for the vault’s share token farm.
creation_timestamp: u64Unix timestamp when the vault was created.
unallocated_tokens_cap: u64Maximum amount of tokens that can remain unallocated.
allocation_admin: PubkeyWallet authorised to manage allocations (may differ from vault_admin_authority).
withdrawal_penalty_lamports: u64Flat withdrawal penalty in lamports.
withdrawal_penalty_bps: u64Withdrawal penalty in basis points.
first_loss_capital_farm: PubkeyFarm state for first-loss capital providers.
allow_allocations_in_whitelisted_reserves_only: u8When non-zero, allocations are restricted to whitelisted reserves only.
allow_invest_in_whitelisted_reserves_only: u8When non-zero, invest is restricted to whitelisted reserves only.
padding_2: [u8; 6]Reserved for future use.
deposit_cap: u64Total vault deposit cap; 0 means uncapped (for backward compatibility).
This is a soft cap that only blocks new deposits — the vault AUM can still
grow above it through earned interest.
reward_info: VaultRewardInfoReward distribution state (VaultRewardInfo).
padding_3: [PodU128; 232]Reserved for future use.
Trait Implementations§
Source§impl Clone for VaultState
impl Clone for VaultState
Source§fn clone(&self) -> VaultState
fn clone(&self) -> VaultState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for VaultState
Source§impl Debug for VaultState
impl Debug for VaultState
impl Pod for VaultState
Source§impl SplDiscriminate for VaultState
impl SplDiscriminate for VaultState
Source§const SPL_DISCRIMINATOR: ArrayDiscriminator
const SPL_DISCRIMINATOR: ArrayDiscriminator
[u8; 8]Source§const SPL_DISCRIMINATOR_SLICE: &'static [u8] = _
const SPL_DISCRIMINATOR_SLICE: &'static [u8] = _
&[u8])Auto Trait Implementations§
impl Freeze for VaultState
impl RefUnwindSafe for VaultState
impl Send for VaultState
impl Sync for VaultState
impl Unpin for VaultState
impl UnsafeUnpin for VaultState
impl UnwindSafe for VaultState
Blanket Implementations§
impl<T> AnyBitPattern for Twhere
T: Pod,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self.