provwasm_std/types/cosmwasm/wasm/
v1.rs

1use provwasm_proc_macro::CosmwasmExt;
2/// AccessTypeParam
3#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
5#[proto_message(type_url = "/cosmwasm.wasm.v1.AccessTypeParam")]
6pub struct AccessTypeParam {
7    #[prost(enumeration = "AccessType", tag = "1")]
8    pub value: i32,
9}
10/// AccessConfig access control type.
11#[allow(clippy::derive_partial_eq_without_eq)]
12#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
13#[proto_message(type_url = "/cosmwasm.wasm.v1.AccessConfig")]
14pub struct AccessConfig {
15    #[prost(enumeration = "AccessType", tag = "1")]
16    pub permission: i32,
17    #[prost(string, repeated, tag = "3")]
18    pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
19}
20/// Params defines the set of wasm parameters.
21#[allow(clippy::derive_partial_eq_without_eq)]
22#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
23#[proto_message(type_url = "/cosmwasm.wasm.v1.Params")]
24pub struct Params {
25    #[prost(message, optional, tag = "1")]
26    pub code_upload_access: ::core::option::Option<AccessConfig>,
27    #[prost(enumeration = "AccessType", tag = "2")]
28    pub instantiate_default_permission: i32,
29}
30/// CodeInfo is data for the uploaded contract WASM code
31#[allow(clippy::derive_partial_eq_without_eq)]
32#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
33#[proto_message(type_url = "/cosmwasm.wasm.v1.CodeInfo")]
34pub struct CodeInfo {
35    /// CodeHash is the unique identifier created by wasmvm
36    #[prost(bytes = "vec", tag = "1")]
37    pub code_hash: ::prost::alloc::vec::Vec<u8>,
38    /// Creator address who initially stored the code
39    #[prost(string, tag = "2")]
40    pub creator: ::prost::alloc::string::String,
41    /// InstantiateConfig access control to apply on contract creation, optional
42    #[prost(message, optional, tag = "5")]
43    pub instantiate_config: ::core::option::Option<AccessConfig>,
44}
45/// ContractInfo stores a WASM contract instance
46#[allow(clippy::derive_partial_eq_without_eq)]
47#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
48#[proto_message(type_url = "/cosmwasm.wasm.v1.ContractInfo")]
49pub struct ContractInfo {
50    /// CodeID is the reference to the stored Wasm code
51    #[prost(uint64, tag = "1")]
52    pub code_id: u64,
53    /// Creator address who initially instantiated the contract
54    #[prost(string, tag = "2")]
55    pub creator: ::prost::alloc::string::String,
56    /// Admin is an optional address that can execute migrations
57    #[prost(string, tag = "3")]
58    pub admin: ::prost::alloc::string::String,
59    /// Label is optional metadata to be stored with a contract instance.
60    #[prost(string, tag = "4")]
61    pub label: ::prost::alloc::string::String,
62    /// Created Tx position when the contract was instantiated.
63    #[prost(message, optional, tag = "5")]
64    pub created: ::core::option::Option<AbsoluteTxPosition>,
65    #[prost(string, tag = "6")]
66    pub ibc_port_id: ::prost::alloc::string::String,
67    /// Extension is an extension point to store custom metadata within the
68    /// persistence model.
69    #[prost(message, optional, tag = "7")]
70    pub extension: ::core::option::Option<crate::shim::Any>,
71}
72/// ContractCodeHistoryEntry metadata to a contract.
73#[allow(clippy::derive_partial_eq_without_eq)]
74#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
75#[proto_message(type_url = "/cosmwasm.wasm.v1.ContractCodeHistoryEntry")]
76pub struct ContractCodeHistoryEntry {
77    #[prost(enumeration = "ContractCodeHistoryOperationType", tag = "1")]
78    pub operation: i32,
79    /// CodeID is the reference to the stored WASM code
80    #[prost(uint64, tag = "2")]
81    pub code_id: u64,
82    /// Updated Tx position when the operation was executed.
83    #[prost(message, optional, tag = "3")]
84    pub updated: ::core::option::Option<AbsoluteTxPosition>,
85    #[prost(bytes = "vec", tag = "4")]
86    pub msg: ::prost::alloc::vec::Vec<u8>,
87}
88/// AbsoluteTxPosition is a unique transaction position that allows for global
89/// ordering of transactions.
90#[allow(clippy::derive_partial_eq_without_eq)]
91#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
92#[proto_message(type_url = "/cosmwasm.wasm.v1.AbsoluteTxPosition")]
93pub struct AbsoluteTxPosition {
94    /// BlockHeight is the block the contract was created at
95    #[prost(uint64, tag = "1")]
96    pub block_height: u64,
97    /// TxIndex is a monotonic counter within the block (actual transaction index,
98    /// or gas consumed)
99    #[prost(uint64, tag = "2")]
100    pub tx_index: u64,
101}
102/// Model is a struct that holds a KV pair
103#[allow(clippy::derive_partial_eq_without_eq)]
104#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
105#[proto_message(type_url = "/cosmwasm.wasm.v1.Model")]
106pub struct Model {
107    /// hex-encode key to read it better (this is often ascii)
108    #[prost(bytes = "vec", tag = "1")]
109    pub key: ::prost::alloc::vec::Vec<u8>,
110    /// base64-encode raw value
111    #[prost(bytes = "vec", tag = "2")]
112    pub value: ::prost::alloc::vec::Vec<u8>,
113}
114/// AccessType permission types
115#[derive(
116    Clone,
117    Copy,
118    Debug,
119    PartialEq,
120    Eq,
121    Hash,
122    PartialOrd,
123    Ord,
124    ::prost::Enumeration,
125    ::schemars::JsonSchema,
126)]
127#[repr(i32)]
128pub enum AccessType {
129    /// AccessTypeUnspecified placeholder for empty value
130    Unspecified = 0,
131    /// AccessTypeNobody forbidden
132    Nobody = 1,
133    /// AccessTypeEverybody unrestricted
134    Everybody = 3,
135    /// AccessTypeAnyOfAddresses allow any of the addresses
136    AnyOfAddresses = 4,
137}
138impl AccessType {
139    /// String value of the enum field names used in the ProtoBuf definition.
140    ///
141    /// The values are not transformed in any way and thus are considered stable
142    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
143    pub fn as_str_name(&self) -> &'static str {
144        match self {
145            AccessType::Unspecified => "ACCESS_TYPE_UNSPECIFIED",
146            AccessType::Nobody => "ACCESS_TYPE_NOBODY",
147            AccessType::Everybody => "ACCESS_TYPE_EVERYBODY",
148            AccessType::AnyOfAddresses => "ACCESS_TYPE_ANY_OF_ADDRESSES",
149        }
150    }
151    /// Creates an enum from field names used in the ProtoBuf definition.
152    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
153        match value {
154            "ACCESS_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
155            "ACCESS_TYPE_NOBODY" => Some(Self::Nobody),
156            "ACCESS_TYPE_EVERYBODY" => Some(Self::Everybody),
157            "ACCESS_TYPE_ANY_OF_ADDRESSES" => Some(Self::AnyOfAddresses),
158            _ => None,
159        }
160    }
161}
162/// ContractCodeHistoryOperationType actions that caused a code change
163#[derive(
164    Clone,
165    Copy,
166    Debug,
167    PartialEq,
168    Eq,
169    Hash,
170    PartialOrd,
171    Ord,
172    ::prost::Enumeration,
173    ::schemars::JsonSchema,
174)]
175#[repr(i32)]
176pub enum ContractCodeHistoryOperationType {
177    /// ContractCodeHistoryOperationTypeUnspecified placeholder for empty value
178    Unspecified = 0,
179    /// ContractCodeHistoryOperationTypeInit on chain contract instantiation
180    Init = 1,
181    /// ContractCodeHistoryOperationTypeMigrate code migration
182    Migrate = 2,
183    /// ContractCodeHistoryOperationTypeGenesis based on genesis data
184    Genesis = 3,
185}
186impl ContractCodeHistoryOperationType {
187    /// String value of the enum field names used in the ProtoBuf definition.
188    ///
189    /// The values are not transformed in any way and thus are considered stable
190    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
191    pub fn as_str_name(&self) -> &'static str {
192        match self {
193            ContractCodeHistoryOperationType::Unspecified => {
194                "CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED"
195            }
196            ContractCodeHistoryOperationType::Init => "CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT",
197            ContractCodeHistoryOperationType::Migrate => {
198                "CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE"
199            }
200            ContractCodeHistoryOperationType::Genesis => {
201                "CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS"
202            }
203        }
204    }
205    /// Creates an enum from field names used in the ProtoBuf definition.
206    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
207        match value {
208            "CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
209            "CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT" => Some(Self::Init),
210            "CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE" => Some(Self::Migrate),
211            "CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS" => Some(Self::Genesis),
212            _ => None,
213        }
214    }
215}
216/// StoreCodeAuthorization defines authorization for wasm code upload.
217/// Since: wasmd 0.42
218#[allow(clippy::derive_partial_eq_without_eq)]
219#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
220#[proto_message(type_url = "/cosmwasm.wasm.v1.StoreCodeAuthorization")]
221pub struct StoreCodeAuthorization {
222    /// Grants for code upload
223    #[prost(message, repeated, tag = "1")]
224    pub grants: ::prost::alloc::vec::Vec<CodeGrant>,
225}
226/// ContractExecutionAuthorization defines authorization for wasm execute.
227/// Since: wasmd 0.30
228#[allow(clippy::derive_partial_eq_without_eq)]
229#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
230#[proto_message(type_url = "/cosmwasm.wasm.v1.ContractExecutionAuthorization")]
231pub struct ContractExecutionAuthorization {
232    /// Grants for contract executions
233    #[prost(message, repeated, tag = "1")]
234    pub grants: ::prost::alloc::vec::Vec<ContractGrant>,
235}
236/// ContractMigrationAuthorization defines authorization for wasm contract
237/// migration. Since: wasmd 0.30
238#[allow(clippy::derive_partial_eq_without_eq)]
239#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
240#[proto_message(type_url = "/cosmwasm.wasm.v1.ContractMigrationAuthorization")]
241pub struct ContractMigrationAuthorization {
242    /// Grants for contract migrations
243    #[prost(message, repeated, tag = "1")]
244    pub grants: ::prost::alloc::vec::Vec<ContractGrant>,
245}
246/// CodeGrant a granted permission for a single code
247#[allow(clippy::derive_partial_eq_without_eq)]
248#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
249#[proto_message(type_url = "/cosmwasm.wasm.v1.CodeGrant")]
250pub struct CodeGrant {
251    /// CodeHash is the unique identifier created by wasmvm
252    /// Wildcard "*" is used to specify any kind of grant.
253    #[prost(bytes = "vec", tag = "1")]
254    pub code_hash: ::prost::alloc::vec::Vec<u8>,
255    /// InstantiatePermission is the superset access control to apply
256    /// on contract creation.
257    /// Optional
258    #[prost(message, optional, tag = "2")]
259    pub instantiate_permission: ::core::option::Option<AccessConfig>,
260}
261/// ContractGrant a granted permission for a single contract
262/// Since: wasmd 0.30
263#[allow(clippy::derive_partial_eq_without_eq)]
264#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
265#[proto_message(type_url = "/cosmwasm.wasm.v1.ContractGrant")]
266pub struct ContractGrant {
267    /// Contract is the bech32 address of the smart contract
268    #[prost(string, tag = "1")]
269    pub contract: ::prost::alloc::string::String,
270    /// Limit defines execution limits that are enforced and updated when the grant
271    /// is applied. When the limit lapsed the grant is removed.
272    #[prost(message, optional, tag = "2")]
273    pub limit: ::core::option::Option<crate::shim::Any>,
274    /// Filter define more fine-grained control on the message payload passed
275    /// to the contract in the operation. When no filter applies on execution, the
276    /// operation is prohibited.
277    #[prost(message, optional, tag = "3")]
278    pub filter: ::core::option::Option<crate::shim::Any>,
279}
280/// MaxCallsLimit limited number of calls to the contract. No funds transferable.
281/// Since: wasmd 0.30
282#[allow(clippy::derive_partial_eq_without_eq)]
283#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
284#[proto_message(type_url = "/cosmwasm.wasm.v1.MaxCallsLimit")]
285pub struct MaxCallsLimit {
286    /// Remaining number that is decremented on each execution
287    #[prost(uint64, tag = "1")]
288    pub remaining: u64,
289}
290/// MaxFundsLimit defines the maximal amounts that can be sent to the contract.
291/// Since: wasmd 0.30
292#[allow(clippy::derive_partial_eq_without_eq)]
293#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
294#[proto_message(type_url = "/cosmwasm.wasm.v1.MaxFundsLimit")]
295pub struct MaxFundsLimit {
296    /// Amounts is the maximal amount of tokens transferable to the contract.
297    #[prost(message, repeated, tag = "1")]
298    pub amounts: ::prost::alloc::vec::Vec<super::super::super::cosmos::base::v1beta1::Coin>,
299}
300/// CombinedLimit defines the maximal amounts that can be sent to a contract and
301/// the maximal number of calls executable. Both need to remain >0 to be valid.
302/// Since: wasmd 0.30
303#[allow(clippy::derive_partial_eq_without_eq)]
304#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
305#[proto_message(type_url = "/cosmwasm.wasm.v1.CombinedLimit")]
306pub struct CombinedLimit {
307    /// Remaining number that is decremented on each execution
308    #[prost(uint64, tag = "1")]
309    pub calls_remaining: u64,
310    /// Amounts is the maximal amount of tokens transferable to the contract.
311    #[prost(message, repeated, tag = "2")]
312    pub amounts: ::prost::alloc::vec::Vec<super::super::super::cosmos::base::v1beta1::Coin>,
313}
314/// AllowAllMessagesFilter is a wildcard to allow any type of contract payload
315/// message.
316/// Since: wasmd 0.30
317#[allow(clippy::derive_partial_eq_without_eq)]
318#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
319#[proto_message(type_url = "/cosmwasm.wasm.v1.AllowAllMessagesFilter")]
320pub struct AllowAllMessagesFilter {}
321/// AcceptedMessageKeysFilter accept only the specific contract message keys in
322/// the json object to be executed.
323/// Since: wasmd 0.30
324#[allow(clippy::derive_partial_eq_without_eq)]
325#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
326#[proto_message(type_url = "/cosmwasm.wasm.v1.AcceptedMessageKeysFilter")]
327pub struct AcceptedMessageKeysFilter {
328    /// Messages is the list of unique keys
329    #[prost(string, repeated, tag = "1")]
330    pub keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
331}
332/// AcceptedMessagesFilter accept only the specific raw contract messages to be
333/// executed.
334/// Since: wasmd 0.30
335#[allow(clippy::derive_partial_eq_without_eq)]
336#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
337#[proto_message(type_url = "/cosmwasm.wasm.v1.AcceptedMessagesFilter")]
338pub struct AcceptedMessagesFilter {
339    /// Messages is the list of raw contract messages
340    #[prost(bytes = "vec", repeated, tag = "1")]
341    pub messages: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
342}
343/// GenesisState - genesis state of x/wasm
344#[allow(clippy::derive_partial_eq_without_eq)]
345#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
346#[proto_message(type_url = "/cosmwasm.wasm.v1.GenesisState")]
347pub struct GenesisState {
348    #[prost(message, optional, tag = "1")]
349    pub params: ::core::option::Option<Params>,
350    #[prost(message, repeated, tag = "2")]
351    pub codes: ::prost::alloc::vec::Vec<Code>,
352    #[prost(message, repeated, tag = "3")]
353    pub contracts: ::prost::alloc::vec::Vec<Contract>,
354    #[prost(message, repeated, tag = "4")]
355    pub sequences: ::prost::alloc::vec::Vec<Sequence>,
356}
357/// Code struct encompasses CodeInfo and CodeBytes
358#[allow(clippy::derive_partial_eq_without_eq)]
359#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
360#[proto_message(type_url = "/cosmwasm.wasm.v1.Code")]
361pub struct Code {
362    #[prost(uint64, tag = "1")]
363    pub code_id: u64,
364    #[prost(message, optional, tag = "2")]
365    pub code_info: ::core::option::Option<CodeInfo>,
366    #[prost(bytes = "vec", tag = "3")]
367    pub code_bytes: ::prost::alloc::vec::Vec<u8>,
368    /// Pinned to wasmvm cache
369    #[prost(bool, tag = "4")]
370    pub pinned: bool,
371}
372/// Contract struct encompasses ContractAddress, ContractInfo, and ContractState
373#[allow(clippy::derive_partial_eq_without_eq)]
374#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
375#[proto_message(type_url = "/cosmwasm.wasm.v1.Contract")]
376pub struct Contract {
377    #[prost(string, tag = "1")]
378    pub contract_address: ::prost::alloc::string::String,
379    #[prost(message, optional, tag = "2")]
380    pub contract_info: ::core::option::Option<ContractInfo>,
381    #[prost(message, repeated, tag = "3")]
382    pub contract_state: ::prost::alloc::vec::Vec<Model>,
383    #[prost(message, repeated, tag = "4")]
384    pub contract_code_history: ::prost::alloc::vec::Vec<ContractCodeHistoryEntry>,
385}
386/// Sequence key and value of an id generation counter
387#[allow(clippy::derive_partial_eq_without_eq)]
388#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
389#[proto_message(type_url = "/cosmwasm.wasm.v1.Sequence")]
390pub struct Sequence {
391    #[prost(bytes = "vec", tag = "1")]
392    pub id_key: ::prost::alloc::vec::Vec<u8>,
393    #[prost(uint64, tag = "2")]
394    pub value: u64,
395}
396/// MsgIBCSend
397#[allow(clippy::derive_partial_eq_without_eq)]
398#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
399#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgIBCSend")]
400pub struct MsgIbcSend {
401    /// the channel by which the packet will be sent
402    #[prost(string, tag = "2")]
403    pub channel: ::prost::alloc::string::String,
404    /// Timeout height relative to the current block height.
405    /// The timeout is disabled when set to 0.
406    #[prost(uint64, tag = "4")]
407    pub timeout_height: u64,
408    /// Timeout timestamp (in nanoseconds) relative to the current block timestamp.
409    /// The timeout is disabled when set to 0.
410    #[prost(uint64, tag = "5")]
411    pub timeout_timestamp: u64,
412    /// Data is the payload to transfer. We must not make assumption what format or
413    /// content is in here.
414    #[prost(bytes = "vec", tag = "6")]
415    pub data: ::prost::alloc::vec::Vec<u8>,
416}
417/// MsgIBCSendResponse
418#[allow(clippy::derive_partial_eq_without_eq)]
419#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
420#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgIBCSendResponse")]
421pub struct MsgIbcSendResponse {
422    /// Sequence number of the IBC packet sent
423    #[prost(uint64, tag = "1")]
424    pub sequence: u64,
425}
426/// MsgIBCWriteAcknowledgementResponse
427#[allow(clippy::derive_partial_eq_without_eq)]
428#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
429#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgIBCWriteAcknowledgementResponse")]
430pub struct MsgIbcWriteAcknowledgementResponse {}
431/// MsgIBCCloseChannel port and channel need to be owned by the contract
432#[allow(clippy::derive_partial_eq_without_eq)]
433#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
434#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgIBCCloseChannel")]
435pub struct MsgIbcCloseChannel {
436    #[prost(string, tag = "2")]
437    pub channel: ::prost::alloc::string::String,
438}
439/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
440/// an explicit StoreCodeProposal. To submit WASM code to the system,
441/// a simple MsgStoreCode can be invoked from the x/gov module via
442/// a v1 governance proposal.
443#[allow(clippy::derive_partial_eq_without_eq)]
444#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
445#[proto_message(type_url = "/cosmwasm.wasm.v1.StoreCodeProposal")]
446#[deprecated]
447pub struct StoreCodeProposal {
448    /// Title is a short summary
449    #[prost(string, tag = "1")]
450    pub title: ::prost::alloc::string::String,
451    /// Description is a human readable text
452    #[prost(string, tag = "2")]
453    pub description: ::prost::alloc::string::String,
454    /// RunAs is the address that is passed to the contract's environment as sender
455    #[prost(string, tag = "3")]
456    pub run_as: ::prost::alloc::string::String,
457    /// WASMByteCode can be raw or gzip compressed
458    #[prost(bytes = "vec", tag = "4")]
459    pub wasm_byte_code: ::prost::alloc::vec::Vec<u8>,
460    /// InstantiatePermission to apply on contract creation, optional
461    #[prost(message, optional, tag = "7")]
462    pub instantiate_permission: ::core::option::Option<AccessConfig>,
463    /// UnpinCode code on upload, optional
464    #[prost(bool, tag = "8")]
465    pub unpin_code: bool,
466    /// Source is the URL where the code is hosted
467    #[prost(string, tag = "9")]
468    pub source: ::prost::alloc::string::String,
469    /// Builder is the docker image used to build the code deterministically, used
470    /// for smart contract verification
471    #[prost(string, tag = "10")]
472    pub builder: ::prost::alloc::string::String,
473    /// CodeHash is the SHA256 sum of the code outputted by builder, used for smart
474    /// contract verification
475    #[prost(bytes = "vec", tag = "11")]
476    pub code_hash: ::prost::alloc::vec::Vec<u8>,
477}
478/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
479/// an explicit InstantiateContractProposal. To instantiate a contract,
480/// a simple MsgInstantiateContract can be invoked from the x/gov module via
481/// a v1 governance proposal.
482#[allow(clippy::derive_partial_eq_without_eq)]
483#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
484#[proto_message(type_url = "/cosmwasm.wasm.v1.InstantiateContractProposal")]
485#[deprecated]
486pub struct InstantiateContractProposal {
487    /// Title is a short summary
488    #[prost(string, tag = "1")]
489    pub title: ::prost::alloc::string::String,
490    /// Description is a human readable text
491    #[prost(string, tag = "2")]
492    pub description: ::prost::alloc::string::String,
493    /// RunAs is the address that is passed to the contract's environment as sender
494    #[prost(string, tag = "3")]
495    pub run_as: ::prost::alloc::string::String,
496    /// Admin is an optional address that can execute migrations
497    #[prost(string, tag = "4")]
498    pub admin: ::prost::alloc::string::String,
499    /// CodeID is the reference to the stored WASM code
500    #[prost(uint64, tag = "5")]
501    pub code_id: u64,
502    /// Label is optional metadata to be stored with a constract instance.
503    #[prost(string, tag = "6")]
504    pub label: ::prost::alloc::string::String,
505    /// Msg json encoded message to be passed to the contract on instantiation
506    #[prost(bytes = "vec", tag = "7")]
507    pub msg: ::prost::alloc::vec::Vec<u8>,
508    /// Funds coins that are transferred to the contract on instantiation
509    #[prost(message, repeated, tag = "8")]
510    pub funds: ::prost::alloc::vec::Vec<super::super::super::cosmos::base::v1beta1::Coin>,
511}
512/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
513/// an explicit InstantiateContract2Proposal. To instantiate contract 2,
514/// a simple MsgInstantiateContract2 can be invoked from the x/gov module via
515/// a v1 governance proposal.
516#[allow(clippy::derive_partial_eq_without_eq)]
517#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
518#[proto_message(type_url = "/cosmwasm.wasm.v1.InstantiateContract2Proposal")]
519#[deprecated]
520pub struct InstantiateContract2Proposal {
521    /// Title is a short summary
522    #[prost(string, tag = "1")]
523    pub title: ::prost::alloc::string::String,
524    /// Description is a human readable text
525    #[prost(string, tag = "2")]
526    pub description: ::prost::alloc::string::String,
527    /// RunAs is the address that is passed to the contract's enviroment as sender
528    #[prost(string, tag = "3")]
529    pub run_as: ::prost::alloc::string::String,
530    /// Admin is an optional address that can execute migrations
531    #[prost(string, tag = "4")]
532    pub admin: ::prost::alloc::string::String,
533    /// CodeID is the reference to the stored WASM code
534    #[prost(uint64, tag = "5")]
535    pub code_id: u64,
536    /// Label is optional metadata to be stored with a constract instance.
537    #[prost(string, tag = "6")]
538    pub label: ::prost::alloc::string::String,
539    /// Msg json encode message to be passed to the contract on instantiation
540    #[prost(bytes = "vec", tag = "7")]
541    pub msg: ::prost::alloc::vec::Vec<u8>,
542    /// Funds coins that are transferred to the contract on instantiation
543    #[prost(message, repeated, tag = "8")]
544    pub funds: ::prost::alloc::vec::Vec<super::super::super::cosmos::base::v1beta1::Coin>,
545    /// Salt is an arbitrary value provided by the sender. Size can be 1 to 64.
546    #[prost(bytes = "vec", tag = "9")]
547    pub salt: ::prost::alloc::vec::Vec<u8>,
548    /// FixMsg include the msg value into the hash for the predictable address.
549    /// Default is false
550    #[prost(bool, tag = "10")]
551    pub fix_msg: bool,
552}
553/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
554/// an explicit MigrateContractProposal. To migrate a contract,
555/// a simple MsgMigrateContract can be invoked from the x/gov module via
556/// a v1 governance proposal.
557#[allow(clippy::derive_partial_eq_without_eq)]
558#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
559#[proto_message(type_url = "/cosmwasm.wasm.v1.MigrateContractProposal")]
560#[deprecated]
561pub struct MigrateContractProposal {
562    /// Title is a short summary
563    #[prost(string, tag = "1")]
564    pub title: ::prost::alloc::string::String,
565    /// Description is a human readable text
566    ///
567    /// Note: skipping 3 as this was previously used for unneeded run_as
568    #[prost(string, tag = "2")]
569    pub description: ::prost::alloc::string::String,
570    /// Contract is the address of the smart contract
571    #[prost(string, tag = "4")]
572    pub contract: ::prost::alloc::string::String,
573    /// CodeID references the new WASM code
574    #[prost(uint64, tag = "5")]
575    pub code_id: u64,
576    /// Msg json encoded message to be passed to the contract on migration
577    #[prost(bytes = "vec", tag = "6")]
578    pub msg: ::prost::alloc::vec::Vec<u8>,
579}
580/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
581/// an explicit SudoContractProposal. To call sudo on a contract,
582/// a simple MsgSudoContract can be invoked from the x/gov module via
583/// a v1 governance proposal.
584#[allow(clippy::derive_partial_eq_without_eq)]
585#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
586#[proto_message(type_url = "/cosmwasm.wasm.v1.SudoContractProposal")]
587#[deprecated]
588pub struct SudoContractProposal {
589    /// Title is a short summary
590    #[prost(string, tag = "1")]
591    pub title: ::prost::alloc::string::String,
592    /// Description is a human readable text
593    #[prost(string, tag = "2")]
594    pub description: ::prost::alloc::string::String,
595    /// Contract is the address of the smart contract
596    #[prost(string, tag = "3")]
597    pub contract: ::prost::alloc::string::String,
598    /// Msg json encoded message to be passed to the contract as sudo
599    #[prost(bytes = "vec", tag = "4")]
600    pub msg: ::prost::alloc::vec::Vec<u8>,
601}
602/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
603/// an explicit ExecuteContractProposal. To call execute on a contract,
604/// a simple MsgExecuteContract can be invoked from the x/gov module via
605/// a v1 governance proposal.
606#[allow(clippy::derive_partial_eq_without_eq)]
607#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
608#[proto_message(type_url = "/cosmwasm.wasm.v1.ExecuteContractProposal")]
609#[deprecated]
610pub struct ExecuteContractProposal {
611    /// Title is a short summary
612    #[prost(string, tag = "1")]
613    pub title: ::prost::alloc::string::String,
614    /// Description is a human readable text
615    #[prost(string, tag = "2")]
616    pub description: ::prost::alloc::string::String,
617    /// RunAs is the address that is passed to the contract's environment as sender
618    #[prost(string, tag = "3")]
619    pub run_as: ::prost::alloc::string::String,
620    /// Contract is the address of the smart contract
621    #[prost(string, tag = "4")]
622    pub contract: ::prost::alloc::string::String,
623    /// Msg json encoded message to be passed to the contract as execute
624    #[prost(bytes = "vec", tag = "5")]
625    pub msg: ::prost::alloc::vec::Vec<u8>,
626    /// Funds coins that are transferred to the contract on instantiation
627    #[prost(message, repeated, tag = "6")]
628    pub funds: ::prost::alloc::vec::Vec<super::super::super::cosmos::base::v1beta1::Coin>,
629}
630/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
631/// an explicit UpdateAdminProposal. To set an admin for a contract,
632/// a simple MsgUpdateAdmin can be invoked from the x/gov module via
633/// a v1 governance proposal.
634#[allow(clippy::derive_partial_eq_without_eq)]
635#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
636#[proto_message(type_url = "/cosmwasm.wasm.v1.UpdateAdminProposal")]
637#[deprecated]
638pub struct UpdateAdminProposal {
639    /// Title is a short summary
640    #[prost(string, tag = "1")]
641    pub title: ::prost::alloc::string::String,
642    /// Description is a human readable text
643    #[prost(string, tag = "2")]
644    pub description: ::prost::alloc::string::String,
645    /// NewAdmin address to be set
646    #[prost(string, tag = "3")]
647    pub new_admin: ::prost::alloc::string::String,
648    /// Contract is the address of the smart contract
649    #[prost(string, tag = "4")]
650    pub contract: ::prost::alloc::string::String,
651}
652/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
653/// an explicit ClearAdminProposal. To clear the admin of a contract,
654/// a simple MsgClearAdmin can be invoked from the x/gov module via
655/// a v1 governance proposal.
656#[allow(clippy::derive_partial_eq_without_eq)]
657#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
658#[proto_message(type_url = "/cosmwasm.wasm.v1.ClearAdminProposal")]
659#[deprecated]
660pub struct ClearAdminProposal {
661    /// Title is a short summary
662    #[prost(string, tag = "1")]
663    pub title: ::prost::alloc::string::String,
664    /// Description is a human readable text
665    #[prost(string, tag = "2")]
666    pub description: ::prost::alloc::string::String,
667    /// Contract is the address of the smart contract
668    #[prost(string, tag = "3")]
669    pub contract: ::prost::alloc::string::String,
670}
671/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
672/// an explicit PinCodesProposal. To pin a set of code ids in the wasmvm
673/// cache, a simple MsgPinCodes can be invoked from the x/gov module via
674/// a v1 governance proposal.
675#[allow(clippy::derive_partial_eq_without_eq)]
676#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
677#[proto_message(type_url = "/cosmwasm.wasm.v1.PinCodesProposal")]
678#[deprecated]
679pub struct PinCodesProposal {
680    /// Title is a short summary
681    #[prost(string, tag = "1")]
682    pub title: ::prost::alloc::string::String,
683    /// Description is a human readable text
684    #[prost(string, tag = "2")]
685    pub description: ::prost::alloc::string::String,
686    /// CodeIDs references the new WASM codes
687    #[prost(uint64, repeated, packed = "false", tag = "3")]
688    pub code_ids: ::prost::alloc::vec::Vec<u64>,
689}
690/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
691/// an explicit UnpinCodesProposal. To unpin a set of code ids in the wasmvm
692/// cache, a simple MsgUnpinCodes can be invoked from the x/gov module via
693/// a v1 governance proposal.
694#[allow(clippy::derive_partial_eq_without_eq)]
695#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
696#[proto_message(type_url = "/cosmwasm.wasm.v1.UnpinCodesProposal")]
697#[deprecated]
698pub struct UnpinCodesProposal {
699    /// Title is a short summary
700    #[prost(string, tag = "1")]
701    pub title: ::prost::alloc::string::String,
702    /// Description is a human readable text
703    #[prost(string, tag = "2")]
704    pub description: ::prost::alloc::string::String,
705    /// CodeIDs references the WASM codes
706    #[prost(uint64, repeated, packed = "false", tag = "3")]
707    pub code_ids: ::prost::alloc::vec::Vec<u64>,
708}
709/// AccessConfigUpdate contains the code id and the access config to be
710/// applied.
711#[allow(clippy::derive_partial_eq_without_eq)]
712#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
713#[proto_message(type_url = "/cosmwasm.wasm.v1.AccessConfigUpdate")]
714pub struct AccessConfigUpdate {
715    /// CodeID is the reference to the stored WASM code to be updated
716    #[prost(uint64, tag = "1")]
717    pub code_id: u64,
718    /// InstantiatePermission to apply to the set of code ids
719    #[prost(message, optional, tag = "2")]
720    pub instantiate_permission: ::core::option::Option<AccessConfig>,
721}
722/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
723/// an explicit UpdateInstantiateConfigProposal. To update instantiate config
724/// to a set of code ids, a simple MsgUpdateInstantiateConfig can be invoked from
725/// the x/gov module via a v1 governance proposal.
726#[allow(clippy::derive_partial_eq_without_eq)]
727#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
728#[proto_message(type_url = "/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal")]
729#[deprecated]
730pub struct UpdateInstantiateConfigProposal {
731    /// Title is a short summary
732    #[prost(string, tag = "1")]
733    pub title: ::prost::alloc::string::String,
734    /// Description is a human readable text
735    #[prost(string, tag = "2")]
736    pub description: ::prost::alloc::string::String,
737    /// AccessConfigUpdate contains the list of code ids and the access config
738    /// to be applied.
739    #[prost(message, repeated, tag = "3")]
740    pub access_config_updates: ::prost::alloc::vec::Vec<AccessConfigUpdate>,
741}
742/// Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for
743/// an explicit StoreAndInstantiateContractProposal. To store and instantiate
744/// the contract, a simple MsgStoreAndInstantiateContract can be invoked from
745/// the x/gov module via a v1 governance proposal.
746#[allow(clippy::derive_partial_eq_without_eq)]
747#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
748#[proto_message(type_url = "/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal")]
749#[deprecated]
750pub struct StoreAndInstantiateContractProposal {
751    /// Title is a short summary
752    #[prost(string, tag = "1")]
753    pub title: ::prost::alloc::string::String,
754    /// Description is a human readable text
755    #[prost(string, tag = "2")]
756    pub description: ::prost::alloc::string::String,
757    /// RunAs is the address that is passed to the contract's environment as sender
758    #[prost(string, tag = "3")]
759    pub run_as: ::prost::alloc::string::String,
760    /// WASMByteCode can be raw or gzip compressed
761    #[prost(bytes = "vec", tag = "4")]
762    pub wasm_byte_code: ::prost::alloc::vec::Vec<u8>,
763    /// InstantiatePermission to apply on contract creation, optional
764    #[prost(message, optional, tag = "5")]
765    pub instantiate_permission: ::core::option::Option<AccessConfig>,
766    /// UnpinCode code on upload, optional
767    #[prost(bool, tag = "6")]
768    pub unpin_code: bool,
769    /// Admin is an optional address that can execute migrations
770    #[prost(string, tag = "7")]
771    pub admin: ::prost::alloc::string::String,
772    /// Label is optional metadata to be stored with a constract instance.
773    #[prost(string, tag = "8")]
774    pub label: ::prost::alloc::string::String,
775    /// Msg json encoded message to be passed to the contract on instantiation
776    #[prost(bytes = "vec", tag = "9")]
777    pub msg: ::prost::alloc::vec::Vec<u8>,
778    /// Funds coins that are transferred to the contract on instantiation
779    #[prost(message, repeated, tag = "10")]
780    pub funds: ::prost::alloc::vec::Vec<super::super::super::cosmos::base::v1beta1::Coin>,
781    /// Source is the URL where the code is hosted
782    #[prost(string, tag = "11")]
783    pub source: ::prost::alloc::string::String,
784    /// Builder is the docker image used to build the code deterministically, used
785    /// for smart contract verification
786    #[prost(string, tag = "12")]
787    pub builder: ::prost::alloc::string::String,
788    /// CodeHash is the SHA256 sum of the code outputted by builder, used for smart
789    /// contract verification
790    #[prost(bytes = "vec", tag = "13")]
791    pub code_hash: ::prost::alloc::vec::Vec<u8>,
792}
793/// QueryContractInfoRequest is the request type for the Query/ContractInfo RPC
794/// method
795#[allow(clippy::derive_partial_eq_without_eq)]
796#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
797#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryContractInfoRequest")]
798#[proto_query(
799    path = "/cosmwasm.wasm.v1.Query/ContractInfo",
800    response_type = QueryContractInfoResponse
801)]
802pub struct QueryContractInfoRequest {
803    /// address is the address of the contract to query
804    #[prost(string, tag = "1")]
805    pub address: ::prost::alloc::string::String,
806}
807/// QueryContractInfoResponse is the response type for the Query/ContractInfo RPC
808/// method
809#[allow(clippy::derive_partial_eq_without_eq)]
810#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
811#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryContractInfoResponse")]
812pub struct QueryContractInfoResponse {
813    /// address is the address of the contract
814    #[prost(string, tag = "1")]
815    pub address: ::prost::alloc::string::String,
816    #[prost(message, optional, tag = "2")]
817    pub contract_info: ::core::option::Option<ContractInfo>,
818}
819/// QueryContractHistoryRequest is the request type for the Query/ContractHistory
820/// RPC method
821#[allow(clippy::derive_partial_eq_without_eq)]
822#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
823#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryContractHistoryRequest")]
824#[proto_query(
825    path = "/cosmwasm.wasm.v1.Query/ContractHistory",
826    response_type = QueryContractHistoryResponse
827)]
828pub struct QueryContractHistoryRequest {
829    /// address is the address of the contract to query
830    #[prost(string, tag = "1")]
831    pub address: ::prost::alloc::string::String,
832    /// pagination defines an optional pagination for the request.
833    #[prost(message, optional, tag = "2")]
834    pub pagination:
835        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageRequest>,
836}
837/// QueryContractHistoryResponse is the response type for the
838/// Query/ContractHistory RPC method
839#[allow(clippy::derive_partial_eq_without_eq)]
840#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
841#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryContractHistoryResponse")]
842pub struct QueryContractHistoryResponse {
843    #[prost(message, repeated, tag = "1")]
844    pub entries: ::prost::alloc::vec::Vec<ContractCodeHistoryEntry>,
845    /// pagination defines the pagination in the response.
846    #[prost(message, optional, tag = "2")]
847    pub pagination:
848        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageResponse>,
849}
850/// QueryContractsByCodeRequest is the request type for the Query/ContractsByCode
851/// RPC method
852#[allow(clippy::derive_partial_eq_without_eq)]
853#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
854#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryContractsByCodeRequest")]
855#[proto_query(
856    path = "/cosmwasm.wasm.v1.Query/ContractsByCode",
857    response_type = QueryContractsByCodeResponse
858)]
859pub struct QueryContractsByCodeRequest {
860    /// grpc-gateway_out does not support Go style CodID
861    #[prost(uint64, tag = "1")]
862    pub code_id: u64,
863    /// pagination defines an optional pagination for the request.
864    #[prost(message, optional, tag = "2")]
865    pub pagination:
866        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageRequest>,
867}
868/// QueryContractsByCodeResponse is the response type for the
869/// Query/ContractsByCode RPC method
870#[allow(clippy::derive_partial_eq_without_eq)]
871#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
872#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryContractsByCodeResponse")]
873pub struct QueryContractsByCodeResponse {
874    /// contracts are a set of contract addresses
875    #[prost(string, repeated, tag = "1")]
876    pub contracts: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
877    /// pagination defines the pagination in the response.
878    #[prost(message, optional, tag = "2")]
879    pub pagination:
880        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageResponse>,
881}
882/// QueryAllContractStateRequest is the request type for the
883/// Query/AllContractState RPC method
884#[allow(clippy::derive_partial_eq_without_eq)]
885#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
886#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryAllContractStateRequest")]
887#[proto_query(
888    path = "/cosmwasm.wasm.v1.Query/AllContractState",
889    response_type = QueryAllContractStateResponse
890)]
891pub struct QueryAllContractStateRequest {
892    /// address is the address of the contract
893    #[prost(string, tag = "1")]
894    pub address: ::prost::alloc::string::String,
895    /// pagination defines an optional pagination for the request.
896    #[prost(message, optional, tag = "2")]
897    pub pagination:
898        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageRequest>,
899}
900/// QueryAllContractStateResponse is the response type for the
901/// Query/AllContractState RPC method
902#[allow(clippy::derive_partial_eq_without_eq)]
903#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
904#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryAllContractStateResponse")]
905pub struct QueryAllContractStateResponse {
906    #[prost(message, repeated, tag = "1")]
907    pub models: ::prost::alloc::vec::Vec<Model>,
908    /// pagination defines the pagination in the response.
909    #[prost(message, optional, tag = "2")]
910    pub pagination:
911        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageResponse>,
912}
913/// QueryRawContractStateRequest is the request type for the
914/// Query/RawContractState RPC method
915#[allow(clippy::derive_partial_eq_without_eq)]
916#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
917#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryRawContractStateRequest")]
918#[proto_query(
919    path = "/cosmwasm.wasm.v1.Query/RawContractState",
920    response_type = QueryRawContractStateResponse
921)]
922pub struct QueryRawContractStateRequest {
923    /// address is the address of the contract
924    #[prost(string, tag = "1")]
925    pub address: ::prost::alloc::string::String,
926    #[prost(bytes = "vec", tag = "2")]
927    pub query_data: ::prost::alloc::vec::Vec<u8>,
928}
929/// QueryRawContractStateResponse is the response type for the
930/// Query/RawContractState RPC method
931#[allow(clippy::derive_partial_eq_without_eq)]
932#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
933#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryRawContractStateResponse")]
934pub struct QueryRawContractStateResponse {
935    /// Data contains the raw store data
936    #[prost(bytes = "vec", tag = "1")]
937    pub data: ::prost::alloc::vec::Vec<u8>,
938}
939/// QuerySmartContractStateRequest is the request type for the
940/// Query/SmartContractState RPC method
941#[allow(clippy::derive_partial_eq_without_eq)]
942#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
943#[proto_message(type_url = "/cosmwasm.wasm.v1.QuerySmartContractStateRequest")]
944#[proto_query(
945    path = "/cosmwasm.wasm.v1.Query/SmartContractState",
946    response_type = QuerySmartContractStateResponse
947)]
948pub struct QuerySmartContractStateRequest {
949    /// address is the address of the contract
950    #[prost(string, tag = "1")]
951    pub address: ::prost::alloc::string::String,
952    /// QueryData contains the query data passed to the contract
953    #[prost(bytes = "vec", tag = "2")]
954    pub query_data: ::prost::alloc::vec::Vec<u8>,
955}
956/// QuerySmartContractStateResponse is the response type for the
957/// Query/SmartContractState RPC method
958#[allow(clippy::derive_partial_eq_without_eq)]
959#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
960#[proto_message(type_url = "/cosmwasm.wasm.v1.QuerySmartContractStateResponse")]
961pub struct QuerySmartContractStateResponse {
962    /// Data contains the json data returned from the smart contract
963    #[prost(bytes = "vec", tag = "1")]
964    pub data: ::prost::alloc::vec::Vec<u8>,
965}
966/// QueryCodeRequest is the request type for the Query/Code RPC method
967#[allow(clippy::derive_partial_eq_without_eq)]
968#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
969#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryCodeRequest")]
970#[proto_query(path = "/cosmwasm.wasm.v1.Query/Code", response_type = QueryCodeResponse)]
971pub struct QueryCodeRequest {
972    /// grpc-gateway_out does not support Go style CodID
973    #[prost(uint64, tag = "1")]
974    pub code_id: u64,
975}
976/// CodeInfoResponse contains code meta data from CodeInfo
977#[allow(clippy::derive_partial_eq_without_eq)]
978#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
979#[proto_message(type_url = "/cosmwasm.wasm.v1.CodeInfoResponse")]
980pub struct CodeInfoResponse {
981    /// id for legacy support
982    #[prost(uint64, tag = "1")]
983    pub code_id: u64,
984    #[prost(string, tag = "2")]
985    pub creator: ::prost::alloc::string::String,
986    #[prost(bytes = "vec", tag = "3")]
987    pub data_hash: ::prost::alloc::vec::Vec<u8>,
988    #[prost(message, optional, tag = "6")]
989    pub instantiate_permission: ::core::option::Option<AccessConfig>,
990}
991/// QueryCodeResponse is the response type for the Query/Code RPC method
992#[allow(clippy::derive_partial_eq_without_eq)]
993#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
994#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryCodeResponse")]
995pub struct QueryCodeResponse {
996    #[prost(message, optional, tag = "1")]
997    pub code_info: ::core::option::Option<CodeInfoResponse>,
998    #[prost(bytes = "vec", tag = "2")]
999    pub data: ::prost::alloc::vec::Vec<u8>,
1000}
1001/// QueryCodesRequest is the request type for the Query/Codes RPC method
1002#[allow(clippy::derive_partial_eq_without_eq)]
1003#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1004#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryCodesRequest")]
1005#[proto_query(
1006    path = "/cosmwasm.wasm.v1.Query/Codes",
1007    response_type = QueryCodesResponse
1008)]
1009pub struct QueryCodesRequest {
1010    /// pagination defines an optional pagination for the request.
1011    #[prost(message, optional, tag = "1")]
1012    pub pagination:
1013        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageRequest>,
1014}
1015/// QueryCodesResponse is the response type for the Query/Codes RPC method
1016#[allow(clippy::derive_partial_eq_without_eq)]
1017#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1018#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryCodesResponse")]
1019pub struct QueryCodesResponse {
1020    #[prost(message, repeated, tag = "1")]
1021    pub code_infos: ::prost::alloc::vec::Vec<CodeInfoResponse>,
1022    /// pagination defines the pagination in the response.
1023    #[prost(message, optional, tag = "2")]
1024    pub pagination:
1025        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageResponse>,
1026}
1027/// QueryPinnedCodesRequest is the request type for the Query/PinnedCodes
1028/// RPC method
1029#[allow(clippy::derive_partial_eq_without_eq)]
1030#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1031#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryPinnedCodesRequest")]
1032#[proto_query(
1033    path = "/cosmwasm.wasm.v1.Query/PinnedCodes",
1034    response_type = QueryPinnedCodesResponse
1035)]
1036pub struct QueryPinnedCodesRequest {
1037    /// pagination defines an optional pagination for the request.
1038    #[prost(message, optional, tag = "2")]
1039    pub pagination:
1040        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageRequest>,
1041}
1042/// QueryPinnedCodesResponse is the response type for the
1043/// Query/PinnedCodes RPC method
1044#[allow(clippy::derive_partial_eq_without_eq)]
1045#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1046#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryPinnedCodesResponse")]
1047pub struct QueryPinnedCodesResponse {
1048    #[prost(uint64, repeated, packed = "false", tag = "1")]
1049    pub code_ids: ::prost::alloc::vec::Vec<u64>,
1050    /// pagination defines the pagination in the response.
1051    #[prost(message, optional, tag = "2")]
1052    pub pagination:
1053        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageResponse>,
1054}
1055/// QueryParamsRequest is the request type for the Query/Params RPC method.
1056#[allow(clippy::derive_partial_eq_without_eq)]
1057#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1058#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryParamsRequest")]
1059#[proto_query(
1060    path = "/cosmwasm.wasm.v1.Query/Params",
1061    response_type = QueryParamsResponse
1062)]
1063pub struct QueryParamsRequest {}
1064/// QueryParamsResponse is the response type for the Query/Params RPC method.
1065#[allow(clippy::derive_partial_eq_without_eq)]
1066#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1067#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryParamsResponse")]
1068pub struct QueryParamsResponse {
1069    /// params defines the parameters of the module.
1070    #[prost(message, optional, tag = "1")]
1071    pub params: ::core::option::Option<Params>,
1072}
1073/// QueryContractsByCreatorRequest is the request type for the
1074/// Query/ContractsByCreator RPC method.
1075#[allow(clippy::derive_partial_eq_without_eq)]
1076#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1077#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryContractsByCreatorRequest")]
1078#[proto_query(
1079    path = "/cosmwasm.wasm.v1.Query/ContractsByCreator",
1080    response_type = QueryContractsByCreatorResponse
1081)]
1082pub struct QueryContractsByCreatorRequest {
1083    /// CreatorAddress is the address of contract creator
1084    #[prost(string, tag = "1")]
1085    pub creator_address: ::prost::alloc::string::String,
1086    /// Pagination defines an optional pagination for the request.
1087    #[prost(message, optional, tag = "2")]
1088    pub pagination:
1089        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageRequest>,
1090}
1091/// QueryContractsByCreatorResponse is the response type for the
1092/// Query/ContractsByCreator RPC method.
1093#[allow(clippy::derive_partial_eq_without_eq)]
1094#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1095#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryContractsByCreatorResponse")]
1096pub struct QueryContractsByCreatorResponse {
1097    /// ContractAddresses result set
1098    #[prost(string, repeated, tag = "1")]
1099    pub contract_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1100    /// Pagination defines the pagination in the response.
1101    #[prost(message, optional, tag = "2")]
1102    pub pagination:
1103        ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageResponse>,
1104}
1105/// QueryBuildAddressRequest is the request type for the Query/BuildAddress RPC
1106/// method.
1107#[allow(clippy::derive_partial_eq_without_eq)]
1108#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1109#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryBuildAddressRequest")]
1110#[proto_query(
1111    path = "/cosmwasm.wasm.v1.Query/BuildAddress",
1112    response_type = QueryBuildAddressResponse
1113)]
1114pub struct QueryBuildAddressRequest {
1115    /// CodeHash is the hash of the code
1116    #[prost(string, tag = "1")]
1117    pub code_hash: ::prost::alloc::string::String,
1118    /// CreatorAddress is the address of the contract instantiator
1119    #[prost(string, tag = "2")]
1120    pub creator_address: ::prost::alloc::string::String,
1121    /// Salt is a hex encoded salt
1122    #[prost(string, tag = "3")]
1123    pub salt: ::prost::alloc::string::String,
1124    /// InitArgs are optional json encoded init args to be used in contract address
1125    /// building if provided
1126    #[prost(bytes = "vec", tag = "4")]
1127    pub init_args: ::prost::alloc::vec::Vec<u8>,
1128}
1129/// QueryBuildAddressResponse is the response type for the Query/BuildAddress RPC
1130/// method.
1131#[allow(clippy::derive_partial_eq_without_eq)]
1132#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1133#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryBuildAddressResponse")]
1134pub struct QueryBuildAddressResponse {
1135    /// Address is the contract address
1136    #[prost(string, tag = "1")]
1137    pub address: ::prost::alloc::string::String,
1138}
1139/// MsgStoreCode submit Wasm code to the system
1140#[allow(clippy::derive_partial_eq_without_eq)]
1141#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1142#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgStoreCode")]
1143pub struct MsgStoreCode {
1144    /// Sender is the actor that signed the messages
1145    #[prost(string, tag = "1")]
1146    pub sender: ::prost::alloc::string::String,
1147    /// WASMByteCode can be raw or gzip compressed
1148    #[prost(bytes = "vec", tag = "2")]
1149    pub wasm_byte_code: ::prost::alloc::vec::Vec<u8>,
1150    /// InstantiatePermission access control to apply on contract creation,
1151    /// optional
1152    #[prost(message, optional, tag = "5")]
1153    pub instantiate_permission: ::core::option::Option<AccessConfig>,
1154}
1155/// MsgStoreCodeResponse returns store result data.
1156#[allow(clippy::derive_partial_eq_without_eq)]
1157#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1158#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgStoreCodeResponse")]
1159pub struct MsgStoreCodeResponse {
1160    /// CodeID is the reference to the stored WASM code
1161    #[prost(uint64, tag = "1")]
1162    pub code_id: u64,
1163    /// Checksum is the sha256 hash of the stored code
1164    #[prost(bytes = "vec", tag = "2")]
1165    pub checksum: ::prost::alloc::vec::Vec<u8>,
1166}
1167/// MsgInstantiateContract create a new smart contract instance for the given
1168/// code id.
1169#[allow(clippy::derive_partial_eq_without_eq)]
1170#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1171#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgInstantiateContract")]
1172pub struct MsgInstantiateContract {
1173    /// Sender is the that actor that signed the messages
1174    #[prost(string, tag = "1")]
1175    pub sender: ::prost::alloc::string::String,
1176    /// Admin is an optional address that can execute migrations
1177    #[prost(string, tag = "2")]
1178    pub admin: ::prost::alloc::string::String,
1179    /// CodeID is the reference to the stored WASM code
1180    #[prost(uint64, tag = "3")]
1181    pub code_id: u64,
1182    /// Label is optional metadata to be stored with a contract instance.
1183    #[prost(string, tag = "4")]
1184    pub label: ::prost::alloc::string::String,
1185    /// Msg json encoded message to be passed to the contract on instantiation
1186    #[prost(bytes = "vec", tag = "5")]
1187    pub msg: ::prost::alloc::vec::Vec<u8>,
1188    /// Funds coins that are transferred to the contract on instantiation
1189    #[prost(message, repeated, tag = "6")]
1190    pub funds: ::prost::alloc::vec::Vec<super::super::super::cosmos::base::v1beta1::Coin>,
1191}
1192/// MsgInstantiateContractResponse return instantiation result data
1193#[allow(clippy::derive_partial_eq_without_eq)]
1194#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1195#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgInstantiateContractResponse")]
1196pub struct MsgInstantiateContractResponse {
1197    /// Address is the bech32 address of the new contract instance.
1198    #[prost(string, tag = "1")]
1199    pub address: ::prost::alloc::string::String,
1200    /// Data contains bytes to returned from the contract
1201    #[prost(bytes = "vec", tag = "2")]
1202    pub data: ::prost::alloc::vec::Vec<u8>,
1203}
1204/// MsgInstantiateContract2 create a new smart contract instance for the given
1205/// code id with a predicable address.
1206#[allow(clippy::derive_partial_eq_without_eq)]
1207#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1208#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgInstantiateContract2")]
1209pub struct MsgInstantiateContract2 {
1210    /// Sender is the that actor that signed the messages
1211    #[prost(string, tag = "1")]
1212    pub sender: ::prost::alloc::string::String,
1213    /// Admin is an optional address that can execute migrations
1214    #[prost(string, tag = "2")]
1215    pub admin: ::prost::alloc::string::String,
1216    /// CodeID is the reference to the stored WASM code
1217    #[prost(uint64, tag = "3")]
1218    pub code_id: u64,
1219    /// Label is optional metadata to be stored with a contract instance.
1220    #[prost(string, tag = "4")]
1221    pub label: ::prost::alloc::string::String,
1222    /// Msg json encoded message to be passed to the contract on instantiation
1223    #[prost(bytes = "vec", tag = "5")]
1224    pub msg: ::prost::alloc::vec::Vec<u8>,
1225    /// Funds coins that are transferred to the contract on instantiation
1226    #[prost(message, repeated, tag = "6")]
1227    pub funds: ::prost::alloc::vec::Vec<super::super::super::cosmos::base::v1beta1::Coin>,
1228    /// Salt is an arbitrary value provided by the sender. Size can be 1 to 64.
1229    #[prost(bytes = "vec", tag = "7")]
1230    pub salt: ::prost::alloc::vec::Vec<u8>,
1231    /// FixMsg include the msg value into the hash for the predictable address.
1232    /// Default is false
1233    #[prost(bool, tag = "8")]
1234    pub fix_msg: bool,
1235}
1236/// MsgInstantiateContract2Response return instantiation result data
1237#[allow(clippy::derive_partial_eq_without_eq)]
1238#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1239#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgInstantiateContract2Response")]
1240pub struct MsgInstantiateContract2Response {
1241    /// Address is the bech32 address of the new contract instance.
1242    #[prost(string, tag = "1")]
1243    pub address: ::prost::alloc::string::String,
1244    /// Data contains bytes to returned from the contract
1245    #[prost(bytes = "vec", tag = "2")]
1246    pub data: ::prost::alloc::vec::Vec<u8>,
1247}
1248/// MsgExecuteContract submits the given message data to a smart contract
1249#[allow(clippy::derive_partial_eq_without_eq)]
1250#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1251#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgExecuteContract")]
1252pub struct MsgExecuteContract {
1253    /// Sender is the that actor that signed the messages
1254    #[prost(string, tag = "1")]
1255    pub sender: ::prost::alloc::string::String,
1256    /// Contract is the address of the smart contract
1257    #[prost(string, tag = "2")]
1258    pub contract: ::prost::alloc::string::String,
1259    /// Msg json encoded message to be passed to the contract
1260    #[prost(bytes = "vec", tag = "3")]
1261    pub msg: ::prost::alloc::vec::Vec<u8>,
1262    /// Funds coins that are transferred to the contract on execution
1263    #[prost(message, repeated, tag = "5")]
1264    pub funds: ::prost::alloc::vec::Vec<super::super::super::cosmos::base::v1beta1::Coin>,
1265}
1266/// MsgExecuteContractResponse returns execution result data.
1267#[allow(clippy::derive_partial_eq_without_eq)]
1268#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1269#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgExecuteContractResponse")]
1270pub struct MsgExecuteContractResponse {
1271    /// Data contains bytes to returned from the contract
1272    #[prost(bytes = "vec", tag = "1")]
1273    pub data: ::prost::alloc::vec::Vec<u8>,
1274}
1275/// MsgMigrateContract runs a code upgrade/ downgrade for a smart contract
1276#[allow(clippy::derive_partial_eq_without_eq)]
1277#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1278#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgMigrateContract")]
1279pub struct MsgMigrateContract {
1280    /// Sender is the that actor that signed the messages
1281    #[prost(string, tag = "1")]
1282    pub sender: ::prost::alloc::string::String,
1283    /// Contract is the address of the smart contract
1284    #[prost(string, tag = "2")]
1285    pub contract: ::prost::alloc::string::String,
1286    /// CodeID references the new WASM code
1287    #[prost(uint64, tag = "3")]
1288    pub code_id: u64,
1289    /// Msg json encoded message to be passed to the contract on migration
1290    #[prost(bytes = "vec", tag = "4")]
1291    pub msg: ::prost::alloc::vec::Vec<u8>,
1292}
1293/// MsgMigrateContractResponse returns contract migration result data.
1294#[allow(clippy::derive_partial_eq_without_eq)]
1295#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1296#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgMigrateContractResponse")]
1297pub struct MsgMigrateContractResponse {
1298    /// Data contains same raw bytes returned as data from the wasm contract.
1299    /// (May be empty)
1300    #[prost(bytes = "vec", tag = "1")]
1301    pub data: ::prost::alloc::vec::Vec<u8>,
1302}
1303/// MsgUpdateAdmin sets a new admin for a smart contract
1304#[allow(clippy::derive_partial_eq_without_eq)]
1305#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1306#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgUpdateAdmin")]
1307pub struct MsgUpdateAdmin {
1308    /// Sender is the that actor that signed the messages
1309    #[prost(string, tag = "1")]
1310    pub sender: ::prost::alloc::string::String,
1311    /// NewAdmin address to be set
1312    #[prost(string, tag = "2")]
1313    pub new_admin: ::prost::alloc::string::String,
1314    /// Contract is the address of the smart contract
1315    #[prost(string, tag = "3")]
1316    pub contract: ::prost::alloc::string::String,
1317}
1318/// MsgUpdateAdminResponse returns empty data
1319#[allow(clippy::derive_partial_eq_without_eq)]
1320#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1321#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgUpdateAdminResponse")]
1322pub struct MsgUpdateAdminResponse {}
1323/// MsgClearAdmin removes any admin stored for a smart contract
1324#[allow(clippy::derive_partial_eq_without_eq)]
1325#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1326#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgClearAdmin")]
1327pub struct MsgClearAdmin {
1328    /// Sender is the actor that signed the messages
1329    #[prost(string, tag = "1")]
1330    pub sender: ::prost::alloc::string::String,
1331    /// Contract is the address of the smart contract
1332    #[prost(string, tag = "3")]
1333    pub contract: ::prost::alloc::string::String,
1334}
1335/// MsgClearAdminResponse returns empty data
1336#[allow(clippy::derive_partial_eq_without_eq)]
1337#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1338#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgClearAdminResponse")]
1339pub struct MsgClearAdminResponse {}
1340/// MsgUpdateInstantiateConfig updates instantiate config for a smart contract
1341#[allow(clippy::derive_partial_eq_without_eq)]
1342#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1343#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgUpdateInstantiateConfig")]
1344pub struct MsgUpdateInstantiateConfig {
1345    /// Sender is the that actor that signed the messages
1346    #[prost(string, tag = "1")]
1347    pub sender: ::prost::alloc::string::String,
1348    /// CodeID references the stored WASM code
1349    #[prost(uint64, tag = "2")]
1350    pub code_id: u64,
1351    /// NewInstantiatePermission is the new access control
1352    #[prost(message, optional, tag = "3")]
1353    pub new_instantiate_permission: ::core::option::Option<AccessConfig>,
1354}
1355/// MsgUpdateInstantiateConfigResponse returns empty data
1356#[allow(clippy::derive_partial_eq_without_eq)]
1357#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1358#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgUpdateInstantiateConfigResponse")]
1359pub struct MsgUpdateInstantiateConfigResponse {}
1360/// MsgUpdateParams is the MsgUpdateParams request type.
1361///
1362/// Since: 0.40
1363#[allow(clippy::derive_partial_eq_without_eq)]
1364#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1365#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgUpdateParams")]
1366pub struct MsgUpdateParams {
1367    /// Authority is the address of the governance account.
1368    #[prost(string, tag = "1")]
1369    pub authority: ::prost::alloc::string::String,
1370    /// params defines the x/wasm parameters to update.
1371    ///
1372    /// NOTE: All parameters must be supplied.
1373    #[prost(message, optional, tag = "2")]
1374    pub params: ::core::option::Option<Params>,
1375}
1376/// MsgUpdateParamsResponse defines the response structure for executing a
1377/// MsgUpdateParams message.
1378///
1379/// Since: 0.40
1380#[allow(clippy::derive_partial_eq_without_eq)]
1381#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1382#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgUpdateParamsResponse")]
1383pub struct MsgUpdateParamsResponse {}
1384/// MsgSudoContract is the MsgSudoContract request type.
1385///
1386/// Since: 0.40
1387#[allow(clippy::derive_partial_eq_without_eq)]
1388#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1389#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgSudoContract")]
1390pub struct MsgSudoContract {
1391    /// Authority is the address of the governance account.
1392    #[prost(string, tag = "1")]
1393    pub authority: ::prost::alloc::string::String,
1394    /// Contract is the address of the smart contract
1395    #[prost(string, tag = "2")]
1396    pub contract: ::prost::alloc::string::String,
1397    /// Msg json encoded message to be passed to the contract as sudo
1398    #[prost(bytes = "vec", tag = "3")]
1399    pub msg: ::prost::alloc::vec::Vec<u8>,
1400}
1401/// MsgSudoContractResponse defines the response structure for executing a
1402/// MsgSudoContract message.
1403///
1404/// Since: 0.40
1405#[allow(clippy::derive_partial_eq_without_eq)]
1406#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1407#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgSudoContractResponse")]
1408pub struct MsgSudoContractResponse {
1409    /// Data contains bytes to returned from the contract
1410    #[prost(bytes = "vec", tag = "1")]
1411    pub data: ::prost::alloc::vec::Vec<u8>,
1412}
1413/// MsgPinCodes is the MsgPinCodes request type.
1414///
1415/// Since: 0.40
1416#[allow(clippy::derive_partial_eq_without_eq)]
1417#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1418#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgPinCodes")]
1419pub struct MsgPinCodes {
1420    /// Authority is the address of the governance account.
1421    #[prost(string, tag = "1")]
1422    pub authority: ::prost::alloc::string::String,
1423    /// CodeIDs references the new WASM codes
1424    #[prost(uint64, repeated, packed = "false", tag = "2")]
1425    pub code_ids: ::prost::alloc::vec::Vec<u64>,
1426}
1427/// MsgPinCodesResponse defines the response structure for executing a
1428/// MsgPinCodes message.
1429///
1430/// Since: 0.40
1431#[allow(clippy::derive_partial_eq_without_eq)]
1432#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1433#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgPinCodesResponse")]
1434pub struct MsgPinCodesResponse {}
1435/// MsgUnpinCodes is the MsgUnpinCodes request type.
1436///
1437/// Since: 0.40
1438#[allow(clippy::derive_partial_eq_without_eq)]
1439#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1440#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgUnpinCodes")]
1441pub struct MsgUnpinCodes {
1442    /// Authority is the address of the governance account.
1443    #[prost(string, tag = "1")]
1444    pub authority: ::prost::alloc::string::String,
1445    /// CodeIDs references the WASM codes
1446    #[prost(uint64, repeated, packed = "false", tag = "2")]
1447    pub code_ids: ::prost::alloc::vec::Vec<u64>,
1448}
1449/// MsgUnpinCodesResponse defines the response structure for executing a
1450/// MsgUnpinCodes message.
1451///
1452/// Since: 0.40
1453#[allow(clippy::derive_partial_eq_without_eq)]
1454#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1455#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgUnpinCodesResponse")]
1456pub struct MsgUnpinCodesResponse {}
1457/// MsgStoreAndInstantiateContract is the MsgStoreAndInstantiateContract
1458/// request type.
1459///
1460/// Since: 0.40
1461#[allow(clippy::derive_partial_eq_without_eq)]
1462#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1463#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgStoreAndInstantiateContract")]
1464pub struct MsgStoreAndInstantiateContract {
1465    /// Authority is the address of the governance account.
1466    #[prost(string, tag = "1")]
1467    pub authority: ::prost::alloc::string::String,
1468    /// WASMByteCode can be raw or gzip compressed
1469    #[prost(bytes = "vec", tag = "3")]
1470    pub wasm_byte_code: ::prost::alloc::vec::Vec<u8>,
1471    /// InstantiatePermission to apply on contract creation, optional
1472    #[prost(message, optional, tag = "4")]
1473    pub instantiate_permission: ::core::option::Option<AccessConfig>,
1474    /// UnpinCode code on upload, optional. As default the uploaded contract is
1475    /// pinned to cache.
1476    #[prost(bool, tag = "5")]
1477    pub unpin_code: bool,
1478    /// Admin is an optional address that can execute migrations
1479    #[prost(string, tag = "6")]
1480    pub admin: ::prost::alloc::string::String,
1481    /// Label is optional metadata to be stored with a constract instance.
1482    #[prost(string, tag = "7")]
1483    pub label: ::prost::alloc::string::String,
1484    /// Msg json encoded message to be passed to the contract on instantiation
1485    #[prost(bytes = "vec", tag = "8")]
1486    pub msg: ::prost::alloc::vec::Vec<u8>,
1487    /// Funds coins that are transferred from the authority account to the contract
1488    /// on instantiation
1489    #[prost(message, repeated, tag = "9")]
1490    pub funds: ::prost::alloc::vec::Vec<super::super::super::cosmos::base::v1beta1::Coin>,
1491    /// Source is the URL where the code is hosted
1492    #[prost(string, tag = "10")]
1493    pub source: ::prost::alloc::string::String,
1494    /// Builder is the docker image used to build the code deterministically, used
1495    /// for smart contract verification
1496    #[prost(string, tag = "11")]
1497    pub builder: ::prost::alloc::string::String,
1498    /// CodeHash is the SHA256 sum of the code outputted by builder, used for smart
1499    /// contract verification
1500    #[prost(bytes = "vec", tag = "12")]
1501    pub code_hash: ::prost::alloc::vec::Vec<u8>,
1502}
1503/// MsgStoreAndInstantiateContractResponse defines the response structure
1504/// for executing a MsgStoreAndInstantiateContract message.
1505///
1506/// Since: 0.40
1507#[allow(clippy::derive_partial_eq_without_eq)]
1508#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1509#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgStoreAndInstantiateContractResponse")]
1510pub struct MsgStoreAndInstantiateContractResponse {
1511    /// Address is the bech32 address of the new contract instance.
1512    #[prost(string, tag = "1")]
1513    pub address: ::prost::alloc::string::String,
1514    /// Data contains bytes to returned from the contract
1515    #[prost(bytes = "vec", tag = "2")]
1516    pub data: ::prost::alloc::vec::Vec<u8>,
1517}
1518/// MsgAddCodeUploadParamsAddresses is the
1519/// MsgAddCodeUploadParamsAddresses request type.
1520#[allow(clippy::derive_partial_eq_without_eq)]
1521#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1522#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgAddCodeUploadParamsAddresses")]
1523pub struct MsgAddCodeUploadParamsAddresses {
1524    /// Authority is the address of the governance account.
1525    #[prost(string, tag = "1")]
1526    pub authority: ::prost::alloc::string::String,
1527    #[prost(string, repeated, tag = "2")]
1528    pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1529}
1530/// MsgAddCodeUploadParamsAddressesResponse defines the response
1531/// structure for executing a MsgAddCodeUploadParamsAddresses message.
1532#[allow(clippy::derive_partial_eq_without_eq)]
1533#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1534#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgAddCodeUploadParamsAddressesResponse")]
1535pub struct MsgAddCodeUploadParamsAddressesResponse {}
1536/// MsgRemoveCodeUploadParamsAddresses is the
1537/// MsgRemoveCodeUploadParamsAddresses request type.
1538#[allow(clippy::derive_partial_eq_without_eq)]
1539#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1540#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgRemoveCodeUploadParamsAddresses")]
1541pub struct MsgRemoveCodeUploadParamsAddresses {
1542    /// Authority is the address of the governance account.
1543    #[prost(string, tag = "1")]
1544    pub authority: ::prost::alloc::string::String,
1545    #[prost(string, repeated, tag = "2")]
1546    pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1547}
1548/// MsgRemoveCodeUploadParamsAddressesResponse defines the response
1549/// structure for executing a MsgRemoveCodeUploadParamsAddresses message.
1550#[allow(clippy::derive_partial_eq_without_eq)]
1551#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1552#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgRemoveCodeUploadParamsAddressesResponse")]
1553pub struct MsgRemoveCodeUploadParamsAddressesResponse {}
1554/// MsgStoreAndMigrateContract is the MsgStoreAndMigrateContract
1555/// request type.
1556///
1557/// Since: 0.42
1558#[allow(clippy::derive_partial_eq_without_eq)]
1559#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1560#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgStoreAndMigrateContract")]
1561pub struct MsgStoreAndMigrateContract {
1562    /// Authority is the address of the governance account.
1563    #[prost(string, tag = "1")]
1564    pub authority: ::prost::alloc::string::String,
1565    /// WASMByteCode can be raw or gzip compressed
1566    #[prost(bytes = "vec", tag = "2")]
1567    pub wasm_byte_code: ::prost::alloc::vec::Vec<u8>,
1568    /// InstantiatePermission to apply on contract creation, optional
1569    #[prost(message, optional, tag = "3")]
1570    pub instantiate_permission: ::core::option::Option<AccessConfig>,
1571    /// Contract is the address of the smart contract
1572    #[prost(string, tag = "4")]
1573    pub contract: ::prost::alloc::string::String,
1574    /// Msg json encoded message to be passed to the contract on migration
1575    #[prost(bytes = "vec", tag = "5")]
1576    pub msg: ::prost::alloc::vec::Vec<u8>,
1577}
1578/// MsgStoreAndMigrateContractResponse defines the response structure
1579/// for executing a MsgStoreAndMigrateContract message.
1580///
1581/// Since: 0.42
1582#[allow(clippy::derive_partial_eq_without_eq)]
1583#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1584#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgStoreAndMigrateContractResponse")]
1585pub struct MsgStoreAndMigrateContractResponse {
1586    /// CodeID is the reference to the stored WASM code
1587    #[prost(uint64, tag = "1")]
1588    pub code_id: u64,
1589    /// Checksum is the sha256 hash of the stored code
1590    #[prost(bytes = "vec", tag = "2")]
1591    pub checksum: ::prost::alloc::vec::Vec<u8>,
1592    /// Data contains bytes to returned from the contract
1593    #[prost(bytes = "vec", tag = "3")]
1594    pub data: ::prost::alloc::vec::Vec<u8>,
1595}
1596/// MsgUpdateContractLabel sets a new label for a smart contract
1597#[allow(clippy::derive_partial_eq_without_eq)]
1598#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1599#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgUpdateContractLabel")]
1600pub struct MsgUpdateContractLabel {
1601    /// Sender is the that actor that signed the messages
1602    #[prost(string, tag = "1")]
1603    pub sender: ::prost::alloc::string::String,
1604    /// NewLabel string to be set
1605    #[prost(string, tag = "2")]
1606    pub new_label: ::prost::alloc::string::String,
1607    /// Contract is the address of the smart contract
1608    #[prost(string, tag = "3")]
1609    pub contract: ::prost::alloc::string::String,
1610}
1611/// MsgUpdateContractLabelResponse returns empty data
1612#[allow(clippy::derive_partial_eq_without_eq)]
1613#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)]
1614#[proto_message(type_url = "/cosmwasm.wasm.v1.MsgUpdateContractLabelResponse")]
1615pub struct MsgUpdateContractLabelResponse {}
1616pub struct WasmQuerier<'a, Q: cosmwasm_std::CustomQuery> {
1617    querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>,
1618}
1619impl<'a, Q: cosmwasm_std::CustomQuery> WasmQuerier<'a, Q> {
1620    pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self {
1621        Self { querier }
1622    }
1623    pub fn contract_info(
1624        &self,
1625        address: ::prost::alloc::string::String,
1626    ) -> Result<QueryContractInfoResponse, cosmwasm_std::StdError> {
1627        QueryContractInfoRequest { address }.query(self.querier)
1628    }
1629    pub fn contract_history(
1630        &self,
1631        address: ::prost::alloc::string::String,
1632        pagination: ::core::option::Option<
1633            super::super::super::cosmos::base::query::v1beta1::PageRequest,
1634        >,
1635    ) -> Result<QueryContractHistoryResponse, cosmwasm_std::StdError> {
1636        QueryContractHistoryRequest {
1637            address,
1638            pagination,
1639        }
1640        .query(self.querier)
1641    }
1642    pub fn contracts_by_code(
1643        &self,
1644        code_id: u64,
1645        pagination: ::core::option::Option<
1646            super::super::super::cosmos::base::query::v1beta1::PageRequest,
1647        >,
1648    ) -> Result<QueryContractsByCodeResponse, cosmwasm_std::StdError> {
1649        QueryContractsByCodeRequest {
1650            code_id,
1651            pagination,
1652        }
1653        .query(self.querier)
1654    }
1655    pub fn all_contract_state(
1656        &self,
1657        address: ::prost::alloc::string::String,
1658        pagination: ::core::option::Option<
1659            super::super::super::cosmos::base::query::v1beta1::PageRequest,
1660        >,
1661    ) -> Result<QueryAllContractStateResponse, cosmwasm_std::StdError> {
1662        QueryAllContractStateRequest {
1663            address,
1664            pagination,
1665        }
1666        .query(self.querier)
1667    }
1668    pub fn raw_contract_state(
1669        &self,
1670        address: ::prost::alloc::string::String,
1671        query_data: ::prost::alloc::vec::Vec<u8>,
1672    ) -> Result<QueryRawContractStateResponse, cosmwasm_std::StdError> {
1673        QueryRawContractStateRequest {
1674            address,
1675            query_data,
1676        }
1677        .query(self.querier)
1678    }
1679    pub fn smart_contract_state(
1680        &self,
1681        address: ::prost::alloc::string::String,
1682        query_data: ::prost::alloc::vec::Vec<u8>,
1683    ) -> Result<QuerySmartContractStateResponse, cosmwasm_std::StdError> {
1684        QuerySmartContractStateRequest {
1685            address,
1686            query_data,
1687        }
1688        .query(self.querier)
1689    }
1690    pub fn code(&self, code_id: u64) -> Result<QueryCodeResponse, cosmwasm_std::StdError> {
1691        QueryCodeRequest { code_id }.query(self.querier)
1692    }
1693    pub fn codes(
1694        &self,
1695        pagination: ::core::option::Option<
1696            super::super::super::cosmos::base::query::v1beta1::PageRequest,
1697        >,
1698    ) -> Result<QueryCodesResponse, cosmwasm_std::StdError> {
1699        QueryCodesRequest { pagination }.query(self.querier)
1700    }
1701    pub fn pinned_codes(
1702        &self,
1703        pagination: ::core::option::Option<
1704            super::super::super::cosmos::base::query::v1beta1::PageRequest,
1705        >,
1706    ) -> Result<QueryPinnedCodesResponse, cosmwasm_std::StdError> {
1707        QueryPinnedCodesRequest { pagination }.query(self.querier)
1708    }
1709    pub fn params(&self) -> Result<QueryParamsResponse, cosmwasm_std::StdError> {
1710        QueryParamsRequest {}.query(self.querier)
1711    }
1712    pub fn contracts_by_creator(
1713        &self,
1714        creator_address: ::prost::alloc::string::String,
1715        pagination: ::core::option::Option<
1716            super::super::super::cosmos::base::query::v1beta1::PageRequest,
1717        >,
1718    ) -> Result<QueryContractsByCreatorResponse, cosmwasm_std::StdError> {
1719        QueryContractsByCreatorRequest {
1720            creator_address,
1721            pagination,
1722        }
1723        .query(self.querier)
1724    }
1725    pub fn build_address(
1726        &self,
1727        code_hash: ::prost::alloc::string::String,
1728        creator_address: ::prost::alloc::string::String,
1729        salt: ::prost::alloc::string::String,
1730        init_args: ::prost::alloc::vec::Vec<u8>,
1731    ) -> Result<QueryBuildAddressResponse, cosmwasm_std::StdError> {
1732        QueryBuildAddressRequest {
1733            code_hash,
1734            creator_address,
1735            salt,
1736            init_args,
1737        }
1738        .query(self.querier)
1739    }
1740}