cosmos_sdk_proto_nymlab/
lib.rs

1#![doc = include_str!("../README.md")]
2#![doc(
3    html_logo_url = "https://raw.githubusercontent.com/cosmos/cosmos-rust/main/.images/cosmos.png"
4)]
5#![cfg_attr(docsrs, feature(doc_cfg))]
6#![allow(
7    rustdoc::bare_urls,
8    rustdoc::broken_intra_doc_links,
9    clippy::derive_partial_eq_without_eq
10)]
11#![forbid(unsafe_code)]
12#![warn(trivial_casts, trivial_numeric_casts, unused_import_braces)]
13
14pub mod traits;
15mod type_urls;
16
17pub use prost;
18pub use prost_types::Any;
19pub use tendermint_proto as tendermint;
20
21/// The version (commit hash) of the Cosmos SDK used when generating this library.
22pub const COSMOS_SDK_VERSION: &str = include_str!("prost/cosmos-sdk/COSMOS_SDK_COMMIT");
23
24/// Cosmos protobuf definitions.
25pub mod cosmos {
26    /// Authentication of accounts and transactions.
27    pub mod auth {
28        pub mod v1beta1 {
29            include!("prost/cosmos-sdk/cosmos.auth.v1beta1.rs");
30        }
31    }
32
33    /// Granting of arbitrary privileges from one account to another.
34    pub mod authz {
35        pub mod v1beta1 {
36            include!("prost/cosmos-sdk/cosmos.authz.v1beta1.rs");
37        }
38    }
39
40    /// Balances.
41    pub mod bank {
42        pub mod v1beta1 {
43            include!("prost/cosmos-sdk/cosmos.bank.v1beta1.rs");
44        }
45    }
46
47    /// Base functionality.
48    pub mod base {
49        /// Application BlockChain Interface (ABCI).
50        ///
51        /// Interface that defines the boundary between the replication engine
52        /// (the blockchain), and the state machine (the application).
53        pub mod abci {
54            pub mod v1beta1 {
55                include!("prost/cosmos-sdk/cosmos.base.abci.v1beta1.rs");
56            }
57        }
58
59        /// Key-value pairs.
60        pub mod kv {
61            pub mod v1beta1 {
62                include!("prost/cosmos-sdk/cosmos.base.kv.v1beta1.rs");
63            }
64        }
65
66        /// Query support.
67        pub mod query {
68            pub mod v1beta1 {
69                include!("prost/cosmos-sdk/cosmos.base.query.v1beta1.rs");
70            }
71        }
72
73        /// Reflection support.
74        pub mod reflection {
75            pub mod v1beta1 {
76                include!("prost/cosmos-sdk/cosmos.base.reflection.v1beta1.rs");
77            }
78
79            pub mod v2alpha1 {
80                include!("prost/cosmos-sdk/cosmos.base.reflection.v2alpha1.rs");
81            }
82        }
83
84        /// Snapshots containing Tendermint state sync info.
85        pub mod snapshots {
86            pub mod v1beta1 {
87                include!("prost/cosmos-sdk/cosmos.base.snapshots.v1beta1.rs");
88            }
89        }
90
91        /// Data structure that holds the state of the application.
92        pub mod store {
93            pub mod v1beta1 {
94                include!("prost/cosmos-sdk/cosmos.base.store.v1beta1.rs");
95            }
96        }
97
98        pub mod v1beta1 {
99            include!("prost/cosmos-sdk/cosmos.base.v1beta1.rs");
100        }
101
102        pub mod tendermint {
103            pub mod v1beta1 {
104                include!("prost/cosmos-sdk/cosmos.base.tendermint.v1beta1.rs");
105            }
106        }
107    }
108
109    /// Crisis handling
110    pub mod crisis {
111        pub mod v1beta1 {
112            include!("prost/cosmos-sdk/cosmos.crisis.v1beta1.rs");
113        }
114    }
115
116    /// Cryptographic primitives.
117    pub mod crypto {
118        /// Multi-signature support.
119        pub mod multisig {
120            include!("prost/cosmos-sdk/cosmos.crypto.multisig.rs");
121            pub mod v1beta1 {
122                include!("prost/cosmos-sdk/cosmos.crypto.multisig.v1beta1.rs");
123            }
124        }
125        pub mod ed25519 {
126            include!("prost/cosmos-sdk/cosmos.crypto.ed25519.rs");
127        }
128        pub mod secp256k1 {
129            include!("prost/cosmos-sdk/cosmos.crypto.secp256k1.rs");
130        }
131        pub mod secp256r1 {
132            include!("prost/cosmos-sdk/cosmos.crypto.secp256r1.rs");
133        }
134    }
135
136    /// Messages and services handling token distribution
137    pub mod distribution {
138        pub mod v1beta1 {
139            include!("prost/cosmos-sdk/cosmos.distribution.v1beta1.rs");
140        }
141    }
142
143    /// Messages and services handling evidence
144    pub mod evidence {
145        pub mod v1beta1 {
146            include!("prost/cosmos-sdk/cosmos.evidence.v1beta1.rs");
147        }
148    }
149
150    /// Allows accounts to grant fee allowances and to use fees from their accounts.
151    pub mod feegrant {
152        pub mod v1beta1 {
153            include!("prost/cosmos-sdk/cosmos.feegrant.v1beta1.rs");
154        }
155    }
156
157    /// Messages and services handling gentx's
158    pub mod genutil {
159        pub mod v1beta1 {
160            include!("prost/cosmos-sdk/cosmos.genutil.v1beta1.rs");
161        }
162    }
163
164    /// Messages and services handling governance
165    pub mod gov {
166        pub mod v1beta1 {
167            include!("prost/cosmos-sdk/cosmos.gov.v1beta1.rs");
168        }
169    }
170
171    /// Messages and services handling minting
172    pub mod mint {
173        pub mod v1beta1 {
174            include!("prost/cosmos-sdk/cosmos.mint.v1beta1.rs");
175        }
176    }
177
178    /// Messages and services handling chain parameters
179    pub mod params {
180        pub mod v1beta1 {
181            include!("prost/cosmos-sdk/cosmos.params.v1beta1.rs");
182        }
183    }
184
185    /// Handling slashing parameters and unjailing
186    pub mod slashing {
187        pub mod v1beta1 {
188            include!("prost/cosmos-sdk/cosmos.slashing.v1beta1.rs");
189        }
190    }
191
192    /// Proof-of-Stake layer for public blockchains.
193    pub mod staking {
194        pub mod v1beta1 {
195            include!("prost/cosmos-sdk/cosmos.staking.v1beta1.rs");
196        }
197    }
198
199    /// Transactions.
200    pub mod tx {
201        /// Transaction signing support.
202        pub mod signing {
203            pub mod v1beta1 {
204                include!("prost/cosmos-sdk/cosmos.tx.signing.v1beta1.rs");
205            }
206        }
207
208        pub mod v1beta1 {
209            include!("prost/cosmos-sdk/cosmos.tx.v1beta1.rs");
210        }
211    }
212
213    /// Services for the upgrade module.
214    pub mod upgrade {
215        pub mod v1beta1 {
216            include!("prost/cosmos-sdk/cosmos.upgrade.v1beta1.rs");
217        }
218    }
219
220    /// Services and tx's for the vesting module.
221    pub mod vesting {
222        pub mod v1beta1 {
223            include!("prost/cosmos-sdk/cosmos.vesting.v1beta1.rs");
224        }
225    }
226    /// ICS23 protobuf definitions.
227    pub mod ics23 {
228        pub mod v1 {
229            include!("prost/ibc-go/cosmos.ics23.v1.rs");
230        }
231    }
232}
233
234/// CosmWasm protobuf definitions.
235#[cfg(feature = "cosmwasm")]
236#[cfg_attr(docsrs, doc(cfg(feature = "cosmwasm")))]
237pub mod cosmwasm {
238    /// Messages and services handling CosmWasm.
239    pub mod wasm {
240        pub mod v1 {
241            include!("prost/wasmd/cosmwasm.wasm.v1.rs");
242        }
243    }
244}
245
246/// IBC protobuf definitions.
247pub mod ibc {
248    /// IBC applications.
249    pub mod applications {
250        /// Interchain accounts support.
251        pub mod interchain_accounts {
252            pub mod controller {
253                pub mod v1 {
254                    include!("prost/ibc-go/ibc.applications.interchain_accounts.controller.v1.rs");
255                }
256            }
257
258            pub mod host {
259                pub mod v1 {
260                    include!("prost/ibc-go/ibc.applications.interchain_accounts.host.v1.rs");
261                }
262            }
263
264            pub mod v1 {
265                include!("prost/ibc-go/ibc.applications.interchain_accounts.v1.rs");
266            }
267        }
268
269        /// Transfer support.
270        pub mod transfer {
271            pub mod v1 {
272                include!("prost/ibc-go/ibc.applications.transfer.v1.rs");
273            }
274
275            pub mod v2 {
276                include!("prost/ibc-go/ibc.applications.transfer.v2.rs");
277            }
278        }
279    }
280
281    /// IBC core.
282    pub mod core {
283        /// IBC channels.
284        pub mod channel {
285            pub mod v1 {
286                include!("prost/ibc-go/ibc.core.channel.v1.rs");
287            }
288        }
289
290        /// IBC client.
291        pub mod client {
292            pub mod v1 {
293                include!("prost/ibc-go/ibc.core.client.v1.rs");
294            }
295        }
296
297        /// IBC commitments.
298        pub mod commitment {
299            pub mod v1 {
300                include!("prost/ibc-go/ibc.core.commitment.v1.rs");
301            }
302        }
303
304        /// IBC connections.
305        pub mod connection {
306            pub mod v1 {
307                include!("prost/ibc-go/ibc.core.connection.v1.rs");
308            }
309        }
310
311        /// IBC types.
312        pub mod types {
313            pub mod v1 {
314                include!("prost/ibc-go/ibc.core.types.v1.rs");
315            }
316        }
317    }
318
319    /// IBC light clients.
320    pub mod lightclients {
321        pub mod localhost {
322            pub mod v1 {
323                include!("prost/ibc-go/ibc.lightclients.localhost.v1.rs");
324            }
325            pub mod v2 {
326                include!("prost/ibc-go/ibc.lightclients.localhost.v2.rs");
327            }
328        }
329        pub mod solomachine {
330            pub mod v1 {
331                include!("prost/ibc-go/ibc.lightclients.solomachine.v1.rs");
332            }
333            pub mod v2 {
334                include!("prost/ibc-go/ibc.lightclients.solomachine.v2.rs");
335            }
336            pub mod v3 {
337                include!("prost/ibc-go/ibc.lightclients.solomachine.v3.rs");
338            }
339        }
340        pub mod tendermint {
341            pub mod v1 {
342                include!("prost/ibc-go/ibc.lightclients.tendermint.v1.rs");
343            }
344        }
345    }
346}