juno_rust_proto/
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(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
17/// The version (commit hash) of the Cosmos SDK used when generating this library.
18pub const COSMOS_SDK_VERSION: &str = include_str!("prost/cosmos-sdk/COSMOS_SDK_COMMIT");
19
20/// Cosmos protobuf definitions.
21pub mod cosmos {
22    /// Authentication of accounts and transactions.
23    pub mod auth {
24        pub mod v1beta1 {
25            include!("prost/cosmos-sdk/cosmos.auth.v1beta1.rs");
26        }
27    }
28
29    /// Granting of arbitrary privileges from one account to another.
30    pub mod authz {
31        pub mod v1beta1 {
32            include!("prost/cosmos-sdk/cosmos.authz.v1beta1.rs");
33        }
34    }
35
36    /// Balances.
37    pub mod bank {
38        pub mod v1beta1 {
39            include!("prost/cosmos-sdk/cosmos.bank.v1beta1.rs");
40        }
41    }
42
43    /// Base functionality.
44    pub mod base {
45        /// Application BlockChain Interface (ABCI).
46        ///
47        /// Interface that defines the boundary between the replication engine
48        /// (the blockchain), and the state machine (the application).
49        pub mod abci {
50            pub mod v1beta1 {
51                include!("prost/cosmos-sdk/cosmos.base.abci.v1beta1.rs");
52            }
53        }
54
55        /// Key-value pairs.
56        pub mod kv {
57            pub mod v1beta1 {
58                include!("prost/cosmos-sdk/cosmos.base.kv.v1beta1.rs");
59            }
60        }
61
62        /// Query support.
63        pub mod query {
64            pub mod v1beta1 {
65                include!("prost/cosmos-sdk/cosmos.base.query.v1beta1.rs");
66            }
67        }
68
69        /// Reflection support.
70        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        /// Snapshots containing Tendermint state sync info.
81        pub mod snapshots {
82            pub mod v1beta1 {
83                include!("prost/cosmos-sdk/cosmos.base.snapshots.v1beta1.rs");
84            }
85        }
86
87        /// Data structure that holds the state of the application.
88        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    /// Crisis handling
106    pub mod crisis {
107        pub mod v1beta1 {
108            include!("prost/cosmos-sdk/cosmos.crisis.v1beta1.rs");
109        }
110    }
111
112    /// Cryptographic primitives.
113    pub mod crypto {
114        /// Multi-signature support.
115        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    /// Messages and services handling token distribution
133    pub mod distribution {
134        pub mod v1beta1 {
135            include!("prost/cosmos-sdk/cosmos.distribution.v1beta1.rs");
136        }
137    }
138
139    /// Messages and services handling evidence
140    pub mod evidence {
141        pub mod v1beta1 {
142            include!("prost/cosmos-sdk/cosmos.evidence.v1beta1.rs");
143        }
144    }
145
146    /// Allows accounts to grant fee allowances and to use fees from their accounts.
147    pub mod feegrant {
148        pub mod v1beta1 {
149            include!("prost/cosmos-sdk/cosmos.feegrant.v1beta1.rs");
150        }
151    }
152
153    /// Messages and services handling gentx's
154    pub mod genutil {
155        pub mod v1beta1 {
156            include!("prost/cosmos-sdk/cosmos.genutil.v1beta1.rs");
157        }
158    }
159
160    /// Messages and services handling governance
161    pub mod gov {
162        pub mod v1beta1 {
163            include!("prost/cosmos-sdk/cosmos.gov.v1beta1.rs");
164        }
165    }
166
167    /// Messages and services handling minting
168    pub mod mint {
169        pub mod v1beta1 {
170            include!("prost/cosmos-sdk/cosmos.mint.v1beta1.rs");
171        }
172    }
173
174    /// Messages and services handling chain parameters
175    pub mod params {
176        pub mod v1beta1 {
177            include!("prost/cosmos-sdk/cosmos.params.v1beta1.rs");
178        }
179    }
180
181    /// Handling slashing parameters and unjailing
182    pub mod slashing {
183        pub mod v1beta1 {
184            include!("prost/cosmos-sdk/cosmos.slashing.v1beta1.rs");
185        }
186    }
187
188    /// Proof-of-Stake layer for public blockchains.
189    pub mod staking {
190        pub mod v1beta1 {
191            include!("prost/cosmos-sdk/cosmos.staking.v1beta1.rs");
192        }
193    }
194
195    /// Transactions.
196    pub mod tx {
197        /// Transaction signing support.
198        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    /// Services for the upgrade module.
210    pub mod upgrade {
211        pub mod v1beta1 {
212            include!("prost/cosmos-sdk/cosmos.upgrade.v1beta1.rs");
213        }
214    }
215
216    /// Services and tx's for the vesting module.
217    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/// CosmWasm protobuf definitions.
245#[cfg(feature = "cosmwasm")]
246#[cfg_attr(docsrs, doc(cfg(feature = "cosmwasm")))]
247pub mod cosmwasm {
248    /// Messages and services handling CosmWasm.
249    pub mod wasm {
250        pub mod v1 {
251            include!("prost/wasmd/cosmwasm.wasm.v1.rs");
252        }
253    }
254}
255
256/// IBC protobuf definitions.
257pub mod ibc {
258    /// IBC applications.
259    pub mod applications {
260        /// Interchain accounts support.
261        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        /// Transfer support.
280        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    /// IBC core.
292    pub mod core {
293        /// IBC channels.
294        pub mod channel {
295            pub mod v1 {
296                include!("prost/ibc-go/ibc.core.channel.v1.rs");
297            }
298        }
299
300        /// IBC client.
301        pub mod client {
302            pub mod v1 {
303                include!("prost/ibc-go/ibc.core.client.v1.rs");
304            }
305        }
306
307        /// IBC commitments.
308        pub mod commitment {
309            pub mod v1 {
310                include!("prost/ibc-go/ibc.core.commitment.v1.rs");
311            }
312        }
313
314        /// IBC connections.
315        pub mod connection {
316            pub mod v1 {
317                include!("prost/ibc-go/ibc.core.connection.v1.rs");
318            }
319        }
320
321        /// IBC types.
322        pub mod types {
323            pub mod v1 {
324                include!("prost/ibc-go/ibc.core.types.v1.rs");
325            }
326        }
327    }
328
329    /// IBC light clients.
330    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
353/// ICS23 protobuf definitions.
354pub mod ics23 {
355    include!("prost/ibc-go/ics23.rs");
356}