pub struct WithdrawAddresses {
    pub authority: Pubkey,
    pub multi_vault: Pubkey,
    pub multi_vault_pda: Pubkey,
    pub multi_burning_shares_token_account: Pubkey,
    pub withdraw_burning_shares_token_account: Pubkey,
    pub receiving_underlying_token_account: Pubkey,
    pub multi_underlying_withdraw_queue: Pubkey,
    pub multi_shares_mint: Pubkey,
    pub platform_config: PlatformConfigAddresses,
    pub tulip_standalone_addresses: Option<TulipStandaloneAddresses>,
    pub solend_standalone_addresses: Option<SolendStandaloneAddresses>,
    pub mango_standalone_addresses: Option<MangoStandaloneAddresses>,
}

Fields

authority: Pubkeymulti_vault: Pubkeymulti_vault_pda: Pubkeymulti_burning_shares_token_account: Pubkeywithdraw_burning_shares_token_account: Pubkeyreceiving_underlying_token_account: Pubkeymulti_underlying_withdraw_queue: Pubkeymulti_shares_mint: Pubkeyplatform_config: PlatformConfigAddressestulip_standalone_addresses: Option<TulipStandaloneAddresses>solend_standalone_addresses: Option<SolendStandaloneAddresses>mango_standalone_addresses: Option<MangoStandaloneAddresses>

Implementations

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
the main vault that users interact with, which is called a MultiDepositOptimizerVaultV1
to enable maximal defi legos, multiple “standalone vaults” may exist, where a single standalone vault is deposits one asset (ie USDC) into one protocol (ie Tulip), this allows the standalone vaults to be reused by any of tulip’s v2 vaults for maximal composability Read more
an account which stores information related to the platform/protocol a standalone vault is deposited into Read more
an account which stores configuration information related to the standalone vault for the platform/protocol being farmed Read more
the token account owned by the caller/authority which holds onto the tokenized shares issued by the multi deposit vault. these would be the tokens that you remove from a deposit tracking account with the withdraw_deposit_tracking instruction Read more
just like other v2 vaults, the standalone vaults issue shares, however these shares are held, and managed by the multi deposit vault Read more
the token account which will receive the underlying assets backing the shares once the shares have been burned Read more
a token account that holds onto assets in between various steps of the withdraw flow Read more
the mint of the tokenized shares issued by the multi deposit vault
the mint of the tokenized shares issued by the standalone vault which we are withdrawing from Read more
the deposit queue account used by the standalone vault to hold funds while they are being deposited. even though this is a withdraw instruction, the deposit queue account is needed so that when the vault rebases before the withdraw happens, all assets are accounted for Read more
returns accounts specific to the standalone vault being used Read more
returns the Instruction object which can be used to invoke the withdraw_multi_optimizer_vault instruction via CPI, or off-chain clients Read more
please note the _is_signer variable is ignored, it’s simply here to provide compatibility Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.