syntax = "proto3"; package dymensionxyz.dymension.streamer; import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; import "google/protobuf/duration.proto"; import "cosmos/base/v1beta1/coin.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "dymension/streamer/stream.proto"; option go_package = "github.com/dymensionxyz/dymension/v3/x/streamer/types"; // Query defines the gRPC querier service service Query { // ModuleToDistributeCoins returns coins that are going to be distributed rpc ModuleToDistributeCoins(ModuleToDistributeCoinsRequest) returns (ModuleToDistributeCoinsResponse) { option (google.api.http).get = "/dymensionxyz/dymension/streamer/module_to_distribute_coins"; } // StreamByID returns streams by their respective ID rpc StreamByID(StreamByIDRequest) returns (StreamByIDResponse) { option (google.api.http).get = "/dymensionxyz/dymension/streamer/stream_by_id/{id}"; } // Streams returns both upcoming and active streams rpc Streams(StreamsRequest) returns (StreamsResponse) { option (google.api.http).get = "/dymensionxyz/dymension/streamer/streams"; } // ActiveStreams returns active streams rpc ActiveStreams(ActiveStreamsRequest) returns (ActiveStreamsResponse) { option (google.api.http).get = "/dymensionxyz/dymension/streamer/active_streams"; } // Returns scheduled streams that have not yet occurred rpc UpcomingStreams(UpcomingStreamsRequest) returns (UpcomingStreamsResponse) { option (google.api.http).get = "/dymensionxyz/dymension/streamer/upcoming_streams"; } } message ModuleToDistributeCoinsRequest {} message ModuleToDistributeCoinsResponse { // Coins that have yet to be distributed repeated cosmos.base.v1beta1.Coin coins = 1 [ (gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; } message StreamByIDRequest { // Gague ID being queried uint64 id = 1; } message StreamByIDResponse { // Stream that corresponds to provided gague ID Stream stream = 1; } message StreamsRequest { // Pagination defines pagination for the request cosmos.base.query.v1beta1.PageRequest pagination = 1; } message StreamsResponse { // Upcoming and active streams repeated Stream data = 1 [ (gogoproto.nullable) = false ]; // Pagination defines pagination for the response cosmos.base.query.v1beta1.PageResponse pagination = 2; } message ActiveStreamsRequest { // Pagination defines pagination for the request cosmos.base.query.v1beta1.PageRequest pagination = 1; } message ActiveStreamsResponse { // Active gagues only repeated Stream data = 1 [ (gogoproto.nullable) = false ]; // Pagination defines pagination for the response cosmos.base.query.v1beta1.PageResponse pagination = 2; } message UpcomingStreamsRequest { // Pagination defines pagination for the request cosmos.base.query.v1beta1.PageRequest pagination = 1; } message UpcomingStreamsResponse { // Streams whose distribution is upcoming repeated Stream data = 1 [ (gogoproto.nullable) = false ]; // Pagination defines pagination for the response cosmos.base.query.v1beta1.PageResponse pagination = 2; }