desmos_bindings/proto/ibc/core/client/
v1.rs

1/// IdentifiedClientState defines a client state with an additional client
2/// identifier field.
3#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(
5    Clone,
6    PartialEq,
7    ::prost::Message,
8    schemars::JsonSchema,
9    serde::Serialize,
10    serde::Deserialize,
11    desmos_std_derive::CosmwasmExt,
12)]
13#[proto_message(type_url = "/ibc.core.client.v1.IdentifiedClientState")]
14#[serde(rename_all = "snake_case")]
15pub struct IdentifiedClientState {
16    /// client identifier
17    #[prost(string, tag = "1")]
18    pub client_id: ::prost::alloc::string::String,
19    /// client state
20    #[prost(message, optional, tag = "2")]
21    pub client_state: ::core::option::Option<crate::shim::Any>,
22}
23/// ConsensusStateWithHeight defines a consensus state with an additional height
24/// field.
25#[allow(clippy::derive_partial_eq_without_eq)]
26#[derive(
27    Clone,
28    PartialEq,
29    ::prost::Message,
30    schemars::JsonSchema,
31    serde::Serialize,
32    serde::Deserialize,
33    desmos_std_derive::CosmwasmExt,
34)]
35#[proto_message(type_url = "/ibc.core.client.v1.ConsensusStateWithHeight")]
36#[serde(rename_all = "snake_case")]
37pub struct ConsensusStateWithHeight {
38    /// consensus state height
39    #[prost(message, optional, tag = "1")]
40    pub height: ::core::option::Option<Height>,
41    /// consensus state
42    #[prost(message, optional, tag = "2")]
43    pub consensus_state: ::core::option::Option<crate::shim::Any>,
44}
45/// ClientConsensusStates defines all the stored consensus states for a given
46/// client.
47#[allow(clippy::derive_partial_eq_without_eq)]
48#[derive(
49    Clone,
50    PartialEq,
51    ::prost::Message,
52    schemars::JsonSchema,
53    serde::Serialize,
54    serde::Deserialize,
55    desmos_std_derive::CosmwasmExt,
56)]
57#[proto_message(type_url = "/ibc.core.client.v1.ClientConsensusStates")]
58#[serde(rename_all = "snake_case")]
59pub struct ClientConsensusStates {
60    /// client identifier
61    #[prost(string, tag = "1")]
62    pub client_id: ::prost::alloc::string::String,
63    /// consensus states and their heights associated with the client
64    #[prost(message, repeated, tag = "2")]
65    pub consensus_states: ::prost::alloc::vec::Vec<ConsensusStateWithHeight>,
66}
67/// ClientUpdateProposal is a governance proposal. If it passes, the substitute
68/// client's latest consensus state is copied over to the subject client. The proposal
69/// handler may fail if the subject and the substitute do not match in client and
70/// chain parameters (with exception to latest height, frozen height, and chain-id).
71#[allow(clippy::derive_partial_eq_without_eq)]
72#[derive(
73    Clone,
74    PartialEq,
75    ::prost::Message,
76    schemars::JsonSchema,
77    serde::Serialize,
78    serde::Deserialize,
79    desmos_std_derive::CosmwasmExt,
80)]
81#[proto_message(type_url = "/ibc.core.client.v1.ClientUpdateProposal")]
82#[serde(rename_all = "snake_case")]
83pub struct ClientUpdateProposal {
84    /// the title of the update proposal
85    #[prost(string, tag = "1")]
86    pub title: ::prost::alloc::string::String,
87    /// the description of the proposal
88    #[prost(string, tag = "2")]
89    pub description: ::prost::alloc::string::String,
90    /// the client identifier for the client to be updated if the proposal passes
91    #[prost(string, tag = "3")]
92    pub subject_client_id: ::prost::alloc::string::String,
93    /// the substitute client identifier for the client standing in for the subject
94    /// client
95    #[prost(string, tag = "4")]
96    pub substitute_client_id: ::prost::alloc::string::String,
97}
98/// UpgradeProposal is a gov Content type for initiating an IBC breaking
99/// upgrade.
100#[allow(clippy::derive_partial_eq_without_eq)]
101#[derive(
102    Clone,
103    PartialEq,
104    ::prost::Message,
105    schemars::JsonSchema,
106    serde::Serialize,
107    serde::Deserialize,
108    desmos_std_derive::CosmwasmExt,
109)]
110#[proto_message(type_url = "/ibc.core.client.v1.UpgradeProposal")]
111#[serde(rename_all = "snake_case")]
112pub struct UpgradeProposal {
113    #[prost(string, tag = "1")]
114    pub title: ::prost::alloc::string::String,
115    #[prost(string, tag = "2")]
116    pub description: ::prost::alloc::string::String,
117    #[prost(message, optional, tag = "3")]
118    pub plan: ::core::option::Option<super::super::super::super::cosmos::upgrade::v1beta1::Plan>,
119    /// An UpgradedClientState must be provided to perform an IBC breaking upgrade.
120    /// This will make the chain commit to the correct upgraded (self) client state
121    /// before the upgrade occurs, so that connecting chains can verify that the
122    /// new upgraded client is valid by verifying a proof on the previous version
123    /// of the chain. This will allow IBC connections to persist smoothly across
124    /// planned chain upgrades
125    #[prost(message, optional, tag = "4")]
126    pub upgraded_client_state: ::core::option::Option<crate::shim::Any>,
127}
128/// Height is a monotonically increasing data type
129/// that can be compared against another Height for the purposes of updating and
130/// freezing clients
131///
132/// Normally the RevisionHeight is incremented at each height while keeping
133/// RevisionNumber the same. However some consensus algorithms may choose to
134/// reset the height in certain conditions e.g. hard forks, state-machine
135/// breaking changes In these cases, the RevisionNumber is incremented so that
136/// height continues to be monitonically increasing even as the RevisionHeight
137/// gets reset
138#[allow(clippy::derive_partial_eq_without_eq)]
139#[derive(
140    Clone,
141    PartialEq,
142    ::prost::Message,
143    schemars::JsonSchema,
144    serde::Serialize,
145    serde::Deserialize,
146    desmos_std_derive::CosmwasmExt,
147)]
148#[proto_message(type_url = "/ibc.core.client.v1.Height")]
149#[serde(rename_all = "snake_case")]
150pub struct Height {
151    /// the revision that the client is currently on
152    #[prost(uint64, tag = "1")]
153    #[serde(
154        serialize_with = "crate::serde::as_str::serialize",
155        deserialize_with = "crate::serde::as_str::deserialize"
156    )]
157    pub revision_number: u64,
158    /// the height within the given revision
159    #[prost(uint64, tag = "2")]
160    #[serde(
161        serialize_with = "crate::serde::as_str::serialize",
162        deserialize_with = "crate::serde::as_str::deserialize"
163    )]
164    pub revision_height: u64,
165}
166/// Params defines the set of IBC light client parameters.
167#[allow(clippy::derive_partial_eq_without_eq)]
168#[derive(
169    Clone,
170    PartialEq,
171    ::prost::Message,
172    schemars::JsonSchema,
173    serde::Serialize,
174    serde::Deserialize,
175    desmos_std_derive::CosmwasmExt,
176)]
177#[proto_message(type_url = "/ibc.core.client.v1.Params")]
178#[serde(rename_all = "snake_case")]
179pub struct Params {
180    /// allowed_clients defines the list of allowed client state types which can be created
181    /// and interacted with. If a client type is removed from the allowed clients list, usage
182    /// of this client will be disabled until it is added again to the list.
183    #[prost(string, repeated, tag = "1")]
184    pub allowed_clients: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
185}