Struct solana_program::stake::state::Delegation
source · pub struct Delegation {
pub voter_pubkey: Pubkey,
pub stake: u64,
pub activation_epoch: Epoch,
pub deactivation_epoch: Epoch,
pub warmup_cooldown_rate: f64,
}
Fields§
§voter_pubkey: Pubkey
to whom the stake is delegated
stake: u64
activated stake amount, set at delegate() time
activation_epoch: Epoch
epoch at which this stake was activated, std::Epoch::MAX if is a bootstrap stake
deactivation_epoch: Epoch
epoch the stake was deactivated, std::Epoch::MAX if not deactivated
warmup_cooldown_rate: f64
how much stake we can activate per-epoch as a fraction of currently effective stake
Implementations§
source§impl Delegation
impl Delegation
pub fn new( voter_pubkey: &Pubkey, stake: u64, activation_epoch: Epoch, warmup_cooldown_rate: f64 ) -> Self
pub fn is_bootstrap(&self) -> bool
pub fn stake(&self, epoch: Epoch, history: Option<&StakeHistory>) -> u64
pub fn stake_activating_and_deactivating( &self, target_epoch: Epoch, history: Option<&StakeHistory> ) -> StakeActivationStatus
Trait Implementations§
source§impl AbiExample for Delegation
impl AbiExample for Delegation
source§impl BorshDeserialize for Delegationwhere
Pubkey: BorshDeserialize,
u64: BorshDeserialize,
Epoch: BorshDeserialize,
f64: BorshDeserialize,
impl BorshDeserialize for Delegationwhere Pubkey: BorshDeserialize, u64: BorshDeserialize, Epoch: BorshDeserialize, f64: BorshDeserialize,
source§impl BorshSchema for Delegationwhere
Pubkey: BorshSchema,
u64: BorshSchema,
Epoch: BorshSchema,
f64: BorshSchema,
impl BorshSchema for Delegationwhere Pubkey: BorshSchema, u64: BorshSchema, Epoch: BorshSchema, f64: BorshSchema,
source§fn declaration() -> Declaration
fn declaration() -> Declaration
Get the name of the type without brackets.
source§fn add_definitions_recursively(
definitions: &mut HashMap<Declaration, Definition>
)
fn add_definitions_recursively( definitions: &mut HashMap<Declaration, Definition> )
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.
source§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.
fn schema_container() -> BorshSchemaContainer
source§impl BorshSerialize for Delegationwhere
Pubkey: BorshSerialize,
u64: BorshSerialize,
Epoch: BorshSerialize,
f64: BorshSerialize,
impl BorshSerialize for Delegationwhere Pubkey: BorshSerialize, u64: BorshSerialize, Epoch: BorshSerialize, f64: BorshSerialize,
source§impl Clone for Delegation
impl Clone for Delegation
source§fn clone(&self) -> Delegation
fn clone(&self) -> Delegation
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for Delegation
impl Debug for Delegation
source§impl Default for Delegation
impl Default for Delegation
source§impl<'de> Deserialize<'de> for Delegation
impl<'de> Deserialize<'de> for Delegation
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq<Delegation> for Delegation
impl PartialEq<Delegation> for Delegation
source§fn eq(&self, other: &Delegation) -> bool
fn eq(&self, other: &Delegation) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.