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(rustdoc::bare_urls, rustdoc::broken_intra_doc_links)]
7#![forbid(unsafe_code)]
8#![warn(trivial_casts, trivial_numeric_casts, unused_import_braces)]
9
10pub mod traits;
11mod type_urls;
12
13pub use prost;
14pub use prost_types::Any;
15pub use tendermint_proto as tendermint;
16
17pub const COSMOS_SDK_VERSION: &str = include_str!("prost/cosmos-sdk/COSMOS_SDK_COMMIT");
19
20pub mod cosmos {
22    pub mod auth {
24        pub mod v1beta1 {
25            include!("prost/cosmos-sdk/cosmos.auth.v1beta1.rs");
26        }
27    }
28
29    pub mod authz {
31        pub mod v1beta1 {
32            include!("prost/cosmos-sdk/cosmos.authz.v1beta1.rs");
33        }
34    }
35
36    pub mod bank {
38        pub mod v1beta1 {
39            include!("prost/cosmos-sdk/cosmos.bank.v1beta1.rs");
40        }
41    }
42
43    pub mod base {
45        pub mod abci {
50            pub mod v1beta1 {
51                include!("prost/cosmos-sdk/cosmos.base.abci.v1beta1.rs");
52            }
53        }
54
55        pub mod kv {
57            pub mod v1beta1 {
58                include!("prost/cosmos-sdk/cosmos.base.kv.v1beta1.rs");
59            }
60        }
61
62        pub mod query {
64            pub mod v1beta1 {
65                include!("prost/cosmos-sdk/cosmos.base.query.v1beta1.rs");
66            }
67        }
68
69        pub mod reflection {
71            pub mod v1beta1 {
72                include!("prost/cosmos-sdk/cosmos.base.reflection.v1beta1.rs");
73            }
74
75            pub mod v2alpha1 {
76                include!("prost/cosmos-sdk/cosmos.base.reflection.v2alpha1.rs");
77            }
78        }
79
80        pub mod snapshots {
82            pub mod v1beta1 {
83                include!("prost/cosmos-sdk/cosmos.base.snapshots.v1beta1.rs");
84            }
85        }
86
87        pub mod store {
89            pub mod v1beta1 {
90                include!("prost/cosmos-sdk/cosmos.base.store.v1beta1.rs");
91            }
92        }
93
94        pub mod v1beta1 {
95            include!("prost/cosmos-sdk/cosmos.base.v1beta1.rs");
96        }
97
98        pub mod tendermint {
99            pub mod v1beta1 {
100                include!("prost/cosmos-sdk/cosmos.base.tendermint.v1beta1.rs");
101            }
102        }
103    }
104
105    pub mod crisis {
107        pub mod v1beta1 {
108            include!("prost/cosmos-sdk/cosmos.crisis.v1beta1.rs");
109        }
110    }
111
112    pub mod crypto {
114        pub mod multisig {
116            include!("prost/cosmos-sdk/cosmos.crypto.multisig.rs");
117            pub mod v1beta1 {
118                include!("prost/cosmos-sdk/cosmos.crypto.multisig.v1beta1.rs");
119            }
120        }
121        pub mod ed25519 {
122            include!("prost/cosmos-sdk/cosmos.crypto.ed25519.rs");
123        }
124        pub mod secp256k1 {
125            include!("prost/cosmos-sdk/cosmos.crypto.secp256k1.rs");
126        }
127        pub mod secp256r1 {
128            include!("prost/cosmos-sdk/cosmos.crypto.secp256r1.rs");
129        }
130    }
131
132    pub mod distribution {
134        pub mod v1beta1 {
135            include!("prost/cosmos-sdk/cosmos.distribution.v1beta1.rs");
136        }
137    }
138
139    pub mod evidence {
141        pub mod v1beta1 {
142            include!("prost/cosmos-sdk/cosmos.evidence.v1beta1.rs");
143        }
144    }
145
146    pub mod feegrant {
148        pub mod v1beta1 {
149            include!("prost/cosmos-sdk/cosmos.feegrant.v1beta1.rs");
150        }
151    }
152
153    pub mod genutil {
155        pub mod v1beta1 {
156            include!("prost/cosmos-sdk/cosmos.genutil.v1beta1.rs");
157        }
158    }
159
160    pub mod gov {
162        pub mod v1beta1 {
163            include!("prost/cosmos-sdk/cosmos.gov.v1beta1.rs");
164        }
165    }
166
167    pub mod mint {
169        pub mod v1beta1 {
170            include!("prost/cosmos-sdk/cosmos.mint.v1beta1.rs");
171        }
172    }
173
174    pub mod params {
176        pub mod v1beta1 {
177            include!("prost/cosmos-sdk/cosmos.params.v1beta1.rs");
178        }
179    }
180
181    pub mod slashing {
183        pub mod v1beta1 {
184            include!("prost/cosmos-sdk/cosmos.slashing.v1beta1.rs");
185        }
186    }
187
188    pub mod staking {
190        pub mod v1beta1 {
191            include!("prost/cosmos-sdk/cosmos.staking.v1beta1.rs");
192        }
193    }
194
195    pub mod tx {
197        pub mod signing {
199            pub mod v1beta1 {
200                include!("prost/cosmos-sdk/cosmos.tx.signing.v1beta1.rs");
201            }
202        }
203
204        pub mod v1beta1 {
205            include!("prost/cosmos-sdk/cosmos.tx.v1beta1.rs");
206        }
207    }
208
209    pub mod upgrade {
211        pub mod v1beta1 {
212            include!("prost/cosmos-sdk/cosmos.upgrade.v1beta1.rs");
213        }
214    }
215
216    pub mod vesting {
218        pub mod v1beta1 {
219            include!("prost/cosmos-sdk/cosmos.vesting.v1beta1.rs");
220        }
221    }
222}
223
224pub mod juno {
225    pub mod mint {
226        include!("prost/cosmos-sdk/juno.mint.rs");
227    }
228
229    pub mod oracle {
230        pub mod v1 {
231            include!("prost/cosmos-sdk/juno.oracle.v1.rs");
232        }
233    }
234}
235
236pub mod osmosis {
237    pub mod tokenfactory {
238        pub mod v1beta1 {
239            include!("prost/cosmos-sdk/osmosis.tokenfactory.v1beta1.rs");
240        }
241    }
242}
243
244#[cfg(feature = "cosmwasm")]
246#[cfg_attr(docsrs, doc(cfg(feature = "cosmwasm")))]
247pub mod cosmwasm {
248    pub mod wasm {
250        pub mod v1 {
251            include!("prost/wasmd/cosmwasm.wasm.v1.rs");
252        }
253    }
254}
255
256pub mod ibc {
258    pub mod applications {
260        pub mod interchain_accounts {
262            pub mod controller {
263                pub mod v1 {
264                    include!("prost/ibc-go/ibc.applications.interchain_accounts.controller.v1.rs");
265                }
266            }
267
268            pub mod host {
269                pub mod v1 {
270                    include!("prost/ibc-go/ibc.applications.interchain_accounts.host.v1.rs");
271                }
272            }
273
274            pub mod v1 {
275                include!("prost/ibc-go/ibc.applications.interchain_accounts.v1.rs");
276            }
277        }
278
279        pub mod transfer {
281            pub mod v1 {
282                include!("prost/ibc-go/ibc.applications.transfer.v1.rs");
283            }
284
285            pub mod v2 {
286                include!("prost/ibc-go/ibc.applications.transfer.v2.rs");
287            }
288        }
289    }
290
291    pub mod core {
293        pub mod channel {
295            pub mod v1 {
296                include!("prost/ibc-go/ibc.core.channel.v1.rs");
297            }
298        }
299
300        pub mod client {
302            pub mod v1 {
303                include!("prost/ibc-go/ibc.core.client.v1.rs");
304            }
305        }
306
307        pub mod commitment {
309            pub mod v1 {
310                include!("prost/ibc-go/ibc.core.commitment.v1.rs");
311            }
312        }
313
314        pub mod connection {
316            pub mod v1 {
317                include!("prost/ibc-go/ibc.core.connection.v1.rs");
318            }
319        }
320
321        pub mod types {
323            pub mod v1 {
324                include!("prost/ibc-go/ibc.core.types.v1.rs");
325            }
326        }
327    }
328
329    pub mod lightclients {
331        pub mod localhost {
332            pub mod v1 {
333                include!("prost/ibc-go/ibc.lightclients.localhost.v1.rs");
334            }
335        }
336        pub mod solomachine {
337            pub mod v1 {
338                include!("prost/ibc-go/ibc.lightclients.solomachine.v1.rs");
339            }
340
341            pub mod v2 {
342                include!("prost/ibc-go/ibc.lightclients.solomachine.v2.rs");
343            }
344        }
345        pub mod tendermint {
346            pub mod v1 {
347                include!("prost/ibc-go/ibc.lightclients.tendermint.v1.rs");
348            }
349        }
350    }
351}
352
353pub mod ics23 {
355    include!("prost/ibc-go/ics23.rs");
356}