2022-01-08 01:59:34 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
package cosmos.base.tendermint.v1beta1;
|
|
|
|
|
|
|
|
import "gogoproto/gogo.proto";
|
|
|
|
import "google/protobuf/any.proto";
|
|
|
|
import "google/api/annotations.proto";
|
|
|
|
import "tendermint/p2p/types.proto";
|
|
|
|
import "tendermint/types/types.proto";
|
|
|
|
import "cosmos/base/query/v1beta1/pagination.proto";
|
2023-04-04 00:08:45 +00:00
|
|
|
import "cosmos/base/tendermint/v1beta1/types.proto";
|
|
|
|
import "cosmos_proto/cosmos.proto";
|
|
|
|
import "tendermint/types/block.proto";
|
2024-02-06 22:54:10 +00:00
|
|
|
import "amino/amino.proto";
|
2022-01-08 01:59:34 +00:00
|
|
|
|
|
|
|
option go_package = "github.com/cosmos/cosmos-sdk/client/grpc/tmservice";
|
|
|
|
|
|
|
|
// Service defines the gRPC querier service for tendermint queries.
|
|
|
|
service Service {
|
|
|
|
// GetNodeInfo queries the current node info.
|
|
|
|
rpc GetNodeInfo(GetNodeInfoRequest) returns (GetNodeInfoResponse) {
|
|
|
|
option (google.api.http).get = "/cosmos/base/tendermint/v1beta1/node_info";
|
|
|
|
}
|
2023-04-04 00:08:45 +00:00
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
// GetSyncing queries node syncing.
|
|
|
|
rpc GetSyncing(GetSyncingRequest) returns (GetSyncingResponse) {
|
|
|
|
option (google.api.http).get = "/cosmos/base/tendermint/v1beta1/syncing";
|
|
|
|
}
|
2023-04-04 00:08:45 +00:00
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
// GetLatestBlock returns the latest block.
|
|
|
|
rpc GetLatestBlock(GetLatestBlockRequest) returns (GetLatestBlockResponse) {
|
|
|
|
option (google.api.http).get = "/cosmos/base/tendermint/v1beta1/blocks/latest";
|
|
|
|
}
|
2023-04-04 00:08:45 +00:00
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
// GetBlockByHeight queries block for given height.
|
|
|
|
rpc GetBlockByHeight(GetBlockByHeightRequest) returns (GetBlockByHeightResponse) {
|
|
|
|
option (google.api.http).get = "/cosmos/base/tendermint/v1beta1/blocks/{height}";
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetLatestValidatorSet queries latest validator-set.
|
|
|
|
rpc GetLatestValidatorSet(GetLatestValidatorSetRequest) returns (GetLatestValidatorSetResponse) {
|
|
|
|
option (google.api.http).get = "/cosmos/base/tendermint/v1beta1/validatorsets/latest";
|
|
|
|
}
|
2023-04-04 00:08:45 +00:00
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
// GetValidatorSetByHeight queries validator-set at a given height.
|
|
|
|
rpc GetValidatorSetByHeight(GetValidatorSetByHeightRequest) returns (GetValidatorSetByHeightResponse) {
|
|
|
|
option (google.api.http).get = "/cosmos/base/tendermint/v1beta1/validatorsets/{height}";
|
|
|
|
}
|
2023-04-04 00:08:45 +00:00
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// ABCIQuery defines a query handler that supports ABCI queries directly to the
|
|
|
|
// application, bypassing Tendermint completely. The ABCI query must contain
|
|
|
|
// a valid and supported path, including app, custom, p2p, and store.
|
2023-04-04 00:08:45 +00:00
|
|
|
//
|
|
|
|
// Since: cosmos-sdk 0.46
|
|
|
|
rpc ABCIQuery(ABCIQueryRequest) returns (ABCIQueryResponse) {
|
|
|
|
option (google.api.http).get = "/cosmos/base/tendermint/v1beta1/abci_query";
|
|
|
|
}
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// GetValidatorSetByHeightRequest is the request type for the Query/GetValidatorSetByHeight RPC method.
|
2022-01-08 01:59:34 +00:00
|
|
|
message GetValidatorSetByHeightRequest {
|
|
|
|
int64 height = 1;
|
|
|
|
// pagination defines an pagination for the request.
|
|
|
|
cosmos.base.query.v1beta1.PageRequest pagination = 2;
|
|
|
|
}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method.
|
2022-01-08 01:59:34 +00:00
|
|
|
message GetValidatorSetByHeightResponse {
|
|
|
|
int64 block_height = 1;
|
|
|
|
repeated Validator validators = 2;
|
|
|
|
// pagination defines an pagination for the response.
|
|
|
|
cosmos.base.query.v1beta1.PageResponse pagination = 3;
|
|
|
|
}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// GetLatestValidatorSetRequest is the request type for the Query/GetValidatorSetByHeight RPC method.
|
2022-01-08 01:59:34 +00:00
|
|
|
message GetLatestValidatorSetRequest {
|
|
|
|
// pagination defines an pagination for the request.
|
|
|
|
cosmos.base.query.v1beta1.PageRequest pagination = 1;
|
|
|
|
}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method.
|
2022-01-08 01:59:34 +00:00
|
|
|
message GetLatestValidatorSetResponse {
|
|
|
|
int64 block_height = 1;
|
|
|
|
repeated Validator validators = 2;
|
|
|
|
// pagination defines an pagination for the response.
|
|
|
|
cosmos.base.query.v1beta1.PageResponse pagination = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Validator is the type for the validator-set.
|
|
|
|
message Validator {
|
2023-04-04 00:08:45 +00:00
|
|
|
string address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
google.protobuf.Any pub_key = 2;
|
|
|
|
int64 voting_power = 3;
|
|
|
|
int64 proposer_priority = 4;
|
|
|
|
}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// GetBlockByHeightRequest is the request type for the Query/GetBlockByHeight RPC method.
|
2022-01-08 01:59:34 +00:00
|
|
|
message GetBlockByHeightRequest {
|
|
|
|
int64 height = 1;
|
|
|
|
}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.
|
2022-01-08 01:59:34 +00:00
|
|
|
message GetBlockByHeightResponse {
|
|
|
|
.tendermint.types.BlockID block_id = 1;
|
2023-04-04 00:08:45 +00:00
|
|
|
|
|
|
|
// Deprecated: please use `sdk_block` instead
|
|
|
|
.tendermint.types.Block block = 2;
|
|
|
|
|
|
|
|
// Since: cosmos-sdk 0.47
|
|
|
|
Block sdk_block = 3;
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// GetLatestBlockRequest is the request type for the Query/GetLatestBlock RPC method.
|
2022-01-08 01:59:34 +00:00
|
|
|
message GetLatestBlockRequest {}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method.
|
2022-01-08 01:59:34 +00:00
|
|
|
message GetLatestBlockResponse {
|
|
|
|
.tendermint.types.BlockID block_id = 1;
|
2023-04-04 00:08:45 +00:00
|
|
|
|
|
|
|
// Deprecated: please use `sdk_block` instead
|
|
|
|
.tendermint.types.Block block = 2;
|
|
|
|
|
|
|
|
// Since: cosmos-sdk 0.47
|
|
|
|
Block sdk_block = 3;
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// GetSyncingRequest is the request type for the Query/GetSyncing RPC method.
|
|
|
|
message GetSyncingRequest {}
|
|
|
|
|
|
|
|
// GetSyncingResponse is the response type for the Query/GetSyncing RPC method.
|
|
|
|
message GetSyncingResponse {
|
|
|
|
bool syncing = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetNodeInfoRequest is the request type for the Query/GetNodeInfo RPC method.
|
|
|
|
message GetNodeInfoRequest {}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method.
|
2022-01-08 01:59:34 +00:00
|
|
|
message GetNodeInfoResponse {
|
|
|
|
.tendermint.p2p.DefaultNodeInfo default_node_info = 1;
|
|
|
|
VersionInfo application_version = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
// VersionInfo is the type for the GetNodeInfoResponse message.
|
|
|
|
message VersionInfo {
|
2022-10-24 18:06:39 +00:00
|
|
|
string name = 1;
|
|
|
|
string app_name = 2;
|
|
|
|
string version = 3;
|
|
|
|
string git_commit = 4;
|
|
|
|
string build_tags = 5;
|
|
|
|
string go_version = 6;
|
|
|
|
repeated Module build_deps = 7;
|
2022-01-08 01:59:34 +00:00
|
|
|
// Since: cosmos-sdk 0.43
|
2022-10-24 18:06:39 +00:00
|
|
|
string cosmos_sdk_version = 8;
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Module is the type for VersionInfo
|
|
|
|
message Module {
|
|
|
|
// module path
|
|
|
|
string path = 1;
|
|
|
|
// module version
|
|
|
|
string version = 2;
|
|
|
|
// checksum
|
|
|
|
string sum = 3;
|
|
|
|
}
|
2023-04-04 00:08:45 +00:00
|
|
|
|
|
|
|
// ABCIQueryRequest defines the request structure for the ABCIQuery gRPC query.
|
|
|
|
message ABCIQueryRequest {
|
|
|
|
bytes data = 1;
|
|
|
|
string path = 2;
|
|
|
|
int64 height = 3;
|
|
|
|
bool prove = 4;
|
|
|
|
}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.
|
2023-04-04 00:08:45 +00:00
|
|
|
//
|
|
|
|
// Note: This type is a duplicate of the ResponseQuery proto type defined in
|
|
|
|
// Tendermint.
|
|
|
|
message ABCIQueryResponse {
|
|
|
|
uint32 code = 1;
|
|
|
|
// DEPRECATED: use "value" instead
|
|
|
|
reserved 2;
|
|
|
|
string log = 3; // nondeterministic
|
|
|
|
string info = 4; // nondeterministic
|
|
|
|
int64 index = 5;
|
|
|
|
bytes key = 6;
|
|
|
|
bytes value = 7;
|
|
|
|
ProofOps proof_ops = 8;
|
|
|
|
int64 height = 9;
|
|
|
|
string codespace = 10;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ProofOp defines an operation used for calculating Merkle root. The data could
|
2024-02-06 22:54:10 +00:00
|
|
|
// be arbitrary format, providing necessary data for example neighbouring node
|
2023-04-04 00:08:45 +00:00
|
|
|
// hash.
|
|
|
|
//
|
2024-02-06 22:54:10 +00:00
|
|
|
// Note: This type is a duplicate of the ProofOp proto type defined in Tendermint.
|
2023-04-04 00:08:45 +00:00
|
|
|
message ProofOp {
|
|
|
|
string type = 1;
|
|
|
|
bytes key = 2;
|
|
|
|
bytes data = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ProofOps is Merkle proof defined by the list of ProofOps.
|
|
|
|
//
|
2024-02-06 22:54:10 +00:00
|
|
|
// Note: This type is a duplicate of the ProofOps proto type defined in Tendermint.
|
2023-04-04 00:08:45 +00:00
|
|
|
message ProofOps {
|
2024-02-06 22:54:10 +00:00
|
|
|
repeated ProofOp ops = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
|
2023-04-04 00:08:45 +00:00
|
|
|
}
|