Add service provider auctions #59

Merged
nabarun merged 29 commits from deep-stack/laconicd:iv-service-provider-auction into main 2024-09-25 12:38:50 +00:00
4 changed files with 20 additions and 15 deletions
Showing only changes of commit 9c29f694da - Show all commits

View File

@ -3932,13 +3932,16 @@ type Auction struct {
RevealFee *v1beta1.Coin `protobuf:"bytes,9,opt,name=reveal_fee,json=revealFee,proto3" json:"reveal_fee,omitempty"` RevealFee *v1beta1.Coin `protobuf:"bytes,9,opt,name=reveal_fee,json=revealFee,proto3" json:"reveal_fee,omitempty"`
// Minimum acceptable bid amount for a valid commit // Minimum acceptable bid amount for a valid commit
MinimumBid *v1beta1.Coin `protobuf:"bytes,10,opt,name=minimum_bid,json=minimumBid,proto3" json:"minimum_bid,omitempty"` MinimumBid *v1beta1.Coin `protobuf:"bytes,10,opt,name=minimum_bid,json=minimumBid,proto3" json:"minimum_bid,omitempty"`
// Addresses of the winners (one for vickrey auctions and can be multiple for provider auctions) // Addresses of the winners (one for vickrey auctions and can be multiple for
// provider auctions)
WinnerAddresses []string `protobuf:"bytes,11,rep,name=winner_addresses,json=winnerAddresses,proto3" json:"winner_addresses,omitempty"` WinnerAddresses []string `protobuf:"bytes,11,rep,name=winner_addresses,json=winnerAddresses,proto3" json:"winner_addresses,omitempty"`
// Winning bids, i.e., the best bids // Winning bids, i.e., the best bids
WinningBids []*v1beta1.Coin `protobuf:"bytes,12,rep,name=winning_bids,json=winningBids,proto3" json:"winning_bids,omitempty"` WinningBids []*v1beta1.Coin `protobuf:"bytes,12,rep,name=winning_bids,json=winningBids,proto3" json:"winning_bids,omitempty"`
// Amount the winner pays, i.e. the second best bid // Amount the winner pays (vickrey auction) or gets paid (provider auction),
// i.e. the second best bid
WinningPrice *v1beta1.Coin `protobuf:"bytes,13,opt,name=winning_price,json=winningPrice,proto3" json:"winning_price,omitempty"` WinningPrice *v1beta1.Coin `protobuf:"bytes,13,opt,name=winning_price,json=winningPrice,proto3" json:"winning_price,omitempty"`
// Maximum acceptable bid amount for a valid commit for service provider auctions // Maximum acceptable bid amount for a valid commit for service provider
// auctions
MaxPrice *v1beta1.Coin `protobuf:"bytes,14,opt,name=max_price,json=maxPrice,proto3" json:"max_price,omitempty"` MaxPrice *v1beta1.Coin `protobuf:"bytes,14,opt,name=max_price,json=maxPrice,proto3" json:"max_price,omitempty"`
// Number of providers to be selected // Number of providers to be selected
NumProviders int32 `protobuf:"varint,15,opt,name=num_providers,json=numProviders,proto3" json:"num_providers,omitempty"` NumProviders int32 `protobuf:"varint,15,opt,name=num_providers,json=numProviders,proto3" json:"num_providers,omitempty"`

View File

@ -54,9 +54,7 @@ message Auction {
string id = 1; string id = 1;
// Auction's kind (vickrey | provider) // Auction's kind (vickrey | provider)
string kind = 2 [ string kind = 2 [ (gogoproto.moretags) = "json:\"kind\" yaml:\"kind\"" ];
(gogoproto.moretags) = "json:\"kind\" yaml:\"kind\""
];
string status = 3; string status = 3;
@ -101,7 +99,8 @@ message Auction {
(gogoproto.moretags) = "json:\"minimum_bid\" yaml:\"minimum_bid\"" (gogoproto.moretags) = "json:\"minimum_bid\" yaml:\"minimum_bid\""
]; ];
// Addresses of the winners (one for vickrey auctions and can be multiple for provider auctions) // Addresses of the winners (one for vickrey auctions and can be multiple for
// provider auctions)
repeated string winner_addresses = 11; repeated string winner_addresses = 11;
// Winning bids, i.e., the best bids // Winning bids, i.e., the best bids
@ -110,13 +109,15 @@ message Auction {
(gogoproto.moretags) = "json:\"winning_bids\" yaml:\"winning_bids\"" (gogoproto.moretags) = "json:\"winning_bids\" yaml:\"winning_bids\""
]; ];
// Amount the winner pays (vickrey auction) or gets paid (provider auction), i.e. the second best bid // Amount the winner pays (vickrey auction) or gets paid (provider auction),
// i.e. the second best bid
cosmos.base.v1beta1.Coin winning_price = 13 [ cosmos.base.v1beta1.Coin winning_price = 13 [
(gogoproto.nullable) = false, (gogoproto.nullable) = false,
(gogoproto.moretags) = "json:\"winning_price\" yaml:\"winning_price\"" (gogoproto.moretags) = "json:\"winning_price\" yaml:\"winning_price\""
]; ];
// Maximum acceptable bid amount for a valid commit for service provider auctions // Maximum acceptable bid amount for a valid commit for service provider
// auctions
cosmos.base.v1beta1.Coin max_price = 14 [ cosmos.base.v1beta1.Coin max_price = 14 [
(gogoproto.nullable) = false, (gogoproto.nullable) = false,
(gogoproto.moretags) = "json:\"max_price\" yaml:\"max_price\"" (gogoproto.moretags) = "json:\"max_price\" yaml:\"max_price\""

View File

@ -78,9 +78,7 @@ message MsgCreateAuction {
[ (gogoproto.moretags) = "json:\"signer\" yaml:\"signer\"" ]; [ (gogoproto.moretags) = "json:\"signer\" yaml:\"signer\"" ];
// Auction's kind (vickrey | provider) // Auction's kind (vickrey | provider)
string kind = 7 [ string kind = 7 [ (gogoproto.moretags) = "json:\"kind\" yaml:\"kind\"" ];
(gogoproto.moretags) = "json:\"kind\" yaml:\"kind\""
];
// Maximum acceptable bid amount (for service provider auctions) // Maximum acceptable bid amount (for service provider auctions)
cosmos.base.v1beta1.Coin max_price = 8 [ cosmos.base.v1beta1.Coin max_price = 8 [

View File

@ -130,13 +130,16 @@ type Auction struct {
RevealFee types.Coin `protobuf:"bytes,9,opt,name=reveal_fee,json=revealFee,proto3" json:"reveal_fee" json:"reveal_fee" yaml:"reveal_fee"` RevealFee types.Coin `protobuf:"bytes,9,opt,name=reveal_fee,json=revealFee,proto3" json:"reveal_fee" json:"reveal_fee" yaml:"reveal_fee"`
// Minimum acceptable bid amount for a valid commit // Minimum acceptable bid amount for a valid commit
MinimumBid types.Coin `protobuf:"bytes,10,opt,name=minimum_bid,json=minimumBid,proto3" json:"minimum_bid" json:"minimum_bid" yaml:"minimum_bid"` MinimumBid types.Coin `protobuf:"bytes,10,opt,name=minimum_bid,json=minimumBid,proto3" json:"minimum_bid" json:"minimum_bid" yaml:"minimum_bid"`
// Addresses of the winners (one for vickrey auctions and can be multiple for provider auctions) // Addresses of the winners (one for vickrey auctions and can be multiple for
// provider auctions)
WinnerAddresses []string `protobuf:"bytes,11,rep,name=winner_addresses,json=winnerAddresses,proto3" json:"winner_addresses,omitempty"` WinnerAddresses []string `protobuf:"bytes,11,rep,name=winner_addresses,json=winnerAddresses,proto3" json:"winner_addresses,omitempty"`
// Winning bids, i.e., the best bids // Winning bids, i.e., the best bids
WinningBids []types.Coin `protobuf:"bytes,12,rep,name=winning_bids,json=winningBids,proto3" json:"winning_bids" json:"winning_bids" yaml:"winning_bids"` WinningBids []types.Coin `protobuf:"bytes,12,rep,name=winning_bids,json=winningBids,proto3" json:"winning_bids" json:"winning_bids" yaml:"winning_bids"`
// Amount the winner pays, i.e. the second best bid // Amount the winner pays (vickrey auction) or gets paid (provider auction),
// i.e. the second best bid
WinningPrice types.Coin `protobuf:"bytes,13,opt,name=winning_price,json=winningPrice,proto3" json:"winning_price" json:"winning_price" yaml:"winning_price"` WinningPrice types.Coin `protobuf:"bytes,13,opt,name=winning_price,json=winningPrice,proto3" json:"winning_price" json:"winning_price" yaml:"winning_price"`
// Maximum acceptable bid amount for a valid commit for service provider auctions // Maximum acceptable bid amount for a valid commit for service provider
// auctions
MaxPrice types.Coin `protobuf:"bytes,14,opt,name=max_price,json=maxPrice,proto3" json:"max_price" json:"max_price" yaml:"max_price"` MaxPrice types.Coin `protobuf:"bytes,14,opt,name=max_price,json=maxPrice,proto3" json:"max_price" json:"max_price" yaml:"max_price"`
// Number of providers to be selected // Number of providers to be selected
NumProviders int32 `protobuf:"varint,15,opt,name=num_providers,json=numProviders,proto3" json:"num_providers,omitempty"` NumProviders int32 `protobuf:"varint,15,opt,name=num_providers,json=numProviders,proto3" json:"num_providers,omitempty"`