Struct TrustThreshold
pub struct TrustThreshold {
pub numerator: u64,
pub denominator: u64,
}
Expand description
Defines the level of trust that a client has towards a set of validators of a chain.
A trust threshold is represented as a fraction, i.e., a numerator and and a denominator. A typical trust threshold is 1/3 in practice. This type accepts even a value of 0, (numerator = 0, denominator = 0), which is used in the client state of an upgrading client.
Fields§
§numerator: u64
§denominator: u64
Implementations§
§impl TrustThreshold
impl TrustThreshold
pub const ONE_THIRD: TrustThreshold = _
pub const ONE_THIRD: TrustThreshold = _
Constant for a trust threshold of 1/3.
pub const TWO_THIRDS: TrustThreshold = _
pub const TWO_THIRDS: TrustThreshold = _
Constant for a trust threshold of 2/3.
pub const ZERO: TrustThreshold = _
pub const ZERO: TrustThreshold = _
Constant for a trust threshold of 0/0.
pub fn new(numerator: u64, denominator: u64) -> Result<TrustThreshold, Error>
pub fn new(numerator: u64, denominator: u64) -> Result<TrustThreshold, Error>
Instantiate a TrustThreshold with the given denominator and numerator.
The constructor succeeds if long as the resulting fraction
is in the range[0, 1)
.
pub fn denominator(&self) -> u64
pub fn denominator(&self) -> u64
The denominator of the fraction underlying this trust threshold.
Trait Implementations§
§impl Clone for TrustThreshold
impl Clone for TrustThreshold
§fn clone(&self) -> TrustThreshold
fn clone(&self) -> TrustThreshold
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 more§impl Debug for TrustThreshold
impl Debug for TrustThreshold
§impl Default for TrustThreshold
impl Default for TrustThreshold
§fn default() -> TrustThreshold
fn default() -> TrustThreshold
Returns the “default value” for a type. Read more
§impl<'de> Deserialize<'de> for TrustThreshold
impl<'de> Deserialize<'de> for TrustThreshold
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TrustThreshold, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TrustThreshold, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl Display for TrustThreshold
impl Display for TrustThreshold
§impl From<TrustThresholdFraction> for TrustThreshold
impl From<TrustThresholdFraction> for TrustThreshold
Conversion from Tendermint domain type into IBC domain type.
§fn from(t: TrustThresholdFraction) -> TrustThreshold
fn from(t: TrustThresholdFraction) -> TrustThreshold
Converts to this type from the input type.
§impl PartialEq for TrustThreshold
impl PartialEq for TrustThreshold
§impl Protobuf<Fraction> for TrustThreshold
impl Protobuf<Fraction> for TrustThreshold
§fn encode<B>(self, buf: &mut B) -> Result<(), Error>where
B: BufMut,
fn encode<B>(self, buf: &mut B) -> Result<(), Error>where
B: BufMut,
Encode into a buffer in Protobuf format. Read more
§fn encode_length_delimited<B>(self, buf: &mut B) -> Result<(), Error>where
B: BufMut,
fn encode_length_delimited<B>(self, buf: &mut B) -> Result<(), Error>where
B: BufMut,
Encode with a length-delimiter to a buffer in Protobuf format. Read more
§fn decode<B>(buf: B) -> Result<Self, Error>where
B: Buf,
fn decode<B>(buf: B) -> Result<Self, Error>where
B: Buf,
Constructor that attempts to decode an instance from a buffer. Read more
§fn decode_length_delimited<B>(buf: B) -> Result<Self, Error>where
B: Buf,
fn decode_length_delimited<B>(buf: B) -> Result<Self, Error>where
B: Buf,
Constructor that attempts to decode a length-delimited instance from
the buffer. Read more
§fn encoded_len(self) -> usize
fn encoded_len(self) -> usize
Returns the encoded length of the message without a length delimiter. Read more
§fn encode_vec(self) -> Vec<u8>
fn encode_vec(self) -> Vec<u8>
Encodes into a Protobuf-encoded
Vec<u8>
.§fn decode_vec(v: &[u8]) -> Result<Self, Error>
fn decode_vec(v: &[u8]) -> Result<Self, Error>
Constructor that attempts to decode a Protobuf-encoded instance from a
Vec<u8>
(or equivalent).§fn encode_length_delimited_vec(self) -> Vec<u8>
fn encode_length_delimited_vec(self) -> Vec<u8>
Encode with a length-delimiter to a
Vec<u8>
Protobuf-encoded message.§fn decode_length_delimited_vec(v: &[u8]) -> Result<Self, Error>
fn decode_length_delimited_vec(v: &[u8]) -> Result<Self, Error>
Constructor that attempts to decode a Protobuf-encoded instance with a
length-delimiter from a
Vec<u8>
or equivalent.§impl Serialize for TrustThreshold
impl Serialize for TrustThreshold
§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 TryFrom<Fraction> for TrustThreshold
impl TryFrom<Fraction> for TrustThreshold
§fn try_from(
value: Fraction,
) -> Result<TrustThreshold, <TrustThreshold as TryFrom<Fraction>>::Error>
fn try_from( value: Fraction, ) -> Result<TrustThreshold, <TrustThreshold as TryFrom<Fraction>>::Error>
Performs the conversion.
impl Copy for TrustThreshold
impl Eq for TrustThreshold
impl StructuralPartialEq for TrustThreshold
Auto Trait Implementations§
impl Freeze for TrustThreshold
impl RefUnwindSafe for TrustThreshold
impl Send for TrustThreshold
impl Sync for TrustThreshold
impl Unpin for TrustThreshold
impl UnwindSafe for TrustThreshold
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§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>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request