pub struct PrincipalProtectionVaultV1 {
pub initialized: bool,
pub vault_name: String,
pub keys: PrincipalProtectionAccountsV1,
pub allocation_strategy: SecondLegAllocationStrategy,
pub lending_strategy: LendingStrategy,
}Fields§
§initialized: bool§vault_name: String§keys: PrincipalProtectionAccountsV1§allocation_strategy: SecondLegAllocationStrategy§lending_strategy: LendingStrategyImplementations§
Source§impl PrincipalProtectionVaultV1
impl PrincipalProtectionVaultV1
pub const LEN: usize = 9_460usize
pub fn get_underlying_deposit_queue(&self) -> Pubkey
pub fn get_underlying_withdraw_queue(&self) -> Pubkey
pub fn get_primary_lending_vault_keys(&self) -> &PrimaryVaultKeys
pub fn get_primary_lending_vault_pda(&self) -> Pubkey
pub fn get_deposit_into_lending_ata(&self) -> Pubkey
pub fn get_option_token_pool(&self) -> Pubkey
pub fn get_deposit_tracking_pda(&self) -> Pubkey
pub fn get_deposit_tracking_account(&self) -> Pubkey
pub fn get_primary_lending_vault_pk(&self) -> Pubkey
pub fn get_primary_lending_vault_program_id(&self) -> Pubkey
Trait Implementations§
Source§impl AccountDeserialize for PrincipalProtectionVaultV1
impl AccountDeserialize for PrincipalProtectionVaultV1
Source§fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
Deserializes previously initialized account data. Should fail for all
uninitialized accounts, where the bytes are zeroed. Implementations
should be unique to a particular account type so that one can never
successfully deserialize the data of one account type into another.
For example, if the SPL token program were to implement this trait,
it should be impossible to deserialize a
Mint account into a token
Account.Source§fn try_deserialize_unchecked(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize_unchecked(buf: &mut &[u8]) -> Result<Self>
Deserializes account data without checking the account discriminator.
This should only be used on account initialization, when the bytes of
the account are zeroed.
Source§impl Clone for PrincipalProtectionVaultV1
impl Clone for PrincipalProtectionVaultV1
Source§fn clone(&self) -> PrincipalProtectionVaultV1
fn clone(&self) -> PrincipalProtectionVaultV1
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PrincipalProtectionVaultV1
impl Debug for PrincipalProtectionVaultV1
Source§impl Discriminator for PrincipalProtectionVaultV1
impl Discriminator for PrincipalProtectionVaultV1
fn discriminator() -> [u8; 8]
Auto Trait Implementations§
impl Freeze for PrincipalProtectionVaultV1
impl RefUnwindSafe for PrincipalProtectionVaultV1
impl Send for PrincipalProtectionVaultV1
impl Sync for PrincipalProtectionVaultV1
impl Unpin for PrincipalProtectionVaultV1
impl UnwindSafe for PrincipalProtectionVaultV1
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more