haqq_grpc/gen/
ethermint.evm.v1.rs

1// @generated
2/// EventEthereumTx defines the event for an Ethereum transaction
3#[derive(::derive_builder::Builder)]
4#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct EventEthereumTx {
7    /// amount
8    #[prost(string, tag="1")]
9    pub amount: ::prost::alloc::string::String,
10    /// eth_hash is the Ethereum hash of the transaction
11    #[prost(string, tag="2")]
12    pub eth_hash: ::prost::alloc::string::String,
13    /// index of the transaction in the block
14    #[prost(string, tag="3")]
15    pub index: ::prost::alloc::string::String,
16    /// gas_used is the amount of gas used by the transaction
17    #[prost(string, tag="4")]
18    pub gas_used: ::prost::alloc::string::String,
19    /// hash is the Tendermint hash of the transaction
20    #[prost(string, tag="5")]
21    pub hash: ::prost::alloc::string::String,
22    /// recipient of the transaction
23    #[prost(string, tag="6")]
24    pub recipient: ::prost::alloc::string::String,
25    /// eth_tx_failed contains a VM error should it occur
26    #[prost(string, tag="7")]
27    pub eth_tx_failed: ::prost::alloc::string::String,
28}
29/// EventTxLog defines the event for an Ethereum transaction log
30#[derive(::derive_builder::Builder)]
31#[allow(clippy::derive_partial_eq_without_eq)]
32#[derive(Clone, PartialEq, ::prost::Message)]
33pub struct EventTxLog {
34    /// tx_logs is an array of transaction logs
35    #[prost(string, repeated, tag="1")]
36    pub tx_logs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
37}
38/// EventMessage
39#[derive(::derive_builder::Builder)]
40#[allow(clippy::derive_partial_eq_without_eq)]
41#[derive(Clone, PartialEq, ::prost::Message)]
42pub struct EventMessage {
43    /// module which emits the event
44    #[prost(string, tag="1")]
45    pub module: ::prost::alloc::string::String,
46    /// sender of the message
47    #[prost(string, tag="2")]
48    pub sender: ::prost::alloc::string::String,
49    /// tx_type is the type of the message
50    #[prost(string, tag="3")]
51    pub tx_type: ::prost::alloc::string::String,
52}
53/// EventBlockBloom defines an Ethereum block bloom filter event
54#[derive(::derive_builder::Builder)]
55#[allow(clippy::derive_partial_eq_without_eq)]
56#[derive(Clone, PartialEq, ::prost::Message)]
57pub struct EventBlockBloom {
58    /// bloom is the bloom filter of the block
59    #[prost(string, tag="1")]
60    pub bloom: ::prost::alloc::string::String,
61}
62/// Params defines the EVM module parameters
63#[derive(::derive_builder::Builder)]
64#[allow(clippy::derive_partial_eq_without_eq)]
65#[derive(Clone, PartialEq, ::prost::Message)]
66pub struct Params {
67    /// evm_denom represents the token denomination used to run the EVM state
68    /// transitions.
69    #[prost(string, tag="1")]
70    pub evm_denom: ::prost::alloc::string::String,
71    /// enable_create toggles state transitions that use the vm.Create function
72    #[prost(bool, tag="2")]
73    pub enable_create: bool,
74    /// enable_call toggles state transitions that use the vm.Call function
75    #[prost(bool, tag="3")]
76    pub enable_call: bool,
77    /// extra_eips defines the additional EIPs for the vm.Config
78    #[prost(int64, repeated, packed="false", tag="4")]
79    pub extra_eips: ::prost::alloc::vec::Vec<i64>,
80    /// chain_config defines the EVM chain configuration parameters
81    #[prost(message, optional, tag="5")]
82    pub chain_config: ::core::option::Option<ChainConfig>,
83    /// allow_unprotected_txs defines if replay-protected (i.e non EIP155
84    /// signed) transactions can be executed on the state machine.
85    #[prost(bool, tag="6")]
86    pub allow_unprotected_txs: bool,
87}
88/// ChainConfig defines the Ethereum ChainConfig parameters using *sdk.Int values
89/// instead of *big.Int.
90#[derive(::derive_builder::Builder)]
91#[allow(clippy::derive_partial_eq_without_eq)]
92#[derive(Clone, PartialEq, ::prost::Message)]
93pub struct ChainConfig {
94    /// homestead_block switch (nil no fork, 0 = already homestead)
95    #[prost(string, tag="1")]
96    pub homestead_block: ::prost::alloc::string::String,
97    /// dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork)
98    #[prost(string, tag="2")]
99    pub dao_fork_block: ::prost::alloc::string::String,
100    /// dao_fork_support defines whether the nodes supports or opposes the DAO
101    /// hard-fork
102    #[prost(bool, tag="3")]
103    pub dao_fork_support: bool,
104    /// eip150_block: EIP150 implements the Gas price changes
105    /// (<https://github.com/ethereum/EIPs/issues/150>) EIP150 HF block (nil no fork)
106    #[prost(string, tag="4")]
107    pub eip150_block: ::prost::alloc::string::String,
108    /// eip150_hash: EIP150 HF hash (needed for header only clients as only gas
109    /// pricing changed)
110    #[prost(string, tag="5")]
111    pub eip150_hash: ::prost::alloc::string::String,
112    /// eip155_block: EIP155Block HF block
113    #[prost(string, tag="6")]
114    pub eip155_block: ::prost::alloc::string::String,
115    /// eip158_block: EIP158 HF block
116    #[prost(string, tag="7")]
117    pub eip158_block: ::prost::alloc::string::String,
118    /// byzantium_block: Byzantium switch block (nil no fork, 0 = already on
119    /// byzantium)
120    #[prost(string, tag="8")]
121    pub byzantium_block: ::prost::alloc::string::String,
122    /// constantinople_block: Constantinople switch block (nil no fork, 0 = already
123    /// activated)
124    #[prost(string, tag="9")]
125    pub constantinople_block: ::prost::alloc::string::String,
126    /// petersburg_block: Petersburg switch block (nil same as Constantinople)
127    #[prost(string, tag="10")]
128    pub petersburg_block: ::prost::alloc::string::String,
129    /// istanbul_block: Istanbul switch block (nil no fork, 0 = already on
130    /// istanbul)
131    #[prost(string, tag="11")]
132    pub istanbul_block: ::prost::alloc::string::String,
133    /// muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 =
134    /// already activated)
135    #[prost(string, tag="12")]
136    pub muir_glacier_block: ::prost::alloc::string::String,
137    /// berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin)
138    #[prost(string, tag="13")]
139    pub berlin_block: ::prost::alloc::string::String,
140    /// london_block: London switch block (nil = no fork, 0 = already on london)
141    #[prost(string, tag="17")]
142    pub london_block: ::prost::alloc::string::String,
143    /// arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 =
144    /// already activated)
145    #[prost(string, tag="18")]
146    pub arrow_glacier_block: ::prost::alloc::string::String,
147    /// gray_glacier_block: EIP-5133 (bomb delay) switch block (nil = no fork, 0 =
148    /// already activated)
149    #[prost(string, tag="20")]
150    pub gray_glacier_block: ::prost::alloc::string::String,
151    /// merge_netsplit_block: Virtual fork after The Merge to use as a network
152    /// splitter
153    #[prost(string, tag="21")]
154    pub merge_netsplit_block: ::prost::alloc::string::String,
155    /// shanghai_block switch block (nil = no fork, 0 = already on shanghai)
156    #[prost(string, tag="22")]
157    pub shanghai_block: ::prost::alloc::string::String,
158    /// cancun_block switch block (nil = no fork, 0 = already on cancun)
159    #[prost(string, tag="23")]
160    pub cancun_block: ::prost::alloc::string::String,
161}
162/// State represents a single Storage key value pair item.
163#[derive(::derive_builder::Builder)]
164#[allow(clippy::derive_partial_eq_without_eq)]
165#[derive(Clone, PartialEq, ::prost::Message)]
166pub struct State {
167    /// key is the stored key
168    #[prost(string, tag="1")]
169    pub key: ::prost::alloc::string::String,
170    /// value is the stored value for the given key
171    #[prost(string, tag="2")]
172    pub value: ::prost::alloc::string::String,
173}
174/// TransactionLogs define the logs generated from a transaction execution
175/// with a given hash. It it used for import/export data as transactions are not
176/// persisted on blockchain state after an upgrade.
177#[derive(::derive_builder::Builder)]
178#[allow(clippy::derive_partial_eq_without_eq)]
179#[derive(Clone, PartialEq, ::prost::Message)]
180pub struct TransactionLogs {
181    /// hash of the transaction
182    #[prost(string, tag="1")]
183    pub hash: ::prost::alloc::string::String,
184    /// logs is an array of Logs for the given transaction hash
185    #[prost(message, repeated, tag="2")]
186    pub logs: ::prost::alloc::vec::Vec<Log>,
187}
188/// Log represents an protobuf compatible Ethereum Log that defines a contract
189/// log event. These events are generated by the LOG opcode and stored/indexed by
190/// the node.
191///
192/// NOTE: address, topics and data are consensus fields. The rest of the fields
193/// are derived, i.e. filled in by the nodes, but not secured by consensus.
194#[derive(::derive_builder::Builder)]
195#[allow(clippy::derive_partial_eq_without_eq)]
196#[derive(Clone, PartialEq, ::prost::Message)]
197pub struct Log {
198    /// address of the contract that generated the event
199    #[prost(string, tag="1")]
200    pub address: ::prost::alloc::string::String,
201    /// topics is a list of topics provided by the contract.
202    #[prost(string, repeated, tag="2")]
203    pub topics: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
204    /// data which is supplied by the contract, usually ABI-encoded
205    #[prost(bytes="bytes", tag="3")]
206    pub data: ::prost::bytes::Bytes,
207    /// block_number of the block in which the transaction was included
208    #[prost(uint64, tag="4")]
209    pub block_number: u64,
210    /// tx_hash is the transaction hash
211    #[prost(string, tag="5")]
212    pub tx_hash: ::prost::alloc::string::String,
213    /// tx_index of the transaction in the block
214    #[prost(uint64, tag="6")]
215    pub tx_index: u64,
216    /// block_hash of the block in which the transaction was included
217    #[prost(string, tag="7")]
218    pub block_hash: ::prost::alloc::string::String,
219    /// index of the log in the block
220    #[prost(uint64, tag="8")]
221    pub index: u64,
222    /// removed is true if this log was reverted due to a chain
223    /// reorganisation. You must pay attention to this field if you receive logs
224    /// through a filter query.
225    #[prost(bool, tag="9")]
226    pub removed: bool,
227}
228/// TxResult stores results of Tx execution.
229#[derive(::derive_builder::Builder)]
230#[allow(clippy::derive_partial_eq_without_eq)]
231#[derive(Clone, PartialEq, ::prost::Message)]
232pub struct TxResult {
233    /// contract_address contains the ethereum address of the created contract (if
234    /// any). If the state transition is an evm.Call, the contract address will be
235    /// empty.
236    #[prost(string, tag="1")]
237    pub contract_address: ::prost::alloc::string::String,
238    /// bloom represents the bloom filter bytes
239    #[prost(bytes="bytes", tag="2")]
240    pub bloom: ::prost::bytes::Bytes,
241    /// tx_logs contains the transaction hash and the proto-compatible ethereum
242    /// logs.
243    #[prost(message, optional, tag="3")]
244    pub tx_logs: ::core::option::Option<TransactionLogs>,
245    /// ret defines the bytes from the execution.
246    #[prost(bytes="bytes", tag="4")]
247    pub ret: ::prost::bytes::Bytes,
248    /// reverted flag is set to true when the call has been reverted
249    #[prost(bool, tag="5")]
250    pub reverted: bool,
251    /// gas_used notes the amount of gas consumed while execution
252    #[prost(uint64, tag="6")]
253    pub gas_used: u64,
254}
255/// AccessTuple is the element type of an access list.
256#[derive(::derive_builder::Builder)]
257#[allow(clippy::derive_partial_eq_without_eq)]
258#[derive(Clone, PartialEq, ::prost::Message)]
259pub struct AccessTuple {
260    /// address is a hex formatted ethereum address
261    #[prost(string, tag="1")]
262    pub address: ::prost::alloc::string::String,
263    /// storage_keys are hex formatted hashes of the storage keys
264    #[prost(string, repeated, tag="2")]
265    pub storage_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
266}
267/// TraceConfig holds extra parameters to trace functions.
268#[derive(::derive_builder::Builder)]
269#[allow(clippy::derive_partial_eq_without_eq)]
270#[derive(Clone, PartialEq, ::prost::Message)]
271pub struct TraceConfig {
272    /// tracer is a custom javascript tracer
273    #[prost(string, tag="1")]
274    pub tracer: ::prost::alloc::string::String,
275    /// timeout overrides the default timeout of 5 seconds for JavaScript-based
276    /// tracing calls
277    #[prost(string, tag="2")]
278    pub timeout: ::prost::alloc::string::String,
279    /// reexec defines the number of blocks the tracer is willing to go back
280    #[prost(uint64, tag="3")]
281    pub reexec: u64,
282    /// disable_stack switches stack capture
283    #[prost(bool, tag="5")]
284    pub disable_stack: bool,
285    /// disable_storage switches storage capture
286    #[prost(bool, tag="6")]
287    pub disable_storage: bool,
288    /// debug can be used to print output during capture end
289    #[prost(bool, tag="8")]
290    pub debug: bool,
291    /// limit defines the maximum length of output, but zero means unlimited
292    #[prost(int32, tag="9")]
293    pub limit: i32,
294    /// overrides can be used to execute a trace using future fork rules
295    #[prost(message, optional, tag="10")]
296    pub overrides: ::core::option::Option<ChainConfig>,
297    /// enable_memory switches memory capture
298    #[prost(bool, tag="11")]
299    pub enable_memory: bool,
300    /// enable_return_data switches the capture of return data
301    #[prost(bool, tag="12")]
302    pub enable_return_data: bool,
303    /// tracer_json_config configures the tracer using a JSON string
304    #[prost(string, tag="13")]
305    pub tracer_json_config: ::prost::alloc::string::String,
306}
307/// GenesisState defines the evm module's genesis state.
308#[derive(::derive_builder::Builder)]
309#[allow(clippy::derive_partial_eq_without_eq)]
310#[derive(Clone, PartialEq, ::prost::Message)]
311pub struct GenesisState {
312    /// accounts is an array containing the ethereum genesis accounts.
313    #[prost(message, repeated, tag="1")]
314    pub accounts: ::prost::alloc::vec::Vec<GenesisAccount>,
315    /// params defines all the parameters of the module.
316    #[prost(message, optional, tag="2")]
317    pub params: ::core::option::Option<Params>,
318}
319/// GenesisAccount defines an account to be initialized in the genesis state.
320/// Its main difference between with Geth's GenesisAccount is that it uses a
321/// custom storage type and that it doesn't contain the private key field.
322#[derive(::derive_builder::Builder)]
323#[allow(clippy::derive_partial_eq_without_eq)]
324#[derive(Clone, PartialEq, ::prost::Message)]
325pub struct GenesisAccount {
326    /// address defines an ethereum hex formated address of an account
327    #[prost(string, tag="1")]
328    pub address: ::prost::alloc::string::String,
329    /// code defines the hex bytes of the account code.
330    #[prost(string, tag="2")]
331    pub code: ::prost::alloc::string::String,
332    /// storage defines the set of state key values for the account.
333    #[prost(message, repeated, tag="3")]
334    pub storage: ::prost::alloc::vec::Vec<State>,
335}
336/// MsgEthereumTx encapsulates an Ethereum transaction as an SDK message.
337#[derive(::derive_builder::Builder)]
338#[allow(clippy::derive_partial_eq_without_eq)]
339#[derive(Clone, PartialEq, ::prost::Message)]
340pub struct MsgEthereumTx {
341    /// data is inner transaction data of the Ethereum transaction
342    #[prost(message, optional, tag="1")]
343    pub data: ::core::option::Option<::pbjson_types::Any>,
344    /// size is the encoded storage size of the transaction (DEPRECATED)
345    #[prost(double, tag="2")]
346    pub size: f64,
347    /// hash of the transaction in hex format
348    #[prost(string, tag="3")]
349    pub hash: ::prost::alloc::string::String,
350    /// from is the ethereum signer address in hex format. This address value is
351    /// checked against the address derived from the signature (V, R, S) using the
352    /// secp256k1 elliptic curve
353    #[prost(string, tag="4")]
354    pub from: ::prost::alloc::string::String,
355}
356/// LegacyTx is the transaction data of regular Ethereum transactions.
357/// NOTE: All non-protected transactions (i.e non EIP155 signed) will fail if the
358/// AllowUnprotectedTxs parameter is disabled.
359#[derive(::derive_builder::Builder)]
360#[allow(clippy::derive_partial_eq_without_eq)]
361#[derive(Clone, PartialEq, ::prost::Message)]
362pub struct LegacyTx {
363    /// nonce corresponds to the account nonce (transaction sequence).
364    #[prost(uint64, tag="1")]
365    pub nonce: u64,
366    /// gas_price defines the value for each gas unit
367    #[prost(string, tag="2")]
368    pub gas_price: ::prost::alloc::string::String,
369    /// gas defines the gas limit defined for the transaction.
370    #[prost(uint64, tag="3")]
371    pub gas: u64,
372    /// to is the hex formatted address of the recipient
373    #[prost(string, tag="4")]
374    pub to: ::prost::alloc::string::String,
375    /// value defines the unsigned integer value of the transaction amount.
376    #[prost(string, tag="5")]
377    pub value: ::prost::alloc::string::String,
378    /// data is the data payload bytes of the transaction.
379    #[prost(bytes="bytes", tag="6")]
380    pub data: ::prost::bytes::Bytes,
381    /// v defines the signature value
382    #[prost(bytes="bytes", tag="7")]
383    pub v: ::prost::bytes::Bytes,
384    /// r defines the signature value
385    #[prost(bytes="bytes", tag="8")]
386    pub r: ::prost::bytes::Bytes,
387    /// s define the signature value
388    #[prost(bytes="bytes", tag="9")]
389    pub s: ::prost::bytes::Bytes,
390}
391/// AccessListTx is the data of EIP-2930 access list transactions.
392#[derive(::derive_builder::Builder)]
393#[allow(clippy::derive_partial_eq_without_eq)]
394#[derive(Clone, PartialEq, ::prost::Message)]
395pub struct AccessListTx {
396    /// chain_id of the destination EVM chain
397    #[prost(string, tag="1")]
398    pub chain_id: ::prost::alloc::string::String,
399    /// nonce corresponds to the account nonce (transaction sequence).
400    #[prost(uint64, tag="2")]
401    pub nonce: u64,
402    /// gas_price defines the value for each gas unit
403    #[prost(string, tag="3")]
404    pub gas_price: ::prost::alloc::string::String,
405    /// gas defines the gas limit defined for the transaction.
406    #[prost(uint64, tag="4")]
407    pub gas: u64,
408    /// to is the recipient address in hex format
409    #[prost(string, tag="5")]
410    pub to: ::prost::alloc::string::String,
411    /// value defines the unsigned integer value of the transaction amount.
412    #[prost(string, tag="6")]
413    pub value: ::prost::alloc::string::String,
414    /// data is the data payload bytes of the transaction.
415    #[prost(bytes="bytes", tag="7")]
416    pub data: ::prost::bytes::Bytes,
417    /// accesses is an array of access tuples
418    #[prost(message, repeated, tag="8")]
419    pub accesses: ::prost::alloc::vec::Vec<AccessTuple>,
420    /// v defines the signature value
421    #[prost(bytes="bytes", tag="9")]
422    pub v: ::prost::bytes::Bytes,
423    /// r defines the signature value
424    #[prost(bytes="bytes", tag="10")]
425    pub r: ::prost::bytes::Bytes,
426    /// s define the signature value
427    #[prost(bytes="bytes", tag="11")]
428    pub s: ::prost::bytes::Bytes,
429}
430/// DynamicFeeTx is the data of EIP-1559 dinamic fee transactions.
431#[derive(::derive_builder::Builder)]
432#[allow(clippy::derive_partial_eq_without_eq)]
433#[derive(Clone, PartialEq, ::prost::Message)]
434pub struct DynamicFeeTx {
435    /// chain_id of the destination EVM chain
436    #[prost(string, tag="1")]
437    pub chain_id: ::prost::alloc::string::String,
438    /// nonce corresponds to the account nonce (transaction sequence).
439    #[prost(uint64, tag="2")]
440    pub nonce: u64,
441    /// gas_tip_cap defines the max value for the gas tip
442    #[prost(string, tag="3")]
443    pub gas_tip_cap: ::prost::alloc::string::String,
444    /// gas_fee_cap defines the max value for the gas fee
445    #[prost(string, tag="4")]
446    pub gas_fee_cap: ::prost::alloc::string::String,
447    /// gas defines the gas limit defined for the transaction.
448    #[prost(uint64, tag="5")]
449    pub gas: u64,
450    /// to is the hex formatted address of the recipient
451    #[prost(string, tag="6")]
452    pub to: ::prost::alloc::string::String,
453    /// value defines the the transaction amount.
454    #[prost(string, tag="7")]
455    pub value: ::prost::alloc::string::String,
456    /// data is the data payload bytes of the transaction.
457    #[prost(bytes="bytes", tag="8")]
458    pub data: ::prost::bytes::Bytes,
459    /// accesses is an array of access tuples
460    #[prost(message, repeated, tag="9")]
461    pub accesses: ::prost::alloc::vec::Vec<AccessTuple>,
462    /// v defines the signature value
463    #[prost(bytes="bytes", tag="10")]
464    pub v: ::prost::bytes::Bytes,
465    /// r defines the signature value
466    #[prost(bytes="bytes", tag="11")]
467    pub r: ::prost::bytes::Bytes,
468    /// s define the signature value
469    #[prost(bytes="bytes", tag="12")]
470    pub s: ::prost::bytes::Bytes,
471}
472/// ExtensionOptionsEthereumTx is an extension option for ethereum transactions
473#[derive(::derive_builder::Builder)]
474#[allow(clippy::derive_partial_eq_without_eq)]
475#[derive(Clone, PartialEq, ::prost::Message)]
476pub struct ExtensionOptionsEthereumTx {
477}
478/// MsgEthereumTxResponse defines the Msg/EthereumTx response type.
479#[derive(::derive_builder::Builder)]
480#[allow(clippy::derive_partial_eq_without_eq)]
481#[derive(Clone, PartialEq, ::prost::Message)]
482pub struct MsgEthereumTxResponse {
483    /// hash of the ethereum transaction in hex format. This hash differs from the
484    /// Tendermint sha256 hash of the transaction bytes. See
485    /// <https://github.com/tendermint/tendermint/issues/6539> for reference
486    #[prost(string, tag="1")]
487    pub hash: ::prost::alloc::string::String,
488    /// logs contains the transaction hash and the proto-compatible ethereum
489    /// logs.
490    #[prost(message, repeated, tag="2")]
491    pub logs: ::prost::alloc::vec::Vec<Log>,
492    /// ret is the returned data from evm function (result or data supplied with
493    /// revert opcode)
494    #[prost(bytes="bytes", tag="3")]
495    pub ret: ::prost::bytes::Bytes,
496    /// vm_error is the error returned by vm execution
497    #[prost(string, tag="4")]
498    pub vm_error: ::prost::alloc::string::String,
499    /// gas_used specifies how much gas was consumed by the transaction
500    #[prost(uint64, tag="5")]
501    pub gas_used: u64,
502}
503/// MsgUpdateParams defines a Msg for updating the x/evm module parameters.
504#[derive(::derive_builder::Builder)]
505#[allow(clippy::derive_partial_eq_without_eq)]
506#[derive(Clone, PartialEq, ::prost::Message)]
507pub struct MsgUpdateParams {
508    /// authority is the address of the governance account.
509    #[prost(string, tag="1")]
510    pub authority: ::prost::alloc::string::String,
511    /// params defines the x/evm parameters to update.
512    /// NOTE: All parameters must be supplied.
513    #[prost(message, optional, tag="2")]
514    pub params: ::core::option::Option<Params>,
515}
516/// MsgUpdateParamsResponse defines the response structure for executing a
517/// MsgUpdateParams message.
518#[derive(::derive_builder::Builder)]
519#[allow(clippy::derive_partial_eq_without_eq)]
520#[derive(Clone, PartialEq, ::prost::Message)]
521pub struct MsgUpdateParamsResponse {
522}
523/// QueryAccountRequest is the request type for the Query/Account RPC method.
524#[derive(::derive_builder::Builder)]
525#[allow(clippy::derive_partial_eq_without_eq)]
526#[derive(Clone, PartialEq, ::prost::Message)]
527pub struct QueryAccountRequest {
528    /// address is the ethereum hex address to query the account for.
529    #[prost(string, tag="1")]
530    pub address: ::prost::alloc::string::String,
531}
532/// QueryAccountResponse is the response type for the Query/Account RPC method.
533#[derive(::derive_builder::Builder)]
534#[allow(clippy::derive_partial_eq_without_eq)]
535#[derive(Clone, PartialEq, ::prost::Message)]
536pub struct QueryAccountResponse {
537    /// balance is the balance of the EVM denomination.
538    #[prost(string, tag="1")]
539    pub balance: ::prost::alloc::string::String,
540    /// code_hash is the hex-formatted code bytes from the EOA.
541    #[prost(string, tag="2")]
542    pub code_hash: ::prost::alloc::string::String,
543    /// nonce is the account's sequence number.
544    #[prost(uint64, tag="3")]
545    pub nonce: u64,
546}
547/// QueryCosmosAccountRequest is the request type for the Query/CosmosAccount RPC
548/// method.
549#[derive(::derive_builder::Builder)]
550#[allow(clippy::derive_partial_eq_without_eq)]
551#[derive(Clone, PartialEq, ::prost::Message)]
552pub struct QueryCosmosAccountRequest {
553    /// address is the ethereum hex address to query the account for.
554    #[prost(string, tag="1")]
555    pub address: ::prost::alloc::string::String,
556}
557/// QueryCosmosAccountResponse is the response type for the Query/CosmosAccount
558/// RPC method.
559#[derive(::derive_builder::Builder)]
560#[allow(clippy::derive_partial_eq_without_eq)]
561#[derive(Clone, PartialEq, ::prost::Message)]
562pub struct QueryCosmosAccountResponse {
563    /// cosmos_address is the cosmos address of the account.
564    #[prost(string, tag="1")]
565    pub cosmos_address: ::prost::alloc::string::String,
566    /// sequence is the account's sequence number.
567    #[prost(uint64, tag="2")]
568    pub sequence: u64,
569    /// account_number is the account number
570    #[prost(uint64, tag="3")]
571    pub account_number: u64,
572}
573/// QueryValidatorAccountRequest is the request type for the
574/// Query/ValidatorAccount RPC method.
575#[derive(::derive_builder::Builder)]
576#[allow(clippy::derive_partial_eq_without_eq)]
577#[derive(Clone, PartialEq, ::prost::Message)]
578pub struct QueryValidatorAccountRequest {
579    /// cons_address is the validator cons address to query the account for.
580    #[prost(string, tag="1")]
581    pub cons_address: ::prost::alloc::string::String,
582}
583/// QueryValidatorAccountResponse is the response type for the
584/// Query/ValidatorAccount RPC method.
585#[derive(::derive_builder::Builder)]
586#[allow(clippy::derive_partial_eq_without_eq)]
587#[derive(Clone, PartialEq, ::prost::Message)]
588pub struct QueryValidatorAccountResponse {
589    /// account_address is the cosmos address of the account in bech32 format.
590    #[prost(string, tag="1")]
591    pub account_address: ::prost::alloc::string::String,
592    /// sequence is the account's sequence number.
593    #[prost(uint64, tag="2")]
594    pub sequence: u64,
595    /// account_number is the account number
596    #[prost(uint64, tag="3")]
597    pub account_number: u64,
598}
599/// QueryBalanceRequest is the request type for the Query/Balance RPC method.
600#[derive(::derive_builder::Builder)]
601#[allow(clippy::derive_partial_eq_without_eq)]
602#[derive(Clone, PartialEq, ::prost::Message)]
603pub struct QueryBalanceRequest {
604    /// address is the ethereum hex address to query the balance for.
605    #[prost(string, tag="1")]
606    pub address: ::prost::alloc::string::String,
607}
608/// QueryBalanceResponse is the response type for the Query/Balance RPC method.
609#[derive(::derive_builder::Builder)]
610#[allow(clippy::derive_partial_eq_without_eq)]
611#[derive(Clone, PartialEq, ::prost::Message)]
612pub struct QueryBalanceResponse {
613    /// balance is the balance of the EVM denomination.
614    #[prost(string, tag="1")]
615    pub balance: ::prost::alloc::string::String,
616}
617/// QueryStorageRequest is the request type for the Query/Storage RPC method.
618#[derive(::derive_builder::Builder)]
619#[allow(clippy::derive_partial_eq_without_eq)]
620#[derive(Clone, PartialEq, ::prost::Message)]
621pub struct QueryStorageRequest {
622    /// address is the ethereum hex address to query the storage state for.
623    #[prost(string, tag="1")]
624    pub address: ::prost::alloc::string::String,
625    /// key defines the key of the storage state
626    #[prost(string, tag="2")]
627    pub key: ::prost::alloc::string::String,
628}
629/// QueryStorageResponse is the response type for the Query/Storage RPC
630/// method.
631#[derive(::derive_builder::Builder)]
632#[allow(clippy::derive_partial_eq_without_eq)]
633#[derive(Clone, PartialEq, ::prost::Message)]
634pub struct QueryStorageResponse {
635    /// value defines the storage state value hash associated with the given key.
636    #[prost(string, tag="1")]
637    pub value: ::prost::alloc::string::String,
638}
639/// QueryCodeRequest is the request type for the Query/Code RPC method.
640#[derive(::derive_builder::Builder)]
641#[allow(clippy::derive_partial_eq_without_eq)]
642#[derive(Clone, PartialEq, ::prost::Message)]
643pub struct QueryCodeRequest {
644    /// address is the ethereum hex address to query the code for.
645    #[prost(string, tag="1")]
646    pub address: ::prost::alloc::string::String,
647}
648/// QueryCodeResponse is the response type for the Query/Code RPC
649/// method.
650#[derive(::derive_builder::Builder)]
651#[allow(clippy::derive_partial_eq_without_eq)]
652#[derive(Clone, PartialEq, ::prost::Message)]
653pub struct QueryCodeResponse {
654    /// code represents the code bytes from an ethereum address.
655    #[prost(bytes="bytes", tag="1")]
656    pub code: ::prost::bytes::Bytes,
657}
658/// QueryTxLogsRequest is the request type for the Query/TxLogs RPC method.
659#[derive(::derive_builder::Builder)]
660#[allow(clippy::derive_partial_eq_without_eq)]
661#[derive(Clone, PartialEq, ::prost::Message)]
662pub struct QueryTxLogsRequest {
663    /// hash is the ethereum transaction hex hash to query the logs for.
664    #[prost(string, tag="1")]
665    pub hash: ::prost::alloc::string::String,
666    /// pagination defines an optional pagination for the request.
667    #[prost(message, optional, tag="2")]
668    pub pagination: ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageRequest>,
669}
670/// QueryTxLogsResponse is the response type for the Query/TxLogs RPC method.
671#[derive(::derive_builder::Builder)]
672#[allow(clippy::derive_partial_eq_without_eq)]
673#[derive(Clone, PartialEq, ::prost::Message)]
674pub struct QueryTxLogsResponse {
675    /// logs represents the ethereum logs generated from the given transaction.
676    #[prost(message, repeated, tag="1")]
677    pub logs: ::prost::alloc::vec::Vec<Log>,
678    /// pagination defines the pagination in the response.
679    #[prost(message, optional, tag="2")]
680    pub pagination: ::core::option::Option<super::super::super::cosmos::base::query::v1beta1::PageResponse>,
681}
682/// QueryParamsRequest defines the request type for querying x/evm parameters.
683#[derive(::derive_builder::Builder)]
684#[allow(clippy::derive_partial_eq_without_eq)]
685#[derive(Clone, PartialEq, ::prost::Message)]
686pub struct QueryParamsRequest {
687}
688/// QueryParamsResponse defines the response type for querying x/evm parameters.
689#[derive(::derive_builder::Builder)]
690#[allow(clippy::derive_partial_eq_without_eq)]
691#[derive(Clone, PartialEq, ::prost::Message)]
692pub struct QueryParamsResponse {
693    /// params define the evm module parameters.
694    #[prost(message, optional, tag="1")]
695    pub params: ::core::option::Option<Params>,
696}
697/// EthCallRequest defines EthCall request
698#[derive(::derive_builder::Builder)]
699#[allow(clippy::derive_partial_eq_without_eq)]
700#[derive(Clone, PartialEq, ::prost::Message)]
701pub struct EthCallRequest {
702    /// args uses the same json format as the json rpc api.
703    #[prost(bytes="bytes", tag="1")]
704    pub args: ::prost::bytes::Bytes,
705    /// gas_cap defines the default gas cap to be used
706    #[prost(uint64, tag="2")]
707    pub gas_cap: u64,
708    /// proposer_address of the requested block in hex format
709    #[prost(bytes="bytes", tag="3")]
710    pub proposer_address: ::prost::bytes::Bytes,
711    /// chain_id is the eip155 chain id parsed from the requested block header
712    #[prost(int64, tag="4")]
713    pub chain_id: i64,
714}
715/// EstimateGasResponse defines EstimateGas response
716#[derive(::derive_builder::Builder)]
717#[allow(clippy::derive_partial_eq_without_eq)]
718#[derive(Clone, PartialEq, ::prost::Message)]
719pub struct EstimateGasResponse {
720    /// gas returns the estimated gas
721    #[prost(uint64, tag="1")]
722    pub gas: u64,
723}
724/// QueryTraceTxRequest defines TraceTx request
725#[derive(::derive_builder::Builder)]
726#[allow(clippy::derive_partial_eq_without_eq)]
727#[derive(Clone, PartialEq, ::prost::Message)]
728pub struct QueryTraceTxRequest {
729    /// msg is the MsgEthereumTx for the requested transaction
730    #[prost(message, optional, tag="1")]
731    pub msg: ::core::option::Option<MsgEthereumTx>,
732    /// trace_config holds extra parameters to trace functions.
733    #[prost(message, optional, tag="3")]
734    pub trace_config: ::core::option::Option<TraceConfig>,
735    /// predecessors is an array of transactions included in the same block
736    /// need to be replayed first to get correct context for tracing.
737    #[prost(message, repeated, tag="4")]
738    pub predecessors: ::prost::alloc::vec::Vec<MsgEthereumTx>,
739    /// block_number of requested transaction
740    #[prost(int64, tag="5")]
741    pub block_number: i64,
742    /// block_hash of requested transaction
743    #[prost(string, tag="6")]
744    pub block_hash: ::prost::alloc::string::String,
745    /// block_time of requested transaction
746    #[prost(message, optional, tag="7")]
747    pub block_time: ::core::option::Option<::pbjson_types::Timestamp>,
748    /// proposer_address is the proposer of the requested block
749    #[prost(bytes="bytes", tag="8")]
750    pub proposer_address: ::prost::bytes::Bytes,
751    /// chain_id is the the eip155 chain id parsed from the requested block header
752    #[prost(int64, tag="9")]
753    pub chain_id: i64,
754}
755/// QueryTraceTxResponse defines TraceTx response
756#[derive(::derive_builder::Builder)]
757#[allow(clippy::derive_partial_eq_without_eq)]
758#[derive(Clone, PartialEq, ::prost::Message)]
759pub struct QueryTraceTxResponse {
760    /// data is the response serialized in bytes
761    #[prost(bytes="bytes", tag="1")]
762    pub data: ::prost::bytes::Bytes,
763}
764/// QueryTraceBlockRequest defines TraceTx request
765#[derive(::derive_builder::Builder)]
766#[allow(clippy::derive_partial_eq_without_eq)]
767#[derive(Clone, PartialEq, ::prost::Message)]
768pub struct QueryTraceBlockRequest {
769    /// txs is an array of messages in the block
770    #[prost(message, repeated, tag="1")]
771    pub txs: ::prost::alloc::vec::Vec<MsgEthereumTx>,
772    /// trace_config holds extra parameters to trace functions.
773    #[prost(message, optional, tag="3")]
774    pub trace_config: ::core::option::Option<TraceConfig>,
775    /// block_number of the traced block
776    #[prost(int64, tag="5")]
777    pub block_number: i64,
778    /// block_hash (hex) of the traced block
779    #[prost(string, tag="6")]
780    pub block_hash: ::prost::alloc::string::String,
781    /// block_time of the traced block
782    #[prost(message, optional, tag="7")]
783    pub block_time: ::core::option::Option<::pbjson_types::Timestamp>,
784    /// proposer_address is the address of the requested block
785    #[prost(bytes="bytes", tag="8")]
786    pub proposer_address: ::prost::bytes::Bytes,
787    /// chain_id is the eip155 chain id parsed from the requested block header
788    #[prost(int64, tag="9")]
789    pub chain_id: i64,
790}
791/// QueryTraceBlockResponse defines TraceBlock response
792#[derive(::derive_builder::Builder)]
793#[allow(clippy::derive_partial_eq_without_eq)]
794#[derive(Clone, PartialEq, ::prost::Message)]
795pub struct QueryTraceBlockResponse {
796    /// data is the response serialized in bytes
797    #[prost(bytes="bytes", tag="1")]
798    pub data: ::prost::bytes::Bytes,
799}
800/// QueryBaseFeeRequest defines the request type for querying the EIP1559 base
801/// fee.
802#[derive(::derive_builder::Builder)]
803#[allow(clippy::derive_partial_eq_without_eq)]
804#[derive(Clone, PartialEq, ::prost::Message)]
805pub struct QueryBaseFeeRequest {
806}
807/// QueryBaseFeeResponse returns the EIP1559 base fee.
808#[derive(::derive_builder::Builder)]
809#[allow(clippy::derive_partial_eq_without_eq)]
810#[derive(Clone, PartialEq, ::prost::Message)]
811pub struct QueryBaseFeeResponse {
812    /// base_fee is the EIP1559 base fee
813    #[prost(string, tag="1")]
814    pub base_fee: ::prost::alloc::string::String,
815}
816include!("ethermint.evm.v1.serde.rs");
817include!("ethermint.evm.v1.tonic.rs");
818// @@protoc_insertion_point(module)