laconicd/proto/cerc/auction/v1/query.proto
Prathamesh Musale de489a4d21 Setup and plumbing for registry module (#4)
Reviewed-on: deep-stack/laconic2d#4
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-02-15 07:08:32 +00:00

153 lines
4.6 KiB
Protocol Buffer

syntax = "proto3";
package cerc.auction.v1;
import "gogoproto/gogo.proto";
import "google/api/annotations.proto";
import "cosmos/base/query/v1beta1/pagination.proto";
import "cosmos/base/v1beta1/coin.proto";
import "cerc/auction/v1/auction.proto";
option go_package = "git.vdb.to/cerc-io/laconic2d/x/auction";
// Query defines the gRPC querier interface for the auction module
service Query {
// Params queries auction module params
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
option (google.api.http).get = "/cerc/auction/v1/params";
}
// Auctions queries all auctions
rpc Auctions(QueryAuctionsRequest) returns (QueryAuctionsResponse) {
option (google.api.http).get = "/cerc/auction/v1/auctions";
}
// GetAuction queries an auction
rpc GetAuction(QueryAuctionRequest) returns (QueryAuctionResponse) {
option (google.api.http).get = "/cerc/auction/v1/auctions/{id}";
}
// GetBid queries an auction bid
rpc GetBid(QueryBidRequest) returns (QueryBidResponse) {
option (google.api.http).get = "/cerc/auction/v1/bids/{auction_id}/{bidder}";
}
// GetBids queries all auction bids
rpc GetBids(QueryBidsRequest) returns (QueryBidsResponse) {
option (google.api.http).get = "/cerc/auction/v1/bids/{auction_id}";
}
// AuctionsByBidder queries auctions by bidder
rpc AuctionsByBidder(QueryAuctionsByBidderRequest) returns (QueryAuctionsByBidderResponse) {
option (google.api.http).get = "/cerc/auction/v1/by-bidder/{bidder_address}";
}
// AuctionsByOwner queries auctions by owner
rpc AuctionsByOwner(QueryAuctionsByOwnerRequest) returns (QueryAuctionsByOwnerResponse) {
option (google.api.http).get = "/cerc/auction/v1/by-owner/{owner_address}";
}
// GetAuctionModuleBalance queries the auction module account balance
rpc GetAuctionModuleBalance(QueryGetAuctionModuleBalanceRequest) returns (QueryGetAuctionModuleBalanceResponse) {
option (google.api.http).get = "/cerc/auction/v1/balance";
}
}
// QueryParamsRequest is the format to query the parameters of the auction module
message QueryParamsRequest {}
// QueryParamsResponse returns parameters of the auction module
message QueryParamsResponse {
Params params = 1;
}
// AuctionsRequest is the format for querying all the auctions
message QueryAuctionsRequest {
// pagination defines an optional pagination info for the next request
cosmos.base.query.v1beta1.PageRequest pagination = 1;
}
// AuctionsResponse returns the list of all auctions
message QueryAuctionsResponse {
// List of auctions
Auctions auctions = 1;
// pagination defines an optional pagination info for the next request
cosmos.base.query.v1beta1.PageRequest pagination = 2;
}
// AuctionRequest is the format for querying a specific auction
message QueryAuctionRequest {
// Auction ID
string id = 1;
}
// AuctionResponse returns the details of the queried auction
message QueryAuctionResponse {
// Auction details
Auction auction = 1;
}
// BidRequest is the format for querying a specific bid in an auction
message QueryBidRequest {
// Auction ID
string auction_id = 1;
// Bidder address
string bidder = 2;
}
// BidResponse returns the details of the queried bid
message QueryBidResponse {
// Bid details
Bid bid = 1;
}
// BidsRequest is the format for querying all bids in an auction
message QueryBidsRequest {
// Auction ID
string auction_id = 1;
}
// BidsResponse returns details of all bids in an auction
message QueryBidsResponse {
// List of bids in the auction
repeated Bid bids = 1;
}
// AuctionsByBidderRequest is the format for querying all auctions containing a bidder address
message QueryAuctionsByBidderRequest {
// Address of the bidder
string bidder_address = 1;
}
// AuctionsByBidderResponse returns all auctions containing a bidder
message QueryAuctionsByBidderResponse {
// List of auctions
Auctions auctions = 1;
// TODO: Add pagination?
}
// AuctionsByOwnerRequest is the format for querying all auctions created by an owner
message QueryAuctionsByOwnerRequest {
// Address of the owner
string owner_address = 1;
}
// AuctionsByOwnerResponse returns all auctions created by an owner
message QueryAuctionsByOwnerResponse {
// List of auctions
Auctions auctions = 1;
}
// BalanceRequest is the format to fetch all balances
message QueryGetAuctionModuleBalanceRequest {}
message QueryGetAuctionModuleBalanceResponse {
// Set of all balances within the auction
repeated cosmos.base.v1beta1.Coin balance = 1 [
(gogoproto.nullable) = false,
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins",
(gogoproto.moretags) = "json:\"coins\" yaml:\"coins\""
];
}