Module tulipv2_sdk_vaults::accounts
source · [−]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 correctlyderive 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