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
👎Deprecated since 1.16.7: Please use
solana_sdk::stake::state::warmup_cooldown_rate()
insteadhow 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, ) -> Delegation
pub fn is_bootstrap(&self) -> bool
pub fn stake<T>(
&self,
epoch: u64,
history: &T,
new_rate_activation_epoch: Option<u64>,
) -> u64where
T: StakeHistoryGetEntry,
pub fn stake_activating_and_deactivating<T>(
&self,
target_epoch: u64,
history: &T,
new_rate_activation_epoch: Option<u64>,
) -> StakeHistoryEntrywhere
T: StakeHistoryGetEntry,
Trait Implementations§
Source§impl BorshDeserialize for Delegation
impl BorshDeserialize for Delegation
fn deserialize_reader<__R>(reader: &mut __R) -> Result<Delegation, Error>where
__R: Read,
Source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
Source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl BorshDeserialize for Delegation
impl BorshDeserialize for Delegation
fn deserialize_reader<R>(reader: &mut R) -> Result<Delegation, Error>where
R: Read,
Source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
Source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl BorshSchema for Delegation
impl BorshSchema for Delegation
Source§fn declaration() -> String
fn declaration() -> String
Get the name of the type without brackets.
Source§fn add_definitions_recursively(definitions: &mut BTreeMap<String, Definition>)
fn add_definitions_recursively(definitions: &mut BTreeMap<String, Definition>)
Recursively, using DFS, add type definitions required for this type.
Type definition partially explains how to serialize/deserialize a type.
Source§impl BorshSchema for Delegation
impl BorshSchema for Delegation
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>)
fn add_definitions_recursively(definitions: &mut HashMap<String, 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>,
)
fn add_definition( declaration: String, definition: Definition, definitions: &mut HashMap<String, Definition>, )
Helper method to add a single type definition to the map.
fn schema_container() -> BorshSchemaContainer
Source§impl BorshSerialize for Delegation
impl BorshSerialize for Delegation
Source§impl BorshSerialize for Delegation
impl BorshSerialize for Delegation
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 for Delegation
impl PartialEq for Delegation
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
impl Copy for Delegation
impl StructuralPartialEq for Delegation
Auto Trait Implementations§
impl Freeze for Delegation
impl RefUnwindSafe for Delegation
impl Send for Delegation
impl Sync for Delegation
impl Unpin for Delegation
impl UnwindSafe for Delegation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more