cosmos_sdk_proto/prost/cosmos-sdk/
cosmos.base.reflection.v2alpha1.rs

1// @generated
2/// AppDescriptor describes a cosmos-sdk based application
3#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct AppDescriptor {
6    /// AuthnDescriptor provides information on how to authenticate transactions on the application
7    /// NOTE: experimental and subject to change in future releases.
8    #[prost(message, optional, tag = "1")]
9    pub authn: ::core::option::Option<AuthnDescriptor>,
10    /// chain provides the chain descriptor
11    #[prost(message, optional, tag = "2")]
12    pub chain: ::core::option::Option<ChainDescriptor>,
13    /// codec provides metadata information regarding codec related types
14    #[prost(message, optional, tag = "3")]
15    pub codec: ::core::option::Option<CodecDescriptor>,
16    /// configuration provides metadata information regarding the sdk.Config type
17    #[prost(message, optional, tag = "4")]
18    pub configuration: ::core::option::Option<ConfigurationDescriptor>,
19    /// query_services provides metadata information regarding the available queriable endpoints
20    #[prost(message, optional, tag = "5")]
21    pub query_services: ::core::option::Option<QueryServicesDescriptor>,
22    /// tx provides metadata information regarding how to send transactions to the given application
23    #[prost(message, optional, tag = "6")]
24    pub tx: ::core::option::Option<TxDescriptor>,
25}
26impl ::prost::Name for AppDescriptor {
27    const NAME: &'static str = "AppDescriptor";
28    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
29    fn full_name() -> ::prost::alloc::string::String {
30        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
31    }
32}
33/// TxDescriptor describes the accepted transaction type
34#[allow(clippy::derive_partial_eq_without_eq)]
35#[derive(Clone, PartialEq, ::prost::Message)]
36pub struct TxDescriptor {
37    /// fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type)
38    /// it is not meant to support polymorphism of transaction types, it is supposed to be used by
39    /// reflection clients to understand if they can handle a specific transaction type in an application.
40    #[prost(string, tag = "1")]
41    pub fullname: ::prost::alloc::string::String,
42    /// msgs lists the accepted application messages (sdk.Msg)
43    #[prost(message, repeated, tag = "2")]
44    pub msgs: ::prost::alloc::vec::Vec<MsgDescriptor>,
45}
46impl ::prost::Name for TxDescriptor {
47    const NAME: &'static str = "TxDescriptor";
48    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
49    fn full_name() -> ::prost::alloc::string::String {
50        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
51    }
52}
53/// AuthnDescriptor provides information on how to sign transactions without relying
54/// on the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures
55#[allow(clippy::derive_partial_eq_without_eq)]
56#[derive(Clone, PartialEq, ::prost::Message)]
57pub struct AuthnDescriptor {
58    /// sign_modes defines the supported signature algorithm
59    #[prost(message, repeated, tag = "1")]
60    pub sign_modes: ::prost::alloc::vec::Vec<SigningModeDescriptor>,
61}
62impl ::prost::Name for AuthnDescriptor {
63    const NAME: &'static str = "AuthnDescriptor";
64    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
65    fn full_name() -> ::prost::alloc::string::String {
66        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
67    }
68}
69/// SigningModeDescriptor provides information on a signing flow of the application
70/// NOTE(fdymylja): here we could go as far as providing an entire flow on how
71/// to sign a message given a SigningModeDescriptor, but it's better to think about
72/// this another time
73#[allow(clippy::derive_partial_eq_without_eq)]
74#[derive(Clone, PartialEq, ::prost::Message)]
75pub struct SigningModeDescriptor {
76    /// name defines the unique name of the signing mode
77    #[prost(string, tag = "1")]
78    pub name: ::prost::alloc::string::String,
79    /// number is the unique int32 identifier for the sign_mode enum
80    #[prost(int32, tag = "2")]
81    pub number: i32,
82    /// authn_info_provider_method_fullname defines the fullname of the method to call to get
83    /// the metadata required to authenticate using the provided sign_modes
84    #[prost(string, tag = "3")]
85    pub authn_info_provider_method_fullname: ::prost::alloc::string::String,
86}
87impl ::prost::Name for SigningModeDescriptor {
88    const NAME: &'static str = "SigningModeDescriptor";
89    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
90    fn full_name() -> ::prost::alloc::string::String {
91        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
92    }
93}
94/// ChainDescriptor describes chain information of the application
95#[allow(clippy::derive_partial_eq_without_eq)]
96#[derive(Clone, PartialEq, ::prost::Message)]
97pub struct ChainDescriptor {
98    /// id is the chain id
99    #[prost(string, tag = "1")]
100    pub id: ::prost::alloc::string::String,
101}
102impl ::prost::Name for ChainDescriptor {
103    const NAME: &'static str = "ChainDescriptor";
104    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
105    fn full_name() -> ::prost::alloc::string::String {
106        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
107    }
108}
109/// CodecDescriptor describes the registered interfaces and provides metadata information on the types
110#[allow(clippy::derive_partial_eq_without_eq)]
111#[derive(Clone, PartialEq, ::prost::Message)]
112pub struct CodecDescriptor {
113    /// interfaces is a list of the registerted interfaces descriptors
114    #[prost(message, repeated, tag = "1")]
115    pub interfaces: ::prost::alloc::vec::Vec<InterfaceDescriptor>,
116}
117impl ::prost::Name for CodecDescriptor {
118    const NAME: &'static str = "CodecDescriptor";
119    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
120    fn full_name() -> ::prost::alloc::string::String {
121        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
122    }
123}
124/// InterfaceDescriptor describes the implementation of an interface
125#[allow(clippy::derive_partial_eq_without_eq)]
126#[derive(Clone, PartialEq, ::prost::Message)]
127pub struct InterfaceDescriptor {
128    /// fullname is the name of the interface
129    #[prost(string, tag = "1")]
130    pub fullname: ::prost::alloc::string::String,
131    /// interface_accepting_messages contains information regarding the proto messages which contain the interface as
132    /// google.protobuf.Any field
133    #[prost(message, repeated, tag = "2")]
134    pub interface_accepting_messages: ::prost::alloc::vec::Vec<InterfaceAcceptingMessageDescriptor>,
135    /// interface_implementers is a list of the descriptors of the interface implementers
136    #[prost(message, repeated, tag = "3")]
137    pub interface_implementers: ::prost::alloc::vec::Vec<InterfaceImplementerDescriptor>,
138}
139impl ::prost::Name for InterfaceDescriptor {
140    const NAME: &'static str = "InterfaceDescriptor";
141    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
142    fn full_name() -> ::prost::alloc::string::String {
143        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
144    }
145}
146/// InterfaceImplementerDescriptor describes an interface implementer
147#[allow(clippy::derive_partial_eq_without_eq)]
148#[derive(Clone, PartialEq, ::prost::Message)]
149pub struct InterfaceImplementerDescriptor {
150    /// fullname is the protobuf queryable name of the interface implementer
151    #[prost(string, tag = "1")]
152    pub fullname: ::prost::alloc::string::String,
153    /// type_url defines the type URL used when marshalling the type as any
154    /// this is required so we can provide type safe google.protobuf.Any marshalling and
155    /// unmarshalling, making sure that we don't accept just 'any' type
156    /// in our interface fields
157    #[prost(string, tag = "2")]
158    pub type_url: ::prost::alloc::string::String,
159}
160impl ::prost::Name for InterfaceImplementerDescriptor {
161    const NAME: &'static str = "InterfaceImplementerDescriptor";
162    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
163    fn full_name() -> ::prost::alloc::string::String {
164        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
165    }
166}
167/// InterfaceAcceptingMessageDescriptor describes a protobuf message which contains
168/// an interface represented as a google.protobuf.Any
169#[allow(clippy::derive_partial_eq_without_eq)]
170#[derive(Clone, PartialEq, ::prost::Message)]
171pub struct InterfaceAcceptingMessageDescriptor {
172    /// fullname is the protobuf fullname of the type containing the interface
173    #[prost(string, tag = "1")]
174    pub fullname: ::prost::alloc::string::String,
175    /// field_descriptor_names is a list of the protobuf name (not fullname) of the field
176    /// which contains the interface as google.protobuf.Any (the interface is the same, but
177    /// it can be in multiple fields of the same proto message)
178    #[prost(string, repeated, tag = "2")]
179    pub field_descriptor_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
180}
181impl ::prost::Name for InterfaceAcceptingMessageDescriptor {
182    const NAME: &'static str = "InterfaceAcceptingMessageDescriptor";
183    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
184    fn full_name() -> ::prost::alloc::string::String {
185        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
186    }
187}
188/// ConfigurationDescriptor contains metadata information on the sdk.Config
189#[allow(clippy::derive_partial_eq_without_eq)]
190#[derive(Clone, PartialEq, ::prost::Message)]
191pub struct ConfigurationDescriptor {
192    /// bech32_account_address_prefix is the account address prefix
193    #[prost(string, tag = "1")]
194    pub bech32_account_address_prefix: ::prost::alloc::string::String,
195}
196impl ::prost::Name for ConfigurationDescriptor {
197    const NAME: &'static str = "ConfigurationDescriptor";
198    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
199    fn full_name() -> ::prost::alloc::string::String {
200        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
201    }
202}
203/// MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction
204#[allow(clippy::derive_partial_eq_without_eq)]
205#[derive(Clone, PartialEq, ::prost::Message)]
206pub struct MsgDescriptor {
207    /// msg_type_url contains the TypeURL of a sdk.Msg.
208    #[prost(string, tag = "1")]
209    pub msg_type_url: ::prost::alloc::string::String,
210}
211impl ::prost::Name for MsgDescriptor {
212    const NAME: &'static str = "MsgDescriptor";
213    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
214    fn full_name() -> ::prost::alloc::string::String {
215        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
216    }
217}
218/// GetAuthnDescriptorRequest is the request used for the GetAuthnDescriptor RPC
219#[allow(clippy::derive_partial_eq_without_eq)]
220#[derive(Clone, PartialEq, ::prost::Message)]
221pub struct GetAuthnDescriptorRequest {}
222impl ::prost::Name for GetAuthnDescriptorRequest {
223    const NAME: &'static str = "GetAuthnDescriptorRequest";
224    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
225    fn full_name() -> ::prost::alloc::string::String {
226        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
227    }
228}
229/// GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC
230#[allow(clippy::derive_partial_eq_without_eq)]
231#[derive(Clone, PartialEq, ::prost::Message)]
232pub struct GetAuthnDescriptorResponse {
233    /// authn describes how to authenticate to the application when sending transactions
234    #[prost(message, optional, tag = "1")]
235    pub authn: ::core::option::Option<AuthnDescriptor>,
236}
237impl ::prost::Name for GetAuthnDescriptorResponse {
238    const NAME: &'static str = "GetAuthnDescriptorResponse";
239    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
240    fn full_name() -> ::prost::alloc::string::String {
241        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
242    }
243}
244/// GetChainDescriptorRequest is the request used for the GetChainDescriptor RPC
245#[allow(clippy::derive_partial_eq_without_eq)]
246#[derive(Clone, PartialEq, ::prost::Message)]
247pub struct GetChainDescriptorRequest {}
248impl ::prost::Name for GetChainDescriptorRequest {
249    const NAME: &'static str = "GetChainDescriptorRequest";
250    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
251    fn full_name() -> ::prost::alloc::string::String {
252        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
253    }
254}
255/// GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC
256#[allow(clippy::derive_partial_eq_without_eq)]
257#[derive(Clone, PartialEq, ::prost::Message)]
258pub struct GetChainDescriptorResponse {
259    /// chain describes application chain information
260    #[prost(message, optional, tag = "1")]
261    pub chain: ::core::option::Option<ChainDescriptor>,
262}
263impl ::prost::Name for GetChainDescriptorResponse {
264    const NAME: &'static str = "GetChainDescriptorResponse";
265    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
266    fn full_name() -> ::prost::alloc::string::String {
267        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
268    }
269}
270/// GetCodecDescriptorRequest is the request used for the GetCodecDescriptor RPC
271#[allow(clippy::derive_partial_eq_without_eq)]
272#[derive(Clone, PartialEq, ::prost::Message)]
273pub struct GetCodecDescriptorRequest {}
274impl ::prost::Name for GetCodecDescriptorRequest {
275    const NAME: &'static str = "GetCodecDescriptorRequest";
276    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
277    fn full_name() -> ::prost::alloc::string::String {
278        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
279    }
280}
281/// GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC
282#[allow(clippy::derive_partial_eq_without_eq)]
283#[derive(Clone, PartialEq, ::prost::Message)]
284pub struct GetCodecDescriptorResponse {
285    /// codec describes the application codec such as registered interfaces and implementations
286    #[prost(message, optional, tag = "1")]
287    pub codec: ::core::option::Option<CodecDescriptor>,
288}
289impl ::prost::Name for GetCodecDescriptorResponse {
290    const NAME: &'static str = "GetCodecDescriptorResponse";
291    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
292    fn full_name() -> ::prost::alloc::string::String {
293        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
294    }
295}
296/// GetConfigurationDescriptorRequest is the request used for the GetConfigurationDescriptor RPC
297#[allow(clippy::derive_partial_eq_without_eq)]
298#[derive(Clone, PartialEq, ::prost::Message)]
299pub struct GetConfigurationDescriptorRequest {}
300impl ::prost::Name for GetConfigurationDescriptorRequest {
301    const NAME: &'static str = "GetConfigurationDescriptorRequest";
302    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
303    fn full_name() -> ::prost::alloc::string::String {
304        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
305    }
306}
307/// GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC
308#[allow(clippy::derive_partial_eq_without_eq)]
309#[derive(Clone, PartialEq, ::prost::Message)]
310pub struct GetConfigurationDescriptorResponse {
311    /// config describes the application's sdk.Config
312    #[prost(message, optional, tag = "1")]
313    pub config: ::core::option::Option<ConfigurationDescriptor>,
314}
315impl ::prost::Name for GetConfigurationDescriptorResponse {
316    const NAME: &'static str = "GetConfigurationDescriptorResponse";
317    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
318    fn full_name() -> ::prost::alloc::string::String {
319        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
320    }
321}
322/// GetQueryServicesDescriptorRequest is the request used for the GetQueryServicesDescriptor RPC
323#[allow(clippy::derive_partial_eq_without_eq)]
324#[derive(Clone, PartialEq, ::prost::Message)]
325pub struct GetQueryServicesDescriptorRequest {}
326impl ::prost::Name for GetQueryServicesDescriptorRequest {
327    const NAME: &'static str = "GetQueryServicesDescriptorRequest";
328    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
329    fn full_name() -> ::prost::alloc::string::String {
330        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
331    }
332}
333/// GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC
334#[allow(clippy::derive_partial_eq_without_eq)]
335#[derive(Clone, PartialEq, ::prost::Message)]
336pub struct GetQueryServicesDescriptorResponse {
337    /// queries provides information on the available queryable services
338    #[prost(message, optional, tag = "1")]
339    pub queries: ::core::option::Option<QueryServicesDescriptor>,
340}
341impl ::prost::Name for GetQueryServicesDescriptorResponse {
342    const NAME: &'static str = "GetQueryServicesDescriptorResponse";
343    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
344    fn full_name() -> ::prost::alloc::string::String {
345        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
346    }
347}
348/// GetTxDescriptorRequest is the request used for the GetTxDescriptor RPC
349#[allow(clippy::derive_partial_eq_without_eq)]
350#[derive(Clone, PartialEq, ::prost::Message)]
351pub struct GetTxDescriptorRequest {}
352impl ::prost::Name for GetTxDescriptorRequest {
353    const NAME: &'static str = "GetTxDescriptorRequest";
354    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
355    fn full_name() -> ::prost::alloc::string::String {
356        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
357    }
358}
359/// GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC
360#[allow(clippy::derive_partial_eq_without_eq)]
361#[derive(Clone, PartialEq, ::prost::Message)]
362pub struct GetTxDescriptorResponse {
363    /// tx provides information on msgs that can be forwarded to the application
364    /// alongside the accepted transaction protobuf type
365    #[prost(message, optional, tag = "1")]
366    pub tx: ::core::option::Option<TxDescriptor>,
367}
368impl ::prost::Name for GetTxDescriptorResponse {
369    const NAME: &'static str = "GetTxDescriptorResponse";
370    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
371    fn full_name() -> ::prost::alloc::string::String {
372        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
373    }
374}
375/// QueryServicesDescriptor contains the list of cosmos-sdk queriable services
376#[allow(clippy::derive_partial_eq_without_eq)]
377#[derive(Clone, PartialEq, ::prost::Message)]
378pub struct QueryServicesDescriptor {
379    /// query_services is a list of cosmos-sdk QueryServiceDescriptor
380    #[prost(message, repeated, tag = "1")]
381    pub query_services: ::prost::alloc::vec::Vec<QueryServiceDescriptor>,
382}
383impl ::prost::Name for QueryServicesDescriptor {
384    const NAME: &'static str = "QueryServicesDescriptor";
385    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
386    fn full_name() -> ::prost::alloc::string::String {
387        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
388    }
389}
390/// QueryServiceDescriptor describes a cosmos-sdk queryable service
391#[allow(clippy::derive_partial_eq_without_eq)]
392#[derive(Clone, PartialEq, ::prost::Message)]
393pub struct QueryServiceDescriptor {
394    /// fullname is the protobuf fullname of the service descriptor
395    #[prost(string, tag = "1")]
396    pub fullname: ::prost::alloc::string::String,
397    /// is_module describes if this service is actually exposed by an application's module
398    #[prost(bool, tag = "2")]
399    pub is_module: bool,
400    /// methods provides a list of query service methods
401    #[prost(message, repeated, tag = "3")]
402    pub methods: ::prost::alloc::vec::Vec<QueryMethodDescriptor>,
403}
404impl ::prost::Name for QueryServiceDescriptor {
405    const NAME: &'static str = "QueryServiceDescriptor";
406    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
407    fn full_name() -> ::prost::alloc::string::String {
408        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
409    }
410}
411/// QueryMethodDescriptor describes a queryable method of a query service
412/// no other info is provided beside method name and tendermint queryable path
413/// because it would be redundant with the grpc reflection service
414#[allow(clippy::derive_partial_eq_without_eq)]
415#[derive(Clone, PartialEq, ::prost::Message)]
416pub struct QueryMethodDescriptor {
417    /// name is the protobuf name (not fullname) of the method
418    #[prost(string, tag = "1")]
419    pub name: ::prost::alloc::string::String,
420    /// full_query_path is the path that can be used to query
421    /// this method via tendermint abci.Query
422    #[prost(string, tag = "2")]
423    pub full_query_path: ::prost::alloc::string::String,
424}
425impl ::prost::Name for QueryMethodDescriptor {
426    const NAME: &'static str = "QueryMethodDescriptor";
427    const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1";
428    fn full_name() -> ::prost::alloc::string::String {
429        ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME)
430    }
431}
432include!("cosmos.base.reflection.v2alpha1.serde.rs");
433include!("cosmos.base.reflection.v2alpha1.tonic.rs");
434// @@protoc_insertion_point(module)