cosmos_sdk_proto/prost/cosmos-sdk/
cosmos.bank.v1beta1.rs

1// @generated
2/// SendAuthorization allows the grantee to spend up to spend_limit coins from
3/// the granter's account.
4///
5/// Since: cosmos-sdk 0.43
6#[allow(clippy::derive_partial_eq_without_eq)]
7#[derive(Clone, PartialEq, ::prost::Message)]
8pub struct SendAuthorization {
9    #[prost(message, repeated, tag = "1")]
10    pub spend_limit: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
11    /// allow_list specifies an optional list of addresses to whom the grantee can send tokens on behalf of the
12    /// granter. If omitted, any recipient is allowed.
13    ///
14    /// Since: cosmos-sdk 0.47
15    #[prost(string, repeated, tag = "2")]
16    pub allow_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
17}
18impl ::prost::Name for SendAuthorization {
19    const NAME: &'static str = "SendAuthorization";
20    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
21    fn full_name() -> ::prost::alloc::string::String {
22        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
23    }
24}
25/// Params defines the parameters for the bank module.
26#[allow(clippy::derive_partial_eq_without_eq)]
27#[derive(Clone, PartialEq, ::prost::Message)]
28pub struct Params {
29    /// Deprecated: Use of SendEnabled in params is deprecated.
30    /// For genesis, use the newly added send_enabled field in the genesis object.
31    /// Storage, lookup, and manipulation of this information is now in the keeper.
32    ///
33    /// As of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files.
34    #[deprecated]
35    #[prost(message, repeated, tag = "1")]
36    pub send_enabled: ::prost::alloc::vec::Vec<SendEnabled>,
37    #[prost(bool, tag = "2")]
38    pub default_send_enabled: bool,
39}
40impl ::prost::Name for Params {
41    const NAME: &'static str = "Params";
42    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
43    fn full_name() -> ::prost::alloc::string::String {
44        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
45    }
46}
47/// SendEnabled maps coin denom to a send_enabled status (whether a denom is
48/// sendable).
49#[allow(clippy::derive_partial_eq_without_eq)]
50#[derive(Clone, PartialEq, ::prost::Message)]
51pub struct SendEnabled {
52    #[prost(string, tag = "1")]
53    pub denom: ::prost::alloc::string::String,
54    #[prost(bool, tag = "2")]
55    pub enabled: bool,
56}
57impl ::prost::Name for SendEnabled {
58    const NAME: &'static str = "SendEnabled";
59    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
60    fn full_name() -> ::prost::alloc::string::String {
61        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
62    }
63}
64/// Input models transaction input.
65#[allow(clippy::derive_partial_eq_without_eq)]
66#[derive(Clone, PartialEq, ::prost::Message)]
67pub struct Input {
68    #[prost(string, tag = "1")]
69    pub address: ::prost::alloc::string::String,
70    #[prost(message, repeated, tag = "2")]
71    pub coins: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
72}
73impl ::prost::Name for Input {
74    const NAME: &'static str = "Input";
75    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
76    fn full_name() -> ::prost::alloc::string::String {
77        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
78    }
79}
80/// Output models transaction outputs.
81#[allow(clippy::derive_partial_eq_without_eq)]
82#[derive(Clone, PartialEq, ::prost::Message)]
83pub struct Output {
84    #[prost(string, tag = "1")]
85    pub address: ::prost::alloc::string::String,
86    #[prost(message, repeated, tag = "2")]
87    pub coins: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
88}
89impl ::prost::Name for Output {
90    const NAME: &'static str = "Output";
91    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
92    fn full_name() -> ::prost::alloc::string::String {
93        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
94    }
95}
96/// Supply represents a struct that passively keeps track of the total supply
97/// amounts in the network.
98/// This message is deprecated now that supply is indexed by denom.
99#[allow(clippy::derive_partial_eq_without_eq)]
100#[derive(Clone, PartialEq, ::prost::Message)]
101pub struct Supply {
102    #[prost(message, repeated, tag = "1")]
103    pub total: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
104}
105impl ::prost::Name for Supply {
106    const NAME: &'static str = "Supply";
107    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
108    fn full_name() -> ::prost::alloc::string::String {
109        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
110    }
111}
112/// DenomUnit represents a struct that describes a given
113/// denomination unit of the basic token.
114#[allow(clippy::derive_partial_eq_without_eq)]
115#[derive(Clone, PartialEq, ::prost::Message)]
116pub struct DenomUnit {
117    /// denom represents the string name of the given denom unit (e.g uatom).
118    #[prost(string, tag = "1")]
119    pub denom: ::prost::alloc::string::String,
120    /// exponent represents power of 10 exponent that one must
121    /// raise the base_denom to in order to equal the given DenomUnit's denom
122    /// 1 denom = 10^exponent base_denom
123    /// (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with
124    /// exponent = 6, thus: 1 atom = 10^6 uatom).
125    #[prost(uint32, tag = "2")]
126    pub exponent: u32,
127    /// aliases is a list of string aliases for the given denom
128    #[prost(string, repeated, tag = "3")]
129    pub aliases: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
130}
131impl ::prost::Name for DenomUnit {
132    const NAME: &'static str = "DenomUnit";
133    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
134    fn full_name() -> ::prost::alloc::string::String {
135        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
136    }
137}
138/// Metadata represents a struct that describes
139/// a basic token.
140#[allow(clippy::derive_partial_eq_without_eq)]
141#[derive(Clone, PartialEq, ::prost::Message)]
142pub struct Metadata {
143    #[prost(string, tag = "1")]
144    pub description: ::prost::alloc::string::String,
145    /// denom_units represents the list of DenomUnit's for a given coin
146    #[prost(message, repeated, tag = "2")]
147    pub denom_units: ::prost::alloc::vec::Vec<DenomUnit>,
148    /// base represents the base denom (should be the DenomUnit with exponent = 0).
149    #[prost(string, tag = "3")]
150    pub base: ::prost::alloc::string::String,
151    /// display indicates the suggested denom that should be
152    /// displayed in clients.
153    #[prost(string, tag = "4")]
154    pub display: ::prost::alloc::string::String,
155    /// name defines the name of the token (eg: Cosmos Atom)
156    ///
157    /// Since: cosmos-sdk 0.43
158    #[prost(string, tag = "5")]
159    pub name: ::prost::alloc::string::String,
160    /// symbol is the token symbol usually shown on exchanges (eg: ATOM). This can
161    /// be the same as the display.
162    ///
163    /// Since: cosmos-sdk 0.43
164    #[prost(string, tag = "6")]
165    pub symbol: ::prost::alloc::string::String,
166    /// URI to a document (on or off-chain) that contains additional information. Optional.
167    ///
168    /// Since: cosmos-sdk 0.46
169    #[prost(string, tag = "7")]
170    pub uri: ::prost::alloc::string::String,
171    /// URIHash is a sha256 hash of a document pointed by URI. It's used to verify that
172    /// the document didn't change. Optional.
173    ///
174    /// Since: cosmos-sdk 0.46
175    #[prost(string, tag = "8")]
176    pub uri_hash: ::prost::alloc::string::String,
177}
178impl ::prost::Name for Metadata {
179    const NAME: &'static str = "Metadata";
180    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
181    fn full_name() -> ::prost::alloc::string::String {
182        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
183    }
184}
185/// GenesisState defines the bank module's genesis state.
186#[allow(clippy::derive_partial_eq_without_eq)]
187#[derive(Clone, PartialEq, ::prost::Message)]
188pub struct GenesisState {
189    /// params defines all the parameters of the module.
190    #[prost(message, optional, tag = "1")]
191    pub params: ::core::option::Option<Params>,
192    /// balances is an array containing the balances of all the accounts.
193    #[prost(message, repeated, tag = "2")]
194    pub balances: ::prost::alloc::vec::Vec<Balance>,
195    /// supply represents the total supply. If it is left empty, then supply will be calculated based on the provided
196    /// balances. Otherwise, it will be used to validate that the sum of the balances equals this amount.
197    #[prost(message, repeated, tag = "3")]
198    pub supply: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
199    /// denom_metadata defines the metadata of the different coins.
200    #[prost(message, repeated, tag = "4")]
201    pub denom_metadata: ::prost::alloc::vec::Vec<Metadata>,
202    /// send_enabled defines the denoms where send is enabled or disabled.
203    ///
204    /// Since: cosmos-sdk 0.47
205    #[prost(message, repeated, tag = "5")]
206    pub send_enabled: ::prost::alloc::vec::Vec<SendEnabled>,
207}
208impl ::prost::Name for GenesisState {
209    const NAME: &'static str = "GenesisState";
210    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
211    fn full_name() -> ::prost::alloc::string::String {
212        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
213    }
214}
215/// Balance defines an account address and balance pair used in the bank module's
216/// genesis state.
217#[allow(clippy::derive_partial_eq_without_eq)]
218#[derive(Clone, PartialEq, ::prost::Message)]
219pub struct Balance {
220    /// address is the address of the balance holder.
221    #[prost(string, tag = "1")]
222    pub address: ::prost::alloc::string::String,
223    /// coins defines the different coins this balance holds.
224    #[prost(message, repeated, tag = "2")]
225    pub coins: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
226}
227impl ::prost::Name for Balance {
228    const NAME: &'static str = "Balance";
229    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
230    fn full_name() -> ::prost::alloc::string::String {
231        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
232    }
233}
234/// QueryBalanceRequest is the request type for the Query/Balance RPC method.
235#[allow(clippy::derive_partial_eq_without_eq)]
236#[derive(Clone, PartialEq, ::prost::Message)]
237pub struct QueryBalanceRequest {
238    /// address is the address to query balances for.
239    #[prost(string, tag = "1")]
240    pub address: ::prost::alloc::string::String,
241    /// denom is the coin denom to query balances for.
242    #[prost(string, tag = "2")]
243    pub denom: ::prost::alloc::string::String,
244}
245impl ::prost::Name for QueryBalanceRequest {
246    const NAME: &'static str = "QueryBalanceRequest";
247    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
248    fn full_name() -> ::prost::alloc::string::String {
249        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
250    }
251}
252/// QueryBalanceResponse is the response type for the Query/Balance RPC method.
253#[allow(clippy::derive_partial_eq_without_eq)]
254#[derive(Clone, PartialEq, ::prost::Message)]
255pub struct QueryBalanceResponse {
256    /// balance is the balance of the coin.
257    #[prost(message, optional, tag = "1")]
258    pub balance: ::core::option::Option<super::super::base::v1beta1::Coin>,
259}
260impl ::prost::Name for QueryBalanceResponse {
261    const NAME: &'static str = "QueryBalanceResponse";
262    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
263    fn full_name() -> ::prost::alloc::string::String {
264        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
265    }
266}
267/// QueryBalanceRequest is the request type for the Query/AllBalances RPC method.
268#[allow(clippy::derive_partial_eq_without_eq)]
269#[derive(Clone, PartialEq, ::prost::Message)]
270pub struct QueryAllBalancesRequest {
271    /// address is the address to query balances for.
272    #[prost(string, tag = "1")]
273    pub address: ::prost::alloc::string::String,
274    /// pagination defines an optional pagination for the request.
275    #[prost(message, optional, tag = "2")]
276    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
277    /// resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.
278    ///
279    /// Since: cosmos-sdk 0.50
280    #[prost(bool, tag = "3")]
281    pub resolve_denom: bool,
282}
283impl ::prost::Name for QueryAllBalancesRequest {
284    const NAME: &'static str = "QueryAllBalancesRequest";
285    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
286    fn full_name() -> ::prost::alloc::string::String {
287        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
288    }
289}
290/// QueryAllBalancesResponse is the response type for the Query/AllBalances RPC
291/// method.
292#[allow(clippy::derive_partial_eq_without_eq)]
293#[derive(Clone, PartialEq, ::prost::Message)]
294pub struct QueryAllBalancesResponse {
295    /// balances is the balances of all the coins.
296    #[prost(message, repeated, tag = "1")]
297    pub balances: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
298    /// pagination defines the pagination in the response.
299    #[prost(message, optional, tag = "2")]
300    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
301}
302impl ::prost::Name for QueryAllBalancesResponse {
303    const NAME: &'static str = "QueryAllBalancesResponse";
304    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
305    fn full_name() -> ::prost::alloc::string::String {
306        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
307    }
308}
309/// QuerySpendableBalancesRequest defines the gRPC request structure for querying
310/// an account's spendable balances.
311///
312/// Since: cosmos-sdk 0.46
313#[allow(clippy::derive_partial_eq_without_eq)]
314#[derive(Clone, PartialEq, ::prost::Message)]
315pub struct QuerySpendableBalancesRequest {
316    /// address is the address to query spendable balances for.
317    #[prost(string, tag = "1")]
318    pub address: ::prost::alloc::string::String,
319    /// pagination defines an optional pagination for the request.
320    #[prost(message, optional, tag = "2")]
321    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
322}
323impl ::prost::Name for QuerySpendableBalancesRequest {
324    const NAME: &'static str = "QuerySpendableBalancesRequest";
325    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
326    fn full_name() -> ::prost::alloc::string::String {
327        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
328    }
329}
330/// QuerySpendableBalancesResponse defines the gRPC response structure for querying
331/// an account's spendable balances.
332///
333/// Since: cosmos-sdk 0.46
334#[allow(clippy::derive_partial_eq_without_eq)]
335#[derive(Clone, PartialEq, ::prost::Message)]
336pub struct QuerySpendableBalancesResponse {
337    /// balances is the spendable balances of all the coins.
338    #[prost(message, repeated, tag = "1")]
339    pub balances: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
340    /// pagination defines the pagination in the response.
341    #[prost(message, optional, tag = "2")]
342    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
343}
344impl ::prost::Name for QuerySpendableBalancesResponse {
345    const NAME: &'static str = "QuerySpendableBalancesResponse";
346    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
347    fn full_name() -> ::prost::alloc::string::String {
348        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
349    }
350}
351/// QuerySpendableBalanceByDenomRequest defines the gRPC request structure for
352/// querying an account's spendable balance for a specific denom.
353///
354/// Since: cosmos-sdk 0.47
355#[allow(clippy::derive_partial_eq_without_eq)]
356#[derive(Clone, PartialEq, ::prost::Message)]
357pub struct QuerySpendableBalanceByDenomRequest {
358    /// address is the address to query balances for.
359    #[prost(string, tag = "1")]
360    pub address: ::prost::alloc::string::String,
361    /// denom is the coin denom to query balances for.
362    #[prost(string, tag = "2")]
363    pub denom: ::prost::alloc::string::String,
364}
365impl ::prost::Name for QuerySpendableBalanceByDenomRequest {
366    const NAME: &'static str = "QuerySpendableBalanceByDenomRequest";
367    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
368    fn full_name() -> ::prost::alloc::string::String {
369        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
370    }
371}
372/// QuerySpendableBalanceByDenomResponse defines the gRPC response structure for
373/// querying an account's spendable balance for a specific denom.
374///
375/// Since: cosmos-sdk 0.47
376#[allow(clippy::derive_partial_eq_without_eq)]
377#[derive(Clone, PartialEq, ::prost::Message)]
378pub struct QuerySpendableBalanceByDenomResponse {
379    /// balance is the balance of the coin.
380    #[prost(message, optional, tag = "1")]
381    pub balance: ::core::option::Option<super::super::base::v1beta1::Coin>,
382}
383impl ::prost::Name for QuerySpendableBalanceByDenomResponse {
384    const NAME: &'static str = "QuerySpendableBalanceByDenomResponse";
385    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
386    fn full_name() -> ::prost::alloc::string::String {
387        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
388    }
389}
390/// QueryTotalSupplyRequest is the request type for the Query/TotalSupply RPC
391/// method.
392#[allow(clippy::derive_partial_eq_without_eq)]
393#[derive(Clone, PartialEq, ::prost::Message)]
394pub struct QueryTotalSupplyRequest {
395    /// pagination defines an optional pagination for the request.
396    ///
397    /// Since: cosmos-sdk 0.43
398    #[prost(message, optional, tag = "1")]
399    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
400}
401impl ::prost::Name for QueryTotalSupplyRequest {
402    const NAME: &'static str = "QueryTotalSupplyRequest";
403    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
404    fn full_name() -> ::prost::alloc::string::String {
405        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
406    }
407}
408/// QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC
409/// method
410#[allow(clippy::derive_partial_eq_without_eq)]
411#[derive(Clone, PartialEq, ::prost::Message)]
412pub struct QueryTotalSupplyResponse {
413    /// supply is the supply of the coins
414    #[prost(message, repeated, tag = "1")]
415    pub supply: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
416    /// pagination defines the pagination in the response.
417    ///
418    /// Since: cosmos-sdk 0.43
419    #[prost(message, optional, tag = "2")]
420    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
421}
422impl ::prost::Name for QueryTotalSupplyResponse {
423    const NAME: &'static str = "QueryTotalSupplyResponse";
424    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
425    fn full_name() -> ::prost::alloc::string::String {
426        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
427    }
428}
429/// QuerySupplyOfRequest is the request type for the Query/SupplyOf RPC method.
430#[allow(clippy::derive_partial_eq_without_eq)]
431#[derive(Clone, PartialEq, ::prost::Message)]
432pub struct QuerySupplyOfRequest {
433    /// denom is the coin denom to query balances for.
434    #[prost(string, tag = "1")]
435    pub denom: ::prost::alloc::string::String,
436}
437impl ::prost::Name for QuerySupplyOfRequest {
438    const NAME: &'static str = "QuerySupplyOfRequest";
439    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
440    fn full_name() -> ::prost::alloc::string::String {
441        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
442    }
443}
444/// QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method.
445#[allow(clippy::derive_partial_eq_without_eq)]
446#[derive(Clone, PartialEq, ::prost::Message)]
447pub struct QuerySupplyOfResponse {
448    /// amount is the supply of the coin.
449    #[prost(message, optional, tag = "1")]
450    pub amount: ::core::option::Option<super::super::base::v1beta1::Coin>,
451}
452impl ::prost::Name for QuerySupplyOfResponse {
453    const NAME: &'static str = "QuerySupplyOfResponse";
454    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
455    fn full_name() -> ::prost::alloc::string::String {
456        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
457    }
458}
459/// QueryParamsRequest defines the request type for querying x/bank parameters.
460#[allow(clippy::derive_partial_eq_without_eq)]
461#[derive(Clone, PartialEq, ::prost::Message)]
462pub struct QueryParamsRequest {}
463impl ::prost::Name for QueryParamsRequest {
464    const NAME: &'static str = "QueryParamsRequest";
465    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
466    fn full_name() -> ::prost::alloc::string::String {
467        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
468    }
469}
470/// QueryParamsResponse defines the response type for querying x/bank parameters.
471#[allow(clippy::derive_partial_eq_without_eq)]
472#[derive(Clone, PartialEq, ::prost::Message)]
473pub struct QueryParamsResponse {
474    /// params provides the parameters of the bank module.
475    #[prost(message, optional, tag = "1")]
476    pub params: ::core::option::Option<Params>,
477}
478impl ::prost::Name for QueryParamsResponse {
479    const NAME: &'static str = "QueryParamsResponse";
480    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
481    fn full_name() -> ::prost::alloc::string::String {
482        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
483    }
484}
485/// QueryDenomsMetadataRequest is the request type for the Query/DenomsMetadata RPC method.
486#[allow(clippy::derive_partial_eq_without_eq)]
487#[derive(Clone, PartialEq, ::prost::Message)]
488pub struct QueryDenomsMetadataRequest {
489    /// pagination defines an optional pagination for the request.
490    #[prost(message, optional, tag = "1")]
491    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
492}
493impl ::prost::Name for QueryDenomsMetadataRequest {
494    const NAME: &'static str = "QueryDenomsMetadataRequest";
495    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
496    fn full_name() -> ::prost::alloc::string::String {
497        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
498    }
499}
500/// QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC
501/// method.
502#[allow(clippy::derive_partial_eq_without_eq)]
503#[derive(Clone, PartialEq, ::prost::Message)]
504pub struct QueryDenomsMetadataResponse {
505    /// metadata provides the client information for all the registered tokens.
506    #[prost(message, repeated, tag = "1")]
507    pub metadatas: ::prost::alloc::vec::Vec<Metadata>,
508    /// pagination defines the pagination in the response.
509    #[prost(message, optional, tag = "2")]
510    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
511}
512impl ::prost::Name for QueryDenomsMetadataResponse {
513    const NAME: &'static str = "QueryDenomsMetadataResponse";
514    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
515    fn full_name() -> ::prost::alloc::string::String {
516        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
517    }
518}
519/// QueryDenomMetadataRequest is the request type for the Query/DenomMetadata RPC method.
520#[allow(clippy::derive_partial_eq_without_eq)]
521#[derive(Clone, PartialEq, ::prost::Message)]
522pub struct QueryDenomMetadataRequest {
523    /// denom is the coin denom to query the metadata for.
524    #[prost(string, tag = "1")]
525    pub denom: ::prost::alloc::string::String,
526}
527impl ::prost::Name for QueryDenomMetadataRequest {
528    const NAME: &'static str = "QueryDenomMetadataRequest";
529    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
530    fn full_name() -> ::prost::alloc::string::String {
531        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
532    }
533}
534/// QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC
535/// method.
536#[allow(clippy::derive_partial_eq_without_eq)]
537#[derive(Clone, PartialEq, ::prost::Message)]
538pub struct QueryDenomMetadataResponse {
539    /// metadata describes and provides all the client information for the requested token.
540    #[prost(message, optional, tag = "1")]
541    pub metadata: ::core::option::Option<Metadata>,
542}
543impl ::prost::Name for QueryDenomMetadataResponse {
544    const NAME: &'static str = "QueryDenomMetadataResponse";
545    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
546    fn full_name() -> ::prost::alloc::string::String {
547        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
548    }
549}
550/// QueryDenomMetadataByQueryStringRequest is the request type for the Query/DenomMetadata RPC method.
551/// Identical with QueryDenomMetadataRequest but receives denom as query string.
552#[allow(clippy::derive_partial_eq_without_eq)]
553#[derive(Clone, PartialEq, ::prost::Message)]
554pub struct QueryDenomMetadataByQueryStringRequest {
555    /// denom is the coin denom to query the metadata for.
556    #[prost(string, tag = "1")]
557    pub denom: ::prost::alloc::string::String,
558}
559impl ::prost::Name for QueryDenomMetadataByQueryStringRequest {
560    const NAME: &'static str = "QueryDenomMetadataByQueryStringRequest";
561    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
562    fn full_name() -> ::prost::alloc::string::String {
563        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
564    }
565}
566/// QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC
567/// method. Identical with QueryDenomMetadataResponse but receives denom as query string in request.
568#[allow(clippy::derive_partial_eq_without_eq)]
569#[derive(Clone, PartialEq, ::prost::Message)]
570pub struct QueryDenomMetadataByQueryStringResponse {
571    /// metadata describes and provides all the client information for the requested token.
572    #[prost(message, optional, tag = "1")]
573    pub metadata: ::core::option::Option<Metadata>,
574}
575impl ::prost::Name for QueryDenomMetadataByQueryStringResponse {
576    const NAME: &'static str = "QueryDenomMetadataByQueryStringResponse";
577    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
578    fn full_name() -> ::prost::alloc::string::String {
579        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
580    }
581}
582/// QueryDenomOwnersRequest defines the request type for the DenomOwners RPC query,
583/// which queries for a paginated set of all account holders of a particular
584/// denomination.
585#[allow(clippy::derive_partial_eq_without_eq)]
586#[derive(Clone, PartialEq, ::prost::Message)]
587pub struct QueryDenomOwnersRequest {
588    /// denom defines the coin denomination to query all account holders for.
589    #[prost(string, tag = "1")]
590    pub denom: ::prost::alloc::string::String,
591    /// pagination defines an optional pagination for the request.
592    #[prost(message, optional, tag = "2")]
593    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
594}
595impl ::prost::Name for QueryDenomOwnersRequest {
596    const NAME: &'static str = "QueryDenomOwnersRequest";
597    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
598    fn full_name() -> ::prost::alloc::string::String {
599        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
600    }
601}
602/// DenomOwner defines structure representing an account that owns or holds a
603/// particular denominated token. It contains the account address and account
604/// balance of the denominated token.
605///
606/// Since: cosmos-sdk 0.46
607#[allow(clippy::derive_partial_eq_without_eq)]
608#[derive(Clone, PartialEq, ::prost::Message)]
609pub struct DenomOwner {
610    /// address defines the address that owns a particular denomination.
611    #[prost(string, tag = "1")]
612    pub address: ::prost::alloc::string::String,
613    /// balance is the balance of the denominated coin for an account.
614    #[prost(message, optional, tag = "2")]
615    pub balance: ::core::option::Option<super::super::base::v1beta1::Coin>,
616}
617impl ::prost::Name for DenomOwner {
618    const NAME: &'static str = "DenomOwner";
619    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
620    fn full_name() -> ::prost::alloc::string::String {
621        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
622    }
623}
624/// QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.
625///
626/// Since: cosmos-sdk 0.46
627#[allow(clippy::derive_partial_eq_without_eq)]
628#[derive(Clone, PartialEq, ::prost::Message)]
629pub struct QueryDenomOwnersResponse {
630    #[prost(message, repeated, tag = "1")]
631    pub denom_owners: ::prost::alloc::vec::Vec<DenomOwner>,
632    /// pagination defines the pagination in the response.
633    #[prost(message, optional, tag = "2")]
634    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
635}
636impl ::prost::Name for QueryDenomOwnersResponse {
637    const NAME: &'static str = "QueryDenomOwnersResponse";
638    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
639    fn full_name() -> ::prost::alloc::string::String {
640        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
641    }
642}
643/// QueryDenomOwnersByQueryRequest defines the request type for the DenomOwnersByQuery RPC query,
644/// which queries for a paginated set of all account holders of a particular
645/// denomination.
646///
647/// Since: cosmos-sdk 0.50.3
648#[allow(clippy::derive_partial_eq_without_eq)]
649#[derive(Clone, PartialEq, ::prost::Message)]
650pub struct QueryDenomOwnersByQueryRequest {
651    /// denom defines the coin denomination to query all account holders for.
652    #[prost(string, tag = "1")]
653    pub denom: ::prost::alloc::string::String,
654    /// pagination defines an optional pagination for the request.
655    #[prost(message, optional, tag = "2")]
656    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
657}
658impl ::prost::Name for QueryDenomOwnersByQueryRequest {
659    const NAME: &'static str = "QueryDenomOwnersByQueryRequest";
660    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
661    fn full_name() -> ::prost::alloc::string::String {
662        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
663    }
664}
665/// QueryDenomOwnersByQueryResponse defines the RPC response of a DenomOwnersByQuery RPC query.
666///
667/// Since: cosmos-sdk 0.50.3
668#[allow(clippy::derive_partial_eq_without_eq)]
669#[derive(Clone, PartialEq, ::prost::Message)]
670pub struct QueryDenomOwnersByQueryResponse {
671    #[prost(message, repeated, tag = "1")]
672    pub denom_owners: ::prost::alloc::vec::Vec<DenomOwner>,
673    /// pagination defines the pagination in the response.
674    #[prost(message, optional, tag = "2")]
675    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
676}
677impl ::prost::Name for QueryDenomOwnersByQueryResponse {
678    const NAME: &'static str = "QueryDenomOwnersByQueryResponse";
679    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
680    fn full_name() -> ::prost::alloc::string::String {
681        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
682    }
683}
684/// QuerySendEnabledRequest defines the RPC request for looking up SendEnabled entries.
685///
686/// Since: cosmos-sdk 0.47
687#[allow(clippy::derive_partial_eq_without_eq)]
688#[derive(Clone, PartialEq, ::prost::Message)]
689pub struct QuerySendEnabledRequest {
690    /// denoms is the specific denoms you want look up. Leave empty to get all entries.
691    #[prost(string, repeated, tag = "1")]
692    pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
693    /// pagination defines an optional pagination for the request. This field is
694    /// only read if the denoms field is empty.
695    #[prost(message, optional, tag = "99")]
696    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
697}
698impl ::prost::Name for QuerySendEnabledRequest {
699    const NAME: &'static str = "QuerySendEnabledRequest";
700    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
701    fn full_name() -> ::prost::alloc::string::String {
702        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
703    }
704}
705/// QuerySendEnabledResponse defines the RPC response of a SendEnable query.
706///
707/// Since: cosmos-sdk 0.47
708#[allow(clippy::derive_partial_eq_without_eq)]
709#[derive(Clone, PartialEq, ::prost::Message)]
710pub struct QuerySendEnabledResponse {
711    #[prost(message, repeated, tag = "1")]
712    pub send_enabled: ::prost::alloc::vec::Vec<SendEnabled>,
713    /// pagination defines the pagination in the response. This field is only
714    /// populated if the denoms field in the request is empty.
715    #[prost(message, optional, tag = "99")]
716    pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
717}
718impl ::prost::Name for QuerySendEnabledResponse {
719    const NAME: &'static str = "QuerySendEnabledResponse";
720    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
721    fn full_name() -> ::prost::alloc::string::String {
722        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
723    }
724}
725/// MsgSend represents a message to send coins from one account to another.
726#[allow(clippy::derive_partial_eq_without_eq)]
727#[derive(Clone, PartialEq, ::prost::Message)]
728pub struct MsgSend {
729    #[prost(string, tag = "1")]
730    pub from_address: ::prost::alloc::string::String,
731    #[prost(string, tag = "2")]
732    pub to_address: ::prost::alloc::string::String,
733    #[prost(message, repeated, tag = "3")]
734    pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
735}
736impl ::prost::Name for MsgSend {
737    const NAME: &'static str = "MsgSend";
738    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
739    fn full_name() -> ::prost::alloc::string::String {
740        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
741    }
742}
743/// MsgSendResponse defines the Msg/Send response type.
744#[allow(clippy::derive_partial_eq_without_eq)]
745#[derive(Clone, PartialEq, ::prost::Message)]
746pub struct MsgSendResponse {}
747impl ::prost::Name for MsgSendResponse {
748    const NAME: &'static str = "MsgSendResponse";
749    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
750    fn full_name() -> ::prost::alloc::string::String {
751        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
752    }
753}
754/// MsgMultiSend represents an arbitrary multi-in, multi-out send message.
755#[allow(clippy::derive_partial_eq_without_eq)]
756#[derive(Clone, PartialEq, ::prost::Message)]
757pub struct MsgMultiSend {
758    /// Inputs, despite being `repeated`, only allows one sender input. This is
759    /// checked in MsgMultiSend's ValidateBasic.
760    #[prost(message, repeated, tag = "1")]
761    pub inputs: ::prost::alloc::vec::Vec<Input>,
762    #[prost(message, repeated, tag = "2")]
763    pub outputs: ::prost::alloc::vec::Vec<Output>,
764}
765impl ::prost::Name for MsgMultiSend {
766    const NAME: &'static str = "MsgMultiSend";
767    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
768    fn full_name() -> ::prost::alloc::string::String {
769        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
770    }
771}
772/// MsgMultiSendResponse defines the Msg/MultiSend response type.
773#[allow(clippy::derive_partial_eq_without_eq)]
774#[derive(Clone, PartialEq, ::prost::Message)]
775pub struct MsgMultiSendResponse {}
776impl ::prost::Name for MsgMultiSendResponse {
777    const NAME: &'static str = "MsgMultiSendResponse";
778    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
779    fn full_name() -> ::prost::alloc::string::String {
780        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
781    }
782}
783/// MsgUpdateParams is the Msg/UpdateParams request type.
784///
785/// Since: cosmos-sdk 0.47
786#[allow(clippy::derive_partial_eq_without_eq)]
787#[derive(Clone, PartialEq, ::prost::Message)]
788pub struct MsgUpdateParams {
789    /// authority is the address that controls the module (defaults to x/gov unless overwritten).
790    #[prost(string, tag = "1")]
791    pub authority: ::prost::alloc::string::String,
792    /// params defines the x/bank parameters to update.
793    ///
794    /// NOTE: All parameters must be supplied.
795    #[prost(message, optional, tag = "2")]
796    pub params: ::core::option::Option<Params>,
797}
798impl ::prost::Name for MsgUpdateParams {
799    const NAME: &'static str = "MsgUpdateParams";
800    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
801    fn full_name() -> ::prost::alloc::string::String {
802        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
803    }
804}
805/// MsgUpdateParamsResponse defines the response structure for executing a
806/// MsgUpdateParams message.
807///
808/// Since: cosmos-sdk 0.47
809#[allow(clippy::derive_partial_eq_without_eq)]
810#[derive(Clone, PartialEq, ::prost::Message)]
811pub struct MsgUpdateParamsResponse {}
812impl ::prost::Name for MsgUpdateParamsResponse {
813    const NAME: &'static str = "MsgUpdateParamsResponse";
814    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
815    fn full_name() -> ::prost::alloc::string::String {
816        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
817    }
818}
819/// MsgSetSendEnabled is the Msg/SetSendEnabled request type.
820///
821/// Only entries to add/update/delete need to be included.
822/// Existing SendEnabled entries that are not included in this
823/// message are left unchanged.
824///
825/// Since: cosmos-sdk 0.47
826#[allow(clippy::derive_partial_eq_without_eq)]
827#[derive(Clone, PartialEq, ::prost::Message)]
828pub struct MsgSetSendEnabled {
829    /// authority is the address that controls the module.
830    #[prost(string, tag = "1")]
831    pub authority: ::prost::alloc::string::String,
832    /// send_enabled is the list of entries to add or update.
833    #[prost(message, repeated, tag = "2")]
834    pub send_enabled: ::prost::alloc::vec::Vec<SendEnabled>,
835    /// use_default_for is a list of denoms that should use the params.default_send_enabled value.
836    /// Denoms listed here will have their SendEnabled entries deleted.
837    /// If a denom is included that doesn't have a SendEnabled entry,
838    /// it will be ignored.
839    #[prost(string, repeated, tag = "3")]
840    pub use_default_for: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
841}
842impl ::prost::Name for MsgSetSendEnabled {
843    const NAME: &'static str = "MsgSetSendEnabled";
844    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
845    fn full_name() -> ::prost::alloc::string::String {
846        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
847    }
848}
849/// MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type.
850///
851/// Since: cosmos-sdk 0.47
852#[allow(clippy::derive_partial_eq_without_eq)]
853#[derive(Clone, PartialEq, ::prost::Message)]
854pub struct MsgSetSendEnabledResponse {}
855impl ::prost::Name for MsgSetSendEnabledResponse {
856    const NAME: &'static str = "MsgSetSendEnabledResponse";
857    const PACKAGE: &'static str = "cosmos.bank.v1beta1";
858    fn full_name() -> ::prost::alloc::string::String {
859        ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME)
860    }
861}
862include!("cosmos.bank.v1beta1.serde.rs");
863include!("cosmos.bank.v1beta1.tonic.rs");
864// @@protoc_insertion_point(module)