syntax = "proto3"; package cosmos.staking.v1beta1; import "cosmos/base/query/v1beta1/pagination.proto"; import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; import "cosmos/staking/v1beta1/staking.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/query/v1/query.proto"; import "amino/amino.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/staking/types"; // Query defines the gRPC querier service. service Query { // Validators queries all validators that match the given status. // // When called from another module, this query might consume a high amount of // gas if the pagination field is incorrectly set. rpc Validators(QueryValidatorsRequest) returns (QueryValidatorsResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/validators"; } // Validator queries validator info for given validator address. rpc Validator(QueryValidatorRequest) returns (QueryValidatorResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/validators/{validator_addr}"; } // ValidatorDelegations queries delegate info for given validator. // // When called from another module, this query might consume a high amount of // gas if the pagination field is incorrectly set. rpc ValidatorDelegations(QueryValidatorDelegationsRequest) returns (QueryValidatorDelegationsResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations"; } // ValidatorUnbondingDelegations queries unbonding delegations of a validator. // // When called from another module, this query might consume a high amount of // gas if the pagination field is incorrectly set. rpc ValidatorUnbondingDelegations(QueryValidatorUnbondingDelegationsRequest) returns (QueryValidatorUnbondingDelegationsResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/validators/" "{validator_addr}/unbonding_delegations"; } // Delegation queries delegate info for given validator delegator pair. rpc Delegation(QueryDelegationRequest) returns (QueryDelegationResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/" "{delegator_addr}"; } // UnbondingDelegation queries unbonding info for given validator delegator // pair. rpc UnbondingDelegation(QueryUnbondingDelegationRequest) returns (QueryUnbondingDelegationResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/" "{delegator_addr}/unbonding_delegation"; } // DelegatorDelegations queries all delegations of a given delegator address. // // When called from another module, this query might consume a high amount of // gas if the pagination field is incorrectly set. rpc DelegatorDelegations(QueryDelegatorDelegationsRequest) returns (QueryDelegatorDelegationsResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/delegations/{delegator_addr}"; } // DelegatorUnbondingDelegations queries all unbonding delegations of a given // delegator address. // // When called from another module, this query might consume a high amount of // gas if the pagination field is incorrectly set. rpc DelegatorUnbondingDelegations(QueryDelegatorUnbondingDelegationsRequest) returns (QueryDelegatorUnbondingDelegationsResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/delegators/" "{delegator_addr}/unbonding_delegations"; } // Redelegations queries redelegations of given address. // // When called from another module, this query might consume a high amount of // gas if the pagination field is incorrectly set. rpc Redelegations(QueryRedelegationsRequest) returns (QueryRedelegationsResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations"; } // DelegatorValidators queries all validators info for given delegator // address. // // When called from another module, this query might consume a high amount of // gas if the pagination field is incorrectly set. rpc DelegatorValidators(QueryDelegatorValidatorsRequest) returns (QueryDelegatorValidatorsResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators"; } // DelegatorValidator queries validator info for given delegator validator // pair. rpc DelegatorValidator(QueryDelegatorValidatorRequest) returns (QueryDelegatorValidatorResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/" "{validator_addr}"; } // HistoricalInfo queries the historical info for given height. rpc HistoricalInfo(QueryHistoricalInfoRequest) returns (QueryHistoricalInfoResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/historical_info/{height}"; } // Pool queries the pool info. rpc Pool(QueryPoolRequest) returns (QueryPoolResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/pool"; } // Parameters queries the staking parameters. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/params"; } } // QueryValidatorsRequest is request type for Query/Validators RPC method. message QueryValidatorsRequest { // status enables to query for validators matching a given status. string status = 1; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryValidatorsResponse is response type for the Query/Validators RPC method message QueryValidatorsResponse { // validators contains all the queried validators. repeated Validator validators = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryValidatorRequest is response type for the Query/Validator RPC method message QueryValidatorRequest { // validator_addr defines the validator address to query for. string validator_addr = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; } // QueryValidatorResponse is response type for the Query/Validator RPC method message QueryValidatorResponse { // validator defines the validator info. Validator validator = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } // QueryValidatorDelegationsRequest is request type for the // Query/ValidatorDelegations RPC method message QueryValidatorDelegationsRequest { // validator_addr defines the validator address to query for. string validator_addr = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryValidatorDelegationsResponse is response type for the // Query/ValidatorDelegations RPC method message QueryValidatorDelegationsResponse { repeated DelegationResponse delegation_responses = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true, (gogoproto.castrepeated) = "DelegationResponses"]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryValidatorUnbondingDelegationsRequest is required type for the // Query/ValidatorUnbondingDelegations RPC method message QueryValidatorUnbondingDelegationsRequest { // validator_addr defines the validator address to query for. string validator_addr = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryValidatorUnbondingDelegationsResponse is response type for the // Query/ValidatorUnbondingDelegations RPC method. message QueryValidatorUnbondingDelegationsResponse { repeated UnbondingDelegation unbonding_responses = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryDelegationRequest is request type for the Query/Delegation RPC method. message QueryDelegationRequest { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; // delegator_addr defines the delegator address to query for. string delegator_addr = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // validator_addr defines the validator address to query for. string validator_addr = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; } // QueryDelegationResponse is response type for the Query/Delegation RPC method. message QueryDelegationResponse { // delegation_responses defines the delegation info of a delegation. DelegationResponse delegation_response = 1; } // QueryUnbondingDelegationRequest is request type for the // Query/UnbondingDelegation RPC method. message QueryUnbondingDelegationRequest { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; // delegator_addr defines the delegator address to query for. string delegator_addr = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // validator_addr defines the validator address to query for. string validator_addr = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; } // QueryDelegationResponse is response type for the Query/UnbondingDelegation // RPC method. message QueryUnbondingDelegationResponse { // unbond defines the unbonding information of a delegation. UnbondingDelegation unbond = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } // QueryDelegatorDelegationsRequest is request type for the // Query/DelegatorDelegations RPC method. message QueryDelegatorDelegationsRequest { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; // delegator_addr defines the delegator address to query for. string delegator_addr = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryDelegatorDelegationsResponse is response type for the // Query/DelegatorDelegations RPC method. message QueryDelegatorDelegationsResponse { // delegation_responses defines all the delegations' info of a delegator. repeated DelegationResponse delegation_responses = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryDelegatorUnbondingDelegationsRequest is request type for the // Query/DelegatorUnbondingDelegations RPC method. message QueryDelegatorUnbondingDelegationsRequest { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; // delegator_addr defines the delegator address to query for. string delegator_addr = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryUnbondingDelegatorDelegationsResponse is response type for the // Query/UnbondingDelegatorDelegations RPC method. message QueryDelegatorUnbondingDelegationsResponse { repeated UnbondingDelegation unbonding_responses = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryRedelegationsRequest is request type for the Query/Redelegations RPC // method. message QueryRedelegationsRequest { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; // delegator_addr defines the delegator address to query for. string delegator_addr = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // src_validator_addr defines the validator address to redelegate from. string src_validator_addr = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // dst_validator_addr defines the validator address to redelegate to. string dst_validator_addr = 3 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 4; } // QueryRedelegationsResponse is response type for the Query/Redelegations RPC // method. message QueryRedelegationsResponse { repeated RedelegationResponse redelegation_responses = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryDelegatorValidatorsRequest is request type for the // Query/DelegatorValidators RPC method. message QueryDelegatorValidatorsRequest { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; // delegator_addr defines the delegator address to query for. string delegator_addr = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryDelegatorValidatorsResponse is response type for the // Query/DelegatorValidators RPC method. message QueryDelegatorValidatorsResponse { // validators defines the validators' info of a delegator. repeated Validator validators = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryDelegatorValidatorRequest is request type for the // Query/DelegatorValidator RPC method. message QueryDelegatorValidatorRequest { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; // delegator_addr defines the delegator address to query for. string delegator_addr = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // validator_addr defines the validator address to query for. string validator_addr = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; } // QueryDelegatorValidatorResponse response type for the // Query/DelegatorValidator RPC method. message QueryDelegatorValidatorResponse { // validator defines the validator info. Validator validator = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } // QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC // method. message QueryHistoricalInfoRequest { // height defines at which height to query the historical info. int64 height = 1; } // QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC // method. message QueryHistoricalInfoResponse { // hist defines the historical info at the given height. HistoricalInfo hist = 1; } // QueryPoolRequest is request type for the Query/Pool RPC method. message QueryPoolRequest {} // QueryPoolResponse is response type for the Query/Pool RPC method. message QueryPoolResponse { // pool defines the pool info. Pool pool = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} // QueryParamsResponse is response type for the Query/Params RPC method. message QueryParamsResponse { // params holds all the parameters of this module. Params params = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; }