0g-chain/proto/zgc/evmutil/v1beta1/query.proto
2024-08-03 15:04:48 +08:00

60 lines
2.5 KiB
Protocol Buffer

syntax = "proto3";
package zgc.evmutil.v1beta1;
import "cosmos/base/query/v1beta1/pagination.proto";
import "gogoproto/gogo.proto";
import "google/api/annotations.proto";
import "zgc/evmutil/v1beta1/genesis.proto";
option go_package = "github.com/0glabs/0g-chain/x/evmutil/types";
// Query defines the gRPC querier service for evmutil module
service Query {
// Params queries all parameters of the evmutil module.
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
option (google.api.http).get = "/0g/evmutil/v1beta1/params";
}
// DeployedCosmosCoinContracts queries a list cosmos coin denom and their deployed erc20 address
rpc DeployedCosmosCoinContracts(QueryDeployedCosmosCoinContractsRequest) returns (QueryDeployedCosmosCoinContractsResponse) {
option (google.api.http).get = "/0g/evmutil/v1beta1/deployed_cosmos_coin_contracts";
}
}
// QueryParamsRequest defines the request type for querying x/evmutil parameters.
message QueryParamsRequest {}
// QueryParamsResponse defines the response type for querying x/evmutil parameters.
message QueryParamsResponse {
Params params = 1 [(gogoproto.nullable) = false];
}
// QueryDeployedCosmosCoinContractsRequest defines the request type for Query/DeployedCosmosCoinContracts method.
message QueryDeployedCosmosCoinContractsRequest {
option (gogoproto.equal) = false;
option (gogoproto.goproto_getters) = false;
// optional query param to only return specific denoms in the list
// denoms that do not have deployed contracts will be omitted from the result
// must request fewer than 100 denoms at a time.
repeated string cosmos_denoms = 1;
// pagination defines an optional pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 2;
}
// QueryDeployedCosmosCoinContractsResponse defines the response type for the Query/DeployedCosmosCoinContracts method.
message QueryDeployedCosmosCoinContractsResponse {
// deployed_cosmos_coin_contracts is a list of cosmos-sdk coin denom and its deployed contract address
repeated DeployedCosmosCoinContract deployed_cosmos_coin_contracts = 1 [(gogoproto.nullable) = false];
// pagination defines the pagination in the response.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}
// DeployedCosmosCoinContract defines a deployed token contract to the evm representing a native cosmos-sdk coin
message DeployedCosmosCoinContract {
string cosmos_denom = 1;
string address = 2 [(gogoproto.customtype) = "InternalEVMAddress"];
}