# Protobuf Documentation ## Table of Contents - [ethermint/crypto/v1/ethsecp256k1/keys.proto](#ethermint/crypto/v1/ethsecp256k1/keys.proto) - [PrivKey](#ethermint.crypto.v1.ethsecp256k1.PrivKey) - [PubKey](#ethermint.crypto.v1.ethsecp256k1.PubKey) - [ethermint/evm/v1/evm.proto](#ethermint/evm/v1/evm.proto) - [AccessTuple](#ethermint.evm.v1.AccessTuple) - [ChainConfig](#ethermint.evm.v1.ChainConfig) - [Log](#ethermint.evm.v1.Log) - [Params](#ethermint.evm.v1.Params) - [State](#ethermint.evm.v1.State) - [TraceConfig](#ethermint.evm.v1.TraceConfig) - [TransactionLogs](#ethermint.evm.v1.TransactionLogs) - [TxResult](#ethermint.evm.v1.TxResult) - [ethermint/evm/v1/genesis.proto](#ethermint/evm/v1/genesis.proto) - [GenesisAccount](#ethermint.evm.v1.GenesisAccount) - [GenesisState](#ethermint.evm.v1.GenesisState) - [ethermint/evm/v1/tx.proto](#ethermint/evm/v1/tx.proto) - [AccessListTx](#ethermint.evm.v1.AccessListTx) - [DynamicFeeTx](#ethermint.evm.v1.DynamicFeeTx) - [ExtensionOptionsEthereumTx](#ethermint.evm.v1.ExtensionOptionsEthereumTx) - [LegacyTx](#ethermint.evm.v1.LegacyTx) - [MsgEthereumTx](#ethermint.evm.v1.MsgEthereumTx) - [MsgEthereumTxResponse](#ethermint.evm.v1.MsgEthereumTxResponse) - [Msg](#ethermint.evm.v1.Msg) - [ethermint/evm/v1/query.proto](#ethermint/evm/v1/query.proto) - [EstimateGasResponse](#ethermint.evm.v1.EstimateGasResponse) - [EthCallRequest](#ethermint.evm.v1.EthCallRequest) - [QueryAccountRequest](#ethermint.evm.v1.QueryAccountRequest) - [QueryAccountResponse](#ethermint.evm.v1.QueryAccountResponse) - [QueryBalanceRequest](#ethermint.evm.v1.QueryBalanceRequest) - [QueryBalanceResponse](#ethermint.evm.v1.QueryBalanceResponse) - [QueryBaseFeeRequest](#ethermint.evm.v1.QueryBaseFeeRequest) - [QueryBaseFeeResponse](#ethermint.evm.v1.QueryBaseFeeResponse) - [QueryCodeRequest](#ethermint.evm.v1.QueryCodeRequest) - [QueryCodeResponse](#ethermint.evm.v1.QueryCodeResponse) - [QueryCosmosAccountRequest](#ethermint.evm.v1.QueryCosmosAccountRequest) - [QueryCosmosAccountResponse](#ethermint.evm.v1.QueryCosmosAccountResponse) - [QueryParamsRequest](#ethermint.evm.v1.QueryParamsRequest) - [QueryParamsResponse](#ethermint.evm.v1.QueryParamsResponse) - [QueryStorageRequest](#ethermint.evm.v1.QueryStorageRequest) - [QueryStorageResponse](#ethermint.evm.v1.QueryStorageResponse) - [QueryTraceBlockRequest](#ethermint.evm.v1.QueryTraceBlockRequest) - [QueryTraceBlockResponse](#ethermint.evm.v1.QueryTraceBlockResponse) - [QueryTraceTxRequest](#ethermint.evm.v1.QueryTraceTxRequest) - [QueryTraceTxResponse](#ethermint.evm.v1.QueryTraceTxResponse) - [QueryTxLogsRequest](#ethermint.evm.v1.QueryTxLogsRequest) - [QueryTxLogsResponse](#ethermint.evm.v1.QueryTxLogsResponse) - [QueryValidatorAccountRequest](#ethermint.evm.v1.QueryValidatorAccountRequest) - [QueryValidatorAccountResponse](#ethermint.evm.v1.QueryValidatorAccountResponse) - [Query](#ethermint.evm.v1.Query) - [ethermint/feemarket/v1/feemarket.proto](#ethermint/feemarket/v1/feemarket.proto) - [Params](#ethermint.feemarket.v1.Params) - [ethermint/feemarket/v1/genesis.proto](#ethermint/feemarket/v1/genesis.proto) - [GenesisState](#ethermint.feemarket.v1.GenesisState) - [ethermint/feemarket/v1/query.proto](#ethermint/feemarket/v1/query.proto) - [QueryBaseFeeRequest](#ethermint.feemarket.v1.QueryBaseFeeRequest) - [QueryBaseFeeResponse](#ethermint.feemarket.v1.QueryBaseFeeResponse) - [QueryBlockGasRequest](#ethermint.feemarket.v1.QueryBlockGasRequest) - [QueryBlockGasResponse](#ethermint.feemarket.v1.QueryBlockGasResponse) - [QueryParamsRequest](#ethermint.feemarket.v1.QueryParamsRequest) - [QueryParamsResponse](#ethermint.feemarket.v1.QueryParamsResponse) - [Query](#ethermint.feemarket.v1.Query) - [ethermint/types/v1/account.proto](#ethermint/types/v1/account.proto) - [EthAccount](#ethermint.types.v1.EthAccount) - [ethermint/types/v1/dynamic_fee.proto](#ethermint/types/v1/dynamic_fee.proto) - [ExtensionOptionDynamicFeeTx](#ethermint.types.v1.ExtensionOptionDynamicFeeTx) - [ethermint/types/v1/indexer.proto](#ethermint/types/v1/indexer.proto) - [TxResult](#ethermint.types.v1.TxResult) - [ethermint/types/v1/web3.proto](#ethermint/types/v1/web3.proto) - [ExtensionOptionsWeb3Tx](#ethermint.types.v1.ExtensionOptionsWeb3Tx) - [Scalar Value Types](#scalar-value-types)
## ethermint/crypto/v1/ethsecp256k1/keys.proto ### PrivKey PrivKey defines a type alias for an ecdsa.PrivateKey that implements Tendermint's PrivateKey interface. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `key` | [bytes](#bytes) | | | ### PubKey PubKey defines a type alias for an ecdsa.PublicKey that implements Tendermint's PubKey interface. It represents the 33-byte compressed public key format. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `key` | [bytes](#bytes) | | | ## ethermint/evm/v1/evm.proto ### AccessTuple AccessTuple is the element type of an access list. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `address` | [string](#string) | | hex formatted ethereum address | | `storage_keys` | [string](#string) | repeated | hex formatted hashes of the storage keys | ### ChainConfig ChainConfig defines the Ethereum ChainConfig parameters using *sdk.Int values instead of *big.Int. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `homestead_block` | [string](#string) | | Homestead switch block (nil no fork, 0 = already homestead) | | `dao_fork_block` | [string](#string) | | TheDAO hard-fork switch block (nil no fork) | | `dao_fork_support` | [bool](#bool) | | Whether the nodes supports or opposes the DAO hard-fork | | `eip150_block` | [string](#string) | | EIP150 implements the Gas price changes (https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork) | | `eip150_hash` | [string](#string) | | EIP150 HF hash (needed for header only clients as only gas pricing changed) | | `eip155_block` | [string](#string) | | EIP155Block HF block | | `eip158_block` | [string](#string) | | EIP158 HF block | | `byzantium_block` | [string](#string) | | Byzantium switch block (nil no fork, 0 = already on byzantium) | | `constantinople_block` | [string](#string) | | Constantinople switch block (nil no fork, 0 = already activated) | | `petersburg_block` | [string](#string) | | Petersburg switch block (nil same as Constantinople) | | `istanbul_block` | [string](#string) | | Istanbul switch block (nil no fork, 0 = already on istanbul) | | `muir_glacier_block` | [string](#string) | | Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated) | | `berlin_block` | [string](#string) | | Berlin switch block (nil = no fork, 0 = already on berlin) | | `london_block` | [string](#string) | | London switch block (nil = no fork, 0 = already on london) | | `arrow_glacier_block` | [string](#string) | | Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated) | | `gray_glacier_block` | [string](#string) | | EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already activated) | | `merge_netsplit_block` | [string](#string) | | Virtual fork after The Merge to use as a network splitter | ### Log Log represents an protobuf compatible Ethereum Log that defines a contract log event. These events are generated by the LOG opcode and stored/indexed by the node. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `address` | [string](#string) | | address of the contract that generated the event | | `topics` | [string](#string) | repeated | list of topics provided by the contract. | | `data` | [bytes](#bytes) | | supplied by the contract, usually ABI-encoded | | `block_number` | [uint64](#uint64) | | block in which the transaction was included | | `tx_hash` | [string](#string) | | hash of the transaction | | `tx_index` | [uint64](#uint64) | | index of the transaction in the block | | `block_hash` | [string](#string) | | hash of the block in which the transaction was included | | `index` | [uint64](#uint64) | | index of the log in the block | | `removed` | [bool](#bool) | | The Removed field is true if this log was reverted due to a chain reorganisation. You must pay attention to this field if you receive logs through a filter query. | ### Params Params defines the EVM module parameters | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `evm_denom` | [string](#string) | | evm denom represents the token denomination used to run the EVM state transitions. | | `enable_create` | [bool](#bool) | | enable create toggles state transitions that use the vm.Create function | | `enable_call` | [bool](#bool) | | enable call toggles state transitions that use the vm.Call function | | `extra_eips` | [int64](#int64) | repeated | extra eips defines the additional EIPs for the vm.Config | | `chain_config` | [ChainConfig](#ethermint.evm.v1.ChainConfig) | | chain config defines the EVM chain configuration parameters | | `allow_unprotected_txs` | [bool](#bool) | | Allow unprotected transactions defines if replay-protected (i.e non EIP155 signed) transactions can be executed on the state machine. | ### State State represents a single Storage key value pair item. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `key` | [string](#string) | | | | `value` | [string](#string) | | | ### TraceConfig TraceConfig holds extra parameters to trace functions. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `tracer` | [string](#string) | | custom javascript tracer | | `timeout` | [string](#string) | | overrides the default timeout of 5 seconds for JavaScript-based tracing calls | | `reexec` | [uint64](#uint64) | | number of blocks the tracer is willing to go back | | `disable_stack` | [bool](#bool) | | disable stack capture | | `disable_storage` | [bool](#bool) | | disable storage capture | | `debug` | [bool](#bool) | | print output during capture end | | `limit` | [int32](#int32) | | maximum length of output, but zero means unlimited | | `overrides` | [ChainConfig](#ethermint.evm.v1.ChainConfig) | | Chain overrides, can be used to execute a trace using future fork rules | | `enable_memory` | [bool](#bool) | | enable memory capture | | `enable_return_data` | [bool](#bool) | | enable return data capture | ### TransactionLogs TransactionLogs define the logs generated from a transaction execution with a given hash. It it used for import/export data as transactions are not persisted on blockchain state after an upgrade. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `hash` | [string](#string) | | | | `logs` | [Log](#ethermint.evm.v1.Log) | repeated | | ### TxResult TxResult stores results of Tx execution. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `contract_address` | [string](#string) | | contract_address contains the ethereum address of the created contract (if any). If the state transition is an evm.Call, the contract address will be empty. | | `bloom` | [bytes](#bytes) | | bloom represents the bloom filter bytes | | `tx_logs` | [TransactionLogs](#ethermint.evm.v1.TransactionLogs) | | tx_logs contains the transaction hash and the proto-compatible ethereum logs. | | `ret` | [bytes](#bytes) | | ret defines the bytes from the execution. | | `reverted` | [bool](#bool) | | reverted flag is set to true when the call has been reverted | | `gas_used` | [uint64](#uint64) | | gas_used notes the amount of gas consumed while execution | ## ethermint/evm/v1/genesis.proto ### GenesisAccount GenesisAccount defines an account to be initialized in the genesis state. Its main difference between with Geth's GenesisAccount is that it uses a custom storage type and that it doesn't contain the private key field. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `address` | [string](#string) | | address defines an ethereum hex formated address of an account | | `code` | [string](#string) | | code defines the hex bytes of the account code. | | `storage` | [State](#ethermint.evm.v1.State) | repeated | storage defines the set of state key values for the account. | ### GenesisState GenesisState defines the evm module's genesis state. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `accounts` | [GenesisAccount](#ethermint.evm.v1.GenesisAccount) | repeated | accounts is an array containing the ethereum genesis accounts. | | `params` | [Params](#ethermint.evm.v1.Params) | | params defines all the parameters of the module. | ## ethermint/evm/v1/tx.proto ### AccessListTx AccessListTx is the data of EIP-2930 access list transactions. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `chain_id` | [string](#string) | | destination EVM chain ID | | `nonce` | [uint64](#uint64) | | nonce corresponds to the account nonce (transaction sequence). | | `gas_price` | [string](#string) | | gas price defines the value for each gas unit | | `gas` | [uint64](#uint64) | | gas defines the gas limit defined for the transaction. | | `to` | [string](#string) | | hex formatted address of the recipient | | `value` | [string](#string) | | value defines the unsigned integer value of the transaction amount. | | `data` | [bytes](#bytes) | | input defines the data payload bytes of the transaction. | | `accesses` | [AccessTuple](#ethermint.evm.v1.AccessTuple) | repeated | | | `v` | [bytes](#bytes) | | v defines the signature value | | `r` | [bytes](#bytes) | | r defines the signature value | | `s` | [bytes](#bytes) | | s define the signature value | ### DynamicFeeTx DynamicFeeTx is the data of EIP-1559 dinamic fee transactions. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `chain_id` | [string](#string) | | destination EVM chain ID | | `nonce` | [uint64](#uint64) | | nonce corresponds to the account nonce (transaction sequence). | | `gas_tip_cap` | [string](#string) | | gas tip cap defines the max value for the gas tip | | `gas_fee_cap` | [string](#string) | | gas fee cap defines the max value for the gas fee | | `gas` | [uint64](#uint64) | | gas defines the gas limit defined for the transaction. | | `to` | [string](#string) | | hex formatted address of the recipient | | `value` | [string](#string) | | value defines the the transaction amount. | | `data` | [bytes](#bytes) | | input defines the data payload bytes of the transaction. | | `accesses` | [AccessTuple](#ethermint.evm.v1.AccessTuple) | repeated | | | `v` | [bytes](#bytes) | | v defines the signature value | | `r` | [bytes](#bytes) | | r defines the signature value | | `s` | [bytes](#bytes) | | s define the signature value | ### ExtensionOptionsEthereumTx ### LegacyTx LegacyTx is the transaction data of regular Ethereum transactions. NOTE: All non-protected transactions (i.e non EIP155 signed) will fail if the AllowUnprotectedTxs parameter is disabled. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `nonce` | [uint64](#uint64) | | nonce corresponds to the account nonce (transaction sequence). | | `gas_price` | [string](#string) | | gas price defines the value for each gas unit | | `gas` | [uint64](#uint64) | | gas defines the gas limit defined for the transaction. | | `to` | [string](#string) | | hex formatted address of the recipient | | `value` | [string](#string) | | value defines the unsigned integer value of the transaction amount. | | `data` | [bytes](#bytes) | | input defines the data payload bytes of the transaction. | | `v` | [bytes](#bytes) | | v defines the signature value | | `r` | [bytes](#bytes) | | r defines the signature value | | `s` | [bytes](#bytes) | | s define the signature value | ### MsgEthereumTx MsgEthereumTx encapsulates an Ethereum transaction as an SDK message. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `data` | [google.protobuf.Any](#google.protobuf.Any) | | inner transaction data caches | | `size` | [double](#double) | | DEPRECATED: encoded storage size of the transaction | | `hash` | [string](#string) | | transaction hash in hex format | | `from` | [string](#string) | | ethereum signer address in hex format. This address value is checked against the address derived from the signature (V, R, S) using the secp256k1 elliptic curve | ### MsgEthereumTxResponse MsgEthereumTxResponse defines the Msg/EthereumTx response type. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `hash` | [string](#string) | | ethereum transaction hash in hex format. This hash differs from the Tendermint sha256 hash of the transaction bytes. See https://github.com/tendermint/tendermint/issues/6539 for reference | | `logs` | [Log](#ethermint.evm.v1.Log) | repeated | logs contains the transaction hash and the proto-compatible ethereum logs. | | `ret` | [bytes](#bytes) | | returned data from evm function (result or data supplied with revert opcode) | | `vm_error` | [string](#string) | | vm error is the error returned by vm execution | | `gas_used` | [uint64](#uint64) | | gas consumed by the transaction | ### Msg Msg defines the evm Msg service. | Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint | | ----------- | ------------ | ------------- | ------------| ------- | -------- | | `EthereumTx` | [MsgEthereumTx](#ethermint.evm.v1.MsgEthereumTx) | [MsgEthereumTxResponse](#ethermint.evm.v1.MsgEthereumTxResponse) | EthereumTx defines a method submitting Ethereum transactions. | POST|/ethermint/evm/v1/ethereum_tx| ## ethermint/evm/v1/query.proto ### EstimateGasResponse EstimateGasResponse defines EstimateGas response | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `gas` | [uint64](#uint64) | | the estimated gas | ### EthCallRequest EthCallRequest defines EthCall request | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `args` | [bytes](#bytes) | | same json format as the json rpc api. | | `gas_cap` | [uint64](#uint64) | | the default gas cap to be used | | `proposer_address` | [bytes](#bytes) | | the proposer of the requested block | ### QueryAccountRequest QueryAccountRequest is the request type for the Query/Account RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `address` | [string](#string) | | address is the ethereum hex address to query the account for. | ### QueryAccountResponse QueryAccountResponse is the response type for the Query/Account RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `balance` | [string](#string) | | balance is the balance of the EVM denomination. | | `code_hash` | [string](#string) | | code hash is the hex-formatted code bytes from the EOA. | | `nonce` | [uint64](#uint64) | | nonce is the account's sequence number. | ### QueryBalanceRequest QueryBalanceRequest is the request type for the Query/Balance RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `address` | [string](#string) | | address is the ethereum hex address to query the balance for. | ### QueryBalanceResponse QueryBalanceResponse is the response type for the Query/Balance RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `balance` | [string](#string) | | balance is the balance of the EVM denomination. | ### QueryBaseFeeRequest QueryBaseFeeRequest defines the request type for querying the EIP1559 base fee. ### QueryBaseFeeResponse BaseFeeResponse returns the EIP1559 base fee. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `base_fee` | [string](#string) | | | ### QueryCodeRequest QueryCodeRequest is the request type for the Query/Code RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `address` | [string](#string) | | address is the ethereum hex address to query the code for. | ### QueryCodeResponse QueryCodeResponse is the response type for the Query/Code RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `code` | [bytes](#bytes) | | code represents the code bytes from an ethereum address. | ### QueryCosmosAccountRequest QueryCosmosAccountRequest is the request type for the Query/CosmosAccount RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `address` | [string](#string) | | address is the ethereum hex address to query the account for. | ### QueryCosmosAccountResponse QueryCosmosAccountResponse is the response type for the Query/CosmosAccount RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `cosmos_address` | [string](#string) | | cosmos_address is the cosmos address of the account. | | `sequence` | [uint64](#uint64) | | sequence is the account's sequence number. | | `account_number` | [uint64](#uint64) | | account_number is the account numbert | ### QueryParamsRequest QueryParamsRequest defines the request type for querying x/evm parameters. ### QueryParamsResponse QueryParamsResponse defines the response type for querying x/evm parameters. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `params` | [Params](#ethermint.evm.v1.Params) | | params define the evm module parameters. | ### QueryStorageRequest QueryStorageRequest is the request type for the Query/Storage RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `address` | [string](#string) | | address is the ethereum hex address to query the storage state for. | | `key` | [string](#string) | | key defines the key of the storage state | ### QueryStorageResponse QueryStorageResponse is the response type for the Query/Storage RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `value` | [string](#string) | | key defines the storage state value hash associated with the given key. | ### QueryTraceBlockRequest QueryTraceBlockRequest defines TraceTx request | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `txs` | [MsgEthereumTx](#ethermint.evm.v1.MsgEthereumTx) | repeated | txs messages in the block | | `trace_config` | [TraceConfig](#ethermint.evm.v1.TraceConfig) | | TraceConfig holds extra parameters to trace functions. | | `block_number` | [int64](#int64) | | block number | | `block_hash` | [string](#string) | | block hex hash | | `block_time` | [google.protobuf.Timestamp](#google.protobuf.Timestamp) | | block time | | `proposer_address` | [bytes](#bytes) | | the proposer of the requested block | ### QueryTraceBlockResponse QueryTraceBlockResponse defines TraceBlock response | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `data` | [bytes](#bytes) | | | ### QueryTraceTxRequest QueryTraceTxRequest defines TraceTx request | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `msg` | [MsgEthereumTx](#ethermint.evm.v1.MsgEthereumTx) | | msgEthereumTx for the requested transaction | | `trace_config` | [TraceConfig](#ethermint.evm.v1.TraceConfig) | | TraceConfig holds extra parameters to trace functions. | | `predecessors` | [MsgEthereumTx](#ethermint.evm.v1.MsgEthereumTx) | repeated | the predecessor transactions included in the same block need to be replayed first to get correct context for tracing. | | `block_number` | [int64](#int64) | | block number of requested transaction | | `block_hash` | [string](#string) | | block hex hash of requested transaction | | `block_time` | [google.protobuf.Timestamp](#google.protobuf.Timestamp) | | block time of requested transaction | | `proposer_address` | [bytes](#bytes) | | the proposer of the requested block | ### QueryTraceTxResponse QueryTraceTxResponse defines TraceTx response | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `data` | [bytes](#bytes) | | response serialized in bytes | ### QueryTxLogsRequest QueryTxLogsRequest is the request type for the Query/TxLogs RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `hash` | [string](#string) | | hash is the ethereum transaction hex hash to query the logs for. | | `pagination` | [cosmos.base.query.v1beta1.PageRequest](#cosmos.base.query.v1beta1.PageRequest) | | pagination defines an optional pagination for the request. | ### QueryTxLogsResponse QueryTxLogs is the response type for the Query/TxLogs RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `logs` | [Log](#ethermint.evm.v1.Log) | repeated | logs represents the ethereum logs generated from the given transaction. | | `pagination` | [cosmos.base.query.v1beta1.PageResponse](#cosmos.base.query.v1beta1.PageResponse) | | pagination defines the pagination in the response. | ### QueryValidatorAccountRequest QueryValidatorAccountRequest is the request type for the Query/ValidatorAccount RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `cons_address` | [string](#string) | | cons_address is the validator cons address to query the account for. | ### QueryValidatorAccountResponse QueryValidatorAccountResponse is the response type for the Query/ValidatorAccount RPC method. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `account_address` | [string](#string) | | account_address is the cosmos address of the account in bech32 format. | | `sequence` | [uint64](#uint64) | | sequence is the account's sequence number. | | `account_number` | [uint64](#uint64) | | account_number is the account number | ### Query Query defines the gRPC querier service. | Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint | | ----------- | ------------ | ------------- | ------------| ------- | -------- | | `Account` | [QueryAccountRequest](#ethermint.evm.v1.QueryAccountRequest) | [QueryAccountResponse](#ethermint.evm.v1.QueryAccountResponse) | Account queries an Ethereum account. | GET|/ethermint/evm/v1/account/{address}| | `CosmosAccount` | [QueryCosmosAccountRequest](#ethermint.evm.v1.QueryCosmosAccountRequest) | [QueryCosmosAccountResponse](#ethermint.evm.v1.QueryCosmosAccountResponse) | CosmosAccount queries an Ethereum account's Cosmos Address. | GET|/ethermint/evm/v1/cosmos_account/{address}| | `ValidatorAccount` | [QueryValidatorAccountRequest](#ethermint.evm.v1.QueryValidatorAccountRequest) | [QueryValidatorAccountResponse](#ethermint.evm.v1.QueryValidatorAccountResponse) | ValidatorAccount queries an Ethereum account's from a validator consensus Address. | GET|/ethermint/evm/v1/validator_account/{cons_address}| | `Balance` | [QueryBalanceRequest](#ethermint.evm.v1.QueryBalanceRequest) | [QueryBalanceResponse](#ethermint.evm.v1.QueryBalanceResponse) | Balance queries the balance of a the EVM denomination for a single EthAccount. | GET|/ethermint/evm/v1/balances/{address}| | `Storage` | [QueryStorageRequest](#ethermint.evm.v1.QueryStorageRequest) | [QueryStorageResponse](#ethermint.evm.v1.QueryStorageResponse) | Storage queries the balance of all coins for a single account. | GET|/ethermint/evm/v1/storage/{address}/{key}| | `Code` | [QueryCodeRequest](#ethermint.evm.v1.QueryCodeRequest) | [QueryCodeResponse](#ethermint.evm.v1.QueryCodeResponse) | Code queries the balance of all coins for a single account. | GET|/ethermint/evm/v1/codes/{address}| | `Params` | [QueryParamsRequest](#ethermint.evm.v1.QueryParamsRequest) | [QueryParamsResponse](#ethermint.evm.v1.QueryParamsResponse) | Params queries the parameters of x/evm module. | GET|/ethermint/evm/v1/params| | `EthCall` | [EthCallRequest](#ethermint.evm.v1.EthCallRequest) | [MsgEthereumTxResponse](#ethermint.evm.v1.MsgEthereumTxResponse) | EthCall implements the `eth_call` rpc api | GET|/ethermint/evm/v1/eth_call| | `EstimateGas` | [EthCallRequest](#ethermint.evm.v1.EthCallRequest) | [EstimateGasResponse](#ethermint.evm.v1.EstimateGasResponse) | EstimateGas implements the `eth_estimateGas` rpc api | GET|/ethermint/evm/v1/estimate_gas| | `TraceTx` | [QueryTraceTxRequest](#ethermint.evm.v1.QueryTraceTxRequest) | [QueryTraceTxResponse](#ethermint.evm.v1.QueryTraceTxResponse) | TraceTx implements the `debug_traceTransaction` rpc api | GET|/ethermint/evm/v1/trace_tx| | `TraceBlock` | [QueryTraceBlockRequest](#ethermint.evm.v1.QueryTraceBlockRequest) | [QueryTraceBlockResponse](#ethermint.evm.v1.QueryTraceBlockResponse) | TraceBlock implements the `debug_traceBlockByNumber` and `debug_traceBlockByHash` rpc api | GET|/ethermint/evm/v1/trace_block| | `BaseFee` | [QueryBaseFeeRequest](#ethermint.evm.v1.QueryBaseFeeRequest) | [QueryBaseFeeResponse](#ethermint.evm.v1.QueryBaseFeeResponse) | BaseFee queries the base fee of the parent block of the current block, it's similar to feemarket module's method, but also checks london hardfork status. | GET|/ethermint/evm/v1/base_fee| ## ethermint/feemarket/v1/feemarket.proto ### Params Params defines the EVM module parameters | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `no_base_fee` | [bool](#bool) | | no base fee forces the EIP-1559 base fee to 0 (needed for 0 price calls) | | `base_fee_change_denominator` | [uint32](#uint32) | | base fee change denominator bounds the amount the base fee can change between blocks. | | `elasticity_multiplier` | [uint32](#uint32) | | elasticity multiplier bounds the maximum gas limit an EIP-1559 block may have. | | `enable_height` | [int64](#int64) | | height at which the base fee calculation is enabled. | | `base_fee` | [string](#string) | | base fee for EIP-1559 blocks. | | `min_gas_price` | [string](#string) | | min_gas_price defines the minimum gas price value for cosmos and eth transactions | | `min_gas_multiplier` | [string](#string) | | min gas denominator bounds the minimum gasUsed to be charged to senders based on GasLimit | ## ethermint/feemarket/v1/genesis.proto ### GenesisState GenesisState defines the feemarket module's genesis state. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `params` | [Params](#ethermint.feemarket.v1.Params) | | params defines all the paramaters of the module. | | `block_gas` | [uint64](#uint64) | | block gas is the amount of gas wanted on the last block before the upgrade. Zero by default. | ## ethermint/feemarket/v1/query.proto ### QueryBaseFeeRequest QueryBaseFeeRequest defines the request type for querying the EIP1559 base fee. ### QueryBaseFeeResponse BaseFeeResponse returns the EIP1559 base fee. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `base_fee` | [string](#string) | | | ### QueryBlockGasRequest QueryBlockGasRequest defines the request type for querying the EIP1559 base fee. ### QueryBlockGasResponse QueryBlockGasResponse returns block gas used for a given height. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `gas` | [int64](#int64) | | | ### QueryParamsRequest QueryParamsRequest defines the request type for querying x/evm parameters. ### QueryParamsResponse QueryParamsResponse defines the response type for querying x/evm parameters. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `params` | [Params](#ethermint.feemarket.v1.Params) | | params define the evm module parameters. | ### Query Query defines the gRPC querier service. | Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint | | ----------- | ------------ | ------------- | ------------| ------- | -------- | | `Params` | [QueryParamsRequest](#ethermint.feemarket.v1.QueryParamsRequest) | [QueryParamsResponse](#ethermint.feemarket.v1.QueryParamsResponse) | Params queries the parameters of x/feemarket module. | GET|/ethermint/feemarket/v1/params| | `BaseFee` | [QueryBaseFeeRequest](#ethermint.feemarket.v1.QueryBaseFeeRequest) | [QueryBaseFeeResponse](#ethermint.feemarket.v1.QueryBaseFeeResponse) | BaseFee queries the base fee of the parent block of the current block. | GET|/ethermint/feemarket/v1/base_fee| | `BlockGas` | [QueryBlockGasRequest](#ethermint.feemarket.v1.QueryBlockGasRequest) | [QueryBlockGasResponse](#ethermint.feemarket.v1.QueryBlockGasResponse) | BlockGas queries the gas used at a given block height | GET|/ethermint/feemarket/v1/block_gas| ## ethermint/types/v1/account.proto ### EthAccount EthAccount implements the authtypes.AccountI interface and embeds an authtypes.BaseAccount type. It is compatible with the auth AccountKeeper. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `base_account` | [cosmos.auth.v1beta1.BaseAccount](#cosmos.auth.v1beta1.BaseAccount) | | | | `code_hash` | [string](#string) | | | ## ethermint/types/v1/dynamic_fee.proto ### ExtensionOptionDynamicFeeTx ExtensionOptionDynamicFeeTx is an extension option that specify the maxPrioPrice for cosmos tx | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `max_priority_price` | [string](#string) | | the same as `max_priority_fee_per_gas` in eip-1559 spec | ## ethermint/types/v1/indexer.proto ### TxResult TxResult is the value stored in eth tx indexer | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `height` | [int64](#int64) | | the block height | | `tx_index` | [uint32](#uint32) | | cosmos tx index | | `msg_index` | [uint32](#uint32) | | the msg index in a batch tx | | `eth_tx_index` | [int32](#int32) | | eth tx index, the index in the list of valid eth tx in the block, aka. the transaction list returned by eth_getBlock api. | | `failed` | [bool](#bool) | | if the eth tx is failed | | `gas_used` | [uint64](#uint64) | | gas used by tx, if exceeds block gas limit, it's set to gas limit which is what's actually deducted by ante handler. | | `cumulative_gas_used` | [uint64](#uint64) | | the cumulative gas used within current batch tx | ## ethermint/types/v1/web3.proto ### ExtensionOptionsWeb3Tx | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `typed_data_chain_id` | [uint64](#uint64) | | typed data chain id used only in EIP712 Domain and should match Ethereum network ID in a Web3 provider (e.g. Metamask). | | `fee_payer` | [string](#string) | | fee payer is an account address for the fee payer. It will be validated during EIP712 signature checking. | | `fee_payer_sig` | [bytes](#bytes) | | fee payer sig is a signature data from the fee paying account, allows to perform fee delegation when using EIP712 Domain. | ## Scalar Value Types | .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | | ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | | double | | double | double | float | float64 | double | float | Float | | float | | float | float | float | float32 | float | float | Float | | int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | | int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | | uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | | uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | | sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | | sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | | fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | | fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | | sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | | sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | | bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | | string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | | bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |