pub struct ClientState {
pub chain_id: String,
pub trust_level: Option<Fraction>,
pub trusting_period: Option<Duration>,
pub unbonding_period: Option<Duration>,
pub max_clock_drift: Option<Duration>,
pub frozen_height: Option<Height>,
pub latest_height: Option<Height>,
pub proof_specs: Vec<ProofSpec>,
pub upgrade_path: Vec<String>,
pub allow_update_after_expiry: bool,
pub allow_update_after_misbehaviour: bool,
}
Expand description
ClientState from Tendermint tracks the current validator set, latest height, and a possible frozen height.
Fields§
§chain_id: String
§trust_level: Option<Fraction>
§trusting_period: Option<Duration>
duration of the period since the LastestTimestamp during which the submitted headers are valid for upgrade
unbonding_period: Option<Duration>
duration of the staking unbonding period
max_clock_drift: Option<Duration>
defines how much new (untrusted) header’s Time can drift into the future.
frozen_height: Option<Height>
Block height when the client was frozen due to a misbehaviour
latest_height: Option<Height>
Latest height the client was updated to
proof_specs: Vec<ProofSpec>
Proof specifications used in verifying counterparty state
upgrade_path: Vec<String>
Path at which next upgraded client will be committed.
Each element corresponds to the key for a single CommitmentProof in the
chained proof. NOTE: ClientState must stored under
{upgradePath}/{upgradeHeight}/clientState
ConsensusState must be stored
under {upgradepath}/{upgradeHeight}/consensusState
For SDK chains using
the default upgrade module, upgrade_path should be []string{“upgrade”,
“upgradedIBCState”}`
allow_update_after_expiry: bool
This flag, when set to true, will allow governance to recover a client which has expired
allow_update_after_misbehaviour: bool
This flag, when set to true, will allow governance to unfreeze a client whose chain has experienced a misbehaviour event
Trait Implementations§
Source§impl Clone for ClientState
impl Clone for ClientState
Source§fn clone(&self) -> ClientState
fn clone(&self) -> ClientState
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ClientState
impl Debug for ClientState
Source§impl Default for ClientState
impl Default for ClientState
Source§impl Message for ClientState
impl Message for ClientState
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
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<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
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<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
.