173 lines
5.6 KiB
Protocol Buffer
173 lines
5.6 KiB
Protocol Buffer
|
syntax = "proto3";
|
||
|
package ethermint.evm.v1alpha1;
|
||
|
|
||
|
import "gogoproto/gogo.proto";
|
||
|
import "google/api/annotations.proto";
|
||
|
import "ethermint/evm/v1alpha1/evm.proto";
|
||
|
|
||
|
option go_package = "github.com/cosmos/ethermint/x/evm/types";
|
||
|
|
||
|
// Query defines the gRPC querier service.
|
||
|
service Query {
|
||
|
// Account queries an Ethereum account.
|
||
|
rpc Account(QueryAccountRequest) returns (QueryAccountResponse) {
|
||
|
option (google.api.http).get = "/ethermint/evm/v1alpha1/account/{address}";
|
||
|
}
|
||
|
|
||
|
// Balance queries the balance of a the EVM denomination for a single
|
||
|
// EthAccount.
|
||
|
rpc Balance(QueryBalanceRequest) returns (QueryBalanceResponse) {
|
||
|
option (google.api.http).get = "/ethermint/evm/v1alpha1/balances/{address}";
|
||
|
}
|
||
|
|
||
|
// Storage queries the balance of all coins for a single account.
|
||
|
rpc Storage(QueryStorageRequest) returns (QueryStorageResponse) {
|
||
|
option (google.api.http).get =
|
||
|
"/ethermint/evm/v1alpha1/storage/{address}/{key}";
|
||
|
}
|
||
|
|
||
|
// Code queries the balance of all coins for a single account.
|
||
|
rpc Code(QueryCodeRequest) returns (QueryCodeResponse) {
|
||
|
option (google.api.http).get = "/ethermint/evm/v1alpha1/codes/{address}";
|
||
|
}
|
||
|
|
||
|
// TxLogs queries ethereum logs from a transaction.
|
||
|
rpc TxLogs(QueryTxLogsRequest) returns (QueryTxLogsResponse) {
|
||
|
option (google.api.http).get = "/ethermint/evm/v1alpha1/tx_logs/{hash}";
|
||
|
}
|
||
|
|
||
|
// BlockLogs queries all the ethereum logs for a given block hash.
|
||
|
rpc BlockLogs(QueryBlockLogsRequest) returns (QueryBlockLogsResponse) {
|
||
|
option (google.api.http).get = "/ethermint/evm/v1alpha1/block_logs/{hash}";
|
||
|
}
|
||
|
|
||
|
// BlockBloom queries the block bloom filter bytes at a given height.
|
||
|
rpc BlockBloom(QueryBlockBloomRequest) returns (QueryBlockBloomResponse) {
|
||
|
option (google.api.http).get = "/ethermint/evm/v1alpha1/block_bloom";
|
||
|
}
|
||
|
|
||
|
// Params queries the parameters of x/evm module.
|
||
|
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
|
||
|
option (google.api.http).get = "/ethermint/evm/v1alpha1/params";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// QueryAccountRequest is the request type for the Query/Account RPC method.
|
||
|
message QueryAccountRequest {
|
||
|
option (gogoproto.equal) = false;
|
||
|
option (gogoproto.goproto_getters) = false;
|
||
|
|
||
|
// address is the ethereum hex address to query the account for.
|
||
|
string address = 1;
|
||
|
}
|
||
|
|
||
|
// QueryAccountResponse is the response type for the Query/Account RPC method.
|
||
|
message QueryAccountResponse {
|
||
|
// balance is the balance of the EVM denomination.
|
||
|
string balance = 1;
|
||
|
// code_hash is the code bytes from the EOA.
|
||
|
bytes code_hash = 2;
|
||
|
// nonce is the account's sequence number.
|
||
|
uint64 nonce = 3;
|
||
|
}
|
||
|
|
||
|
// QueryBalanceRequest is the request type for the Query/Balance RPC method.
|
||
|
message QueryBalanceRequest {
|
||
|
option (gogoproto.equal) = false;
|
||
|
option (gogoproto.goproto_getters) = false;
|
||
|
|
||
|
// address is the ethereum hex address to query the balance for.
|
||
|
string address = 1;
|
||
|
}
|
||
|
|
||
|
// QueryBalanceResponse is the response type for the Query/Balance RPC method.
|
||
|
message QueryBalanceResponse {
|
||
|
// balance is the balance of the EVM denomination.
|
||
|
string balance = 1;
|
||
|
}
|
||
|
|
||
|
// QueryStorageRequest is the request type for the Query/Storage RPC method.
|
||
|
message QueryStorageRequest {
|
||
|
option (gogoproto.equal) = false;
|
||
|
option (gogoproto.goproto_getters) = false;
|
||
|
|
||
|
/// address is the ethereum hex address to query the storage state for.
|
||
|
string address = 1;
|
||
|
|
||
|
// key defines the key of the storage state
|
||
|
string key = 2;
|
||
|
}
|
||
|
|
||
|
// QueryStorageResponse is the response type for the Query/Storage RPC
|
||
|
// method.
|
||
|
message QueryStorageResponse {
|
||
|
// key defines the storage state value hash associated with the given key.
|
||
|
string value = 1;
|
||
|
}
|
||
|
|
||
|
// QueryCodeRequest is the request type for the Query/Code RPC method.
|
||
|
message QueryCodeRequest {
|
||
|
option (gogoproto.equal) = false;
|
||
|
option (gogoproto.goproto_getters) = false;
|
||
|
|
||
|
// address is the ethereum hex address to query the code for.
|
||
|
string address = 1;
|
||
|
}
|
||
|
|
||
|
// QueryCodeResponse is the response type for the Query/Code RPC
|
||
|
// method.
|
||
|
message QueryCodeResponse {
|
||
|
// code represents the code bytes from an ethereum address.
|
||
|
bytes code = 1;
|
||
|
}
|
||
|
|
||
|
// QueryTxLogsRequest is the request type for the Query/TxLogs RPC method.
|
||
|
message QueryTxLogsRequest {
|
||
|
option (gogoproto.equal) = false;
|
||
|
option (gogoproto.goproto_getters) = false;
|
||
|
|
||
|
// hash is the ethereum transaction hex hash to query the logs for.
|
||
|
string hash = 1;
|
||
|
}
|
||
|
|
||
|
// QueryTxLogs is the response type for the Query/TxLogs RPC method.
|
||
|
message QueryTxLogsResponse {
|
||
|
// logs represents the ethereum logs generated from the given transaction.
|
||
|
repeated Log logs = 1;
|
||
|
}
|
||
|
|
||
|
// QueryBlockLogsRequest is the request type for the Query/BlockLogs RPC method.
|
||
|
message QueryBlockLogsRequest {
|
||
|
option (gogoproto.equal) = false;
|
||
|
option (gogoproto.goproto_getters) = false;
|
||
|
|
||
|
// hash is the block hash to query the logs for.
|
||
|
string hash = 1;
|
||
|
}
|
||
|
|
||
|
// QueryTxLogs is the response type for the Query/BlockLogs RPC method.
|
||
|
message QueryBlockLogsResponse {
|
||
|
// logs represents the ethereum logs generated at the given block hash.
|
||
|
repeated TransactionLogs tx_logs = 1 [ (gogoproto.nullable) = false ];
|
||
|
}
|
||
|
|
||
|
// QueryBlockBloomRequest is the request type for the Query/BlockBloom RPC
|
||
|
// method.
|
||
|
message QueryBlockBloomRequest {}
|
||
|
|
||
|
// QueryBlockBloomResponse is the response type for the Query/BlockBloom RPC
|
||
|
// method.
|
||
|
message QueryBlockBloomResponse {
|
||
|
// bloom represents bloom filter for the given block hash.
|
||
|
bytes bloom = 1;
|
||
|
}
|
||
|
|
||
|
// QueryParamsRequest defines the request type for querying x/evm parameters.
|
||
|
message QueryParamsRequest {}
|
||
|
|
||
|
// QueryParamsResponse defines the response type for querying x/evm parameters.
|
||
|
message QueryParamsResponse {
|
||
|
// params define the evm module parameters.
|
||
|
Params params = 1 [ (gogoproto.nullable) = false ];
|
||
|
}
|