pub trait MultiVaultProgramConfig {
Show 19 methods
fn account(&self) -> Pubkey;
fn pda(&self) -> Pubkey;
fn shares_mint(&self) -> Pubkey;
fn underlying_compound_queue(&self) -> Pubkey;
fn underlying_deposit_queue(&self) -> Pubkey;
fn underlying_withdraw_queue(&self) -> Pubkey;
fn underlying_mint(&self) -> Pubkey;
fn rebalance_state_transition(&self) -> Pubkey;
fn rebalance_state_transition_underlying(&self) -> Pubkey;
fn optimizer_shares_account(&self, platform: Platform) -> Pubkey;
fn issue_shares(&self, user: Pubkey) -> Box<dyn IssueShares>;
fn permissioned_issue_shares(&self, user: Pubkey) -> Box<dyn IssueShares>;
fn register_deposit_tracking(
&self,
user: Pubkey
) -> Box<dyn RegisterDepositTracking>;
fn withdraw_deposit_tracking(
&self,
user: Pubkey
) -> Box<dyn WithdrawDepositTracking>;
fn withdraw_multi_deposit_optimizer_vault(
&self,
user: Pubkey,
platform: Platform
) -> Result<Box<dyn WithdrawMultiOptimizerVault>, Error>;
fn remaining_accounts(&self, platform: Platform) -> Vec<Pubkey>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,;
fn standalone_config(
&self,
platform: Platform
) -> Box<dyn StandaloneVaultProgramConfig>;
fn farm(&self) -> Farm;
fn tag(&self) -> &str;
}Expand description
trait type that is used to return configuration information, instruction helpers, etc… for any given multi deposit optimizer vault, aka strategy vault.
Required Methods
fn account(&self) -> Pubkey
fn pda(&self) -> Pubkey
fn underlying_compound_queue(&self) -> Pubkey
fn underlying_deposit_queue(&self) -> Pubkey
fn underlying_withdraw_queue(&self) -> Pubkey
fn underlying_mint(&self) -> Pubkey
fn rebalance_state_transition(&self) -> Pubkey
fn rebalance_state_transition_underlying(&self) -> Pubkey
fn register_deposit_tracking(
&self,
user: Pubkey
) -> Box<dyn RegisterDepositTracking>
fn withdraw_deposit_tracking(
&self,
user: Pubkey
) -> Box<dyn WithdrawDepositTracking>
fn withdraw_multi_deposit_optimizer_vault(
&self,
user: Pubkey,
platform: Platform
) -> Result<Box<dyn WithdrawMultiOptimizerVault>, Error>
sourcefn remaining_accounts(&self, platform: Platform) -> Vec<Pubkey>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
fn remaining_accounts(&self, platform: Platform) -> Vec<Pubkey>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
returns the remaining accounts needed for withdrawal instructions to the specific platform
sourcefn standalone_config(
&self,
platform: Platform
) -> Box<dyn StandaloneVaultProgramConfig>
fn standalone_config(
&self,
platform: Platform
) -> Box<dyn StandaloneVaultProgramConfig>
returns an implementation of StandaloneVaultProgramConfig trait for the specified platform