Struct solana_sdk::stake::state::Delegation
source · pub struct Delegation {
pub voter_pubkey: Pubkey,
pub stake: u64,
pub activation_epoch: u64,
pub deactivation_epoch: u64,
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: u64
epoch at which this stake was activated, std::Epoch::MAX if is a bootstrap stake
deactivation_epoch: u64
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: u64, warmup_cooldown_rate: f64 ) -> Delegation
pub fn is_bootstrap(&self) -> bool
pub fn stake(&self, epoch: u64, history: Option<&StakeHistory>) -> u64
pub fn stake_activating_and_deactivating( &self, target_epoch: u64, history: Option<&StakeHistory> ) -> StakeHistoryEntry
Trait Implementations§
source§impl AbiExample for Delegation
impl AbiExample for Delegation
fn example() -> Delegation
source§impl BorshDeserialize for Delegationwhere
Pubkey: BorshDeserialize,
u64: BorshDeserialize,
f64: BorshDeserialize,
impl BorshDeserialize for Delegationwhere Pubkey: BorshDeserialize, u64: BorshDeserialize, f64: BorshDeserialize,
source§fn deserialize(buf: &mut &[u8]) -> Result<Delegation, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Delegation, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
source§impl BorshSchema for Delegationwhere
Pubkey: BorshSchema,
u64: BorshSchema,
f64: BorshSchema,
impl BorshSchema for Delegationwhere Pubkey: BorshSchema, u64: BorshSchema, f64: BorshSchema,
source§fn declaration() -> String
fn declaration() -> String
Get the name of the type without brackets.
source§fn add_definitions_recursively(
definitions: &mut HashMap<String, Definition, RandomState>
)
fn add_definitions_recursively( definitions: &mut HashMap<String, Definition, RandomState> )
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,
f64: BorshSerialize,
impl BorshSerialize for Delegationwhere Pubkey: BorshSerialize, u64: 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§fn default() -> Delegation
fn default() -> Delegation
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for Delegation
impl<'de> Deserialize<'de> for Delegation
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<Delegation, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<Delegation, <__D as Deserializer<'de>>::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 ==
.source§impl Serialize for Delegation
impl Serialize for Delegation
source§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
Serialize this value into the given Serde serializer. Read more