pub struct ValidatorParams {
pub pub_key_types: Vec<String>,
pub voting_power_threshold: Option<u64>,
}Expand description
ValidatorParams restrict the public key types validators can use. NOTE: uses ABCI pubkey naming, not Amino names.
Fields§
§pub_key_types: Vec<String>§voting_power_threshold: Option<u64>Threshold defines the minimum voting power of validators that must vote for a proposal to be considered signed and added to the block.
For Dash Platform, the voting power can be calculated by multiply of the number of validators
and const DefaultDashVotingPower == 100.
The following validation rules MUST be enforced:
- For validator sets containing 1 or 2 validators, the threshold MUST be equal to the total voting power of these validators.
- For validator set with 3 validators, the threshold MUST be equal or greater than 2/3 of the total voting power.
- For validator sets containing more than 3 validators, the threshold MUST be greater than 2/3 of the total voting power.
If set to 0, default value is determined based on LLMQ quorum type defined for the network, with a fall back to 2/3 + 1 of the total voting power.
If absent, previous value is used.
[(gogoproto.nullable) = true]
Implementations§
Source§impl ValidatorParams
impl ValidatorParams
Sourcepub fn voting_power_threshold(&self) -> u64
pub fn voting_power_threshold(&self) -> u64
Returns the value of voting_power_threshold, or the default value if voting_power_threshold is unset.
Trait Implementations§
Source§impl Clone for ValidatorParams
impl Clone for ValidatorParams
Source§fn clone(&self) -> ValidatorParams
fn clone(&self) -> ValidatorParams
Returns a duplicate 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 ValidatorParams
impl Debug for ValidatorParams
Source§impl Default for ValidatorParams
impl Default for ValidatorParams
Source§impl<'de> Deserialize<'de> for ValidatorParams
impl<'de> Deserialize<'de> for ValidatorParams
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 Hash for ValidatorParams
impl Hash for ValidatorParams
Source§impl Message for ValidatorParams
impl Message for ValidatorParams
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
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,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
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,
Encodes the message with a length-delimiter to a buffer. Read more
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,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
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,
Decodes a length-delimited instance of the message from the buffer.
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,
Decodes an instance of the message from a buffer, and merges it into
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,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.Source§impl PartialEq for ValidatorParams
impl PartialEq for ValidatorParams
Source§impl Serialize for ValidatorParams
impl Serialize for ValidatorParams
impl Eq for ValidatorParams
impl StructuralPartialEq for ValidatorParams
Auto Trait Implementations§
impl Freeze for ValidatorParams
impl RefUnwindSafe for ValidatorParams
impl Send for ValidatorParams
impl Sync for ValidatorParams
impl Unpin for ValidatorParams
impl UnwindSafe for ValidatorParams
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§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>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
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>,
Applies the layer to a service and wraps it in [
Layered].