Struct serum_pool_schema::PoolState [−][src]
pub struct PoolState {
pub tag: PoolStateTag,
pub pool_token_mint: Address,
pub assets: Vec<AssetInfo>,
pub vault_signer: Address,
pub vault_signer_nonce: u8,
pub account_params: Vec<ParamDesc>,
pub name: String,
pub lqd_fee_vault: Address,
pub initializer_fee_vault: Address,
pub fee_rate: u32,
pub admin_key: Option<Address>,
pub custom_state: Vec<u8>,
}
Fields
tag: PoolStateTag
pool_token_mint: Address
Token mint account for the pool token.
assets: Vec<AssetInfo>
Mint and vaults for the assets in the pool.
vault_signer: Address
Mint authority for the pool token and owner for the assets in the pool.
vault_signer_nonce: u8
Nonce used to generate vault_signer
.
account_params: Vec<ParamDesc>
Additional accounts that need to be included with every request.
name: String
User-friendly pool name.
lqd_fee_vault: Address
Vault for fees collected by the pool for LQD. Mint is the pool token mint.
initializer_fee_vault: Address
Vault for fees collected by the pool for the pool initializer. Mint is the pool token mint.
fee_rate: u32
Fee on creations and redemptions, per million tokens.
admin_key: Option<Address>
Meaning depends on the pool implementation.
custom_state: Vec<u8>
Trait Implementations
impl BorshDeserialize for PoolState where
PoolStateTag: BorshDeserialize,
Address: BorshDeserialize,
Vec<AssetInfo>: BorshDeserialize,
Address: BorshDeserialize,
u8: BorshDeserialize,
Vec<ParamDesc>: BorshDeserialize,
String: BorshDeserialize,
Address: BorshDeserialize,
Address: BorshDeserialize,
u32: BorshDeserialize,
Option<Address>: BorshDeserialize,
Vec<u8>: BorshDeserialize,
impl BorshDeserialize for PoolState where
PoolStateTag: BorshDeserialize,
Address: BorshDeserialize,
Vec<AssetInfo>: BorshDeserialize,
Address: BorshDeserialize,
u8: BorshDeserialize,
Vec<ParamDesc>: BorshDeserialize,
String: BorshDeserialize,
Address: BorshDeserialize,
Address: BorshDeserialize,
u32: BorshDeserialize,
Option<Address>: BorshDeserialize,
Vec<u8>: BorshDeserialize,
Deserializes this instance from a given slice of bytes. Updates the buffer to point at the remaining bytes. Read more
Deserialize this instance from a slice of bytes.
Whether Self is u8.
NOTE: Vec<u8>
is the most common use-case for serialization and deserialization, it’s
worth handling it as a special case to improve performance.
It’s a workaround for specific Vec<u8>
implementation versus generic Vec<T>
implementation. See https://github.com/rust-lang/rfcs/pull/1210 for details. Read more
impl BorshSchema for PoolState where
PoolStateTag: BorshSchema,
Address: BorshSchema,
Vec<AssetInfo>: BorshSchema,
Address: BorshSchema,
u8: BorshSchema,
Vec<ParamDesc>: BorshSchema,
String: BorshSchema,
Address: BorshSchema,
Address: BorshSchema,
u32: BorshSchema,
Option<Address>: BorshSchema,
Vec<u8>: BorshSchema,
impl BorshSchema for PoolState where
PoolStateTag: BorshSchema,
Address: BorshSchema,
Vec<AssetInfo>: BorshSchema,
Address: BorshSchema,
u8: BorshSchema,
Vec<ParamDesc>: BorshSchema,
String: BorshSchema,
Address: BorshSchema,
Address: BorshSchema,
u32: BorshSchema,
Option<Address>: BorshSchema,
Vec<u8>: BorshSchema,
Get the name of the type without brackets.
Recursively, using DFS, add type definitions required for this type. For primitive types this is an empty map. Type definition explains how to serialize/deserialize a type. Read more
fn add_definition(
declaration: String,
definition: Definition,
definitions: &mut HashMap<String, Definition, RandomState>
)
fn add_definition(
declaration: String,
definition: Definition,
definitions: &mut HashMap<String, Definition, RandomState>
)
Helper method to add a single type definition to the map.
impl BorshSerialize for PoolState where
PoolStateTag: BorshSerialize,
Address: BorshSerialize,
Vec<AssetInfo>: BorshSerialize,
Address: BorshSerialize,
u8: BorshSerialize,
Vec<ParamDesc>: BorshSerialize,
String: BorshSerialize,
Address: BorshSerialize,
Address: BorshSerialize,
u32: BorshSerialize,
Option<Address>: BorshSerialize,
Vec<u8>: BorshSerialize,
impl BorshSerialize for PoolState where
PoolStateTag: BorshSerialize,
Address: BorshSerialize,
Vec<AssetInfo>: BorshSerialize,
Address: BorshSerialize,
u8: BorshSerialize,
Vec<ParamDesc>: BorshSerialize,
String: BorshSerialize,
Address: BorshSerialize,
Address: BorshSerialize,
u32: BorshSerialize,
Option<Address>: BorshSerialize,
Vec<u8>: BorshSerialize,
Serialize this instance into a vector of bytes.
Whether Self is u8.
NOTE: Vec<u8>
is the most common use-case for serialization and deserialization, it’s
worth handling it as a special case to improve performance.
It’s a workaround for specific Vec<u8>
implementation versus generic Vec<T>
implementation. See https://github.com/rust-lang/rfcs/pull/1210 for details. Read more
Auto Trait Implementations
impl RefUnwindSafe for PoolState
impl UnwindSafe for PoolState
Blanket Implementations
pub default fn example() -> T
Mutably borrows from an owned value. Read more