pub struct VoteStateV4 {Show 13 fields
pub node_pubkey: Address,
pub authorized_withdrawer: Address,
pub inflation_rewards_collector: Address,
pub block_revenue_collector: Address,
pub inflation_rewards_commission_bps: u16,
pub block_revenue_commission_bps: u16,
pub pending_delegator_rewards: u64,
pub bls_pubkey_compressed: Option<[u8; 48]>,
pub votes: VecDeque<LandedVote>,
pub root_slot: Option<u64>,
pub authorized_voters: AuthorizedVoters,
pub epoch_credits: Vec<(u64, u64, u64)>,
pub last_timestamp: BlockTimestamp,
}Fields§
§node_pubkey: AddressThe node that votes in this account.
The signer for withdrawals.
inflation_rewards_collector: AddressThe collector account for inflation rewards.
block_revenue_collector: AddressThe collector account for block revenue.
inflation_rewards_commission_bps: u16Basis points (0-10,000) that represent how much of the inflation rewards should be given to this vote account.
block_revenue_commission_bps: u16Basis points (0-10,000) that represent how much of the block revenue should be given to this vote account.
pending_delegator_rewards: u64Reward amount pending distribution to stake delegators.
bls_pubkey_compressed: Option<[u8; 48]>Compressed BLS pubkey for Alpenglow.
votes: VecDeque<LandedVote>§root_slot: Option<u64>The signer for vote transactions. Contains entries for the current epoch and the previous epoch.
epoch_credits: Vec<(u64, u64, u64)>History of credits earned by the end of each epoch. Each tuple is (Epoch, credits, prev_credits).
last_timestamp: BlockTimestampMost recent timestamp submitted with a vote.
Implementations§
Source§impl VoteStateV4
impl VoteStateV4
Sourcepub const fn size_of() -> usize
pub const fn size_of() -> usize
Upper limit on the size of the Vote State when votes.len() is MAX_LOCKOUT_HISTORY.
pub fn new_with_defaults( vote_pubkey: &Address, vote_init: &VoteInit, clock: &Clock, ) -> VoteStateV4
Sourcepub fn new(
vote_init: &VoteInitV2,
inflation_rewards_collector: &Address,
block_revenue_collector: &Address,
clock: &Clock,
) -> VoteStateV4
pub fn new( vote_init: &VoteInitV2, inflation_rewards_collector: &Address, block_revenue_collector: &Address, clock: &Clock, ) -> VoteStateV4
Creates a new VoteStateV4 from a VoteInitV2 and the collector
account addresses.
pub fn deserialize( input: &[u8], vote_pubkey: &Address, ) -> Result<VoteStateV4, InstructionError>
Sourcepub fn deserialize_into(
input: &[u8],
vote_state: &mut VoteStateV4,
vote_pubkey: &Address,
) -> Result<(), InstructionError>
pub fn deserialize_into( input: &[u8], vote_state: &mut VoteStateV4, vote_pubkey: &Address, ) -> Result<(), InstructionError>
Deserializes the input VoteStateVersions buffer directly into the provided VoteStateV4.
V0_23_5 is not supported. Supported versions: V1_14_11, V3, V4.
On success, vote_state reflects the state of the input data. On failure, vote_state is
reset to VoteStateV4::default().
Sourcepub fn deserialize_into_uninit(
input: &[u8],
vote_state: &mut MaybeUninit<VoteStateV4>,
vote_pubkey: &Address,
) -> Result<(), InstructionError>
pub fn deserialize_into_uninit( input: &[u8], vote_state: &mut MaybeUninit<VoteStateV4>, vote_pubkey: &Address, ) -> Result<(), InstructionError>
Deserializes the input VoteStateVersions buffer directly into the provided
MaybeUninit<VoteStateV4>.
V0_23_5 is not supported. Supported versions: V1_14_11, V3, V4.
On success, vote_state is fully initialized and can be converted to
VoteStateV4 using
MaybeUninit::assume_init.
On failure, vote_state may still be uninitialized and must not be
converted to VoteStateV4.
pub fn serialize( versioned: &VoteStateVersions, output: &mut [u8], ) -> Result<(), InstructionError>
pub fn is_correct_size_and_initialized(data: &[u8]) -> bool
Trait Implementations§
Source§impl AbiExample for VoteStateV4
impl AbiExample for VoteStateV4
fn example() -> VoteStateV4
Source§impl Clone for VoteStateV4
impl Clone for VoteStateV4
Source§fn clone(&self) -> VoteStateV4
fn clone(&self) -> VoteStateV4
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for VoteStateV4
impl Debug for VoteStateV4
Source§impl Default for VoteStateV4
impl Default for VoteStateV4
Source§fn default() -> VoteStateV4
fn default() -> VoteStateV4
Source§impl<'de> Deserialize<'de> for VoteStateV4
impl<'de> Deserialize<'de> for VoteStateV4
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<VoteStateV4, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<VoteStateV4, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for VoteStateV4
Source§impl PartialEq for VoteStateV4
impl PartialEq for VoteStateV4
Source§impl Serialize for VoteStateV4
impl Serialize for VoteStateV4
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,
Source§impl StableAbi for VoteStateV4
impl StableAbi for VoteStateV4
impl StructuralPartialEq for VoteStateV4
Auto Trait Implementations§
impl Freeze for VoteStateV4
impl RefUnwindSafe for VoteStateV4
impl Send for VoteStateV4
impl Sync for VoteStateV4
impl Unpin for VoteStateV4
impl UnsafeUnpin for VoteStateV4
impl UnwindSafe for VoteStateV4
Blanket Implementations§
Source§impl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, _digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
Source§impl<T> AbiEnumVisitor for Twhere
T: Serialize + AbiExample,
impl<T> AbiEnumVisitor for Twhere
T: Serialize + AbiExample,
default fn visit_for_abi( &self, digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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> ⓘ
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> ⓘ
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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.