Expand description

provides the core data structures used by v2 vaults, most importantly the VaultBaseV1.

Modules

lending optimizer vault which focuses on obtaining the maximum interest rate possible for any supported asset
multi deposit optimizer vault which deposits into one or more lending optimizer vaults to obtain the highest yield possible
vault type for farming non double dip and double dip orca aquafarms
provides a vault implementation targeting the Quarry protocol this vault type may or may not need to be wrapped in additional accounts depending on how Quarry is being used
provides a tokenized shares vault targeting the Raydium protocol capable of supporting any v4 and onwards Raydium AMM farm
tracking accounts used for tracking rewards over time, performing an initial deposit lock up, as well as providing additional ephemeral account types used during withdrawal processes.
a base vault component providing tokenized shares, as well as pausable deposits / withdraws

Structs

shared arguments used for stage one initialization of all vaults

Traits

Base trait defines a trait that must be implemented by all custom vaults and is used to define shared methods of accessing the underlying base vault

Functions

derive the address used for the underlying token mint compound queue there is no corresponding function for deposit queue as it uses an ATA
derives the address used to store configuration data information
derives the address used to store lending platform information in
derives the address used by a lending optimizer vault for storing mango account information in
derive the address used to store state transition information during multi deposit vault rebalancing
derive the vault base address, which is the main pda signing pda used by the vault itself.
derive the address used by quarry vaults to store configuration information
derives the address used for the shares token mint which uses the vault address, and the mint of the underlying asset as the seeds
derive the address used to store tracking account information in
for double dip orca vaults, we need an account that holds onto the non double dip farm tokens before we revert them.
derive the address used by the tracking account for signing
derive the address used as the temporary account for temporarily storing share tokens during a withdrawal process
derive the address of a vault, using the tag as an additional seed. while the tag can be up any series of u8’s up to 32 bytes in length, it is intended to be used with strings. there is no hard requirements for the format of this tag, however it is recommended that if the tag is 31 bytes or less, you use a newline delimiter (\n) so that UI, and other clients can render the data correctly
derive the address used for the underlying token mint withdraw queue there is no corresponding function for deposit queue as it uses an ATA
parses a formatted named as given by vault_base::VaultBaseV1::formatted_name() into it’s two parts, the farm name, and the tag