cosmos_sdk_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_auto_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#![cfg_attr(not(feature = "std"), no_std)]
14
15extern crate alloc;
16
17pub mod traits;
18
19pub use prost;
20pub use tendermint_proto as tendermint;
21pub use tendermint_proto::google::protobuf::{Any, Timestamp};
22
23/// The version (commit hash) of the Cosmos SDK used when generating this library.
24pub const COSMOS_SDK_VERSION: &str = include_str!("prost/cosmos-sdk/COSMOS_SDK_COMMIT");
25
26/// Cosmos protobuf definitions.
27pub mod cosmos {
28    /// Authentication of accounts and transactions.
29    pub mod auth {
30        pub mod v1beta1 {
31            include!("prost/cosmos-sdk/cosmos.auth.v1beta1.rs");
32        }
33    }
34
35    /// Granting of arbitrary privileges from one account to another.
36    pub mod authz {
37        pub mod v1beta1 {
38            include!("prost/cosmos-sdk/cosmos.authz.v1beta1.rs");
39        }
40    }
41
42    /// Balances.
43    pub mod bank {
44        pub mod v1beta1 {
45            include!("prost/cosmos-sdk/cosmos.bank.v1beta1.rs");
46        }
47    }
48
49    /// Base functionality.
50    pub mod base {
51        /// Application BlockChain Interface (ABCI).
52        ///
53        /// Interface that defines the boundary between the replication engine
54        /// (the blockchain), and the state machine (the application).
55        pub mod abci {
56            pub mod v1beta1 {
57                include!("prost/cosmos-sdk/cosmos.base.abci.v1beta1.rs");
58            }
59        }
60
61        /// Node requests.
62        pub mod node {
63            pub mod v1beta1 {
64                include!("prost/cosmos-sdk/cosmos.base.node.v1beta1.rs");
65            }
66        }
67
68        /// Query support.
69        pub mod query {
70            pub mod v1beta1 {
71                include!("prost/cosmos-sdk/cosmos.base.query.v1beta1.rs");
72            }
73        }
74
75        /// Reflection support.
76        pub mod reflection {
77            pub mod v1beta1 {
78                include!("prost/cosmos-sdk/cosmos.base.reflection.v1beta1.rs");
79            }
80
81            pub mod v2alpha1 {
82                include!("prost/cosmos-sdk/cosmos.base.reflection.v2alpha1.rs");
83            }
84        }
85
86        /// Tendermint support.
87        pub mod tendermint {
88            pub mod v1beta1 {
89                include!("prost/cosmos-sdk/cosmos.base.tendermint.v1beta1.rs");
90            }
91        }
92
93        pub mod v1beta1 {
94            include!("prost/cosmos-sdk/cosmos.base.v1beta1.rs");
95        }
96    }
97
98    /// Crisis handling
99    pub mod crisis {
100        pub mod v1beta1 {
101            include!("prost/cosmos-sdk/cosmos.crisis.v1beta1.rs");
102        }
103    }
104
105    /// Cryptographic primitives.
106    pub mod crypto {
107        /// Multi-signature support.
108        pub mod multisig {
109            include!("prost/cosmos-sdk/cosmos.crypto.multisig.rs");
110            pub mod v1beta1 {
111                include!("prost/cosmos-sdk/cosmos.crypto.multisig.v1beta1.rs");
112            }
113        }
114        pub mod ed25519 {
115            include!("prost/cosmos-sdk/cosmos.crypto.ed25519.rs");
116        }
117        pub mod secp256k1 {
118            include!("prost/cosmos-sdk/cosmos.crypto.secp256k1.rs");
119        }
120        pub mod secp256r1 {
121            include!("prost/cosmos-sdk/cosmos.crypto.secp256r1.rs");
122        }
123    }
124
125    /// Messages and services handling token distribution
126    pub mod distribution {
127        pub mod v1beta1 {
128            include!("prost/cosmos-sdk/cosmos.distribution.v1beta1.rs");
129        }
130    }
131
132    /// Messages and services handling evidence
133    pub mod evidence {
134        pub mod v1beta1 {
135            include!("prost/cosmos-sdk/cosmos.evidence.v1beta1.rs");
136        }
137    }
138
139    /// Allows accounts to grant fee allowances and to use fees from their accounts.
140    pub mod feegrant {
141        pub mod v1beta1 {
142            include!("prost/cosmos-sdk/cosmos.feegrant.v1beta1.rs");
143        }
144    }
145
146    /// Messages and services handling gentx's
147    pub mod genutil {
148        pub mod v1beta1 {
149            include!("prost/cosmos-sdk/cosmos.genutil.v1beta1.rs");
150        }
151    }
152
153    /// Messages and services handling governance
154    pub mod gov {
155        pub mod v1 {
156            include!("prost/cosmos-sdk/cosmos.gov.v1.rs");
157        }
158        pub mod v1beta1 {
159            include!("prost/cosmos-sdk/cosmos.gov.v1beta1.rs");
160        }
161    }
162
163    /// Messages and services handling minting
164    pub mod mint {
165        pub mod v1beta1 {
166            include!("prost/cosmos-sdk/cosmos.mint.v1beta1.rs");
167        }
168    }
169
170    /// Messages and services handling chain parameters
171    pub mod params {
172        pub mod v1beta1 {
173            include!("prost/cosmos-sdk/cosmos.params.v1beta1.rs");
174        }
175    }
176
177    /// Handling slashing parameters and unjailing
178    pub mod slashing {
179        pub mod v1beta1 {
180            include!("prost/cosmos-sdk/cosmos.slashing.v1beta1.rs");
181        }
182    }
183
184    /// Proof-of-Stake layer for public blockchains.
185    pub mod staking {
186        pub mod v1beta1 {
187            include!("prost/cosmos-sdk/cosmos.staking.v1beta1.rs");
188        }
189    }
190
191    /// Transactions.
192    pub mod tx {
193        /// Transaction signing support.
194        pub mod signing {
195            pub mod v1beta1 {
196                include!("prost/cosmos-sdk/cosmos.tx.signing.v1beta1.rs");
197            }
198        }
199
200        pub mod v1beta1 {
201            include!("prost/cosmos-sdk/cosmos.tx.v1beta1.rs");
202        }
203    }
204
205    /// Services for the upgrade module.
206    pub mod upgrade {
207        pub mod v1beta1 {
208            include!("prost/cosmos-sdk/cosmos.upgrade.v1beta1.rs");
209        }
210    }
211
212    /// Services and tx's for the vesting module.
213    pub mod vesting {
214        pub mod v1beta1 {
215            include!("prost/cosmos-sdk/cosmos.vesting.v1beta1.rs");
216        }
217    }
218}
219
220/// CosmWasm protobuf definitions.
221#[cfg(feature = "cosmwasm")]
222pub mod cosmwasm {
223    /// Messages and services handling CosmWasm.
224    pub mod wasm {
225        pub mod v1 {
226            include!("prost/wasmd/cosmwasm.wasm.v1.rs");
227        }
228    }
229}