Struct Validator
pub struct Validator {Show 13 fields
pub operator_address: String,
pub consensus_pubkey: Option<Any>,
pub jailed: bool,
pub status: i32,
pub tokens: String,
pub delegator_shares: String,
pub description: Option<Description>,
pub unbonding_height: i64,
pub unbonding_time: Option<Timestamp>,
pub commission: Option<Commission>,
pub min_self_delegation: String,
pub unbonding_on_hold_ref_count: i64,
pub unbonding_ids: Vec<u64>,
}
Expand description
Validator defines a validator, together with the total amount of the Validator’s bond shares and their exchange rate to coins. Slashing results in a decrease in the exchange rate, allowing correct calculation of future undelegations without iterating over delegators. When coins are delegated to this validator, the validator is credited with a delegation whose number of bond shares is based on the amount of coins delegated divided by the current exchange rate. Voting power can be calculated as total bonded shares multiplied by exchange rate.
Fields§
§operator_address: String
operator_address defines the address of the validator’s operator; bech encoded in JSON.
consensus_pubkey: Option<Any>
consensus_pubkey is the consensus public key of the validator, as a Protobuf Any.
jailed: bool
jailed defined whether the validator has been jailed from bonded status or not.
status: i32
status is the validator status (bonded/unbonding/unbonded).
tokens: String
tokens define the delegated tokens (incl. self-delegation).
delegator_shares defines total shares issued to a validator’s delegators.
description: Option<Description>
description defines the description terms for the validator.
unbonding_height: i64
unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.
unbonding_time: Option<Timestamp>
unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.
commission: Option<Commission>
commission defines the commission parameters.
min_self_delegation: String
min_self_delegation is the validator’s self declared minimum self delegation.
Since: cosmos-sdk 0.46
unbonding_on_hold_ref_count: i64
strictly positive if this validator’s unbonding has been stopped by external modules
unbonding_ids: Vec<u64>
list of unbonding ids, each uniquely identifing an unbonding of this validator
Implementations§
§impl Validator
impl Validator
pub fn status(&self) -> BondStatus
pub fn status(&self) -> BondStatus
Returns the enum value of status
, or the default if the field is set to an invalid enum value.
pub fn set_status(&mut self, value: BondStatus)
pub fn set_status(&mut self, value: BondStatus)
Sets status
to the provided enum value.
Trait Implementations§
§impl Message for Validator
impl Message for Validator
§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.§impl Name for Validator
impl Name for Validator
§const NAME: &'static str = "Validator"
const NAME: &'static str = "Validator"
Message
.
This name is the same as it appears in the source .proto file, e.g. FooBar
.§const PACKAGE: &'static str = "cosmos.staking.v1beta1"
const PACKAGE: &'static str = "cosmos.staking.v1beta1"
.
, e.g. google.protobuf
.§fn full_name() -> String
fn full_name() -> String
Message
.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation
.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.impl StructuralPartialEq for Validator
Auto Trait Implementations§
impl Freeze for Validator
impl RefUnwindSafe for Validator
impl Send for Validator
impl Sync for Validator
impl Unpin for Validator
impl UnwindSafe for Validator
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read moreSource§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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered
].