pub struct Header {
pub signed_header: SignedHeader,
pub validator_set: Set,
pub trusted_height: Height,
pub trusted_next_validator_set: Set,
}
Expand description
Tendermint consensus header
Fields§
§signed_header: SignedHeader
§validator_set: Set
§trusted_height: Height
§trusted_next_validator_set: Set
Implementations§
Source§impl Header
impl Header
pub fn timestamp(&self) -> Result<Timestamp, TendermintClientError>
pub fn height(&self) -> Height
pub fn as_untrusted_block_state(&self) -> UntrustedBlockState<'_>
pub fn as_trusted_block_state<'a>( &'a self, chain_id: &'a Id, header_time: Time, next_validators_hash: Hash, ) -> Result<TrustedBlockState<'a>, TendermintClientError>
pub fn verify_chain_id_version_matches_height( &self, chain_id: &ChainId, ) -> Result<(), TendermintClientError>
Sourcepub fn check_trusted_next_validator_set<H>(
&self,
trusted_next_validator_hash: &Hash,
) -> Result<(), ClientError>
pub fn check_trusted_next_validator_set<H>( &self, trusted_next_validator_hash: &Hash, ) -> Result<(), ClientError>
header.trusted_next_validator_set
was given to us by the relayer.
Thus, we need to ensure that the relayer gave us the right set, i.e. by
ensuring that it matches the hash we have stored on chain.
Sourcepub fn validate_basic<H>(&self) -> Result<(), TendermintClientError>
pub fn validate_basic<H>(&self) -> Result<(), TendermintClientError>
Checks if the fields of a given header are consistent with the trusted fields of this header.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Header
impl<'de> Deserialize<'de> for Header
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Header, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Header, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<Header> for ConsensusState
impl From<Header> for ConsensusState
Source§fn from(header: Header) -> ConsensusState
fn from(header: Header) -> ConsensusState
Converts to this type from the input type.
Source§impl Protobuf<Any> for Header
impl Protobuf<Any> for Header
Source§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
Source§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
Source§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
Source§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
Source§fn encoded_len(self) -> usize
fn encoded_len(self) -> usize
Returns the encoded length of the message without a length delimiter. Read more
Source§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).Source§impl Protobuf<Header> for Header
impl Protobuf<Header> for Header
Source§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
Source§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
Source§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
Source§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
Source§fn encoded_len(self) -> usize
fn encoded_len(self) -> usize
Returns the encoded length of the message without a length delimiter. Read more
Source§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).Source§impl Serialize for Header
impl Serialize for Header
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 Eq for Header
impl StructuralPartialEq for Header
Auto Trait Implementations§
impl Freeze for Header
impl RefUnwindSafe for Header
impl Send for Header
impl Sync for Header
impl Unpin for Header
impl UnwindSafe for Header
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