Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
65957d6199 | |||
c807a9db80 | |||
3a551bce99 | |||
6f75370b17 | |||
52e8d322fa |
@ -7,7 +7,7 @@ on:
|
|||||||
- release/**
|
- release/**
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
sdk_tests_auctions:
|
sdk_tests_authority_auctions:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
@ -35,6 +35,6 @@ jobs:
|
|||||||
TEST_AUCTION_ENABLED: true
|
TEST_AUCTION_ENABLED: true
|
||||||
run: docker compose up -d
|
run: docker compose up -d
|
||||||
|
|
||||||
- name: Run auction tests
|
- name: Run authority auction tests
|
||||||
working-directory: tests/sdk_tests
|
working-directory: tests/sdk_tests
|
||||||
run: ./run-tests.sh test:auctions
|
run: ./run-tests.sh test:authority-auctions
|
@ -19,7 +19,7 @@ FROM ubuntu:22.04
|
|||||||
# Install ca-certificates, jq, curl, bash, and other necessary packages
|
# Install ca-certificates, jq, curl, bash, and other necessary packages
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
jq curl netcat bash \
|
jq curl netcat bash bc \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Copy over binary from the builder
|
# Copy over binary from the builder
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -23,6 +23,7 @@ const (
|
|||||||
Msg_CommitBid_FullMethodName = "/cerc.auction.v1.Msg/CommitBid"
|
Msg_CommitBid_FullMethodName = "/cerc.auction.v1.Msg/CommitBid"
|
||||||
Msg_RevealBid_FullMethodName = "/cerc.auction.v1.Msg/RevealBid"
|
Msg_RevealBid_FullMethodName = "/cerc.auction.v1.Msg/RevealBid"
|
||||||
Msg_UpdateParams_FullMethodName = "/cerc.auction.v1.Msg/UpdateParams"
|
Msg_UpdateParams_FullMethodName = "/cerc.auction.v1.Msg/UpdateParams"
|
||||||
|
Msg_ReleaseFunds_FullMethodName = "/cerc.auction.v1.Msg/ReleaseFunds"
|
||||||
)
|
)
|
||||||
|
|
||||||
// MsgClient is the client API for Msg service.
|
// MsgClient is the client API for Msg service.
|
||||||
@ -38,6 +39,8 @@ type MsgClient interface {
|
|||||||
// UpdateParams defines an operation for updating the x/staking module
|
// UpdateParams defines an operation for updating the x/staking module
|
||||||
// parameters.
|
// parameters.
|
||||||
UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error)
|
UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error)
|
||||||
|
// ReleaseFunds is the command for paying the winners of provider auctions
|
||||||
|
ReleaseFunds(ctx context.Context, in *MsgReleaseFunds, opts ...grpc.CallOption) (*MsgReleaseFundsResponse, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type msgClient struct {
|
type msgClient struct {
|
||||||
@ -84,6 +87,15 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *msgClient) ReleaseFunds(ctx context.Context, in *MsgReleaseFunds, opts ...grpc.CallOption) (*MsgReleaseFundsResponse, error) {
|
||||||
|
out := new(MsgReleaseFundsResponse)
|
||||||
|
err := c.cc.Invoke(ctx, Msg_ReleaseFunds_FullMethodName, in, out, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
// MsgServer is the server API for Msg service.
|
// MsgServer is the server API for Msg service.
|
||||||
// All implementations must embed UnimplementedMsgServer
|
// All implementations must embed UnimplementedMsgServer
|
||||||
// for forward compatibility
|
// for forward compatibility
|
||||||
@ -97,6 +109,8 @@ type MsgServer interface {
|
|||||||
// UpdateParams defines an operation for updating the x/staking module
|
// UpdateParams defines an operation for updating the x/staking module
|
||||||
// parameters.
|
// parameters.
|
||||||
UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error)
|
UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error)
|
||||||
|
// ReleaseFunds is the command for paying the winners of provider auctions
|
||||||
|
ReleaseFunds(context.Context, *MsgReleaseFunds) (*MsgReleaseFundsResponse, error)
|
||||||
mustEmbedUnimplementedMsgServer()
|
mustEmbedUnimplementedMsgServer()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,6 +130,9 @@ func (UnimplementedMsgServer) RevealBid(context.Context, *MsgRevealBid) (*MsgRev
|
|||||||
func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) {
|
func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented")
|
||||||
}
|
}
|
||||||
|
func (UnimplementedMsgServer) ReleaseFunds(context.Context, *MsgReleaseFunds) (*MsgReleaseFundsResponse, error) {
|
||||||
|
return nil, status.Errorf(codes.Unimplemented, "method ReleaseFunds not implemented")
|
||||||
|
}
|
||||||
func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {}
|
func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {}
|
||||||
|
|
||||||
// UnsafeMsgServer may be embedded to opt out of forward compatibility for this service.
|
// UnsafeMsgServer may be embedded to opt out of forward compatibility for this service.
|
||||||
@ -201,6 +218,24 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _Msg_ReleaseFunds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(MsgReleaseFunds)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(MsgServer).ReleaseFunds(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: Msg_ReleaseFunds_FullMethodName,
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(MsgServer).ReleaseFunds(ctx, req.(*MsgReleaseFunds))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
// Msg_ServiceDesc is the grpc.ServiceDesc for Msg service.
|
// Msg_ServiceDesc is the grpc.ServiceDesc for Msg service.
|
||||||
// It's only intended for direct use with grpc.RegisterService,
|
// It's only intended for direct use with grpc.RegisterService,
|
||||||
// and not to be introspected or modified (even as a copy)
|
// and not to be introspected or modified (even as a copy)
|
||||||
@ -224,6 +259,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "UpdateParams",
|
MethodName: "UpdateParams",
|
||||||
Handler: _Msg_UpdateParams_Handler,
|
Handler: _Msg_UpdateParams_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "ReleaseFunds",
|
||||||
|
Handler: _Msg_ReleaseFunds_Handler,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Streams: []grpc.StreamDesc{},
|
Streams: []grpc.StreamDesc{},
|
||||||
Metadata: "cerc/auction/v1/tx.proto",
|
Metadata: "cerc/auction/v1/tx.proto",
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -20,6 +21,7 @@ import (
|
|||||||
"github.com/cosmos/cosmos-sdk/crypto/keyring"
|
"github.com/cosmos/cosmos-sdk/crypto/keyring"
|
||||||
"github.com/cosmos/cosmos-sdk/server"
|
"github.com/cosmos/cosmos-sdk/server"
|
||||||
serverconfig "github.com/cosmos/cosmos-sdk/server/config"
|
serverconfig "github.com/cosmos/cosmos-sdk/server/config"
|
||||||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
"github.com/cosmos/cosmos-sdk/types/module"
|
"github.com/cosmos/cosmos-sdk/types/module"
|
||||||
"github.com/cosmos/cosmos-sdk/types/tx/signing"
|
"github.com/cosmos/cosmos-sdk/types/tx/signing"
|
||||||
"github.com/cosmos/cosmos-sdk/x/auth/tx"
|
"github.com/cosmos/cosmos-sdk/x/auth/tx"
|
||||||
@ -98,7 +100,7 @@ func NewRootCmd() *cobra.Command {
|
|||||||
|
|
||||||
// overwrite the minimum gas price from the app configuration
|
// overwrite the minimum gas price from the app configuration
|
||||||
srvCfg := serverconfig.DefaultConfig()
|
srvCfg := serverconfig.DefaultConfig()
|
||||||
srvCfg.MinGasPrices = "0alnt"
|
srvCfg.MinGasPrices = fmt.Sprintf("0%s", sdk.DefaultBondDenom)
|
||||||
|
|
||||||
// overwrite the block timeout
|
// overwrite the block timeout
|
||||||
cmtCfg := cmtcfg.DefaultConfig()
|
cmtCfg := cmtcfg.DefaultConfig()
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# cerc-io laconic gql
|
# cerc-io laconic gql
|
||||||
|
|
||||||
> Browser : http://localhost:9473 for gql
|
> Browser : <http://localhost:9473> for gql
|
||||||
|
|
||||||
## Run gqlgen
|
## Run gqlgen
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ On having some change in the GQL schema (for example: adding a new query) update
|
|||||||
go get github.com/99designs/gqlgen@v0.17.22
|
go get github.com/99designs/gqlgen@v0.17.22
|
||||||
|
|
||||||
# Generate bindings
|
# Generate bindings
|
||||||
# In gql
|
cd gql
|
||||||
go run github.com/99designs/gqlgen generate
|
go run github.com/99designs/gqlgen generate
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -168,10 +168,14 @@ type Auction {
|
|||||||
commitFee: Coin! # Fee required to bid/participate in the auction.
|
commitFee: Coin! # Fee required to bid/participate in the auction.
|
||||||
revealFee: Coin! # Reveal fee (paid back to bidders only if they unseal/reveal the bid).
|
revealFee: Coin! # Reveal fee (paid back to bidders only if they unseal/reveal the bid).
|
||||||
minimumBid: Coin! # Minimum bid amount.
|
minimumBid: Coin! # Minimum bid amount.
|
||||||
winnerAddress: String! # Winner address.
|
winnerAddresses: [String!]! # Winner address.
|
||||||
winnerBid: Coin! # The winning bid amount.
|
winnerBids: [Coin!]! # The winning bid amount.
|
||||||
winnerPrice: Coin! # The price that the winner actually pays (2nd highest bid).
|
winnerPrice: Coin! # The price that the winner actually pays (2nd highest bid).
|
||||||
bids: [AuctionBid] # Bids make in the auction.
|
maxPrice: Coin! # Max bid amount for service provider auction.
|
||||||
|
kind: String! # Auction kind.
|
||||||
|
numProviders: Int # Number of service providers
|
||||||
|
fundsReleased: Boolean! # Whether funds have been released to providers
|
||||||
|
bids: [AuctionBid!]! # Bids made in the auction.
|
||||||
}
|
}
|
||||||
|
|
||||||
# Record defines the basic properties of an entity in the graph database.
|
# Record defines the basic properties of an entity in the graph database.
|
||||||
|
502
gql/generated.go
502
gql/generated.go
@ -65,14 +65,18 @@ type ComplexityRoot struct {
|
|||||||
CommitFee func(childComplexity int) int
|
CommitFee func(childComplexity int) int
|
||||||
CommitsEndTime func(childComplexity int) int
|
CommitsEndTime func(childComplexity int) int
|
||||||
CreateTime func(childComplexity int) int
|
CreateTime func(childComplexity int) int
|
||||||
|
FundsReleased func(childComplexity int) int
|
||||||
ID func(childComplexity int) int
|
ID func(childComplexity int) int
|
||||||
|
Kind func(childComplexity int) int
|
||||||
|
MaxPrice func(childComplexity int) int
|
||||||
MinimumBid func(childComplexity int) int
|
MinimumBid func(childComplexity int) int
|
||||||
|
NumProviders func(childComplexity int) int
|
||||||
OwnerAddress func(childComplexity int) int
|
OwnerAddress func(childComplexity int) int
|
||||||
RevealFee func(childComplexity int) int
|
RevealFee func(childComplexity int) int
|
||||||
RevealsEndTime func(childComplexity int) int
|
RevealsEndTime func(childComplexity int) int
|
||||||
Status func(childComplexity int) int
|
Status func(childComplexity int) int
|
||||||
WinnerAddress func(childComplexity int) int
|
WinnerAddresses func(childComplexity int) int
|
||||||
WinnerBid func(childComplexity int) int
|
WinnerBids func(childComplexity int) int
|
||||||
WinnerPrice func(childComplexity int) int
|
WinnerPrice func(childComplexity int) int
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -346,6 +350,13 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in
|
|||||||
|
|
||||||
return e.complexity.Auction.CreateTime(childComplexity), true
|
return e.complexity.Auction.CreateTime(childComplexity), true
|
||||||
|
|
||||||
|
case "Auction.fundsReleased":
|
||||||
|
if e.complexity.Auction.FundsReleased == nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
return e.complexity.Auction.FundsReleased(childComplexity), true
|
||||||
|
|
||||||
case "Auction.id":
|
case "Auction.id":
|
||||||
if e.complexity.Auction.ID == nil {
|
if e.complexity.Auction.ID == nil {
|
||||||
break
|
break
|
||||||
@ -353,6 +364,20 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in
|
|||||||
|
|
||||||
return e.complexity.Auction.ID(childComplexity), true
|
return e.complexity.Auction.ID(childComplexity), true
|
||||||
|
|
||||||
|
case "Auction.kind":
|
||||||
|
if e.complexity.Auction.Kind == nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
return e.complexity.Auction.Kind(childComplexity), true
|
||||||
|
|
||||||
|
case "Auction.maxPrice":
|
||||||
|
if e.complexity.Auction.MaxPrice == nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
return e.complexity.Auction.MaxPrice(childComplexity), true
|
||||||
|
|
||||||
case "Auction.minimumBid":
|
case "Auction.minimumBid":
|
||||||
if e.complexity.Auction.MinimumBid == nil {
|
if e.complexity.Auction.MinimumBid == nil {
|
||||||
break
|
break
|
||||||
@ -360,6 +385,13 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in
|
|||||||
|
|
||||||
return e.complexity.Auction.MinimumBid(childComplexity), true
|
return e.complexity.Auction.MinimumBid(childComplexity), true
|
||||||
|
|
||||||
|
case "Auction.numProviders":
|
||||||
|
if e.complexity.Auction.NumProviders == nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
return e.complexity.Auction.NumProviders(childComplexity), true
|
||||||
|
|
||||||
case "Auction.ownerAddress":
|
case "Auction.ownerAddress":
|
||||||
if e.complexity.Auction.OwnerAddress == nil {
|
if e.complexity.Auction.OwnerAddress == nil {
|
||||||
break
|
break
|
||||||
@ -388,19 +420,19 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in
|
|||||||
|
|
||||||
return e.complexity.Auction.Status(childComplexity), true
|
return e.complexity.Auction.Status(childComplexity), true
|
||||||
|
|
||||||
case "Auction.winnerAddress":
|
case "Auction.winnerAddresses":
|
||||||
if e.complexity.Auction.WinnerAddress == nil {
|
if e.complexity.Auction.WinnerAddresses == nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
return e.complexity.Auction.WinnerAddress(childComplexity), true
|
return e.complexity.Auction.WinnerAddresses(childComplexity), true
|
||||||
|
|
||||||
case "Auction.winnerBid":
|
case "Auction.winnerBids":
|
||||||
if e.complexity.Auction.WinnerBid == nil {
|
if e.complexity.Auction.WinnerBids == nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
return e.complexity.Auction.WinnerBid(childComplexity), true
|
return e.complexity.Auction.WinnerBids(childComplexity), true
|
||||||
|
|
||||||
case "Auction.winnerPrice":
|
case "Auction.winnerPrice":
|
||||||
if e.complexity.Auction.WinnerPrice == nil {
|
if e.complexity.Auction.WinnerPrice == nil {
|
||||||
@ -2147,8 +2179,8 @@ func (ec *executionContext) fieldContext_Auction_minimumBid(ctx context.Context,
|
|||||||
return fc, nil
|
return fc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) _Auction_winnerAddress(ctx context.Context, field graphql.CollectedField, obj *Auction) (ret graphql.Marshaler) {
|
func (ec *executionContext) _Auction_winnerAddresses(ctx context.Context, field graphql.CollectedField, obj *Auction) (ret graphql.Marshaler) {
|
||||||
fc, err := ec.fieldContext_Auction_winnerAddress(ctx, field)
|
fc, err := ec.fieldContext_Auction_winnerAddresses(ctx, field)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
@ -2161,7 +2193,7 @@ func (ec *executionContext) _Auction_winnerAddress(ctx context.Context, field gr
|
|||||||
}()
|
}()
|
||||||
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
|
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
|
||||||
ctx = rctx // use context from middleware stack in children
|
ctx = rctx // use context from middleware stack in children
|
||||||
return obj.WinnerAddress, nil
|
return obj.WinnerAddresses, nil
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ec.Error(ctx, err)
|
ec.Error(ctx, err)
|
||||||
@ -2173,12 +2205,12 @@ func (ec *executionContext) _Auction_winnerAddress(ctx context.Context, field gr
|
|||||||
}
|
}
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
res := resTmp.(string)
|
res := resTmp.([]string)
|
||||||
fc.Result = res
|
fc.Result = res
|
||||||
return ec.marshalNString2string(ctx, field.Selections, res)
|
return ec.marshalNString2ᚕstringᚄ(ctx, field.Selections, res)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) fieldContext_Auction_winnerAddress(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
func (ec *executionContext) fieldContext_Auction_winnerAddresses(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
fc = &graphql.FieldContext{
|
fc = &graphql.FieldContext{
|
||||||
Object: "Auction",
|
Object: "Auction",
|
||||||
Field: field,
|
Field: field,
|
||||||
@ -2191,8 +2223,8 @@ func (ec *executionContext) fieldContext_Auction_winnerAddress(ctx context.Conte
|
|||||||
return fc, nil
|
return fc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) _Auction_winnerBid(ctx context.Context, field graphql.CollectedField, obj *Auction) (ret graphql.Marshaler) {
|
func (ec *executionContext) _Auction_winnerBids(ctx context.Context, field graphql.CollectedField, obj *Auction) (ret graphql.Marshaler) {
|
||||||
fc, err := ec.fieldContext_Auction_winnerBid(ctx, field)
|
fc, err := ec.fieldContext_Auction_winnerBids(ctx, field)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
@ -2205,7 +2237,7 @@ func (ec *executionContext) _Auction_winnerBid(ctx context.Context, field graphq
|
|||||||
}()
|
}()
|
||||||
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
|
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
|
||||||
ctx = rctx // use context from middleware stack in children
|
ctx = rctx // use context from middleware stack in children
|
||||||
return obj.WinnerBid, nil
|
return obj.WinnerBids, nil
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ec.Error(ctx, err)
|
ec.Error(ctx, err)
|
||||||
@ -2217,12 +2249,12 @@ func (ec *executionContext) _Auction_winnerBid(ctx context.Context, field graphq
|
|||||||
}
|
}
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
res := resTmp.(*Coin)
|
res := resTmp.([]*Coin)
|
||||||
fc.Result = res
|
fc.Result = res
|
||||||
return ec.marshalNCoin2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐCoin(ctx, field.Selections, res)
|
return ec.marshalNCoin2ᚕᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐCoinᚄ(ctx, field.Selections, res)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) fieldContext_Auction_winnerBid(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
func (ec *executionContext) fieldContext_Auction_winnerBids(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
fc = &graphql.FieldContext{
|
fc = &graphql.FieldContext{
|
||||||
Object: "Auction",
|
Object: "Auction",
|
||||||
Field: field,
|
Field: field,
|
||||||
@ -2291,6 +2323,185 @@ func (ec *executionContext) fieldContext_Auction_winnerPrice(ctx context.Context
|
|||||||
return fc, nil
|
return fc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) _Auction_maxPrice(ctx context.Context, field graphql.CollectedField, obj *Auction) (ret graphql.Marshaler) {
|
||||||
|
fc, err := ec.fieldContext_Auction_maxPrice(ctx, field)
|
||||||
|
if err != nil {
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
ctx = graphql.WithFieldContext(ctx, fc)
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
ec.Error(ctx, ec.Recover(ctx, r))
|
||||||
|
ret = graphql.Null
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
|
||||||
|
ctx = rctx // use context from middleware stack in children
|
||||||
|
return obj.MaxPrice, nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
ec.Error(ctx, err)
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
if resTmp == nil {
|
||||||
|
if !graphql.HasFieldError(ctx, fc) {
|
||||||
|
ec.Errorf(ctx, "must not be null")
|
||||||
|
}
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
res := resTmp.(*Coin)
|
||||||
|
fc.Result = res
|
||||||
|
return ec.marshalNCoin2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐCoin(ctx, field.Selections, res)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) fieldContext_Auction_maxPrice(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
|
fc = &graphql.FieldContext{
|
||||||
|
Object: "Auction",
|
||||||
|
Field: field,
|
||||||
|
IsMethod: false,
|
||||||
|
IsResolver: false,
|
||||||
|
Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
|
||||||
|
switch field.Name {
|
||||||
|
case "type":
|
||||||
|
return ec.fieldContext_Coin_type(ctx, field)
|
||||||
|
case "quantity":
|
||||||
|
return ec.fieldContext_Coin_quantity(ctx, field)
|
||||||
|
}
|
||||||
|
return nil, fmt.Errorf("no field named %q was found under type Coin", field.Name)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
return fc, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) _Auction_kind(ctx context.Context, field graphql.CollectedField, obj *Auction) (ret graphql.Marshaler) {
|
||||||
|
fc, err := ec.fieldContext_Auction_kind(ctx, field)
|
||||||
|
if err != nil {
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
ctx = graphql.WithFieldContext(ctx, fc)
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
ec.Error(ctx, ec.Recover(ctx, r))
|
||||||
|
ret = graphql.Null
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
|
||||||
|
ctx = rctx // use context from middleware stack in children
|
||||||
|
return obj.Kind, nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
ec.Error(ctx, err)
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
if resTmp == nil {
|
||||||
|
if !graphql.HasFieldError(ctx, fc) {
|
||||||
|
ec.Errorf(ctx, "must not be null")
|
||||||
|
}
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
res := resTmp.(string)
|
||||||
|
fc.Result = res
|
||||||
|
return ec.marshalNString2string(ctx, field.Selections, res)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) fieldContext_Auction_kind(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
|
fc = &graphql.FieldContext{
|
||||||
|
Object: "Auction",
|
||||||
|
Field: field,
|
||||||
|
IsMethod: false,
|
||||||
|
IsResolver: false,
|
||||||
|
Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
|
||||||
|
return nil, errors.New("field of type String does not have child fields")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
return fc, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) _Auction_numProviders(ctx context.Context, field graphql.CollectedField, obj *Auction) (ret graphql.Marshaler) {
|
||||||
|
fc, err := ec.fieldContext_Auction_numProviders(ctx, field)
|
||||||
|
if err != nil {
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
ctx = graphql.WithFieldContext(ctx, fc)
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
ec.Error(ctx, ec.Recover(ctx, r))
|
||||||
|
ret = graphql.Null
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
|
||||||
|
ctx = rctx // use context from middleware stack in children
|
||||||
|
return obj.NumProviders, nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
ec.Error(ctx, err)
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
if resTmp == nil {
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
res := resTmp.(*int)
|
||||||
|
fc.Result = res
|
||||||
|
return ec.marshalOInt2ᚖint(ctx, field.Selections, res)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) fieldContext_Auction_numProviders(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
|
fc = &graphql.FieldContext{
|
||||||
|
Object: "Auction",
|
||||||
|
Field: field,
|
||||||
|
IsMethod: false,
|
||||||
|
IsResolver: false,
|
||||||
|
Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
|
||||||
|
return nil, errors.New("field of type Int does not have child fields")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
return fc, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) _Auction_fundsReleased(ctx context.Context, field graphql.CollectedField, obj *Auction) (ret graphql.Marshaler) {
|
||||||
|
fc, err := ec.fieldContext_Auction_fundsReleased(ctx, field)
|
||||||
|
if err != nil {
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
ctx = graphql.WithFieldContext(ctx, fc)
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
ec.Error(ctx, ec.Recover(ctx, r))
|
||||||
|
ret = graphql.Null
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
|
||||||
|
ctx = rctx // use context from middleware stack in children
|
||||||
|
return obj.FundsReleased, nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
ec.Error(ctx, err)
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
if resTmp == nil {
|
||||||
|
if !graphql.HasFieldError(ctx, fc) {
|
||||||
|
ec.Errorf(ctx, "must not be null")
|
||||||
|
}
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
res := resTmp.(bool)
|
||||||
|
fc.Result = res
|
||||||
|
return ec.marshalNBoolean2bool(ctx, field.Selections, res)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) fieldContext_Auction_fundsReleased(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
|
fc = &graphql.FieldContext{
|
||||||
|
Object: "Auction",
|
||||||
|
Field: field,
|
||||||
|
IsMethod: false,
|
||||||
|
IsResolver: false,
|
||||||
|
Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
|
||||||
|
return nil, errors.New("field of type Boolean does not have child fields")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
return fc, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) _Auction_bids(ctx context.Context, field graphql.CollectedField, obj *Auction) (ret graphql.Marshaler) {
|
func (ec *executionContext) _Auction_bids(ctx context.Context, field graphql.CollectedField, obj *Auction) (ret graphql.Marshaler) {
|
||||||
fc, err := ec.fieldContext_Auction_bids(ctx, field)
|
fc, err := ec.fieldContext_Auction_bids(ctx, field)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -2312,11 +2523,14 @@ func (ec *executionContext) _Auction_bids(ctx context.Context, field graphql.Col
|
|||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
if resTmp == nil {
|
if resTmp == nil {
|
||||||
|
if !graphql.HasFieldError(ctx, fc) {
|
||||||
|
ec.Errorf(ctx, "must not be null")
|
||||||
|
}
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
}
|
}
|
||||||
res := resTmp.([]*AuctionBid)
|
res := resTmp.([]*AuctionBid)
|
||||||
fc.Result = res
|
fc.Result = res
|
||||||
return ec.marshalOAuctionBid2ᚕᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuctionBid(ctx, field.Selections, res)
|
return ec.marshalNAuctionBid2ᚕᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuctionBidᚄ(ctx, field.Selections, res)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) fieldContext_Auction_bids(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
func (ec *executionContext) fieldContext_Auction_bids(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
|
||||||
@ -3142,12 +3356,20 @@ func (ec *executionContext) fieldContext_AuthorityRecord_auction(ctx context.Con
|
|||||||
return ec.fieldContext_Auction_revealFee(ctx, field)
|
return ec.fieldContext_Auction_revealFee(ctx, field)
|
||||||
case "minimumBid":
|
case "minimumBid":
|
||||||
return ec.fieldContext_Auction_minimumBid(ctx, field)
|
return ec.fieldContext_Auction_minimumBid(ctx, field)
|
||||||
case "winnerAddress":
|
case "winnerAddresses":
|
||||||
return ec.fieldContext_Auction_winnerAddress(ctx, field)
|
return ec.fieldContext_Auction_winnerAddresses(ctx, field)
|
||||||
case "winnerBid":
|
case "winnerBids":
|
||||||
return ec.fieldContext_Auction_winnerBid(ctx, field)
|
return ec.fieldContext_Auction_winnerBids(ctx, field)
|
||||||
case "winnerPrice":
|
case "winnerPrice":
|
||||||
return ec.fieldContext_Auction_winnerPrice(ctx, field)
|
return ec.fieldContext_Auction_winnerPrice(ctx, field)
|
||||||
|
case "maxPrice":
|
||||||
|
return ec.fieldContext_Auction_maxPrice(ctx, field)
|
||||||
|
case "kind":
|
||||||
|
return ec.fieldContext_Auction_kind(ctx, field)
|
||||||
|
case "numProviders":
|
||||||
|
return ec.fieldContext_Auction_numProviders(ctx, field)
|
||||||
|
case "fundsReleased":
|
||||||
|
return ec.fieldContext_Auction_fundsReleased(ctx, field)
|
||||||
case "bids":
|
case "bids":
|
||||||
return ec.fieldContext_Auction_bids(ctx, field)
|
return ec.fieldContext_Auction_bids(ctx, field)
|
||||||
}
|
}
|
||||||
@ -5129,12 +5351,20 @@ func (ec *executionContext) fieldContext_Query_getAuctionsByIds(ctx context.Cont
|
|||||||
return ec.fieldContext_Auction_revealFee(ctx, field)
|
return ec.fieldContext_Auction_revealFee(ctx, field)
|
||||||
case "minimumBid":
|
case "minimumBid":
|
||||||
return ec.fieldContext_Auction_minimumBid(ctx, field)
|
return ec.fieldContext_Auction_minimumBid(ctx, field)
|
||||||
case "winnerAddress":
|
case "winnerAddresses":
|
||||||
return ec.fieldContext_Auction_winnerAddress(ctx, field)
|
return ec.fieldContext_Auction_winnerAddresses(ctx, field)
|
||||||
case "winnerBid":
|
case "winnerBids":
|
||||||
return ec.fieldContext_Auction_winnerBid(ctx, field)
|
return ec.fieldContext_Auction_winnerBids(ctx, field)
|
||||||
case "winnerPrice":
|
case "winnerPrice":
|
||||||
return ec.fieldContext_Auction_winnerPrice(ctx, field)
|
return ec.fieldContext_Auction_winnerPrice(ctx, field)
|
||||||
|
case "maxPrice":
|
||||||
|
return ec.fieldContext_Auction_maxPrice(ctx, field)
|
||||||
|
case "kind":
|
||||||
|
return ec.fieldContext_Auction_kind(ctx, field)
|
||||||
|
case "numProviders":
|
||||||
|
return ec.fieldContext_Auction_numProviders(ctx, field)
|
||||||
|
case "fundsReleased":
|
||||||
|
return ec.fieldContext_Auction_fundsReleased(ctx, field)
|
||||||
case "bids":
|
case "bids":
|
||||||
return ec.fieldContext_Auction_bids(ctx, field)
|
return ec.fieldContext_Auction_bids(ctx, field)
|
||||||
}
|
}
|
||||||
@ -8710,16 +8940,16 @@ func (ec *executionContext) _Auction(ctx context.Context, sel ast.SelectionSet,
|
|||||||
if out.Values[i] == graphql.Null {
|
if out.Values[i] == graphql.Null {
|
||||||
invalids++
|
invalids++
|
||||||
}
|
}
|
||||||
case "winnerAddress":
|
case "winnerAddresses":
|
||||||
|
|
||||||
out.Values[i] = ec._Auction_winnerAddress(ctx, field, obj)
|
out.Values[i] = ec._Auction_winnerAddresses(ctx, field, obj)
|
||||||
|
|
||||||
if out.Values[i] == graphql.Null {
|
if out.Values[i] == graphql.Null {
|
||||||
invalids++
|
invalids++
|
||||||
}
|
}
|
||||||
case "winnerBid":
|
case "winnerBids":
|
||||||
|
|
||||||
out.Values[i] = ec._Auction_winnerBid(ctx, field, obj)
|
out.Values[i] = ec._Auction_winnerBids(ctx, field, obj)
|
||||||
|
|
||||||
if out.Values[i] == graphql.Null {
|
if out.Values[i] == graphql.Null {
|
||||||
invalids++
|
invalids++
|
||||||
@ -8728,6 +8958,31 @@ func (ec *executionContext) _Auction(ctx context.Context, sel ast.SelectionSet,
|
|||||||
|
|
||||||
out.Values[i] = ec._Auction_winnerPrice(ctx, field, obj)
|
out.Values[i] = ec._Auction_winnerPrice(ctx, field, obj)
|
||||||
|
|
||||||
|
if out.Values[i] == graphql.Null {
|
||||||
|
invalids++
|
||||||
|
}
|
||||||
|
case "maxPrice":
|
||||||
|
|
||||||
|
out.Values[i] = ec._Auction_maxPrice(ctx, field, obj)
|
||||||
|
|
||||||
|
if out.Values[i] == graphql.Null {
|
||||||
|
invalids++
|
||||||
|
}
|
||||||
|
case "kind":
|
||||||
|
|
||||||
|
out.Values[i] = ec._Auction_kind(ctx, field, obj)
|
||||||
|
|
||||||
|
if out.Values[i] == graphql.Null {
|
||||||
|
invalids++
|
||||||
|
}
|
||||||
|
case "numProviders":
|
||||||
|
|
||||||
|
out.Values[i] = ec._Auction_numProviders(ctx, field, obj)
|
||||||
|
|
||||||
|
case "fundsReleased":
|
||||||
|
|
||||||
|
out.Values[i] = ec._Auction_fundsReleased(ctx, field, obj)
|
||||||
|
|
||||||
if out.Values[i] == graphql.Null {
|
if out.Values[i] == graphql.Null {
|
||||||
invalids++
|
invalids++
|
||||||
}
|
}
|
||||||
@ -8735,6 +8990,9 @@ func (ec *executionContext) _Auction(ctx context.Context, sel ast.SelectionSet,
|
|||||||
|
|
||||||
out.Values[i] = ec._Auction_bids(ctx, field, obj)
|
out.Values[i] = ec._Auction_bids(ctx, field, obj)
|
||||||
|
|
||||||
|
if out.Values[i] == graphql.Null {
|
||||||
|
invalids++
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
panic("unknown field " + strconv.Quote(field.Name))
|
panic("unknown field " + strconv.Quote(field.Name))
|
||||||
}
|
}
|
||||||
@ -10389,6 +10647,60 @@ func (ec *executionContext) marshalNAttribute2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋla
|
|||||||
return ec._Attribute(ctx, sel, v)
|
return ec._Attribute(ctx, sel, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) marshalNAuctionBid2ᚕᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuctionBidᚄ(ctx context.Context, sel ast.SelectionSet, v []*AuctionBid) graphql.Marshaler {
|
||||||
|
ret := make(graphql.Array, len(v))
|
||||||
|
var wg sync.WaitGroup
|
||||||
|
isLen1 := len(v) == 1
|
||||||
|
if !isLen1 {
|
||||||
|
wg.Add(len(v))
|
||||||
|
}
|
||||||
|
for i := range v {
|
||||||
|
i := i
|
||||||
|
fc := &graphql.FieldContext{
|
||||||
|
Index: &i,
|
||||||
|
Result: &v[i],
|
||||||
|
}
|
||||||
|
ctx := graphql.WithFieldContext(ctx, fc)
|
||||||
|
f := func(i int) {
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
ec.Error(ctx, ec.Recover(ctx, r))
|
||||||
|
ret = nil
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
if !isLen1 {
|
||||||
|
defer wg.Done()
|
||||||
|
}
|
||||||
|
ret[i] = ec.marshalNAuctionBid2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuctionBid(ctx, sel, v[i])
|
||||||
|
}
|
||||||
|
if isLen1 {
|
||||||
|
f(i)
|
||||||
|
} else {
|
||||||
|
go f(i)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
wg.Wait()
|
||||||
|
|
||||||
|
for _, e := range ret {
|
||||||
|
if e == graphql.Null {
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) marshalNAuctionBid2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuctionBid(ctx context.Context, sel ast.SelectionSet, v *AuctionBid) graphql.Marshaler {
|
||||||
|
if v == nil {
|
||||||
|
if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
|
||||||
|
ec.Errorf(ctx, "the requested element is null which the schema does not allow")
|
||||||
|
}
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
return ec._AuctionBid(ctx, sel, v)
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) marshalNAuthority2ᚕᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuthority(ctx context.Context, sel ast.SelectionSet, v []*Authority) graphql.Marshaler {
|
func (ec *executionContext) marshalNAuthority2ᚕᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuthority(ctx context.Context, sel ast.SelectionSet, v []*Authority) graphql.Marshaler {
|
||||||
ret := make(graphql.Array, len(v))
|
ret := make(graphql.Array, len(v))
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
@ -10500,6 +10812,50 @@ func (ec *executionContext) marshalNBoolean2bool(ctx context.Context, sel ast.Se
|
|||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) marshalNCoin2ᚕᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐCoinᚄ(ctx context.Context, sel ast.SelectionSet, v []*Coin) graphql.Marshaler {
|
||||||
|
ret := make(graphql.Array, len(v))
|
||||||
|
var wg sync.WaitGroup
|
||||||
|
isLen1 := len(v) == 1
|
||||||
|
if !isLen1 {
|
||||||
|
wg.Add(len(v))
|
||||||
|
}
|
||||||
|
for i := range v {
|
||||||
|
i := i
|
||||||
|
fc := &graphql.FieldContext{
|
||||||
|
Index: &i,
|
||||||
|
Result: &v[i],
|
||||||
|
}
|
||||||
|
ctx := graphql.WithFieldContext(ctx, fc)
|
||||||
|
f := func(i int) {
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
ec.Error(ctx, ec.Recover(ctx, r))
|
||||||
|
ret = nil
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
if !isLen1 {
|
||||||
|
defer wg.Done()
|
||||||
|
}
|
||||||
|
ret[i] = ec.marshalNCoin2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐCoin(ctx, sel, v[i])
|
||||||
|
}
|
||||||
|
if isLen1 {
|
||||||
|
f(i)
|
||||||
|
} else {
|
||||||
|
go f(i)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
wg.Wait()
|
||||||
|
|
||||||
|
for _, e := range ret {
|
||||||
|
if e == graphql.Null {
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) marshalNCoin2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐCoin(ctx context.Context, sel ast.SelectionSet, v *Coin) graphql.Marshaler {
|
func (ec *executionContext) marshalNCoin2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐCoin(ctx context.Context, sel ast.SelectionSet, v *Coin) graphql.Marshaler {
|
||||||
if v == nil {
|
if v == nil {
|
||||||
if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
|
if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
|
||||||
@ -10732,6 +11088,38 @@ func (ec *executionContext) marshalNString2string(ctx context.Context, sel ast.S
|
|||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) unmarshalNString2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) {
|
||||||
|
var vSlice []interface{}
|
||||||
|
if v != nil {
|
||||||
|
vSlice = graphql.CoerceList(v)
|
||||||
|
}
|
||||||
|
var err error
|
||||||
|
res := make([]string, len(vSlice))
|
||||||
|
for i := range vSlice {
|
||||||
|
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i))
|
||||||
|
res[i], err = ec.unmarshalNString2string(ctx, vSlice[i])
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ec *executionContext) marshalNString2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler {
|
||||||
|
ret := make(graphql.Array, len(v))
|
||||||
|
for i := range v {
|
||||||
|
ret[i] = ec.marshalNString2string(ctx, sel, v[i])
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, e := range ret {
|
||||||
|
if e == graphql.Null {
|
||||||
|
return graphql.Null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
func (ec *executionContext) marshalNSyncInfo2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐSyncInfo(ctx context.Context, sel ast.SelectionSet, v *SyncInfo) graphql.Marshaler {
|
func (ec *executionContext) marshalNSyncInfo2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐSyncInfo(ctx context.Context, sel ast.SelectionSet, v *SyncInfo) graphql.Marshaler {
|
||||||
if v == nil {
|
if v == nil {
|
||||||
if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
|
if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
|
||||||
@ -11214,54 +11602,6 @@ func (ec *executionContext) marshalOAuction2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaco
|
|||||||
return ec._Auction(ctx, sel, v)
|
return ec._Auction(ctx, sel, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ec *executionContext) marshalOAuctionBid2ᚕᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuctionBid(ctx context.Context, sel ast.SelectionSet, v []*AuctionBid) graphql.Marshaler {
|
|
||||||
if v == nil {
|
|
||||||
return graphql.Null
|
|
||||||
}
|
|
||||||
ret := make(graphql.Array, len(v))
|
|
||||||
var wg sync.WaitGroup
|
|
||||||
isLen1 := len(v) == 1
|
|
||||||
if !isLen1 {
|
|
||||||
wg.Add(len(v))
|
|
||||||
}
|
|
||||||
for i := range v {
|
|
||||||
i := i
|
|
||||||
fc := &graphql.FieldContext{
|
|
||||||
Index: &i,
|
|
||||||
Result: &v[i],
|
|
||||||
}
|
|
||||||
ctx := graphql.WithFieldContext(ctx, fc)
|
|
||||||
f := func(i int) {
|
|
||||||
defer func() {
|
|
||||||
if r := recover(); r != nil {
|
|
||||||
ec.Error(ctx, ec.Recover(ctx, r))
|
|
||||||
ret = nil
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
if !isLen1 {
|
|
||||||
defer wg.Done()
|
|
||||||
}
|
|
||||||
ret[i] = ec.marshalOAuctionBid2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuctionBid(ctx, sel, v[i])
|
|
||||||
}
|
|
||||||
if isLen1 {
|
|
||||||
f(i)
|
|
||||||
} else {
|
|
||||||
go f(i)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
wg.Wait()
|
|
||||||
|
|
||||||
return ret
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ec *executionContext) marshalOAuctionBid2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuctionBid(ctx context.Context, sel ast.SelectionSet, v *AuctionBid) graphql.Marshaler {
|
|
||||||
if v == nil {
|
|
||||||
return graphql.Null
|
|
||||||
}
|
|
||||||
return ec._AuctionBid(ctx, sel, v)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ec *executionContext) marshalOAuthority2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuthority(ctx context.Context, sel ast.SelectionSet, v *Authority) graphql.Marshaler {
|
func (ec *executionContext) marshalOAuthority2ᚖgitᚗvdbᚗtoᚋcercᚑioᚋlaconicdᚋgqlᚐAuthority(ctx context.Context, sel ast.SelectionSet, v *Authority) graphql.Marshaler {
|
||||||
if v == nil {
|
if v == nil {
|
||||||
return graphql.Null
|
return graphql.Null
|
||||||
|
@ -35,9 +35,13 @@ type Auction struct {
|
|||||||
CommitFee *Coin `json:"commitFee"`
|
CommitFee *Coin `json:"commitFee"`
|
||||||
RevealFee *Coin `json:"revealFee"`
|
RevealFee *Coin `json:"revealFee"`
|
||||||
MinimumBid *Coin `json:"minimumBid"`
|
MinimumBid *Coin `json:"minimumBid"`
|
||||||
WinnerAddress string `json:"winnerAddress"`
|
WinnerAddresses []string `json:"winnerAddresses"`
|
||||||
WinnerBid *Coin `json:"winnerBid"`
|
WinnerBids []*Coin `json:"winnerBids"`
|
||||||
WinnerPrice *Coin `json:"winnerPrice"`
|
WinnerPrice *Coin `json:"winnerPrice"`
|
||||||
|
MaxPrice *Coin `json:"maxPrice"`
|
||||||
|
Kind string `json:"kind"`
|
||||||
|
NumProviders *int `json:"numProviders"`
|
||||||
|
FundsReleased bool `json:"fundsReleased"`
|
||||||
Bids []*AuctionBid `json:"bids"`
|
Bids []*AuctionBid `json:"bids"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
10
gql/util.go
10
gql/util.go
@ -232,6 +232,8 @@ func GetGQLAuction(auction *auctiontypes.Auction, bids []*auctiontypes.Bid) (*Au
|
|||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
numProviders := int(auction.NumProviders)
|
||||||
|
|
||||||
gqlAuction := Auction{
|
gqlAuction := Auction{
|
||||||
ID: auction.Id,
|
ID: auction.Id,
|
||||||
Status: auction.Status,
|
Status: auction.Status,
|
||||||
@ -242,9 +244,13 @@ func GetGQLAuction(auction *auctiontypes.Auction, bids []*auctiontypes.Bid) (*Au
|
|||||||
CommitFee: getGQLCoin(auction.CommitFee),
|
CommitFee: getGQLCoin(auction.CommitFee),
|
||||||
RevealFee: getGQLCoin(auction.RevealFee),
|
RevealFee: getGQLCoin(auction.RevealFee),
|
||||||
MinimumBid: getGQLCoin(auction.MinimumBid),
|
MinimumBid: getGQLCoin(auction.MinimumBid),
|
||||||
WinnerAddress: auction.WinnerAddress,
|
WinnerAddresses: auction.WinnerAddresses,
|
||||||
WinnerBid: getGQLCoin(auction.WinningBid),
|
WinnerBids: getGQLCoins(auction.WinningBids),
|
||||||
WinnerPrice: getGQLCoin(auction.WinningPrice),
|
WinnerPrice: getGQLCoin(auction.WinningPrice),
|
||||||
|
MaxPrice: getGQLCoin(auction.MaxPrice),
|
||||||
|
Kind: auction.Kind,
|
||||||
|
NumProviders: &numProviders,
|
||||||
|
FundsReleased: auction.FundsReleased,
|
||||||
}
|
}
|
||||||
|
|
||||||
auctionBids := make([]*AuctionBid, len(bids))
|
auctionBids := make([]*AuctionBid, len(bids))
|
||||||
|
@ -3,76 +3,44 @@ syntax = "proto3";
|
|||||||
package cerc.auction.v1;
|
package cerc.auction.v1;
|
||||||
|
|
||||||
import "gogoproto/gogo.proto";
|
import "gogoproto/gogo.proto";
|
||||||
import "google/protobuf/duration.proto";
|
|
||||||
import "google/protobuf/timestamp.proto";
|
import "google/protobuf/timestamp.proto";
|
||||||
import "cosmos/base/v1beta1/coin.proto";
|
import "cosmos/base/v1beta1/coin.proto";
|
||||||
|
|
||||||
option go_package = "git.vdb.to/cerc-io/laconicd/x/auction";
|
option go_package = "git.vdb.to/cerc-io/laconicd/x/auction";
|
||||||
|
|
||||||
// Params defines the auction module parameters
|
// Params defines the auction module parameters
|
||||||
message Params {
|
message Params {}
|
||||||
// Write custom stringer method
|
|
||||||
option (gogoproto.goproto_stringer) = false;
|
|
||||||
|
|
||||||
// Duration of the commits phase in seconds
|
|
||||||
google.protobuf.Duration commits_duration = 1 [
|
|
||||||
(gogoproto.nullable) = false,
|
|
||||||
(gogoproto.stdduration) = true,
|
|
||||||
(gogoproto.moretags) = "json:\"commits_duration\" yaml:\"commits_duration\""
|
|
||||||
];
|
|
||||||
|
|
||||||
// Duration of the reveals phase in seconds
|
|
||||||
google.protobuf.Duration reveals_duration = 2 [
|
|
||||||
(gogoproto.nullable) = false,
|
|
||||||
(gogoproto.stdduration) = true,
|
|
||||||
(gogoproto.moretags) = "json:\"reveals_duration\" yaml:\"reveals_duration\""
|
|
||||||
];
|
|
||||||
|
|
||||||
// Commit fees
|
|
||||||
cosmos.base.v1beta1.Coin commit_fee = 3 [
|
|
||||||
(gogoproto.nullable) = false,
|
|
||||||
(gogoproto.moretags) = "json:\"commit_fee\" yaml:\"commit_fee\""
|
|
||||||
];
|
|
||||||
|
|
||||||
// Reveal fees
|
|
||||||
cosmos.base.v1beta1.Coin reveal_fee = 4 [
|
|
||||||
(gogoproto.nullable) = false,
|
|
||||||
(gogoproto.moretags) = "json:\"reveal_fee\" yaml:\"reveal_fee\""
|
|
||||||
];
|
|
||||||
|
|
||||||
// Minimum acceptable bid amount
|
|
||||||
cosmos.base.v1beta1.Coin minimum_bid = 5 [
|
|
||||||
(gogoproto.nullable) = false,
|
|
||||||
(gogoproto.moretags) = "json:\"minimum_bid\" yaml:\"minimum_bid\""
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Auction represents a sealed-bid on-chain auction
|
// Auction represents a sealed-bid on-chain auction
|
||||||
message Auction {
|
message Auction {
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
|
|
||||||
string id = 1;
|
string id = 1;
|
||||||
string status = 2;
|
|
||||||
|
// Auction kind (vickrey | provider)
|
||||||
|
string kind = 2 [ (gogoproto.moretags) = "json:\"kind\" yaml:\"kind\"" ];
|
||||||
|
|
||||||
|
string status = 3;
|
||||||
|
|
||||||
// Address of the creator of the auction
|
// Address of the creator of the auction
|
||||||
string owner_address = 3;
|
string owner_address = 4;
|
||||||
|
|
||||||
// Timestamp at which the auction was created
|
// Timestamp at which the auction was created
|
||||||
google.protobuf.Timestamp create_time = 4 [
|
google.protobuf.Timestamp create_time = 5 [
|
||||||
(gogoproto.stdtime) = true,
|
(gogoproto.stdtime) = true,
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.moretags) = "json:\"create_time\" yaml:\"create_time\""
|
(gogoproto.moretags) = "json:\"create_time\" yaml:\"create_time\""
|
||||||
];
|
];
|
||||||
|
|
||||||
// Timestamp at which the commits phase concluded
|
// Timestamp at which the commits phase concluded
|
||||||
google.protobuf.Timestamp commits_end_time = 5 [
|
google.protobuf.Timestamp commits_end_time = 6 [
|
||||||
(gogoproto.stdtime) = true,
|
(gogoproto.stdtime) = true,
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.moretags) = "json:\"commits_end_time\" yaml:\"commits_end_time\""
|
(gogoproto.moretags) = "json:\"commits_end_time\" yaml:\"commits_end_time\""
|
||||||
];
|
];
|
||||||
|
|
||||||
// Timestamp at which the reveals phase concluded
|
// Timestamp at which the reveals phase concluded
|
||||||
google.protobuf.Timestamp reveals_end_time = 6 [
|
google.protobuf.Timestamp reveals_end_time = 7 [
|
||||||
(gogoproto.stdtime) = true,
|
(gogoproto.stdtime) = true,
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.moretags) = "json:\"reveals_end_time\" yaml:\"reveals_end_time\""
|
(gogoproto.moretags) = "json:\"reveals_end_time\" yaml:\"reveals_end_time\""
|
||||||
@ -80,35 +48,58 @@ message Auction {
|
|||||||
|
|
||||||
// Commit and reveal fees must both be paid when committing a bid
|
// Commit and reveal fees must both be paid when committing a bid
|
||||||
// Reveal fee is returned only if the bid is revealed
|
// Reveal fee is returned only if the bid is revealed
|
||||||
cosmos.base.v1beta1.Coin commit_fee = 7 [
|
cosmos.base.v1beta1.Coin commit_fee = 8 [
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.moretags) = "json:\"commit_fee\" yaml:\"commit_fee\""
|
(gogoproto.moretags) = "json:\"commit_fee\" yaml:\"commit_fee\""
|
||||||
];
|
];
|
||||||
cosmos.base.v1beta1.Coin reveal_fee = 8 [
|
cosmos.base.v1beta1.Coin reveal_fee = 9 [
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.moretags) = "json:\"reveal_fee\" yaml:\"reveal_fee\""
|
(gogoproto.moretags) = "json:\"reveal_fee\" yaml:\"reveal_fee\""
|
||||||
];
|
];
|
||||||
|
|
||||||
// Minimum acceptable bid amount for a valid commit
|
// Minimum acceptable bid amount for a valid commit
|
||||||
cosmos.base.v1beta1.Coin minimum_bid = 9 [
|
// Only applicable in vickrey auctions
|
||||||
|
cosmos.base.v1beta1.Coin minimum_bid = 10 [
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.moretags) = "json:\"minimum_bid\" yaml:\"minimum_bid\""
|
(gogoproto.moretags) = "json:\"minimum_bid\" yaml:\"minimum_bid\""
|
||||||
];
|
];
|
||||||
|
|
||||||
// Address of the winner
|
// Addresses of the winners
|
||||||
string winner_address = 10;
|
// (single winner for vickrey auction)
|
||||||
|
// (multiple winners for provider auctions)
|
||||||
|
repeated string winner_addresses = 11;
|
||||||
|
|
||||||
// Winning bid, i.e., the highest bid
|
// Winning bids, i.e. the best bids
|
||||||
cosmos.base.v1beta1.Coin winning_bid = 11 [
|
repeated cosmos.base.v1beta1.Coin winning_bids = 12 [
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.moretags) = "json:\"winning_bid\" yaml:\"winning_bid\""
|
(gogoproto.moretags) = "json:\"winning_bids\" yaml:\"winning_bids\""
|
||||||
];
|
];
|
||||||
|
|
||||||
// Amount the winner pays, i.e. the second highest auction
|
// Auction winning price
|
||||||
cosmos.base.v1beta1.Coin winning_price = 12 [
|
// vickrey auction: second highest bid, paid by the winner
|
||||||
|
// provider auction: higest bid amongst winning_bids, paid by auction creator
|
||||||
|
// to each winner
|
||||||
|
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
|
||||||
|
// Only applicable in provider auctions
|
||||||
|
cosmos.base.v1beta1.Coin max_price = 14 [
|
||||||
|
(gogoproto.nullable) = false,
|
||||||
|
(gogoproto.moretags) = "json:\"max_price\" yaml:\"max_price\""
|
||||||
|
];
|
||||||
|
|
||||||
|
// Number of desired providers (num of auction winners)
|
||||||
|
// Only applicable in provider auctions
|
||||||
|
int32 num_providers = 15;
|
||||||
|
|
||||||
|
// Whether funds have been released to providers
|
||||||
|
// Only applicable in provider auctions
|
||||||
|
bool funds_released = 16
|
||||||
|
[ (gogoproto.moretags) =
|
||||||
|
"json:\"funds_released\" yaml:\"funds_released\"" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Auctions represent all the auctions in the module
|
// Auctions represent all the auctions in the module
|
||||||
|
@ -34,6 +34,11 @@ service Msg {
|
|||||||
// UpdateParams defines an operation for updating the x/staking module
|
// UpdateParams defines an operation for updating the x/staking module
|
||||||
// parameters.
|
// parameters.
|
||||||
rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse);
|
rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse);
|
||||||
|
|
||||||
|
// ReleaseFunds is the command for paying the winners of provider auctions
|
||||||
|
rpc ReleaseFunds(MsgReleaseFunds) returns (MsgReleaseFundsResponse) {
|
||||||
|
option (google.api.http).post = "/cerc/auction/v1/release_funds";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// MsgCreateAuction defines a create auction message
|
// MsgCreateAuction defines a create auction message
|
||||||
@ -41,41 +46,56 @@ message MsgCreateAuction {
|
|||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
option (cosmos.msg.v1.signer) = "signer";
|
option (cosmos.msg.v1.signer) = "signer";
|
||||||
|
|
||||||
|
// Address of the signer
|
||||||
|
string signer = 1
|
||||||
|
[ (gogoproto.moretags) = "json:\"signer\" yaml:\"signer\"" ];
|
||||||
|
|
||||||
|
// Auction kind (vickrey | provider)
|
||||||
|
string kind = 2 [ (gogoproto.moretags) = "json:\"kind\" yaml:\"kind\"" ];
|
||||||
|
|
||||||
// Duration of the commits phase in seconds
|
// Duration of the commits phase in seconds
|
||||||
google.protobuf.Duration commits_duration = 1 [
|
google.protobuf.Duration commits_duration = 3 [
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.stdduration) = true,
|
(gogoproto.stdduration) = true,
|
||||||
(gogoproto.moretags) = "json:\"commits_duration\" yaml:\"commits_duration\""
|
(gogoproto.moretags) = "json:\"commits_duration\" yaml:\"commits_duration\""
|
||||||
];
|
];
|
||||||
|
|
||||||
// Duration of the reveals phase in seconds
|
// Duration of the reveals phase in seconds
|
||||||
google.protobuf.Duration reveals_duration = 2 [
|
google.protobuf.Duration reveals_duration = 4 [
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.stdduration) = true,
|
(gogoproto.stdduration) = true,
|
||||||
(gogoproto.moretags) = "json:\"reveals_duration\" yaml:\"reveals_duration\""
|
(gogoproto.moretags) = "json:\"reveals_duration\" yaml:\"reveals_duration\""
|
||||||
];
|
];
|
||||||
|
|
||||||
// Commit fees
|
// Commit fees
|
||||||
cosmos.base.v1beta1.Coin commit_fee = 3 [
|
cosmos.base.v1beta1.Coin commit_fee = 5 [
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.moretags) = "json:\"commit_fee\" yaml:\"commit_fee\""
|
(gogoproto.moretags) = "json:\"commit_fee\" yaml:\"commit_fee\""
|
||||||
];
|
];
|
||||||
|
|
||||||
// Reveal fees
|
// Reveal fees
|
||||||
cosmos.base.v1beta1.Coin reveal_fee = 4 [
|
cosmos.base.v1beta1.Coin reveal_fee = 6 [
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.moretags) = "json:\"reveal_fee\" yaml:\"reveal_fee\""
|
(gogoproto.moretags) = "json:\"reveal_fee\" yaml:\"reveal_fee\""
|
||||||
];
|
];
|
||||||
|
|
||||||
// Minimum acceptable bid amount
|
// Minimum acceptable bid amount
|
||||||
cosmos.base.v1beta1.Coin minimum_bid = 5 [
|
// Only applicable in vickrey auctions
|
||||||
|
cosmos.base.v1beta1.Coin minimum_bid = 7 [
|
||||||
(gogoproto.nullable) = false,
|
(gogoproto.nullable) = false,
|
||||||
(gogoproto.moretags) = "json:\"minimum_bid\" yaml:\"minimum_bid\""
|
(gogoproto.moretags) = "json:\"minimum_bid\" yaml:\"minimum_bid\""
|
||||||
];
|
];
|
||||||
|
|
||||||
// Address of the signer
|
// Maximum acceptable bid amount
|
||||||
string signer = 6
|
// Only applicable in provider auctions
|
||||||
[ (gogoproto.moretags) = "json:\"signer\" yaml:\"signer\"" ];
|
cosmos.base.v1beta1.Coin max_price = 8 [
|
||||||
|
(gogoproto.nullable) = false,
|
||||||
|
(gogoproto.moretags) = "json:\"max_price\" yaml:\"max_price\""
|
||||||
|
];
|
||||||
|
|
||||||
|
// Number of desired providers (num of auction winners)
|
||||||
|
// Only applicable in provider auctions
|
||||||
|
int32 num_providers = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
// MsgCreateAuctionResponse returns the details of the created auction
|
// MsgCreateAuctionResponse returns the details of the created auction
|
||||||
@ -157,3 +177,27 @@ message MsgUpdateParams {
|
|||||||
// MsgUpdateParamsResponse defines the response structure for executing a
|
// MsgUpdateParamsResponse defines the response structure for executing a
|
||||||
// MsgUpdateParams message.
|
// MsgUpdateParams message.
|
||||||
message MsgUpdateParamsResponse {};
|
message MsgUpdateParamsResponse {};
|
||||||
|
|
||||||
|
// ReleaseFunds defines the message to pay the winners of provider auctions
|
||||||
|
message MsgReleaseFunds {
|
||||||
|
option (gogoproto.goproto_getters) = false;
|
||||||
|
option (cosmos.msg.v1.signer) = "signer";
|
||||||
|
|
||||||
|
// Auction id
|
||||||
|
string auction_id = 1
|
||||||
|
[ (gogoproto.moretags) = "json:\"auction_id\" yaml:\"auction_id\"" ];
|
||||||
|
|
||||||
|
// Address of the signer
|
||||||
|
string signer = 2
|
||||||
|
[ (gogoproto.moretags) = "json:\"signer\" yaml:\"signer\"" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
// MsgReleaseFundsResponse returns the state of the auction after releasing the
|
||||||
|
// funds
|
||||||
|
message MsgReleaseFundsResponse {
|
||||||
|
option (gogoproto.goproto_getters) = false;
|
||||||
|
|
||||||
|
// Auction details
|
||||||
|
Auction auction = 1
|
||||||
|
[ (gogoproto.moretags) = "json:\"auction\" yaml:\"auction\"" ];
|
||||||
|
}
|
||||||
|
@ -6,11 +6,12 @@ MONIKER=${MONIKER:-"localtestnet"}
|
|||||||
KEYRING=${KEYRING:-"test"}
|
KEYRING=${KEYRING:-"test"}
|
||||||
DENOM=${DENOM:-"alnt"}
|
DENOM=${DENOM:-"alnt"}
|
||||||
STAKING_AMOUNT=${STAKING_AMOUNT:-"1000000000000000"}
|
STAKING_AMOUNT=${STAKING_AMOUNT:-"1000000000000000"}
|
||||||
|
MIN_GAS_PRICE=${MIN_GAS_PRICE:-"0.001"}
|
||||||
LOGLEVEL=${LOGLEVEL:-"info"}
|
LOGLEVEL=${LOGLEVEL:-"info"}
|
||||||
|
|
||||||
input_genesis_file=${GENESIS_FILE}
|
input_genesis_file=${GENESIS_FILE}
|
||||||
|
|
||||||
if [ "$1" == "clean" ] || [ ! -d "$HOME/.laconicd/data/blockstore.db" ]; then
|
if [ "$1" == "clean" ] || [ ! -d "$HOME/.laconicd/data" ]; then
|
||||||
# validate dependencies are installed
|
# validate dependencies are installed
|
||||||
command -v jq > /dev/null 2>&1 || {
|
command -v jq > /dev/null 2>&1 || {
|
||||||
echo >&2 "jq not installed. More info: https://stedolan.github.io/jq/download/"
|
echo >&2 "jq not installed. More info: https://stedolan.github.io/jq/download/"
|
||||||
@ -30,7 +31,7 @@ if [ "$1" == "clean" ] || [ ! -d "$HOME/.laconicd/data/blockstore.db" ]; then
|
|||||||
# if $KEY exists it should be deleted
|
# if $KEY exists it should be deleted
|
||||||
laconicd keys add $KEY --keyring-backend $KEYRING
|
laconicd keys add $KEY --keyring-backend $KEYRING
|
||||||
|
|
||||||
# Set moniker and chain-id for Ethermint (Moniker can be anything, chain-id must be an integer)
|
# Set moniker and chain-id
|
||||||
laconicd init $MONIKER --chain-id $CHAINID --default-denom $DENOM
|
laconicd init $MONIKER --chain-id $CHAINID --default-denom $DENOM
|
||||||
|
|
||||||
if [[ -f ${input_genesis_file} ]]; then
|
if [[ -f ${input_genesis_file} ]]; then
|
||||||
@ -135,7 +136,7 @@ fi
|
|||||||
laconicd start \
|
laconicd start \
|
||||||
--pruning=nothing \
|
--pruning=nothing \
|
||||||
--log_level $LOGLEVEL \
|
--log_level $LOGLEVEL \
|
||||||
--minimum-gas-prices=1$DENOM \
|
--minimum-gas-prices=$MIN_GAS_PRICE$DENOM \
|
||||||
--api.enable \
|
--api.enable \
|
||||||
--rpc.laddr="tcp://0.0.0.0:26657" \
|
--rpc.laddr="tcp://0.0.0.0:26657" \
|
||||||
--gql-server --gql-playground
|
--gql-server --gql-playground
|
||||||
|
@ -103,10 +103,13 @@ func (ets *E2ETestSuite) createAuctionAndBid(createAuction, createBid bool) stri
|
|||||||
|
|
||||||
if createAuction {
|
if createAuction {
|
||||||
auctionArgs := []string{
|
auctionArgs := []string{
|
||||||
|
types.AuctionKindVickrey,
|
||||||
sampleCommitTime, sampleRevealTime,
|
sampleCommitTime, sampleRevealTime,
|
||||||
fmt.Sprintf("10%s", ets.cfg.BondDenom),
|
fmt.Sprintf("10%s", ets.cfg.BondDenom),
|
||||||
fmt.Sprintf("10%s", ets.cfg.BondDenom),
|
fmt.Sprintf("10%s", ets.cfg.BondDenom),
|
||||||
fmt.Sprintf("100%s", ets.cfg.BondDenom),
|
fmt.Sprintf("100%s", ets.cfg.BondDenom),
|
||||||
|
fmt.Sprintf("0%s", ets.cfg.BondDenom),
|
||||||
|
"0",
|
||||||
}
|
}
|
||||||
|
|
||||||
resp, err := ets.executeTx(cli.GetCmdCreateAuction(), auctionArgs, ownerAccount)
|
resp, err := ets.executeTx(cli.GetCmdCreateAuction(), auctionArgs, ownerAccount)
|
||||||
|
@ -46,10 +46,13 @@ func (ets *E2ETestSuite) TestTxCommitBid() {
|
|||||||
ets.Run(fmt.Sprintf("Case %s", test.msg), func() {
|
ets.Run(fmt.Sprintf("Case %s", test.msg), func() {
|
||||||
if test.createAuction {
|
if test.createAuction {
|
||||||
auctionArgs := []string{
|
auctionArgs := []string{
|
||||||
|
auctiontypes.AuctionKindVickrey,
|
||||||
sampleCommitTime, sampleRevealTime,
|
sampleCommitTime, sampleRevealTime,
|
||||||
fmt.Sprintf("10%s", ets.cfg.BondDenom),
|
fmt.Sprintf("10%s", ets.cfg.BondDenom),
|
||||||
fmt.Sprintf("10%s", ets.cfg.BondDenom),
|
fmt.Sprintf("10%s", ets.cfg.BondDenom),
|
||||||
fmt.Sprintf("100%s", ets.cfg.BondDenom),
|
fmt.Sprintf("100%s", ets.cfg.BondDenom),
|
||||||
|
fmt.Sprintf("0%s", ets.cfg.BondDenom),
|
||||||
|
"0",
|
||||||
}
|
}
|
||||||
|
|
||||||
resp, err := ets.executeTx(cli.GetCmdCreateAuction(), auctionArgs, ownerAccount)
|
resp, err := ets.executeTx(cli.GetCmdCreateAuction(), auctionArgs, ownerAccount)
|
||||||
|
@ -3,9 +3,12 @@ package keeper_test
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"time"
|
||||||
|
|
||||||
"cosmossdk.io/math"
|
"cosmossdk.io/math"
|
||||||
|
sdkmath "cosmossdk.io/math"
|
||||||
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
|
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
|
||||||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
|
|
||||||
integrationTest "git.vdb.to/cerc-io/laconicd/tests/integration"
|
integrationTest "git.vdb.to/cerc-io/laconicd/tests/integration"
|
||||||
types "git.vdb.to/cerc-io/laconicd/x/auction"
|
types "git.vdb.to/cerc-io/laconicd/x/auction"
|
||||||
@ -284,6 +287,7 @@ func (kts *KeeperTestSuite) TestGrpcGetAuctionsByOwner() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (kts *KeeperTestSuite) TestGrpcQueryBalance() {
|
func (kts *KeeperTestSuite) TestGrpcQueryBalance() {
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
msg string
|
msg string
|
||||||
req *types.QueryGetAuctionModuleBalanceRequest
|
req *types.QueryGetAuctionModuleBalanceRequest
|
||||||
@ -326,12 +330,18 @@ func (kts *KeeperTestSuite) createAuctionAndCommitBid(commitBid bool) (*types.Au
|
|||||||
// Create funded account(s)
|
// Create funded account(s)
|
||||||
accounts := simtestutil.AddTestAddrs(kts.BankKeeper, integrationTest.BondDenomProvider{}, ctx, accCount, math.NewInt(1000000))
|
accounts := simtestutil.AddTestAddrs(kts.BankKeeper, integrationTest.BondDenomProvider{}, ctx, accCount, math.NewInt(1000000))
|
||||||
|
|
||||||
params, err := k.GetParams(ctx)
|
auction, err := k.CreateAuction(
|
||||||
if err != nil {
|
ctx,
|
||||||
return nil, nil, err
|
types.MsgCreateAuction{
|
||||||
}
|
Kind: types.AuctionKindVickrey,
|
||||||
|
Signer: accounts[0].String(),
|
||||||
auction, err := k.CreateAuction(ctx, types.NewMsgCreateAuction(*params, accounts[0]))
|
CommitsDuration: 5 * time.Minute,
|
||||||
|
RevealsDuration: 5 * time.Minute,
|
||||||
|
CommitFee: sdk.NewCoin(sdk.DefaultBondDenom, sdkmath.NewInt(1000)),
|
||||||
|
RevealFee: sdk.NewCoin(sdk.DefaultBondDenom, sdkmath.NewInt(1000)),
|
||||||
|
MinimumBid: sdk.NewCoin(sdk.DefaultBondDenom, sdkmath.NewInt(1000000)),
|
||||||
|
},
|
||||||
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,6 @@ import (
|
|||||||
_ "github.com/cosmos/gogoproto/gogoproto"
|
_ "github.com/cosmos/gogoproto/gogoproto"
|
||||||
proto "github.com/cosmos/gogoproto/proto"
|
proto "github.com/cosmos/gogoproto/proto"
|
||||||
github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types"
|
github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types"
|
||||||
_ "google.golang.org/protobuf/types/known/durationpb"
|
|
||||||
_ "google.golang.org/protobuf/types/known/timestamppb"
|
_ "google.golang.org/protobuf/types/known/timestamppb"
|
||||||
io "io"
|
io "io"
|
||||||
math "math"
|
math "math"
|
||||||
@ -31,19 +30,10 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
|
|||||||
|
|
||||||
// Params defines the auction module parameters
|
// Params defines the auction module parameters
|
||||||
type Params struct {
|
type Params struct {
|
||||||
// Duration of the commits phase in seconds
|
|
||||||
CommitsDuration time.Duration `protobuf:"bytes,1,opt,name=commits_duration,json=commitsDuration,proto3,stdduration" json:"commits_duration" json:"commits_duration" yaml:"commits_duration"`
|
|
||||||
// Duration of the reveals phase in seconds
|
|
||||||
RevealsDuration time.Duration `protobuf:"bytes,2,opt,name=reveals_duration,json=revealsDuration,proto3,stdduration" json:"reveals_duration" json:"reveals_duration" yaml:"reveals_duration"`
|
|
||||||
// Commit fees
|
|
||||||
CommitFee types.Coin `protobuf:"bytes,3,opt,name=commit_fee,json=commitFee,proto3" json:"commit_fee" json:"commit_fee" yaml:"commit_fee"`
|
|
||||||
// Reveal fees
|
|
||||||
RevealFee types.Coin `protobuf:"bytes,4,opt,name=reveal_fee,json=revealFee,proto3" json:"reveal_fee" json:"reveal_fee" yaml:"reveal_fee"`
|
|
||||||
// Minimum acceptable bid amount
|
|
||||||
MinimumBid types.Coin `protobuf:"bytes,5,opt,name=minimum_bid,json=minimumBid,proto3" json:"minimum_bid" json:"minimum_bid" yaml:"minimum_bid"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Params) Reset() { *m = Params{} }
|
func (m *Params) Reset() { *m = Params{} }
|
||||||
|
func (m *Params) String() string { return proto.CompactTextString(m) }
|
||||||
func (*Params) ProtoMessage() {}
|
func (*Params) ProtoMessage() {}
|
||||||
func (*Params) Descriptor() ([]byte, []int) {
|
func (*Params) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_34b162eb5b365523, []int{0}
|
return fileDescriptor_34b162eb5b365523, []int{0}
|
||||||
@ -75,65 +65,47 @@ func (m *Params) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_Params proto.InternalMessageInfo
|
var xxx_messageInfo_Params proto.InternalMessageInfo
|
||||||
|
|
||||||
func (m *Params) GetCommitsDuration() time.Duration {
|
|
||||||
if m != nil {
|
|
||||||
return m.CommitsDuration
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Params) GetRevealsDuration() time.Duration {
|
|
||||||
if m != nil {
|
|
||||||
return m.RevealsDuration
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Params) GetCommitFee() types.Coin {
|
|
||||||
if m != nil {
|
|
||||||
return m.CommitFee
|
|
||||||
}
|
|
||||||
return types.Coin{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Params) GetRevealFee() types.Coin {
|
|
||||||
if m != nil {
|
|
||||||
return m.RevealFee
|
|
||||||
}
|
|
||||||
return types.Coin{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Params) GetMinimumBid() types.Coin {
|
|
||||||
if m != nil {
|
|
||||||
return m.MinimumBid
|
|
||||||
}
|
|
||||||
return types.Coin{}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Auction represents a sealed-bid on-chain auction
|
// Auction represents a sealed-bid on-chain auction
|
||||||
type Auction struct {
|
type Auction struct {
|
||||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||||
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
|
// Auction kind (vickrey | provider)
|
||||||
|
Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty" json:"kind" yaml:"kind"`
|
||||||
|
Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
|
||||||
// Address of the creator of the auction
|
// Address of the creator of the auction
|
||||||
OwnerAddress string `protobuf:"bytes,3,opt,name=owner_address,json=ownerAddress,proto3" json:"owner_address,omitempty"`
|
OwnerAddress string `protobuf:"bytes,4,opt,name=owner_address,json=ownerAddress,proto3" json:"owner_address,omitempty"`
|
||||||
// Timestamp at which the auction was created
|
// Timestamp at which the auction was created
|
||||||
CreateTime time.Time `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3,stdtime" json:"create_time" json:"create_time" yaml:"create_time"`
|
CreateTime time.Time `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3,stdtime" json:"create_time" json:"create_time" yaml:"create_time"`
|
||||||
// Timestamp at which the commits phase concluded
|
// Timestamp at which the commits phase concluded
|
||||||
CommitsEndTime time.Time `protobuf:"bytes,5,opt,name=commits_end_time,json=commitsEndTime,proto3,stdtime" json:"commits_end_time" json:"commits_end_time" yaml:"commits_end_time"`
|
CommitsEndTime time.Time `protobuf:"bytes,6,opt,name=commits_end_time,json=commitsEndTime,proto3,stdtime" json:"commits_end_time" json:"commits_end_time" yaml:"commits_end_time"`
|
||||||
// Timestamp at which the reveals phase concluded
|
// Timestamp at which the reveals phase concluded
|
||||||
RevealsEndTime time.Time `protobuf:"bytes,6,opt,name=reveals_end_time,json=revealsEndTime,proto3,stdtime" json:"reveals_end_time" json:"reveals_end_time" yaml:"reveals_end_time"`
|
RevealsEndTime time.Time `protobuf:"bytes,7,opt,name=reveals_end_time,json=revealsEndTime,proto3,stdtime" json:"reveals_end_time" json:"reveals_end_time" yaml:"reveals_end_time"`
|
||||||
// Commit and reveal fees must both be paid when committing a bid
|
// Commit and reveal fees must both be paid when committing a bid
|
||||||
// Reveal fee is returned only if the bid is revealed
|
// Reveal fee is returned only if the bid is revealed
|
||||||
CommitFee types.Coin `protobuf:"bytes,7,opt,name=commit_fee,json=commitFee,proto3" json:"commit_fee" json:"commit_fee" yaml:"commit_fee"`
|
CommitFee types.Coin `protobuf:"bytes,8,opt,name=commit_fee,json=commitFee,proto3" json:"commit_fee" json:"commit_fee" yaml:"commit_fee"`
|
||||||
RevealFee types.Coin `protobuf:"bytes,8,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,9,opt,name=minimum_bid,json=minimumBid,proto3" json:"minimum_bid" json:"minimum_bid" yaml:"minimum_bid"`
|
// Only applicable in vickrey auctions
|
||||||
// Address of the winner
|
MinimumBid types.Coin `protobuf:"bytes,10,opt,name=minimum_bid,json=minimumBid,proto3" json:"minimum_bid" json:"minimum_bid" yaml:"minimum_bid"`
|
||||||
WinnerAddress string `protobuf:"bytes,10,opt,name=winner_address,json=winnerAddress,proto3" json:"winner_address,omitempty"`
|
// Addresses of the winners
|
||||||
// Winning bid, i.e., the highest bid
|
// (single winner for vickrey auction)
|
||||||
WinningBid types.Coin `protobuf:"bytes,11,opt,name=winning_bid,json=winningBid,proto3" json:"winning_bid" json:"winning_bid" yaml:"winning_bid"`
|
// (multiple winners for provider auctions)
|
||||||
// Amount the winner pays, i.e. the second highest auction
|
WinnerAddresses []string `protobuf:"bytes,11,rep,name=winner_addresses,json=winnerAddresses,proto3" json:"winner_addresses,omitempty"`
|
||||||
WinningPrice types.Coin `protobuf:"bytes,12,opt,name=winning_price,json=winningPrice,proto3" json:"winning_price" json:"winning_price" yaml:"winning_price"`
|
// 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"`
|
||||||
|
// Auction winning price
|
||||||
|
// vickrey auction: second highest bid, paid by the winner
|
||||||
|
// provider auction: higest bid amongst winning_bids, paid by auction creator
|
||||||
|
// to each winner
|
||||||
|
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
|
||||||
|
// Only applicable in provider auctions
|
||||||
|
MaxPrice types.Coin `protobuf:"bytes,14,opt,name=max_price,json=maxPrice,proto3" json:"max_price" json:"max_price" yaml:"max_price"`
|
||||||
|
// Number of desired providers (num of auction winners)
|
||||||
|
// Only applicable in provider auctions
|
||||||
|
NumProviders int32 `protobuf:"varint,15,opt,name=num_providers,json=numProviders,proto3" json:"num_providers,omitempty"`
|
||||||
|
// Whether funds have been released to providers
|
||||||
|
// Only applicable in provider auctions
|
||||||
|
FundsReleased bool `protobuf:"varint,16,opt,name=funds_released,json=fundsReleased,proto3" json:"funds_released,omitempty" json:"funds_released" yaml:"funds_released"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Auction) Reset() { *m = Auction{} }
|
func (m *Auction) Reset() { *m = Auction{} }
|
||||||
@ -263,57 +235,60 @@ func init() {
|
|||||||
func init() { proto.RegisterFile("cerc/auction/v1/auction.proto", fileDescriptor_34b162eb5b365523) }
|
func init() { proto.RegisterFile("cerc/auction/v1/auction.proto", fileDescriptor_34b162eb5b365523) }
|
||||||
|
|
||||||
var fileDescriptor_34b162eb5b365523 = []byte{
|
var fileDescriptor_34b162eb5b365523 = []byte{
|
||||||
// 798 bytes of a gzipped FileDescriptorProto
|
// 846 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x4d, 0x4f, 0xdb, 0x4a,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x96, 0xcd, 0x6e, 0xeb, 0x44,
|
||||||
0x14, 0x8d, 0x49, 0x08, 0xf1, 0x98, 0xc0, 0x93, 0xf5, 0xf4, 0x94, 0x17, 0x89, 0x04, 0x05, 0x21,
|
0x14, 0xc7, 0xe3, 0x7e, 0xe4, 0x26, 0x27, 0x4d, 0x5a, 0x59, 0x08, 0x4c, 0xd1, 0x8d, 0x43, 0xaa,
|
||||||
0xf1, 0xf4, 0x84, 0xad, 0xd0, 0x5d, 0xba, 0xa8, 0x48, 0x3f, 0xd4, 0x4a, 0x5d, 0x20, 0xab, 0xab,
|
0x8a, 0x54, 0x57, 0xd7, 0x56, 0x60, 0x57, 0x16, 0xa8, 0x46, 0x20, 0x90, 0x58, 0x54, 0x16, 0x62,
|
||||||
0x6e, 0xa2, 0xb1, 0x67, 0x08, 0x53, 0xc5, 0x1e, 0xea, 0x71, 0x42, 0xbb, 0xec, 0xae, 0x4b, 0xd4,
|
0xc1, 0xc6, 0x1a, 0x7b, 0xa6, 0xe9, 0x40, 0x66, 0xa6, 0x78, 0xec, 0xdc, 0xb2, 0x64, 0xc7, 0xf2,
|
||||||
0x15, 0xbb, 0xf6, 0xe7, 0xb0, 0x2b, 0xcb, 0xae, 0x68, 0x05, 0xff, 0xa0, 0xbf, 0xa0, 0x9a, 0xaf,
|
0xbe, 0x01, 0xec, 0x79, 0x91, 0xbb, 0xbc, 0x4b, 0x56, 0x01, 0xb5, 0x6f, 0xd0, 0x27, 0x40, 0x9e,
|
||||||
0x64, 0x6c, 0xa8, 0xd2, 0x2c, 0x60, 0xe7, 0x39, 0x33, 0xf7, 0x9e, 0x73, 0x2f, 0xf7, 0xdc, 0x00,
|
0x8f, 0xd4, 0x31, 0x1f, 0xa1, 0x57, 0xea, 0x6e, 0xce, 0x7f, 0xe6, 0xcc, 0xef, 0x9c, 0xc9, 0xf1,
|
||||||
0x36, 0x22, 0x9c, 0x46, 0x3e, 0x1c, 0x47, 0x19, 0xa1, 0x89, 0x3f, 0xe9, 0xea, 0x4f, 0xef, 0x38,
|
0x5f, 0x81, 0xa7, 0x19, 0xc9, 0xb3, 0x10, 0x95, 0x59, 0x41, 0x05, 0x0f, 0x17, 0x53, 0xbb, 0x0c,
|
||||||
0xa5, 0x19, 0x75, 0xd7, 0xf9, 0xb5, 0xa7, 0xb1, 0x49, 0xb7, 0xf9, 0xf7, 0x90, 0x0e, 0xa9, 0xb8,
|
0xae, 0x72, 0x51, 0x08, 0x77, 0xbf, 0xda, 0x0e, 0xac, 0xb6, 0x98, 0x1e, 0xbe, 0x35, 0x13, 0x33,
|
||||||
0xf3, 0xf9, 0x97, 0x7c, 0xd6, 0x6c, 0x0d, 0x29, 0x1d, 0x8e, 0xb0, 0x2f, 0x4e, 0xe1, 0xf8, 0xd0,
|
0xa1, 0xf6, 0xc2, 0x6a, 0xa5, 0x8f, 0x1d, 0xfa, 0x33, 0x21, 0x66, 0x73, 0x12, 0xaa, 0x28, 0x2d,
|
||||||
0x47, 0xe3, 0x14, 0xce, 0xd2, 0x34, 0xdb, 0xc5, 0xfb, 0x8c, 0xc4, 0x98, 0x65, 0x30, 0x3e, 0xd6,
|
0x2f, 0xc2, 0x82, 0x32, 0x22, 0x0b, 0xc4, 0xae, 0xcc, 0x81, 0x61, 0x26, 0x24, 0x13, 0x32, 0x4c,
|
||||||
0x09, 0x22, 0xca, 0x62, 0xca, 0xfc, 0x10, 0x32, 0xec, 0x4f, 0xba, 0x21, 0xce, 0x60, 0xd7, 0x8f,
|
0x91, 0x24, 0xe1, 0x62, 0x9a, 0x92, 0x02, 0x4d, 0xc3, 0x4c, 0x50, 0xc3, 0x19, 0x77, 0xa0, 0x7d,
|
||||||
0x28, 0x51, 0x09, 0x3a, 0x5f, 0x2b, 0xa0, 0x7a, 0x00, 0x53, 0x18, 0x33, 0xf7, 0x83, 0x05, 0xfe,
|
0x8e, 0x72, 0xc4, 0xe4, 0xf8, 0x37, 0x80, 0x27, 0x67, 0x9a, 0xe7, 0x0e, 0x60, 0x8b, 0x62, 0xcf,
|
||||||
0x8a, 0x68, 0x1c, 0x93, 0x8c, 0x0d, 0x34, 0x4d, 0xc3, 0xda, 0xb4, 0x76, 0x9c, 0xbd, 0x7f, 0x3d,
|
0x19, 0x39, 0x93, 0x6e, 0xbc, 0x45, 0xb1, 0x1b, 0xc2, 0xce, 0xf7, 0x94, 0x63, 0x6f, 0xab, 0x52,
|
||||||
0xc9, 0xe3, 0x69, 0x1e, 0xef, 0x89, 0x7a, 0xd0, 0x7f, 0x78, 0x7e, 0xd9, 0x2e, 0xfd, 0xbc, 0x6c,
|
0xa2, 0xf7, 0xee, 0x96, 0xfe, 0x3b, 0xdf, 0x49, 0xc1, 0x4f, 0xc7, 0x95, 0x3a, 0x1e, 0xfd, 0x88,
|
||||||
0xfb, 0x6f, 0x18, 0x4d, 0x7a, 0x9d, 0x62, 0x82, 0xce, 0xe6, 0x7b, 0x18, 0x8f, 0x6e, 0xc1, 0xcf,
|
0xd8, 0xdc, 0xac, 0x63, 0x75, 0xd0, 0x7d, 0x1b, 0xda, 0xb2, 0x40, 0x45, 0x29, 0xbd, 0x6d, 0x75,
|
||||||
0xbe, 0xb7, 0xad, 0x60, 0x5d, 0xc1, 0x3a, 0x9b, 0xd0, 0x90, 0xe2, 0x09, 0x86, 0x23, 0x43, 0xc3,
|
0x89, 0x89, 0xdc, 0x23, 0xe8, 0x8b, 0x17, 0x9c, 0xe4, 0x09, 0xc2, 0x38, 0x27, 0x52, 0x7a, 0x3b,
|
||||||
0xd2, 0x82, 0x1a, 0x8a, 0x09, 0xb4, 0x86, 0x1b, 0xb8, 0xd4, 0xa0, 0xe0, 0xa9, 0x06, 0x0c, 0x80,
|
0x6a, 0x7b, 0x4f, 0x89, 0x67, 0x5a, 0x73, 0x39, 0xf4, 0xb2, 0x9c, 0xa0, 0x82, 0x24, 0x55, 0x37,
|
||||||
0x94, 0x35, 0x38, 0xc4, 0xb8, 0x51, 0x56, 0xe4, 0xb2, 0x8f, 0x1e, 0xef, 0xa3, 0xa7, 0xfa, 0xe8,
|
0xde, 0xee, 0xc8, 0x99, 0xf4, 0x3e, 0x3c, 0x0c, 0x74, 0xab, 0x81, 0x6d, 0x35, 0xf8, 0xda, 0xb6,
|
||||||
0x3d, 0xa6, 0x24, 0xe9, 0xff, 0xaf, 0xc8, 0xb7, 0xcc, 0x06, 0xf0, 0xd0, 0x7c, 0xe9, 0x02, 0x09,
|
0x1a, 0x4d, 0x5f, 0x2d, 0xfd, 0xd6, 0xdd, 0xd2, 0x3f, 0xd6, 0x45, 0xd5, 0x92, 0x6d, 0x6d, 0x75,
|
||||||
0x6c, 0x79, 0x78, 0x86, 0x31, 0xa7, 0x91, 0xcc, 0x82, 0xa6, 0xb2, 0x20, 0xcd, 0x2c, 0x34, 0x5f,
|
0xe9, 0xe5, 0x1f, 0xbe, 0x13, 0x83, 0x56, 0xaa, 0x3b, 0xdc, 0x9f, 0x1c, 0x38, 0xc8, 0x04, 0x63,
|
||||||
0x9d, 0xa2, 0x91, 0x07, 0x4e, 0x43, 0x80, 0x13, 0x93, 0x84, 0xc4, 0xe3, 0x78, 0x10, 0x12, 0xd4,
|
0xb4, 0x90, 0x09, 0xe1, 0x58, 0x53, 0xdb, 0x1b, 0xa9, 0x1f, 0x1b, 0x6a, 0x68, 0xa8, 0x8d, 0x1b,
|
||||||
0x58, 0x9e, 0xc7, 0xb3, 0xab, 0x78, 0xb6, 0x25, 0x8f, 0x11, 0xab, 0x89, 0x4c, 0x28, 0x00, 0xea,
|
0x56, 0xe8, 0xa6, 0xae, 0xf8, 0x03, 0x23, 0x7f, 0xc6, 0xf1, 0xaa, 0x86, 0x9c, 0x2c, 0x08, 0x9a,
|
||||||
0xd4, 0x27, 0xa8, 0x57, 0x39, 0xfb, 0xd2, 0x2e, 0x75, 0x3e, 0xd5, 0xc0, 0xca, 0xbe, 0x9c, 0x6b,
|
0xd7, 0x6a, 0x78, 0xf2, 0xd0, 0x1a, 0x9a, 0x37, 0xd8, 0x1a, 0xfe, 0xa6, 0xeb, 0x1a, 0x8c, 0x6c,
|
||||||
0x77, 0x0d, 0x2c, 0x11, 0x24, 0x66, 0xc8, 0x0e, 0x96, 0x08, 0x72, 0xff, 0x01, 0x55, 0x96, 0xc1,
|
0x6b, 0x20, 0x00, 0xba, 0xaa, 0xe4, 0x82, 0x10, 0xaf, 0xa3, 0xe0, 0xef, 0x06, 0x7a, 0x80, 0x82,
|
||||||
0x6c, 0xcc, 0xc4, 0xdf, 0xd4, 0x0e, 0xd4, 0xc9, 0xdd, 0x02, 0x75, 0x7a, 0x92, 0xe0, 0x74, 0x00,
|
0x6a, 0x80, 0x02, 0x33, 0x40, 0xc1, 0xa7, 0x82, 0xf2, 0xe8, 0x99, 0x61, 0x1f, 0xd5, 0xfb, 0xaf,
|
||||||
0x11, 0x4a, 0x31, 0x63, 0xa2, 0xeb, 0x76, 0xb0, 0x2a, 0xc0, 0x7d, 0x89, 0xb9, 0x09, 0x70, 0xa2,
|
0x52, 0xd7, 0x3b, 0x57, 0x4a, 0xdc, 0xd5, 0xc1, 0xe7, 0x44, 0x61, 0x34, 0x58, 0x61, 0xba, 0x0f,
|
||||||
0x14, 0xc3, 0x0c, 0x0f, 0xf8, 0x90, 0xab, 0x8e, 0x35, 0x6f, 0x4c, 0xc5, 0x2b, 0xed, 0x80, 0x7e,
|
0xc4, 0xdc, 0xa7, 0xae, 0x37, 0x67, 0x30, 0x3a, 0xa8, 0x30, 0x14, 0x7a, 0x8c, 0x72, 0xca, 0x4a,
|
||||||
0x37, 0x5f, 0x8a, 0x11, 0x3c, 0xfd, 0xd3, 0x18, 0xd0, 0x29, 0x1f, 0x06, 0x20, 0x11, 0x9e, 0x23,
|
0x96, 0xa4, 0x14, 0x7b, 0xb0, 0x89, 0xf3, 0x7c, 0x7d, 0x88, 0x6a, 0xb9, 0x16, 0x54, 0x97, 0x62,
|
||||||
0xe7, 0x07, 0x9c, 0x20, 0xc9, 0xba, 0x3c, 0x97, 0xf5, 0x37, 0x86, 0xd0, 0x19, 0x8a, 0x86, 0x98,
|
0x30, 0x51, 0x44, 0xb1, 0x7b, 0x02, 0x07, 0x2f, 0x28, 0xaf, 0x8d, 0x35, 0x91, 0x5e, 0x6f, 0xb4,
|
||||||
0xe2, 0x82, 0x7f, 0x4d, 0xc1, 0x4f, 0x13, 0x34, 0xd5, 0xa0, 0xc7, 0x76, 0xaa, 0xa1, 0xba, 0xa8,
|
0x3d, 0xe9, 0xc6, 0xfb, 0x5a, 0x3f, 0xb3, 0xb2, 0xcb, 0x60, 0xaf, 0x92, 0x28, 0x9f, 0x55, 0xd7,
|
||||||
0x86, 0x62, 0x86, 0xa2, 0x21, 0x0a, 0x1a, 0x14, 0xac, 0x35, 0xe4, 0xfd, 0xb0, 0x72, 0x3f, 0x7e,
|
0x48, 0x6f, 0x6f, 0xb4, 0xfd, 0xdf, 0x65, 0x85, 0xa6, 0xac, 0x0f, 0x74, 0x59, 0xf5, 0x64, 0x5b,
|
||||||
0xa8, 0xdd, 0x93, 0x1f, 0xec, 0xbb, 0xf3, 0x83, 0xbb, 0x0d, 0xd6, 0x4e, 0x48, 0x62, 0x8e, 0x35,
|
0xd7, 0x9a, 0x16, 0xf7, 0x4c, 0x18, 0x51, 0x2c, 0xdd, 0x1f, 0xa0, 0x6f, 0x77, 0xaf, 0x72, 0x9a,
|
||||||
0x10, 0x63, 0x5d, 0x97, 0xa8, 0x9e, 0x6b, 0x02, 0x1c, 0x0e, 0x90, 0x64, 0x28, 0x14, 0x39, 0x0b,
|
0x11, 0xaf, 0xbf, 0xe9, 0x19, 0xec, 0xb7, 0x74, 0xb2, 0xce, 0x53, 0xd9, 0x4d, 0xa0, 0x16, 0x63,
|
||||||
0x2a, 0x32, 0x62, 0xb5, 0x22, 0x13, 0x0a, 0x80, 0x3a, 0x71, 0x45, 0x6f, 0x41, 0x5d, 0xdf, 0x1d,
|
0xdb, 0xd1, 0x79, 0x15, 0xba, 0x08, 0xba, 0x0c, 0x5d, 0x1b, 0xdc, 0x60, 0x13, 0xee, 0xc4, 0xe0,
|
||||||
0xa7, 0x24, 0xc2, 0x8d, 0xd5, 0x79, 0x64, 0xda, 0x43, 0xff, 0xe5, 0xc9, 0x44, 0x74, 0x91, 0x4e,
|
0xde, 0x37, 0xaf, 0x6e, 0x33, 0x57, 0x6f, 0xbe, 0x12, 0xe2, 0x0e, 0x43, 0xd7, 0x1a, 0x71, 0x04,
|
||||||
0x82, 0xc1, 0xaa, 0x3a, 0x1f, 0xf0, 0x63, 0xaf, 0xf2, 0x91, 0x2f, 0x85, 0x97, 0xa0, 0xa6, 0x76,
|
0x7d, 0x5e, 0xb2, 0xe4, 0x2a, 0x17, 0x0b, 0x8a, 0x49, 0x2e, 0xbd, 0xfd, 0x91, 0x33, 0xd9, 0x8d,
|
||||||
0x02, 0x73, 0x7b, 0xa0, 0xa6, 0x7e, 0xf7, 0x58, 0xc3, 0xda, 0x2c, 0xef, 0x38, 0x7b, 0x0d, 0xaf,
|
0xf7, 0x78, 0xc9, 0xce, 0xad, 0xe6, 0x7e, 0x03, 0x83, 0x8b, 0x92, 0x63, 0x99, 0xe4, 0x64, 0x4e,
|
||||||
0xf0, 0x6b, 0xe8, 0xa9, 0xc7, 0xfd, 0x0a, 0xa7, 0x0f, 0xa6, 0xef, 0x55, 0xb6, 0xcf, 0xcb, 0xa0,
|
0x90, 0x24, 0xd8, 0x3b, 0x18, 0x39, 0x93, 0x4e, 0x14, 0xde, 0x2d, 0xfd, 0x67, 0x9a, 0xb6, 0xbe,
|
||||||
0xcc, 0xcb, 0xd9, 0x00, 0x40, 0xdd, 0x0c, 0xa6, 0x6b, 0xc6, 0x56, 0xc8, 0x0b, 0xd1, 0xff, 0x90,
|
0x6f, 0x91, 0x0d, 0x35, 0xee, 0x2b, 0x21, 0x36, 0xf1, 0xe9, 0xce, 0xcf, 0xbf, 0xfa, 0xad, 0xf1,
|
||||||
0x20, 0x64, 0xf4, 0x5f, 0x6e, 0x9d, 0xba, 0x44, 0x75, 0xff, 0x67, 0x4b, 0xa9, 0x9c, 0x5b, 0x4a,
|
0x57, 0xd0, 0x31, 0x66, 0x29, 0xdd, 0x53, 0xe8, 0x18, 0xa3, 0x96, 0x9e, 0xa3, 0x7e, 0x4f, 0x2f,
|
||||||
0x6d, 0xe0, 0xa8, 0x51, 0x3d, 0x82, 0xec, 0x48, 0xec, 0x1b, 0x3b, 0x50, 0x56, 0x78, 0x0e, 0xd9,
|
0x68, 0xd8, 0x77, 0x60, 0x0e, 0x47, 0x3b, 0x55, 0xbf, 0xf1, 0xea, 0xbc, 0xb9, 0xed, 0x97, 0x5d,
|
||||||
0x91, 0x58, 0x48, 0xf2, 0xc1, 0x1f, 0xae, 0x86, 0xe2, 0x42, 0x9a, 0x05, 0x17, 0xbc, 0x61, 0x2e,
|
0xd8, 0xae, 0x06, 0xe9, 0x29, 0x80, 0xd9, 0x49, 0x56, 0xfe, 0xdb, 0x35, 0xca, 0x97, 0xd8, 0x3d,
|
||||||
0x24, 0x81, 0xdc, 0x62, 0xc4, 0xea, 0x5d, 0x19, 0x31, 0x01, 0x8e, 0xf2, 0x8e, 0x28, 0x6b, 0x65,
|
0x86, 0x41, 0x4a, 0x31, 0xae, 0xd9, 0xa7, 0x32, 0xe4, 0xb8, 0xaf, 0x55, 0xeb, 0x9f, 0xff, 0x66,
|
||||||
0xd1, 0xb2, 0x8c, 0xe0, 0x82, 0x17, 0x8d, 0xb2, 0x24, 0xa2, 0xcb, 0xba, 0x0f, 0xe3, 0x63, 0x00,
|
0xbe, 0x3e, 0xf4, 0xcc, 0x27, 0x79, 0x89, 0xe4, 0xa5, 0xb1, 0x5e, 0xf3, 0xc9, 0x7f, 0x81, 0xe4,
|
||||||
0x42, 0x82, 0x06, 0x30, 0xa6, 0xe3, 0x24, 0x9b, 0xef, 0xfb, 0x02, 0xcd, 0x2c, 0x54, 0xd3, 0x18,
|
0xa5, 0x32, 0x5e, 0x7d, 0xe0, 0x0d, 0x8d, 0xf7, 0x3e, 0xb9, 0xe1, 0x01, 0x75, 0xe3, 0x55, 0xca,
|
||||||
0x48, 0x60, 0x87, 0x04, 0xed, 0x8b, 0x6f, 0x39, 0xa1, 0xfd, 0x47, 0xe7, 0x57, 0x2d, 0xeb, 0xe2,
|
0x3f, 0x18, 0x4e, 0xfb, 0xb1, 0x0c, 0x87, 0x43, 0xcf, 0x78, 0xc4, 0xff, 0x74, 0xd5, 0x46, 0x5b,
|
||||||
0xaa, 0x65, 0xfd, 0xb8, 0x6a, 0x59, 0xa7, 0xd7, 0xad, 0xd2, 0xc5, 0x75, 0xab, 0xf4, 0xed, 0xba,
|
0xb5, 0xe4, 0x86, 0xe7, 0xd4, 0xda, 0xd2, 0x8a, 0x6d, 0xab, 0x66, 0x70, 0x9d, 0xc7, 0x32, 0x38,
|
||||||
0x55, 0x7a, 0xbd, 0x3d, 0x24, 0x99, 0x37, 0x41, 0xa1, 0x97, 0x51, 0x9f, 0x4f, 0xfd, 0x2e, 0xa1,
|
0x02, 0x90, 0x52, 0x9c, 0x20, 0x26, 0x4a, 0x5e, 0x3c, 0xd8, 0x47, 0xef, 0x53, 0x2d, 0xa6, 0xa6,
|
||||||
0xfe, 0x08, 0x46, 0x34, 0x21, 0x11, 0xf2, 0xdf, 0xe9, 0xff, 0x12, 0xc3, 0xaa, 0xe8, 0xf3, 0x83,
|
0xc4, 0xdd, 0x94, 0xe2, 0x33, 0xb5, 0xd6, 0x13, 0x1a, 0x7d, 0xf2, 0xea, 0x66, 0xe8, 0xbc, 0xbe,
|
||||||
0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x61, 0xbb, 0x15, 0xc2, 0x47, 0x0a, 0x00, 0x00,
|
0x19, 0x3a, 0x7f, 0xde, 0x0c, 0x9d, 0x97, 0xb7, 0xc3, 0xd6, 0xeb, 0xdb, 0x61, 0xeb, 0xf7, 0xdb,
|
||||||
|
0x61, 0xeb, 0xdb, 0xe3, 0x19, 0x2d, 0x82, 0x05, 0x4e, 0x83, 0x42, 0x84, 0xd5, 0xd4, 0x3f, 0xa7,
|
||||||
|
0x22, 0x9c, 0xa3, 0x4c, 0x70, 0x9a, 0xe1, 0xf0, 0xda, 0xfe, 0xad, 0x49, 0xdb, 0xea, 0x9d, 0x3f,
|
||||||
|
0xfa, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x67, 0x62, 0x6b, 0xf8, 0x08, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Params) Marshal() (dAtA []byte, err error) {
|
func (m *Params) Marshal() (dAtA []byte, err error) {
|
||||||
@ -336,52 +311,6 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
{
|
|
||||||
size, err := m.MinimumBid.MarshalToSizedBuffer(dAtA[:i])
|
|
||||||
if err != nil {
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
i -= size
|
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(size))
|
|
||||||
}
|
|
||||||
i--
|
|
||||||
dAtA[i] = 0x2a
|
|
||||||
{
|
|
||||||
size, err := m.RevealFee.MarshalToSizedBuffer(dAtA[:i])
|
|
||||||
if err != nil {
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
i -= size
|
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(size))
|
|
||||||
}
|
|
||||||
i--
|
|
||||||
dAtA[i] = 0x22
|
|
||||||
{
|
|
||||||
size, err := m.CommitFee.MarshalToSizedBuffer(dAtA[:i])
|
|
||||||
if err != nil {
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
i -= size
|
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(size))
|
|
||||||
}
|
|
||||||
i--
|
|
||||||
dAtA[i] = 0x1a
|
|
||||||
n4, err4 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(m.RevealsDuration, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.RevealsDuration):])
|
|
||||||
if err4 != nil {
|
|
||||||
return 0, err4
|
|
||||||
}
|
|
||||||
i -= n4
|
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(n4))
|
|
||||||
i--
|
|
||||||
dAtA[i] = 0x12
|
|
||||||
n5, err5 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(m.CommitsDuration, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.CommitsDuration):])
|
|
||||||
if err5 != nil {
|
|
||||||
return 0, err5
|
|
||||||
}
|
|
||||||
i -= n5
|
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(n5))
|
|
||||||
i--
|
|
||||||
dAtA[i] = 0xa
|
|
||||||
return len(dAtA) - i, nil
|
return len(dAtA) - i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -405,6 +334,33 @@ func (m *Auction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
if m.FundsReleased {
|
||||||
|
i--
|
||||||
|
if m.FundsReleased {
|
||||||
|
dAtA[i] = 1
|
||||||
|
} else {
|
||||||
|
dAtA[i] = 0
|
||||||
|
}
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x1
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x80
|
||||||
|
}
|
||||||
|
if m.NumProviders != 0 {
|
||||||
|
i = encodeVarintAuction(dAtA, i, uint64(m.NumProviders))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x78
|
||||||
|
}
|
||||||
|
{
|
||||||
|
size, err := m.MaxPrice.MarshalToSizedBuffer(dAtA[:i])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i -= size
|
||||||
|
i = encodeVarintAuction(dAtA, i, uint64(size))
|
||||||
|
}
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x72
|
||||||
{
|
{
|
||||||
size, err := m.WinningPrice.MarshalToSizedBuffer(dAtA[:i])
|
size, err := m.WinningPrice.MarshalToSizedBuffer(dAtA[:i])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -414,9 +370,11 @@ func (m *Auction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
i = encodeVarintAuction(dAtA, i, uint64(size))
|
i = encodeVarintAuction(dAtA, i, uint64(size))
|
||||||
}
|
}
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x62
|
dAtA[i] = 0x6a
|
||||||
|
if len(m.WinningBids) > 0 {
|
||||||
|
for iNdEx := len(m.WinningBids) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
{
|
{
|
||||||
size, err := m.WinningBid.MarshalToSizedBuffer(dAtA[:i])
|
size, err := m.WinningBids[iNdEx].MarshalToSizedBuffer(dAtA[:i])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
@ -424,13 +382,17 @@ func (m *Auction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
i = encodeVarintAuction(dAtA, i, uint64(size))
|
i = encodeVarintAuction(dAtA, i, uint64(size))
|
||||||
}
|
}
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x5a
|
dAtA[i] = 0x62
|
||||||
if len(m.WinnerAddress) > 0 {
|
}
|
||||||
i -= len(m.WinnerAddress)
|
}
|
||||||
copy(dAtA[i:], m.WinnerAddress)
|
if len(m.WinnerAddresses) > 0 {
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(len(m.WinnerAddress)))
|
for iNdEx := len(m.WinnerAddresses) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
|
i -= len(m.WinnerAddresses[iNdEx])
|
||||||
|
copy(dAtA[i:], m.WinnerAddresses[iNdEx])
|
||||||
|
i = encodeVarintAuction(dAtA, i, uint64(len(m.WinnerAddresses[iNdEx])))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x52
|
dAtA[i] = 0x5a
|
||||||
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
size, err := m.MinimumBid.MarshalToSizedBuffer(dAtA[:i])
|
size, err := m.MinimumBid.MarshalToSizedBuffer(dAtA[:i])
|
||||||
@ -441,7 +403,7 @@ func (m *Auction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
i = encodeVarintAuction(dAtA, i, uint64(size))
|
i = encodeVarintAuction(dAtA, i, uint64(size))
|
||||||
}
|
}
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x4a
|
dAtA[i] = 0x52
|
||||||
{
|
{
|
||||||
size, err := m.RevealFee.MarshalToSizedBuffer(dAtA[:i])
|
size, err := m.RevealFee.MarshalToSizedBuffer(dAtA[:i])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -451,7 +413,7 @@ func (m *Auction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
i = encodeVarintAuction(dAtA, i, uint64(size))
|
i = encodeVarintAuction(dAtA, i, uint64(size))
|
||||||
}
|
}
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x42
|
dAtA[i] = 0x4a
|
||||||
{
|
{
|
||||||
size, err := m.CommitFee.MarshalToSizedBuffer(dAtA[:i])
|
size, err := m.CommitFee.MarshalToSizedBuffer(dAtA[:i])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -461,43 +423,50 @@ func (m *Auction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
i = encodeVarintAuction(dAtA, i, uint64(size))
|
i = encodeVarintAuction(dAtA, i, uint64(size))
|
||||||
}
|
}
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x3a
|
dAtA[i] = 0x42
|
||||||
n11, err11 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.RevealsEndTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.RevealsEndTime):])
|
n6, err6 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.RevealsEndTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.RevealsEndTime):])
|
||||||
if err11 != nil {
|
if err6 != nil {
|
||||||
return 0, err11
|
return 0, err6
|
||||||
}
|
}
|
||||||
i -= n11
|
i -= n6
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(n11))
|
i = encodeVarintAuction(dAtA, i, uint64(n6))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x3a
|
||||||
|
n7, err7 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CommitsEndTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CommitsEndTime):])
|
||||||
|
if err7 != nil {
|
||||||
|
return 0, err7
|
||||||
|
}
|
||||||
|
i -= n7
|
||||||
|
i = encodeVarintAuction(dAtA, i, uint64(n7))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x32
|
dAtA[i] = 0x32
|
||||||
n12, err12 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CommitsEndTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CommitsEndTime):])
|
n8, err8 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CreateTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CreateTime):])
|
||||||
if err12 != nil {
|
if err8 != nil {
|
||||||
return 0, err12
|
return 0, err8
|
||||||
}
|
}
|
||||||
i -= n12
|
i -= n8
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(n12))
|
i = encodeVarintAuction(dAtA, i, uint64(n8))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x2a
|
dAtA[i] = 0x2a
|
||||||
n13, err13 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CreateTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CreateTime):])
|
|
||||||
if err13 != nil {
|
|
||||||
return 0, err13
|
|
||||||
}
|
|
||||||
i -= n13
|
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(n13))
|
|
||||||
i--
|
|
||||||
dAtA[i] = 0x22
|
|
||||||
if len(m.OwnerAddress) > 0 {
|
if len(m.OwnerAddress) > 0 {
|
||||||
i -= len(m.OwnerAddress)
|
i -= len(m.OwnerAddress)
|
||||||
copy(dAtA[i:], m.OwnerAddress)
|
copy(dAtA[i:], m.OwnerAddress)
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(len(m.OwnerAddress)))
|
i = encodeVarintAuction(dAtA, i, uint64(len(m.OwnerAddress)))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x1a
|
dAtA[i] = 0x22
|
||||||
}
|
}
|
||||||
if len(m.Status) > 0 {
|
if len(m.Status) > 0 {
|
||||||
i -= len(m.Status)
|
i -= len(m.Status)
|
||||||
copy(dAtA[i:], m.Status)
|
copy(dAtA[i:], m.Status)
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(len(m.Status)))
|
i = encodeVarintAuction(dAtA, i, uint64(len(m.Status)))
|
||||||
i--
|
i--
|
||||||
|
dAtA[i] = 0x1a
|
||||||
|
}
|
||||||
|
if len(m.Kind) > 0 {
|
||||||
|
i -= len(m.Kind)
|
||||||
|
copy(dAtA[i:], m.Kind)
|
||||||
|
i = encodeVarintAuction(dAtA, i, uint64(len(m.Kind)))
|
||||||
|
i--
|
||||||
dAtA[i] = 0x12
|
dAtA[i] = 0x12
|
||||||
}
|
}
|
||||||
if len(m.Id) > 0 {
|
if len(m.Id) > 0 {
|
||||||
@ -587,12 +556,12 @@ func (m *Bid) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
}
|
}
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x42
|
dAtA[i] = 0x42
|
||||||
n16, err16 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.RevealTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.RevealTime):])
|
n11, err11 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.RevealTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.RevealTime):])
|
||||||
if err16 != nil {
|
if err11 != nil {
|
||||||
return 0, err16
|
return 0, err11
|
||||||
}
|
}
|
||||||
i -= n16
|
i -= n11
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(n16))
|
i = encodeVarintAuction(dAtA, i, uint64(n11))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x3a
|
dAtA[i] = 0x3a
|
||||||
{
|
{
|
||||||
@ -605,12 +574,12 @@ func (m *Bid) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
}
|
}
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x32
|
dAtA[i] = 0x32
|
||||||
n18, err18 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CommitTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CommitTime):])
|
n13, err13 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CommitTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CommitTime):])
|
||||||
if err18 != nil {
|
if err13 != nil {
|
||||||
return 0, err18
|
return 0, err13
|
||||||
}
|
}
|
||||||
i -= n18
|
i -= n13
|
||||||
i = encodeVarintAuction(dAtA, i, uint64(n18))
|
i = encodeVarintAuction(dAtA, i, uint64(n13))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x2a
|
dAtA[i] = 0x2a
|
||||||
if len(m.CommitHash) > 0 {
|
if len(m.CommitHash) > 0 {
|
||||||
@ -661,16 +630,6 @@ func (m *Params) Size() (n int) {
|
|||||||
}
|
}
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.CommitsDuration)
|
|
||||||
n += 1 + l + sovAuction(uint64(l))
|
|
||||||
l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.RevealsDuration)
|
|
||||||
n += 1 + l + sovAuction(uint64(l))
|
|
||||||
l = m.CommitFee.Size()
|
|
||||||
n += 1 + l + sovAuction(uint64(l))
|
|
||||||
l = m.RevealFee.Size()
|
|
||||||
n += 1 + l + sovAuction(uint64(l))
|
|
||||||
l = m.MinimumBid.Size()
|
|
||||||
n += 1 + l + sovAuction(uint64(l))
|
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -684,6 +643,10 @@ func (m *Auction) Size() (n int) {
|
|||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sovAuction(uint64(l))
|
n += 1 + l + sovAuction(uint64(l))
|
||||||
}
|
}
|
||||||
|
l = len(m.Kind)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovAuction(uint64(l))
|
||||||
|
}
|
||||||
l = len(m.Status)
|
l = len(m.Status)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sovAuction(uint64(l))
|
n += 1 + l + sovAuction(uint64(l))
|
||||||
@ -704,14 +667,28 @@ func (m *Auction) Size() (n int) {
|
|||||||
n += 1 + l + sovAuction(uint64(l))
|
n += 1 + l + sovAuction(uint64(l))
|
||||||
l = m.MinimumBid.Size()
|
l = m.MinimumBid.Size()
|
||||||
n += 1 + l + sovAuction(uint64(l))
|
n += 1 + l + sovAuction(uint64(l))
|
||||||
l = len(m.WinnerAddress)
|
if len(m.WinnerAddresses) > 0 {
|
||||||
if l > 0 {
|
for _, s := range m.WinnerAddresses {
|
||||||
|
l = len(s)
|
||||||
n += 1 + l + sovAuction(uint64(l))
|
n += 1 + l + sovAuction(uint64(l))
|
||||||
}
|
}
|
||||||
l = m.WinningBid.Size()
|
}
|
||||||
|
if len(m.WinningBids) > 0 {
|
||||||
|
for _, e := range m.WinningBids {
|
||||||
|
l = e.Size()
|
||||||
n += 1 + l + sovAuction(uint64(l))
|
n += 1 + l + sovAuction(uint64(l))
|
||||||
|
}
|
||||||
|
}
|
||||||
l = m.WinningPrice.Size()
|
l = m.WinningPrice.Size()
|
||||||
n += 1 + l + sovAuction(uint64(l))
|
n += 1 + l + sovAuction(uint64(l))
|
||||||
|
l = m.MaxPrice.Size()
|
||||||
|
n += 1 + l + sovAuction(uint64(l))
|
||||||
|
if m.NumProviders != 0 {
|
||||||
|
n += 1 + sovAuction(uint64(m.NumProviders))
|
||||||
|
}
|
||||||
|
if m.FundsReleased {
|
||||||
|
n += 3
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -800,171 +777,6 @@ func (m *Params) Unmarshal(dAtA []byte) error {
|
|||||||
return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire)
|
return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
|
||||||
if wireType != 2 {
|
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field CommitsDuration", wireType)
|
|
||||||
}
|
|
||||||
var msglen int
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return ErrIntOverflowAuction
|
|
||||||
}
|
|
||||||
if iNdEx >= l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
b := dAtA[iNdEx]
|
|
||||||
iNdEx++
|
|
||||||
msglen |= int(b&0x7F) << shift
|
|
||||||
if b < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if msglen < 0 {
|
|
||||||
return ErrInvalidLengthAuction
|
|
||||||
}
|
|
||||||
postIndex := iNdEx + msglen
|
|
||||||
if postIndex < 0 {
|
|
||||||
return ErrInvalidLengthAuction
|
|
||||||
}
|
|
||||||
if postIndex > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(&m.CommitsDuration, dAtA[iNdEx:postIndex]); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
iNdEx = postIndex
|
|
||||||
case 2:
|
|
||||||
if wireType != 2 {
|
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field RevealsDuration", wireType)
|
|
||||||
}
|
|
||||||
var msglen int
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return ErrIntOverflowAuction
|
|
||||||
}
|
|
||||||
if iNdEx >= l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
b := dAtA[iNdEx]
|
|
||||||
iNdEx++
|
|
||||||
msglen |= int(b&0x7F) << shift
|
|
||||||
if b < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if msglen < 0 {
|
|
||||||
return ErrInvalidLengthAuction
|
|
||||||
}
|
|
||||||
postIndex := iNdEx + msglen
|
|
||||||
if postIndex < 0 {
|
|
||||||
return ErrInvalidLengthAuction
|
|
||||||
}
|
|
||||||
if postIndex > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(&m.RevealsDuration, dAtA[iNdEx:postIndex]); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
iNdEx = postIndex
|
|
||||||
case 3:
|
|
||||||
if wireType != 2 {
|
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field CommitFee", wireType)
|
|
||||||
}
|
|
||||||
var msglen int
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return ErrIntOverflowAuction
|
|
||||||
}
|
|
||||||
if iNdEx >= l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
b := dAtA[iNdEx]
|
|
||||||
iNdEx++
|
|
||||||
msglen |= int(b&0x7F) << shift
|
|
||||||
if b < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if msglen < 0 {
|
|
||||||
return ErrInvalidLengthAuction
|
|
||||||
}
|
|
||||||
postIndex := iNdEx + msglen
|
|
||||||
if postIndex < 0 {
|
|
||||||
return ErrInvalidLengthAuction
|
|
||||||
}
|
|
||||||
if postIndex > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
if err := m.CommitFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
iNdEx = postIndex
|
|
||||||
case 4:
|
|
||||||
if wireType != 2 {
|
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field RevealFee", wireType)
|
|
||||||
}
|
|
||||||
var msglen int
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return ErrIntOverflowAuction
|
|
||||||
}
|
|
||||||
if iNdEx >= l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
b := dAtA[iNdEx]
|
|
||||||
iNdEx++
|
|
||||||
msglen |= int(b&0x7F) << shift
|
|
||||||
if b < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if msglen < 0 {
|
|
||||||
return ErrInvalidLengthAuction
|
|
||||||
}
|
|
||||||
postIndex := iNdEx + msglen
|
|
||||||
if postIndex < 0 {
|
|
||||||
return ErrInvalidLengthAuction
|
|
||||||
}
|
|
||||||
if postIndex > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
if err := m.RevealFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
iNdEx = postIndex
|
|
||||||
case 5:
|
|
||||||
if wireType != 2 {
|
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field MinimumBid", wireType)
|
|
||||||
}
|
|
||||||
var msglen int
|
|
||||||
for shift := uint(0); ; shift += 7 {
|
|
||||||
if shift >= 64 {
|
|
||||||
return ErrIntOverflowAuction
|
|
||||||
}
|
|
||||||
if iNdEx >= l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
b := dAtA[iNdEx]
|
|
||||||
iNdEx++
|
|
||||||
msglen |= int(b&0x7F) << shift
|
|
||||||
if b < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if msglen < 0 {
|
|
||||||
return ErrInvalidLengthAuction
|
|
||||||
}
|
|
||||||
postIndex := iNdEx + msglen
|
|
||||||
if postIndex < 0 {
|
|
||||||
return ErrInvalidLengthAuction
|
|
||||||
}
|
|
||||||
if postIndex > l {
|
|
||||||
return io.ErrUnexpectedEOF
|
|
||||||
}
|
|
||||||
if err := m.MinimumBid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
iNdEx = postIndex
|
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipAuction(dAtA[iNdEx:])
|
skippy, err := skipAuction(dAtA[iNdEx:])
|
||||||
@ -1048,6 +860,38 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
m.Id = string(dAtA[iNdEx:postIndex])
|
m.Id = string(dAtA[iNdEx:postIndex])
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 2:
|
case 2:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowAuction
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return ErrInvalidLengthAuction
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthAuction
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Kind = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 3:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
|
||||||
}
|
}
|
||||||
@ -1079,7 +923,7 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
m.Status = string(dAtA[iNdEx:postIndex])
|
m.Status = string(dAtA[iNdEx:postIndex])
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 3:
|
case 4:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field OwnerAddress", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field OwnerAddress", wireType)
|
||||||
}
|
}
|
||||||
@ -1111,7 +955,7 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
m.OwnerAddress = string(dAtA[iNdEx:postIndex])
|
m.OwnerAddress = string(dAtA[iNdEx:postIndex])
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 4:
|
case 5:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field CreateTime", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field CreateTime", wireType)
|
||||||
}
|
}
|
||||||
@ -1144,7 +988,7 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 5:
|
case 6:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field CommitsEndTime", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field CommitsEndTime", wireType)
|
||||||
}
|
}
|
||||||
@ -1177,7 +1021,7 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 6:
|
case 7:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field RevealsEndTime", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field RevealsEndTime", wireType)
|
||||||
}
|
}
|
||||||
@ -1210,7 +1054,7 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 7:
|
case 8:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field CommitFee", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field CommitFee", wireType)
|
||||||
}
|
}
|
||||||
@ -1243,7 +1087,7 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 8:
|
case 9:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field RevealFee", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field RevealFee", wireType)
|
||||||
}
|
}
|
||||||
@ -1276,7 +1120,7 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 9:
|
case 10:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field MinimumBid", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field MinimumBid", wireType)
|
||||||
}
|
}
|
||||||
@ -1309,9 +1153,9 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 10:
|
case 11:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field WinnerAddress", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field WinnerAddresses", wireType)
|
||||||
}
|
}
|
||||||
var stringLen uint64
|
var stringLen uint64
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
@ -1339,11 +1183,11 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
}
|
}
|
||||||
m.WinnerAddress = string(dAtA[iNdEx:postIndex])
|
m.WinnerAddresses = append(m.WinnerAddresses, string(dAtA[iNdEx:postIndex]))
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 11:
|
case 12:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field WinningBid", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field WinningBids", wireType)
|
||||||
}
|
}
|
||||||
var msglen int
|
var msglen int
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
@ -1370,11 +1214,12 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
}
|
}
|
||||||
if err := m.WinningBid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
m.WinningBids = append(m.WinningBids, types.Coin{})
|
||||||
|
if err := m.WinningBids[len(m.WinningBids)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 12:
|
case 13:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field WinningPrice", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field WinningPrice", wireType)
|
||||||
}
|
}
|
||||||
@ -1407,6 +1252,78 @@ func (m *Auction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 14:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field MaxPrice", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowAuction
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= int(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthAuction
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthAuction
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
if err := m.MaxPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 15:
|
||||||
|
if wireType != 0 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field NumProviders", wireType)
|
||||||
|
}
|
||||||
|
m.NumProviders = 0
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowAuction
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
m.NumProviders |= int32(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case 16:
|
||||||
|
if wireType != 0 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field FundsReleased", wireType)
|
||||||
|
}
|
||||||
|
var v int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowAuction
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
v |= int(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.FundsReleased = bool(v != 0)
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipAuction(dAtA[iNdEx:])
|
skippy, err := skipAuction(dAtA[iNdEx:])
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/cosmos/cosmos-sdk/client"
|
"github.com/cosmos/cosmos-sdk/client"
|
||||||
@ -12,7 +13,6 @@ import (
|
|||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/spf13/viper"
|
|
||||||
|
|
||||||
wnsUtils "git.vdb.to/cerc-io/laconicd/utils"
|
wnsUtils "git.vdb.to/cerc-io/laconicd/utils"
|
||||||
auctiontypes "git.vdb.to/cerc-io/laconicd/x/auction"
|
auctiontypes "git.vdb.to/cerc-io/laconicd/x/auction"
|
||||||
@ -48,6 +48,16 @@ func GetCmdCommitBid() *cobra.Command {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Take chain id passed by user
|
||||||
|
chainId, _ := cmd.Flags().GetString(flags.FlagChainID)
|
||||||
|
if chainId == "" {
|
||||||
|
// Take from config if not provided
|
||||||
|
chainId = clientCtx.ChainID
|
||||||
|
}
|
||||||
|
if chainId == "" {
|
||||||
|
return fmt.Errorf("--chain-id required")
|
||||||
|
}
|
||||||
|
|
||||||
bidAmount, err := sdk.ParseCoinNormalized(args[1])
|
bidAmount, err := sdk.ParseCoinNormalized(args[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -58,7 +68,6 @@ func GetCmdCommitBid() *cobra.Command {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
chainId := viper.GetString("chain-id")
|
|
||||||
auctionId := args[0]
|
auctionId := args[0]
|
||||||
|
|
||||||
reveal := map[string]interface{}{
|
reveal := map[string]interface{}{
|
||||||
@ -132,48 +141,63 @@ func GetCmdRevealBid() *cobra.Command {
|
|||||||
|
|
||||||
func GetCmdCreateAuction() *cobra.Command {
|
func GetCmdCreateAuction() *cobra.Command {
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "create [commits-duration] [reveals-duration] [commit-fee] [reveal-fee] [minimum-bid]",
|
Use: "create [kind] [commits-duration] [reveals-duration] [commit-fee] [reveal-fee] [minimum-bid] [max-price] [num-providers]",
|
||||||
Short: "Create auction.",
|
Short: "Create auction.",
|
||||||
Args: cobra.ExactArgs(5),
|
Args: cobra.ExactArgs(8),
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
clientCtx, err := client.GetClientTxContext(cmd)
|
clientCtx, err := client.GetClientTxContext(cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
commitsDuration, err := time.ParseDuration(args[0])
|
kind := args[0]
|
||||||
|
|
||||||
|
commitsDuration, err := time.ParseDuration(args[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
revealsDuration, err := time.ParseDuration(args[1])
|
revealsDuration, err := time.ParseDuration(args[2])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
commitFee, err := sdk.ParseCoinNormalized(args[2])
|
commitFee, err := sdk.ParseCoinNormalized(args[3])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
revealFee, err := sdk.ParseCoinNormalized(args[3])
|
revealFee, err := sdk.ParseCoinNormalized(args[4])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
minimumBid, err := sdk.ParseCoinNormalized(args[4])
|
minimumBid, err := sdk.ParseCoinNormalized(args[5])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
params := auctiontypes.Params{
|
maxPrice, err := sdk.ParseCoinNormalized(args[6])
|
||||||
CommitsDuration: commitsDuration,
|
if err != nil {
|
||||||
RevealsDuration: revealsDuration,
|
return err
|
||||||
CommitFee: commitFee,
|
|
||||||
RevealFee: revealFee,
|
|
||||||
MinimumBid: minimumBid,
|
|
||||||
}
|
}
|
||||||
msg := auctiontypes.NewMsgCreateAuction(params, clientCtx.GetFromAddress())
|
|
||||||
|
numProviders, err := strconv.ParseInt(args[7], 10, 32)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
msg := auctiontypes.NewMsgCreateAuction(
|
||||||
|
kind,
|
||||||
|
commitsDuration,
|
||||||
|
revealsDuration,
|
||||||
|
commitFee,
|
||||||
|
revealFee,
|
||||||
|
minimumBid,
|
||||||
|
maxPrice,
|
||||||
|
int32(numProviders),
|
||||||
|
clientCtx.GetFromAddress(),
|
||||||
|
)
|
||||||
err = msg.ValidateBasic()
|
err = msg.ValidateBasic()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -4,6 +4,7 @@ const (
|
|||||||
EventTypeCreateAuction = "create-auction"
|
EventTypeCreateAuction = "create-auction"
|
||||||
EventTypeCommitBid = "commit-bid"
|
EventTypeCommitBid = "commit-bid"
|
||||||
EventTypeRevealBid = "reveal-bid"
|
EventTypeRevealBid = "reveal-bid"
|
||||||
|
EventTypeReleaseFunds = "release-funds"
|
||||||
|
|
||||||
AttributeKeyCommitsDuration = "commits-duration"
|
AttributeKeyCommitsDuration = "commits-duration"
|
||||||
AttributeKeyRevealsDuration = "reveals-duration"
|
AttributeKeyRevealsDuration = "reveals-duration"
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"slices"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"cosmossdk.io/collections"
|
"cosmossdk.io/collections"
|
||||||
@ -12,6 +13,7 @@ import (
|
|||||||
storetypes "cosmossdk.io/core/store"
|
storetypes "cosmossdk.io/core/store"
|
||||||
errorsmod "cosmossdk.io/errors"
|
errorsmod "cosmossdk.io/errors"
|
||||||
"cosmossdk.io/log"
|
"cosmossdk.io/log"
|
||||||
|
"cosmossdk.io/math"
|
||||||
|
|
||||||
"github.com/cosmos/cosmos-sdk/codec"
|
"github.com/cosmos/cosmos-sdk/codec"
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
@ -24,7 +26,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// CompletedAuctionDeleteTimeout => Completed auctions are deleted after this timeout (after reveals end time).
|
// CompletedAuctionDeleteTimeout => Completed auctions are deleted after this timeout (after reveals end time).
|
||||||
const CompletedAuctionDeleteTimeout = time.Hour * 24
|
const CompletedAuctionDeleteTimeout = 365 * 24 * time.Hour // 1 year
|
||||||
|
|
||||||
type AuctionsIndexes struct {
|
type AuctionsIndexes struct {
|
||||||
Owner *indexes.Multi[string, string, auctiontypes.Auction]
|
Owner *indexes.Multi[string, string, auctiontypes.Auction]
|
||||||
@ -339,8 +341,18 @@ func (k Keeper) CreateAuction(ctx sdk.Context, msg auctiontypes.MsgCreateAuction
|
|||||||
commitsEndTime := now.Add(msg.CommitsDuration)
|
commitsEndTime := now.Add(msg.CommitsDuration)
|
||||||
revealsEndTime := now.Add(msg.CommitsDuration + msg.RevealsDuration)
|
revealsEndTime := now.Add(msg.CommitsDuration + msg.RevealsDuration)
|
||||||
|
|
||||||
|
if msg.Kind == auctiontypes.AuctionKindProvider {
|
||||||
|
totalLockedAmount := sdk.NewCoin(msg.MaxPrice.Denom, msg.MaxPrice.Amount.MulRaw(int64(msg.NumProviders)))
|
||||||
|
|
||||||
|
sdkErr := k.bankKeeper.SendCoinsFromAccountToModule(ctx, signerAddress, auctiontypes.ModuleName, sdk.NewCoins(totalLockedAmount))
|
||||||
|
if sdkErr != nil {
|
||||||
|
return nil, errorsmod.Wrap(sdkErr, "Auction error transferring maximum price amount")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
auction := auctiontypes.Auction{
|
auction := auctiontypes.Auction{
|
||||||
Id: auctionId,
|
Id: auctionId,
|
||||||
|
Kind: msg.Kind,
|
||||||
Status: auctiontypes.AuctionStatusCommitPhase,
|
Status: auctiontypes.AuctionStatusCommitPhase,
|
||||||
OwnerAddress: signerAddress.String(),
|
OwnerAddress: signerAddress.String(),
|
||||||
CreateTime: now,
|
CreateTime: now,
|
||||||
@ -349,6 +361,8 @@ func (k Keeper) CreateAuction(ctx sdk.Context, msg auctiontypes.MsgCreateAuction
|
|||||||
CommitFee: msg.CommitFee,
|
CommitFee: msg.CommitFee,
|
||||||
RevealFee: msg.RevealFee,
|
RevealFee: msg.RevealFee,
|
||||||
MinimumBid: msg.MinimumBid,
|
MinimumBid: msg.MinimumBid,
|
||||||
|
MaxPrice: msg.MaxPrice,
|
||||||
|
NumProviders: msg.NumProviders,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save auction in store.
|
// Save auction in store.
|
||||||
@ -516,15 +530,21 @@ func (k Keeper) RevealBid(ctx sdk.Context, msg auctiontypes.MsgRevealBid) (*auct
|
|||||||
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Invalid reveal bid amount.")
|
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Invalid reveal bid amount.")
|
||||||
}
|
}
|
||||||
|
|
||||||
if bidAmount.IsLT(auction.MinimumBid) {
|
if auction.Kind == auctiontypes.AuctionKindVickrey && bidAmount.IsLT(auction.MinimumBid) {
|
||||||
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Bid is lower than minimum bid.")
|
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Bid is lower than minimum bid.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if auction.Kind == auctiontypes.AuctionKindProvider && auction.MaxPrice.IsLT(bidAmount) {
|
||||||
|
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Bid is higher than max price.")
|
||||||
|
}
|
||||||
|
|
||||||
// Lock bid amount.
|
// Lock bid amount.
|
||||||
|
if auction.Kind == auctiontypes.AuctionKindVickrey {
|
||||||
sdkErr := k.bankKeeper.SendCoinsFromAccountToModule(ctx, signerAddress, auctiontypes.ModuleName, sdk.NewCoins(bidAmount))
|
sdkErr := k.bankKeeper.SendCoinsFromAccountToModule(ctx, signerAddress, auctiontypes.ModuleName, sdk.NewCoins(bidAmount))
|
||||||
if sdkErr != nil {
|
if sdkErr != nil {
|
||||||
return nil, sdkErr
|
return nil, sdkErr
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Update bid.
|
// Update bid.
|
||||||
bid.BidAmount = bidAmount
|
bid.BidAmount = bidAmount
|
||||||
@ -606,9 +626,15 @@ func (k Keeper) processAuctionPhases(ctx sdk.Context) error {
|
|||||||
|
|
||||||
// If auction has expired, pick a winner from revealed bids.
|
// If auction has expired, pick a winner from revealed bids.
|
||||||
if auction.Status == auctiontypes.AuctionStatusExpired {
|
if auction.Status == auctiontypes.AuctionStatusExpired {
|
||||||
|
if auction.Kind == auctiontypes.AuctionKindVickrey {
|
||||||
if err = k.pickAuctionWinner(ctx, auction); err != nil {
|
if err = k.pickAuctionWinner(ctx, auction); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if err = k.pickProviderAuctionWinners(ctx, auction); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -635,6 +661,7 @@ func (k Keeper) deleteCompletedAuctions(ctx sdk.Context) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Pick winner for vickrey auction
|
||||||
func (k Keeper) pickAuctionWinner(ctx sdk.Context, auction *auctiontypes.Auction) error {
|
func (k Keeper) pickAuctionWinner(ctx sdk.Context, auction *auctiontypes.Auction) error {
|
||||||
k.Logger(ctx).Info(fmt.Sprintf("Picking auction %s winner.", auction.Id))
|
k.Logger(ctx).Info(fmt.Sprintf("Picking auction %s winner.", auction.Id))
|
||||||
|
|
||||||
@ -686,17 +713,17 @@ func (k Keeper) pickAuctionWinner(ctx sdk.Context, auction *auctiontypes.Auction
|
|||||||
auction.Status = auctiontypes.AuctionStatusCompleted
|
auction.Status = auctiontypes.AuctionStatusCompleted
|
||||||
|
|
||||||
if highestBid != nil {
|
if highestBid != nil {
|
||||||
auction.WinnerAddress = highestBid.BidderAddress
|
auction.WinningBids = []sdk.Coin{highestBid.BidAmount}
|
||||||
auction.WinningBid = highestBid.BidAmount
|
auction.WinnerAddresses = []string{highestBid.BidderAddress}
|
||||||
|
|
||||||
// Winner pays 2nd price, if a 2nd price exists.
|
// Winner pays 2nd price, if a 2nd price exists.
|
||||||
auction.WinningPrice = highestBid.BidAmount
|
auction.WinningPrice = highestBid.BidAmount
|
||||||
if secondHighestBid != nil {
|
if secondHighestBid != nil {
|
||||||
auction.WinningPrice = secondHighestBid.BidAmount
|
auction.WinningPrice = secondHighestBid.BidAmount
|
||||||
}
|
}
|
||||||
k.Logger(ctx).Info(fmt.Sprintf("Auction %s winner %s.", auction.Id, auction.WinnerAddress))
|
k.Logger(ctx).Info(fmt.Sprintf("Auction %s winner %s.", auction.Id, auction.WinnerAddresses[0]))
|
||||||
k.Logger(ctx).Info(fmt.Sprintf("Auction %s winner bid %s.", auction.Id, auction.WinningBid.String()))
|
k.Logger(ctx).Info(fmt.Sprintf("Auction %s winner bid %s.", auction.Id, auction.WinningBids[0].String()))
|
||||||
k.Logger(ctx).Info(fmt.Sprintf("Auction %s winner price %s.", auction.Id, auction.WinningPrice.String()))
|
k.Logger(ctx).Info(fmt.Sprintf("Auction %s winning price %s.", auction.Id, auction.WinningPrice.String()))
|
||||||
} else {
|
} else {
|
||||||
k.Logger(ctx).Info(fmt.Sprintf("Auction %s has no valid revealed bids (no winner).", auction.Id))
|
k.Logger(ctx).Info(fmt.Sprintf("Auction %s has no valid revealed bids (no winner).", auction.Id))
|
||||||
}
|
}
|
||||||
@ -730,8 +757,8 @@ func (k Keeper) pickAuctionWinner(ctx sdk.Context, auction *auctiontypes.Auction
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Process winner account (if nobody bids, there won't be a winner).
|
// Process winner account (if nobody bids, there won't be a winner).
|
||||||
if auction.WinnerAddress != "" {
|
if len(auction.WinnerAddresses) != 0 {
|
||||||
winnerAddress, err := sdk.AccAddressFromBech32(auction.WinnerAddress)
|
winnerAddress, err := sdk.AccAddressFromBech32(auction.WinnerAddresses[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
k.Logger(ctx).Error(fmt.Sprintf("Invalid winner address. %v", err))
|
k.Logger(ctx).Error(fmt.Sprintf("Invalid winner address. %v", err))
|
||||||
panic("Invalid winner address.")
|
panic("Invalid winner address.")
|
||||||
@ -773,3 +800,173 @@ func (k Keeper) pickAuctionWinner(ctx sdk.Context, auction *auctiontypes.Auction
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Pick winner for provider auction
|
||||||
|
func (k Keeper) pickProviderAuctionWinners(ctx sdk.Context, auction *auctiontypes.Auction) error {
|
||||||
|
k.Logger(ctx).Info(fmt.Sprintf("Picking auction %s winners.", auction.Id))
|
||||||
|
|
||||||
|
bids, err := k.GetBids(ctx, auction.Id)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
revealedBids := make([]*auctiontypes.Bid, 0, len(bids))
|
||||||
|
for _, bid := range bids {
|
||||||
|
k.Logger(ctx).Info(fmt.Sprintf("Processing bid %s %s", bid.BidderAddress, bid.BidAmount.String()))
|
||||||
|
|
||||||
|
// Only consider revealed bids.
|
||||||
|
if bid.Status != auctiontypes.BidStatusRevealed {
|
||||||
|
k.Logger(ctx).Info(fmt.Sprintf("Ignoring unrevealed bid %s %s", bid.BidderAddress, bid.BidAmount.String()))
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
revealedBids = append(revealedBids, bid)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort the valid bids
|
||||||
|
slices.SortStableFunc(revealedBids, func(a, b *auctiontypes.Bid) int {
|
||||||
|
if a.BidAmount.Amount.LT(b.BidAmount.Amount) {
|
||||||
|
return -1
|
||||||
|
} else if a.BidAmount.Amount.GT(b.BidAmount.Amount) {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
})
|
||||||
|
|
||||||
|
// Take best min(len(revealedBids), auction.NumProviders) bids
|
||||||
|
numWinners := int(auction.NumProviders)
|
||||||
|
if len(revealedBids) < numWinners {
|
||||||
|
numWinners = len(revealedBids)
|
||||||
|
}
|
||||||
|
winnerBids := revealedBids[:numWinners]
|
||||||
|
|
||||||
|
auction.Status = auctiontypes.AuctionStatusCompleted
|
||||||
|
|
||||||
|
if len(winnerBids) > 0 {
|
||||||
|
winnerAddresses := make([]string, len(winnerBids))
|
||||||
|
winningBids := make([]sdk.Coin, len(winnerBids))
|
||||||
|
for i, bid := range winnerBids {
|
||||||
|
winnerAddresses[i] = bid.BidderAddress
|
||||||
|
winningBids[i] = bid.BidAmount
|
||||||
|
}
|
||||||
|
|
||||||
|
auction.WinnerAddresses = winnerAddresses
|
||||||
|
auction.WinningBids = winningBids
|
||||||
|
|
||||||
|
// The last best bid is the winning price
|
||||||
|
auction.WinningPrice = winnerBids[len(winnerBids)-1].BidAmount
|
||||||
|
|
||||||
|
for _, bid := range winnerBids {
|
||||||
|
k.Logger(ctx).Info(fmt.Sprintf("Auction %s winner address: %s, bid amount: %s.", auction.Id, bid.BidderAddress, bid.BidAmount.String()))
|
||||||
|
}
|
||||||
|
k.Logger(ctx).Info(fmt.Sprintf("Auction %s winning price %s.", auction.Id, auction.WinningPrice.String()))
|
||||||
|
} else {
|
||||||
|
k.Logger(ctx).Info(fmt.Sprintf("Auction %s has no valid revealed bids (no winner).", auction.Id))
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := k.SaveAuction(ctx, auction); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, bid := range bids {
|
||||||
|
bidderAddress, err := sdk.AccAddressFromBech32(bid.BidderAddress)
|
||||||
|
if err != nil {
|
||||||
|
k.Logger(ctx).Error(fmt.Sprintf("Invalid bidderAddress address. %v", err))
|
||||||
|
panic("Invalid bidder address.")
|
||||||
|
}
|
||||||
|
|
||||||
|
if bid.Status == auctiontypes.BidStatusRevealed {
|
||||||
|
// Send reveal fee back to bidders that've revealed the bid.
|
||||||
|
sdkErr := k.bankKeeper.SendCoinsFromModuleToAccount(ctx, auctiontypes.ModuleName, bidderAddress, sdk.NewCoins(bid.RevealFee))
|
||||||
|
if sdkErr != nil {
|
||||||
|
k.Logger(ctx).Error(fmt.Sprintf("Auction error returning reveal fee: %v", sdkErr))
|
||||||
|
panic(sdkErr)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send back any leftover locked amount to auction creator
|
||||||
|
// All of it in case of no winners
|
||||||
|
totalLockedAmount := auction.MaxPrice.Amount.Mul(math.NewInt(int64(auction.NumProviders)))
|
||||||
|
totalAmountPaid := auction.WinningPrice.Amount.Mul(math.NewInt(int64(len(auction.WinnerAddresses))))
|
||||||
|
creatorLeftOverAmount := sdk.NewCoin(auction.MaxPrice.Denom, totalLockedAmount.Sub(totalAmountPaid))
|
||||||
|
|
||||||
|
ownerAccAddress, err := sdk.AccAddressFromBech32(auction.OwnerAddress)
|
||||||
|
if err != nil {
|
||||||
|
k.Logger(ctx).Error(fmt.Sprintf("Invalid auction owner address. %v", err))
|
||||||
|
panic("Invalid auction owner address.")
|
||||||
|
}
|
||||||
|
|
||||||
|
sdkErr := k.bankKeeper.SendCoinsFromModuleToAccount(
|
||||||
|
ctx,
|
||||||
|
auctiontypes.ModuleName,
|
||||||
|
ownerAccAddress,
|
||||||
|
sdk.NewCoins(creatorLeftOverAmount),
|
||||||
|
)
|
||||||
|
if sdkErr != nil {
|
||||||
|
k.Logger(ctx).Error(fmt.Sprintf("Auction error returning leftover locked amount: %v", sdkErr))
|
||||||
|
panic(sdkErr)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Notify other modules (hook).
|
||||||
|
k.Logger(ctx).Info(fmt.Sprintf("Auction %s notifying %d modules.", auction.Id, len(k.usageKeepers)))
|
||||||
|
for _, keeper := range k.usageKeepers {
|
||||||
|
k.Logger(ctx).Info(fmt.Sprintf("Auction %s notifying module %s.", auction.Id, keeper.ModuleName()))
|
||||||
|
keeper.OnAuctionWinnerSelected(ctx, auction.Id)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (k Keeper) ReleaseFunds(ctx sdk.Context, msg auctiontypes.MsgReleaseFunds) (*auctiontypes.Auction, error) {
|
||||||
|
auction, err := k.GetAuctionById(ctx, msg.AuctionId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if auction.Kind != auctiontypes.AuctionKindProvider {
|
||||||
|
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Auction kind must be provider.")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only the auction owner can release funds.
|
||||||
|
if msg.Signer != auction.OwnerAddress {
|
||||||
|
return nil, errorsmod.Wrap(sdkerrors.ErrUnauthorized, "Only auction owner can release funds.")
|
||||||
|
}
|
||||||
|
|
||||||
|
if auction.Status != auctiontypes.AuctionStatusCompleted {
|
||||||
|
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Auction is not completed.")
|
||||||
|
}
|
||||||
|
|
||||||
|
if auction.FundsReleased {
|
||||||
|
return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Auction funds already released.")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mark funds as released in the stored auction
|
||||||
|
auction.FundsReleased = true
|
||||||
|
if err = k.SaveAuction(ctx, &auction); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process winner accounts.
|
||||||
|
for _, winnerAddress := range auction.WinnerAddresses {
|
||||||
|
winnerAccAddress, err := sdk.AccAddressFromBech32(winnerAddress)
|
||||||
|
if err != nil {
|
||||||
|
k.Logger(ctx).Error(fmt.Sprintf("Invalid winner address. %v", err))
|
||||||
|
panic("Invalid winner address.")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send winning price to winning bidders
|
||||||
|
sdkErr := k.bankKeeper.SendCoinsFromModuleToAccount(
|
||||||
|
ctx,
|
||||||
|
auctiontypes.ModuleName,
|
||||||
|
winnerAccAddress,
|
||||||
|
sdk.NewCoins(auction.WinningPrice),
|
||||||
|
)
|
||||||
|
if sdkErr != nil {
|
||||||
|
k.Logger(ctx).Error(fmt.Sprintf("Auction error sending funds to winner: %v", sdkErr))
|
||||||
|
panic(sdkErr)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return &auction, err
|
||||||
|
}
|
||||||
|
@ -56,7 +56,6 @@ func (ms msgServer) CreateAuction(c context.Context, msg *auctiontypes.MsgCreate
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CommitBid is the command for committing a bid
|
// CommitBid is the command for committing a bid
|
||||||
// nolint: all
|
|
||||||
func (ms msgServer) CommitBid(c context.Context, msg *auctiontypes.MsgCommitBid) (*auctiontypes.MsgCommitBidResponse, error) {
|
func (ms msgServer) CommitBid(c context.Context, msg *auctiontypes.MsgCommitBid) (*auctiontypes.MsgCommitBidResponse, error) {
|
||||||
if err := msg.ValidateBasic(); err != nil {
|
if err := msg.ValidateBasic(); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -94,7 +93,6 @@ func (ms msgServer) CommitBid(c context.Context, msg *auctiontypes.MsgCommitBid)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// RevealBid is the command for revealing a bid
|
// RevealBid is the command for revealing a bid
|
||||||
// nolint: all
|
|
||||||
func (ms msgServer) RevealBid(c context.Context, msg *auctiontypes.MsgRevealBid) (*auctiontypes.MsgRevealBidResponse, error) {
|
func (ms msgServer) RevealBid(c context.Context, msg *auctiontypes.MsgRevealBid) (*auctiontypes.MsgRevealBidResponse, error) {
|
||||||
if err := msg.ValidateBasic(); err != nil {
|
if err := msg.ValidateBasic(); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -149,3 +147,39 @@ func (ms msgServer) UpdateParams(c context.Context, msg *auctiontypes.MsgUpdateP
|
|||||||
|
|
||||||
return &auctiontypes.MsgUpdateParamsResponse{}, nil
|
return &auctiontypes.MsgUpdateParamsResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ReleaseFunds is the command to pay the winning amounts to provider auction winners
|
||||||
|
func (ms msgServer) ReleaseFunds(c context.Context, msg *auctiontypes.MsgReleaseFunds) (*auctiontypes.MsgReleaseFundsResponse, error) {
|
||||||
|
if err := msg.ValidateBasic(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx := sdk.UnwrapSDKContext(c)
|
||||||
|
ctx = *utils.CtxWithCustomKVGasConfig(&ctx)
|
||||||
|
|
||||||
|
signerAddress, err := sdk.AccAddressFromBech32(msg.Signer)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
resp, err := ms.k.ReleaseFunds(ctx, *msg)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.EventManager().EmitEvents(sdk.Events{
|
||||||
|
sdk.NewEvent(
|
||||||
|
auctiontypes.EventTypeReleaseFunds,
|
||||||
|
sdk.NewAttribute(auctiontypes.AttributeKeyAuctionId, msg.AuctionId),
|
||||||
|
),
|
||||||
|
sdk.NewEvent(
|
||||||
|
sdk.EventTypeMessage,
|
||||||
|
sdk.NewAttribute(sdk.AttributeKeyModule, auctiontypes.AttributeValueCategory),
|
||||||
|
sdk.NewAttribute(auctiontypes.AttributeKeySigner, signerAddress.String()),
|
||||||
|
),
|
||||||
|
})
|
||||||
|
|
||||||
|
utils.LogTxGasConsumed(ctx, ms.k.Logger(ctx), "ReleaseFunds")
|
||||||
|
|
||||||
|
return &auctiontypes.MsgReleaseFundsResponse{Auction: resp}, nil
|
||||||
|
}
|
||||||
|
@ -81,14 +81,19 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions {
|
|||||||
RpcCommandOptions: []*autocliv1.RpcCommandOptions{
|
RpcCommandOptions: []*autocliv1.RpcCommandOptions{
|
||||||
{
|
{
|
||||||
RpcMethod: "CreateAuction",
|
RpcMethod: "CreateAuction",
|
||||||
Use: "create [commits-duration] [reveals-duration] [commit-fee] [reveal-fee] [minimum-bid]",
|
Use: "create [commits-duration] [reveals-duration] [commit-fee] [reveal-fee]",
|
||||||
Short: "Create an auction",
|
Short: "Create an auction",
|
||||||
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
|
PositionalArgs: []*autocliv1.PositionalArgDescriptor{
|
||||||
{ProtoField: "commits_duration"},
|
{ProtoField: "commits_duration"},
|
||||||
{ProtoField: "reveals_duration"},
|
{ProtoField: "reveals_duration"},
|
||||||
{ProtoField: "commit_fee"},
|
{ProtoField: "commit_fee"},
|
||||||
{ProtoField: "reveal_fee"},
|
{ProtoField: "reveal_fee"},
|
||||||
{ProtoField: "minimum_bid"},
|
},
|
||||||
|
FlagOptions: map[string]*autocliv1.FlagOptions{
|
||||||
|
"kind": {Name: "kind", DefaultValue: "vickrey", Usage: "Auction kind (vickrey|provider) (default: vickrey)"},
|
||||||
|
"minimum_bid": {Name: "minimum-bid", Usage: "Minimum bid (required for vickrey auctions)"},
|
||||||
|
"max_price": {Name: "max-price", Usage: "Max price (required for provider auctions)"},
|
||||||
|
"num_providers": {Name: "num-providers", Usage: "Number of desired providers (required for provider auctions)"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package auction
|
package auction
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
time "time"
|
||||||
|
|
||||||
errorsmod "cosmossdk.io/errors"
|
errorsmod "cosmossdk.io/errors"
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
|
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
|
||||||
@ -13,13 +16,26 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// NewMsgCreateAuction is the constructor function for MsgCreateAuction.
|
// NewMsgCreateAuction is the constructor function for MsgCreateAuction.
|
||||||
func NewMsgCreateAuction(params Params, signer sdk.AccAddress) MsgCreateAuction {
|
func NewMsgCreateAuction(
|
||||||
|
kind string,
|
||||||
|
commitsDuration time.Duration,
|
||||||
|
revealsDuration time.Duration,
|
||||||
|
commitFee sdk.Coin,
|
||||||
|
revealFee sdk.Coin,
|
||||||
|
minimumBid sdk.Coin,
|
||||||
|
maxPrice sdk.Coin,
|
||||||
|
numProviders int32,
|
||||||
|
signer sdk.AccAddress,
|
||||||
|
) MsgCreateAuction {
|
||||||
return MsgCreateAuction{
|
return MsgCreateAuction{
|
||||||
CommitsDuration: params.CommitsDuration,
|
CommitsDuration: commitsDuration,
|
||||||
RevealsDuration: params.RevealsDuration,
|
RevealsDuration: revealsDuration,
|
||||||
CommitFee: params.CommitFee,
|
CommitFee: commitFee,
|
||||||
RevealFee: params.RevealFee,
|
RevealFee: revealFee,
|
||||||
MinimumBid: params.MinimumBid,
|
MinimumBid: minimumBid,
|
||||||
|
MaxPrice: maxPrice,
|
||||||
|
Kind: kind,
|
||||||
|
NumProviders: numProviders,
|
||||||
Signer: signer.String(),
|
Signer: signer.String(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -33,22 +49,53 @@ func NewMsgCommitBid(auctionId string, commitHash string, signer sdk.AccAddress)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewMsgRevealBid is the constructor function for MsgRevealBid.
|
||||||
|
func NewMsgRevealBid(auctionId string, reveal string, signer sdk.AccAddress) MsgRevealBid {
|
||||||
|
return MsgRevealBid{
|
||||||
|
AuctionId: auctionId,
|
||||||
|
Reveal: reveal,
|
||||||
|
Signer: signer.String(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewMsgReleaseFunds is the constructor function for MsgReleaseFunds.
|
||||||
|
func NewMsgReleaseFunds(auctionId string, signer sdk.AccAddress) MsgReleaseFunds {
|
||||||
|
return MsgReleaseFunds{
|
||||||
|
AuctionId: auctionId,
|
||||||
|
Signer: signer.String(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ValidateBasic Implements Msg.
|
// ValidateBasic Implements Msg.
|
||||||
func (msg MsgCreateAuction) ValidateBasic() error {
|
func (msg MsgCreateAuction) ValidateBasic() error {
|
||||||
if msg.Signer == "" {
|
if msg.Signer == "" {
|
||||||
return errorsmod.Wrap(sdkerrors.ErrInvalidAddress, msg.Signer)
|
return errorsmod.Wrap(sdkerrors.ErrInvalidAddress, msg.Signer)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if msg.Kind != AuctionKindVickrey && msg.Kind != AuctionKindProvider {
|
||||||
|
return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, fmt.Sprintf("auction kind should be one of %s | %s", AuctionKindVickrey, AuctionKindProvider))
|
||||||
|
}
|
||||||
|
|
||||||
if msg.CommitsDuration <= 0 {
|
if msg.CommitsDuration <= 0 {
|
||||||
return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "commit phase duration invalid.")
|
return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "commit phase duration invalid")
|
||||||
}
|
}
|
||||||
|
|
||||||
if msg.RevealsDuration <= 0 {
|
if msg.RevealsDuration <= 0 {
|
||||||
return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "reveal phase duration invalid.")
|
return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "reveal phase duration invalid")
|
||||||
}
|
}
|
||||||
|
|
||||||
if !msg.MinimumBid.IsPositive() {
|
if msg.Kind == AuctionKindVickrey && !msg.MinimumBid.IsPositive() {
|
||||||
return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "minimum bid should be greater than zero.")
|
return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, fmt.Sprintf("minimum bid should be greater than zero for %s auction", AuctionKindVickrey))
|
||||||
|
}
|
||||||
|
|
||||||
|
if msg.Kind == AuctionKindProvider {
|
||||||
|
if !msg.MaxPrice.IsPositive() {
|
||||||
|
return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, fmt.Sprintf("max price should be greater than zero for %s auction", AuctionKindProvider))
|
||||||
|
}
|
||||||
|
|
||||||
|
if msg.NumProviders <= 0 {
|
||||||
|
return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, fmt.Sprintf("num providers should be greater than zero for %s auction", AuctionKindProvider))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@ -71,15 +118,6 @@ func (msg MsgCommitBid) ValidateBasic() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewMsgRevealBid is the constructor function for MsgRevealBid.
|
|
||||||
func NewMsgRevealBid(auctionId string, reveal string, signer sdk.AccAddress) MsgRevealBid {
|
|
||||||
return MsgRevealBid{
|
|
||||||
AuctionId: auctionId,
|
|
||||||
Reveal: reveal,
|
|
||||||
Signer: signer.String(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ValidateBasic Implements Msg.
|
// ValidateBasic Implements Msg.
|
||||||
func (msg MsgRevealBid) ValidateBasic() error {
|
func (msg MsgRevealBid) ValidateBasic() error {
|
||||||
if msg.Signer == "" {
|
if msg.Signer == "" {
|
||||||
@ -96,3 +134,16 @@ func (msg MsgRevealBid) ValidateBasic() error {
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ValidateBasic Implements Msg.
|
||||||
|
func (msg MsgReleaseFunds) ValidateBasic() error {
|
||||||
|
if msg.Signer == "" {
|
||||||
|
return errorsmod.Wrap(sdkerrors.ErrInvalidAddress, "invalid signer address")
|
||||||
|
}
|
||||||
|
|
||||||
|
if msg.AuctionId == "" {
|
||||||
|
return errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "invalid auction id")
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
@ -1,143 +1,11 @@
|
|||||||
package auction
|
package auction
|
||||||
|
|
||||||
import (
|
|
||||||
"errors"
|
|
||||||
fmt "fmt"
|
|
||||||
"strings"
|
|
||||||
time "time"
|
|
||||||
|
|
||||||
sdkmath "cosmossdk.io/math"
|
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
DefaultCommitsDuration = 5 * time.Minute
|
|
||||||
DefaultRevealsDuration = 5 * time.Minute
|
|
||||||
|
|
||||||
DefaultCommitFee = sdkmath.NewInt(1000) // 10^3 alnt
|
|
||||||
DefaultRevealFee = sdkmath.NewInt(1000) // 10^3 alnt
|
|
||||||
DefaultMinimumBid = sdkmath.NewInt(1000000) // 10^6 alnt
|
|
||||||
)
|
|
||||||
|
|
||||||
func NewParams(commitsDuration time.Duration, revealsDuration time.Duration, commitFee sdk.Coin, revealFee sdk.Coin, minimumBid sdk.Coin) Params {
|
|
||||||
return Params{
|
|
||||||
CommitsDuration: commitsDuration,
|
|
||||||
RevealsDuration: revealsDuration,
|
|
||||||
CommitFee: commitFee,
|
|
||||||
RevealFee: revealFee,
|
|
||||||
MinimumBid: minimumBid,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// DefaultParams returns a default set of parameters.
|
// DefaultParams returns a default set of parameters.
|
||||||
func DefaultParams() Params {
|
func DefaultParams() Params {
|
||||||
return Params{
|
return Params{}
|
||||||
CommitsDuration: DefaultCommitsDuration,
|
|
||||||
RevealsDuration: DefaultRevealsDuration,
|
|
||||||
CommitFee: sdk.NewCoin(sdk.DefaultBondDenom, DefaultCommitFee),
|
|
||||||
RevealFee: sdk.NewCoin(sdk.DefaultBondDenom, DefaultRevealFee),
|
|
||||||
MinimumBid: sdk.NewCoin(sdk.DefaultBondDenom, DefaultMinimumBid),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// String returns a human readable string representation of the parameters.
|
|
||||||
func (p Params) String() string {
|
|
||||||
var sb strings.Builder
|
|
||||||
sb.WriteString("Params: \n")
|
|
||||||
sb.WriteString(fmt.Sprintf("CommitsDuration: %s\n", p.CommitsDuration.String()))
|
|
||||||
sb.WriteString(fmt.Sprintf("RevealsDuration: %s\n", p.RevealsDuration.String()))
|
|
||||||
sb.WriteString(fmt.Sprintf("CommitFee: %s\n", p.CommitFee.String()))
|
|
||||||
sb.WriteString(fmt.Sprintf("RevealFee: %s\n", p.RevealFee.String()))
|
|
||||||
sb.WriteString(fmt.Sprintf("MinimumBid: %s\n", p.MinimumBid.String()))
|
|
||||||
return sb.String()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate a set of params.
|
// Validate a set of params.
|
||||||
func (p Params) Validate() error {
|
func (p Params) Validate() error {
|
||||||
if err := validateCommitsDuration(p.CommitsDuration); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := validateRevealsDuration(p.RevealsDuration); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := validateCommitFee(p.CommitFee); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := validateRevealFee(p.RevealFee); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := validateMinimumBid(p.MinimumBid); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func validateCommitsDuration(i interface{}) error {
|
|
||||||
v, ok := i.(time.Duration)
|
|
||||||
if !ok {
|
|
||||||
return fmt.Errorf("invalid parameter type: %T", i)
|
|
||||||
}
|
|
||||||
|
|
||||||
if v < 0 {
|
|
||||||
return errors.New("commits duration cannot be negative")
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func validateRevealsDuration(i interface{}) error {
|
|
||||||
v, ok := i.(time.Duration)
|
|
||||||
if !ok {
|
|
||||||
return fmt.Errorf("invalid parameter type: %T", i)
|
|
||||||
}
|
|
||||||
|
|
||||||
if v < 0 {
|
|
||||||
return errors.New("reveals duration cannot be negative")
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func validateCommitFee(i interface{}) error {
|
|
||||||
v, ok := i.(sdk.Coin)
|
|
||||||
if !ok {
|
|
||||||
return fmt.Errorf("invalid parameter type: %T", i)
|
|
||||||
}
|
|
||||||
|
|
||||||
if v.Amount.IsNegative() {
|
|
||||||
return errors.New("commit fee must be positive")
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func validateRevealFee(i interface{}) error {
|
|
||||||
v, ok := i.(sdk.Coin)
|
|
||||||
if !ok {
|
|
||||||
return fmt.Errorf("invalid parameter type: %T", i)
|
|
||||||
}
|
|
||||||
|
|
||||||
if v.Amount.IsNegative() {
|
|
||||||
return errors.New("reveal fee must be positive")
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func validateMinimumBid(i interface{}) error {
|
|
||||||
v, ok := i.(sdk.Coin)
|
|
||||||
if !ok {
|
|
||||||
return fmt.Errorf("invalid parameter type: %T", i)
|
|
||||||
}
|
|
||||||
|
|
||||||
if v.Amount.IsNegative() {
|
|
||||||
return errors.New("minimum bid must be positive")
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -38,18 +38,27 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
|
|||||||
|
|
||||||
// MsgCreateAuction defines a create auction message
|
// MsgCreateAuction defines a create auction message
|
||||||
type MsgCreateAuction struct {
|
type MsgCreateAuction struct {
|
||||||
// Duration of the commits phase in seconds
|
|
||||||
CommitsDuration time.Duration `protobuf:"bytes,1,opt,name=commits_duration,json=commitsDuration,proto3,stdduration" json:"commits_duration" json:"commits_duration" yaml:"commits_duration"`
|
|
||||||
// Duration of the reveals phase in seconds
|
|
||||||
RevealsDuration time.Duration `protobuf:"bytes,2,opt,name=reveals_duration,json=revealsDuration,proto3,stdduration" json:"reveals_duration" json:"reveals_duration" yaml:"reveals_duration"`
|
|
||||||
// Commit fees
|
|
||||||
CommitFee types.Coin `protobuf:"bytes,3,opt,name=commit_fee,json=commitFee,proto3" json:"commit_fee" json:"commit_fee" yaml:"commit_fee"`
|
|
||||||
// Reveal fees
|
|
||||||
RevealFee types.Coin `protobuf:"bytes,4,opt,name=reveal_fee,json=revealFee,proto3" json:"reveal_fee" json:"reveal_fee" yaml:"reveal_fee"`
|
|
||||||
// Minimum acceptable bid amount
|
|
||||||
MinimumBid types.Coin `protobuf:"bytes,5,opt,name=minimum_bid,json=minimumBid,proto3" json:"minimum_bid" json:"minimum_bid" yaml:"minimum_bid"`
|
|
||||||
// Address of the signer
|
// Address of the signer
|
||||||
Signer string `protobuf:"bytes,6,opt,name=signer,proto3" json:"signer,omitempty" json:"signer" yaml:"signer"`
|
Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty" json:"signer" yaml:"signer"`
|
||||||
|
// Auction kind (vickrey | provider)
|
||||||
|
Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty" json:"kind" yaml:"kind"`
|
||||||
|
// Duration of the commits phase in seconds
|
||||||
|
CommitsDuration time.Duration `protobuf:"bytes,3,opt,name=commits_duration,json=commitsDuration,proto3,stdduration" json:"commits_duration" json:"commits_duration" yaml:"commits_duration"`
|
||||||
|
// Duration of the reveals phase in seconds
|
||||||
|
RevealsDuration time.Duration `protobuf:"bytes,4,opt,name=reveals_duration,json=revealsDuration,proto3,stdduration" json:"reveals_duration" json:"reveals_duration" yaml:"reveals_duration"`
|
||||||
|
// Commit fees
|
||||||
|
CommitFee types.Coin `protobuf:"bytes,5,opt,name=commit_fee,json=commitFee,proto3" json:"commit_fee" json:"commit_fee" yaml:"commit_fee"`
|
||||||
|
// Reveal fees
|
||||||
|
RevealFee types.Coin `protobuf:"bytes,6,opt,name=reveal_fee,json=revealFee,proto3" json:"reveal_fee" json:"reveal_fee" yaml:"reveal_fee"`
|
||||||
|
// Minimum acceptable bid amount
|
||||||
|
// Only applicable in vickrey auctions
|
||||||
|
MinimumBid types.Coin `protobuf:"bytes,7,opt,name=minimum_bid,json=minimumBid,proto3" json:"minimum_bid" json:"minimum_bid" yaml:"minimum_bid"`
|
||||||
|
// Maximum acceptable bid amount
|
||||||
|
// Only applicable in provider auctions
|
||||||
|
MaxPrice types.Coin `protobuf:"bytes,8,opt,name=max_price,json=maxPrice,proto3" json:"max_price" json:"max_price" yaml:"max_price"`
|
||||||
|
// Number of desired providers (num of auction winners)
|
||||||
|
// Only applicable in provider auctions
|
||||||
|
NumProviders int32 `protobuf:"varint,9,opt,name=num_providers,json=numProviders,proto3" json:"num_providers,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *MsgCreateAuction) Reset() { *m = MsgCreateAuction{} }
|
func (m *MsgCreateAuction) Reset() { *m = MsgCreateAuction{} }
|
||||||
@ -384,6 +393,87 @@ func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo
|
var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo
|
||||||
|
|
||||||
|
// ReleaseFunds defines the message to pay the winners of provider auctions
|
||||||
|
type MsgReleaseFunds struct {
|
||||||
|
// Auction id
|
||||||
|
AuctionId string `protobuf:"bytes,1,opt,name=auction_id,json=auctionId,proto3" json:"auction_id,omitempty" json:"auction_id" yaml:"auction_id"`
|
||||||
|
// Address of the signer
|
||||||
|
Signer string `protobuf:"bytes,2,opt,name=signer,proto3" json:"signer,omitempty" json:"signer" yaml:"signer"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *MsgReleaseFunds) Reset() { *m = MsgReleaseFunds{} }
|
||||||
|
func (m *MsgReleaseFunds) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*MsgReleaseFunds) ProtoMessage() {}
|
||||||
|
func (*MsgReleaseFunds) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_70947cda59e835fd, []int{8}
|
||||||
|
}
|
||||||
|
func (m *MsgReleaseFunds) XXX_Unmarshal(b []byte) error {
|
||||||
|
return m.Unmarshal(b)
|
||||||
|
}
|
||||||
|
func (m *MsgReleaseFunds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
if deterministic {
|
||||||
|
return xxx_messageInfo_MsgReleaseFunds.Marshal(b, m, deterministic)
|
||||||
|
} else {
|
||||||
|
b = b[:cap(b)]
|
||||||
|
n, err := m.MarshalToSizedBuffer(b)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return b[:n], nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func (m *MsgReleaseFunds) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_MsgReleaseFunds.Merge(m, src)
|
||||||
|
}
|
||||||
|
func (m *MsgReleaseFunds) XXX_Size() int {
|
||||||
|
return m.Size()
|
||||||
|
}
|
||||||
|
func (m *MsgReleaseFunds) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_MsgReleaseFunds.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_MsgReleaseFunds proto.InternalMessageInfo
|
||||||
|
|
||||||
|
// MsgReleaseFundsResponse returns the state of the auction after releasing the
|
||||||
|
// funds
|
||||||
|
type MsgReleaseFundsResponse struct {
|
||||||
|
// Auction details
|
||||||
|
Auction *Auction `protobuf:"bytes,1,opt,name=auction,proto3" json:"auction,omitempty" json:"auction" yaml:"auction"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *MsgReleaseFundsResponse) Reset() { *m = MsgReleaseFundsResponse{} }
|
||||||
|
func (m *MsgReleaseFundsResponse) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*MsgReleaseFundsResponse) ProtoMessage() {}
|
||||||
|
func (*MsgReleaseFundsResponse) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_70947cda59e835fd, []int{9}
|
||||||
|
}
|
||||||
|
func (m *MsgReleaseFundsResponse) XXX_Unmarshal(b []byte) error {
|
||||||
|
return m.Unmarshal(b)
|
||||||
|
}
|
||||||
|
func (m *MsgReleaseFundsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
if deterministic {
|
||||||
|
return xxx_messageInfo_MsgReleaseFundsResponse.Marshal(b, m, deterministic)
|
||||||
|
} else {
|
||||||
|
b = b[:cap(b)]
|
||||||
|
n, err := m.MarshalToSizedBuffer(b)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return b[:n], nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func (m *MsgReleaseFundsResponse) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_MsgReleaseFundsResponse.Merge(m, src)
|
||||||
|
}
|
||||||
|
func (m *MsgReleaseFundsResponse) XXX_Size() int {
|
||||||
|
return m.Size()
|
||||||
|
}
|
||||||
|
func (m *MsgReleaseFundsResponse) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_MsgReleaseFundsResponse.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_MsgReleaseFundsResponse proto.InternalMessageInfo
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
proto.RegisterType((*MsgCreateAuction)(nil), "cerc.auction.v1.MsgCreateAuction")
|
proto.RegisterType((*MsgCreateAuction)(nil), "cerc.auction.v1.MsgCreateAuction")
|
||||||
proto.RegisterType((*MsgCreateAuctionResponse)(nil), "cerc.auction.v1.MsgCreateAuctionResponse")
|
proto.RegisterType((*MsgCreateAuctionResponse)(nil), "cerc.auction.v1.MsgCreateAuctionResponse")
|
||||||
@ -393,67 +483,78 @@ func init() {
|
|||||||
proto.RegisterType((*MsgRevealBidResponse)(nil), "cerc.auction.v1.MsgRevealBidResponse")
|
proto.RegisterType((*MsgRevealBidResponse)(nil), "cerc.auction.v1.MsgRevealBidResponse")
|
||||||
proto.RegisterType((*MsgUpdateParams)(nil), "cerc.auction.v1.MsgUpdateParams")
|
proto.RegisterType((*MsgUpdateParams)(nil), "cerc.auction.v1.MsgUpdateParams")
|
||||||
proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cerc.auction.v1.MsgUpdateParamsResponse")
|
proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cerc.auction.v1.MsgUpdateParamsResponse")
|
||||||
|
proto.RegisterType((*MsgReleaseFunds)(nil), "cerc.auction.v1.MsgReleaseFunds")
|
||||||
|
proto.RegisterType((*MsgReleaseFundsResponse)(nil), "cerc.auction.v1.MsgReleaseFundsResponse")
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { proto.RegisterFile("cerc/auction/v1/tx.proto", fileDescriptor_70947cda59e835fd) }
|
func init() { proto.RegisterFile("cerc/auction/v1/tx.proto", fileDescriptor_70947cda59e835fd) }
|
||||||
|
|
||||||
var fileDescriptor_70947cda59e835fd = []byte{
|
var fileDescriptor_70947cda59e835fd = []byte{
|
||||||
// 881 bytes of a gzipped FileDescriptorProto
|
// 1025 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x41, 0x6f, 0xdc, 0x44,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x4f, 0x6f, 0xe3, 0x44,
|
||||||
0x14, 0x5e, 0x77, 0x93, 0x45, 0x3b, 0x29, 0xa4, 0xb2, 0x82, 0xe2, 0x6c, 0xc9, 0x3a, 0x71, 0x15,
|
0x14, 0x8f, 0xdb, 0x34, 0xbb, 0x99, 0x74, 0xe9, 0xca, 0x2a, 0xaa, 0x9b, 0xd2, 0x38, 0x75, 0x55,
|
||||||
0x35, 0x2d, 0x8a, 0xad, 0x04, 0x41, 0xa5, 0x70, 0x40, 0x71, 0x51, 0x05, 0x48, 0x91, 0x90, 0x51,
|
0xb6, 0x5d, 0x54, 0x5b, 0x0d, 0x82, 0x95, 0xca, 0x01, 0x35, 0x8b, 0x2a, 0x40, 0xaa, 0x54, 0x19,
|
||||||
0x2f, 0xbd, 0xac, 0xc6, 0xf6, 0xd4, 0x3b, 0x68, 0xed, 0x59, 0x79, 0xbc, 0x4b, 0x7b, 0x83, 0x1e,
|
0xed, 0x65, 0x2f, 0xd1, 0xc4, 0x9e, 0xba, 0x03, 0xb1, 0x1d, 0x79, 0x9c, 0xd0, 0xbd, 0x41, 0x0f,
|
||||||
0x10, 0xc7, 0x4a, 0x5c, 0xb8, 0x20, 0xf1, 0x13, 0x7a, 0xe0, 0x47, 0xf4, 0x58, 0xc1, 0x05, 0x2e,
|
0x88, 0xe3, 0x4a, 0x5c, 0x38, 0x22, 0xf1, 0x05, 0xf6, 0xc0, 0x87, 0xd8, 0xe3, 0x0a, 0x24, 0x04,
|
||||||
0x0b, 0x24, 0x48, 0xbd, 0x70, 0xda, 0x5f, 0x80, 0x66, 0xe6, 0xcd, 0xda, 0xeb, 0x5d, 0x35, 0xaa,
|
0x97, 0x80, 0x5a, 0xc4, 0x5e, 0x38, 0xe5, 0x13, 0xa0, 0x99, 0x79, 0xfe, 0x13, 0x27, 0xda, 0xaa,
|
||||||
0x88, 0xb8, 0xed, 0x7b, 0xdf, 0x9b, 0xf7, 0x7d, 0xef, 0xf3, 0x1b, 0x7b, 0x91, 0x15, 0x91, 0x3c,
|
0xda, 0x6a, 0x6f, 0x9e, 0xf7, 0xef, 0xf7, 0xde, 0xef, 0xbd, 0x37, 0x1e, 0xa4, 0x39, 0x24, 0x72,
|
||||||
0xf2, 0xf0, 0x28, 0x2a, 0x28, 0xcb, 0xbc, 0xf1, 0xa1, 0x57, 0x3c, 0x72, 0x87, 0x39, 0x2b, 0x98,
|
0x2c, 0x3c, 0x70, 0x62, 0x1a, 0x06, 0xd6, 0x70, 0xcf, 0x8a, 0xcf, 0xcc, 0x7e, 0x14, 0xc6, 0xa1,
|
||||||
0xb9, 0x2e, 0x10, 0x17, 0x10, 0x77, 0x7c, 0xd8, 0xd9, 0x8c, 0x18, 0x4f, 0x19, 0xf7, 0x52, 0x9e,
|
0xba, 0xc4, 0x35, 0x26, 0x68, 0xcc, 0xe1, 0x5e, 0x7d, 0xc5, 0x09, 0x99, 0x1f, 0x32, 0xcb, 0x67,
|
||||||
0x88, 0xc2, 0x94, 0x27, 0xaa, 0xb2, 0xb3, 0x91, 0xb0, 0x84, 0xc9, 0x9f, 0x9e, 0xf8, 0x05, 0xd9,
|
0x1e, 0x37, 0xf4, 0x99, 0x27, 0x2d, 0xeb, 0xcb, 0x5e, 0xe8, 0x85, 0xe2, 0xd3, 0xe2, 0x5f, 0x20,
|
||||||
0x77, 0x12, 0xc6, 0x92, 0x01, 0xf1, 0xf0, 0x90, 0x7a, 0x38, 0xcb, 0x58, 0x81, 0x45, 0x23, 0x0e,
|
0x7d, 0xc7, 0x0b, 0x43, 0xaf, 0x47, 0x2c, 0xdc, 0xa7, 0x16, 0x0e, 0x82, 0x30, 0xc6, 0x3c, 0x10,
|
||||||
0x68, 0x17, 0x50, 0x19, 0x85, 0xa3, 0x87, 0x5e, 0x3c, 0xca, 0x65, 0x81, 0xc6, 0x81, 0x2c, 0xc4,
|
0x03, 0x6d, 0x03, 0xb4, 0xe2, 0xd4, 0x1d, 0x9c, 0x58, 0xee, 0x20, 0x12, 0x06, 0x89, 0x1e, 0xc0,
|
||||||
0x9c, 0x78, 0xe3, 0xc3, 0x90, 0x14, 0xf8, 0xd0, 0x8b, 0x18, 0xd5, 0xf8, 0x96, 0xc2, 0x7b, 0x8a,
|
0xba, 0x98, 0x11, 0x6b, 0xb8, 0xd7, 0x25, 0x31, 0xde, 0xb3, 0x9c, 0x90, 0x26, 0xfa, 0x55, 0xa9,
|
||||||
0x56, 0x05, 0x00, 0x6d, 0xd7, 0x47, 0xd2, 0x33, 0x48, 0xd8, 0xf9, 0x71, 0x15, 0x5d, 0x3b, 0xe5,
|
0xef, 0x48, 0x58, 0x79, 0x00, 0xd5, 0x7a, 0xb1, 0xa4, 0xa4, 0x06, 0xa1, 0x36, 0x7e, 0xaf, 0xa0,
|
||||||
0xc9, 0xdd, 0x9c, 0xe0, 0x82, 0x9c, 0x28, 0xc8, 0xfc, 0xc6, 0x40, 0xd7, 0x22, 0x96, 0xa6, 0xb4,
|
0xbb, 0x47, 0xcc, 0x7b, 0x18, 0x11, 0x1c, 0x93, 0x03, 0xa9, 0x52, 0x1f, 0xa0, 0x0a, 0xa3, 0x5e,
|
||||||
0xe0, 0x3d, 0xad, 0xc4, 0x32, 0x76, 0x8c, 0xfd, 0xb5, 0xa3, 0x2d, 0x57, 0x49, 0x75, 0xb5, 0x54,
|
0x40, 0x22, 0x4d, 0x69, 0x2a, 0xdb, 0xd5, 0xb6, 0x3e, 0x1e, 0xe9, 0x6b, 0x5f, 0xb2, 0x30, 0xd8,
|
||||||
0xf7, 0x63, 0x28, 0xf0, 0x3f, 0x7c, 0x3e, 0xb1, 0x1b, 0xd3, 0x89, 0xed, 0x7d, 0xc9, 0x59, 0x76,
|
0x37, 0xa4, 0xdc, 0x68, 0x3e, 0xc1, 0x7e, 0x2f, 0x3d, 0xd9, 0x60, 0xae, 0x5a, 0xa8, 0xfc, 0x15,
|
||||||
0xec, 0xd4, 0x1b, 0x38, 0x3b, 0x8f, 0x71, 0x3a, 0x58, 0x92, 0xff, 0xe1, 0x0f, 0xdb, 0x08, 0xd6,
|
0x0d, 0x5c, 0x6d, 0x4e, 0xb8, 0xad, 0x8d, 0x47, 0xfa, 0x8a, 0x74, 0xe3, 0xd2, 0xc4, 0x49, 0x7c,
|
||||||
0x21, 0xad, 0xbb, 0x49, 0x0d, 0x39, 0x19, 0x13, 0x3c, 0xa8, 0x68, 0xb8, 0xf2, 0x9a, 0x1a, 0xea,
|
0xdb, 0xc2, 0x50, 0xfd, 0x56, 0x41, 0x77, 0x9d, 0xd0, 0xf7, 0x69, 0xcc, 0x3a, 0x49, 0xcd, 0xda,
|
||||||
0x0d, 0xb4, 0x86, 0x85, 0xbc, 0xd2, 0x00, 0xe9, 0x99, 0x06, 0x82, 0x90, 0x92, 0xd5, 0x7b, 0x48,
|
0x7c, 0x53, 0xd9, 0xae, 0xb5, 0x56, 0x4d, 0x49, 0x8a, 0x99, 0x90, 0x62, 0x7e, 0x02, 0x06, 0xed,
|
||||||
0x88, 0xd5, 0x04, 0x72, 0xb0, 0x57, 0x3c, 0x0b, 0x17, 0x9e, 0x85, 0x7b, 0x97, 0xd1, 0xcc, 0x7f,
|
0x8f, 0x9e, 0x8f, 0xf4, 0xd2, 0x78, 0xa4, 0x5b, 0x32, 0x78, 0x31, 0x40, 0x02, 0x34, 0x25, 0xff,
|
||||||
0x17, 0xc8, 0x6f, 0x54, 0x0d, 0x10, 0x47, 0xe7, 0x47, 0x97, 0x99, 0xa0, 0xad, 0x82, 0x7b, 0x84,
|
0xf1, 0x2f, 0x5d, 0xb1, 0x97, 0x40, 0x9c, 0x44, 0x13, 0x39, 0x44, 0x64, 0x48, 0x70, 0x2f, 0x97,
|
||||||
0x08, 0x1a, 0xc5, 0x2c, 0x69, 0x56, 0x5e, 0x93, 0xa6, 0x3c, 0x3a, 0x3f, 0x1d, 0xd0, 0xa8, 0x40,
|
0x43, 0xf9, 0x9a, 0x39, 0x14, 0x03, 0x24, 0x39, 0x4c, 0xc9, 0x65, 0x0e, 0x20, 0x4e, 0x73, 0x20,
|
||||||
0xd0, 0x50, 0xb4, 0x96, 0xd2, 0x8c, 0xa6, 0xa3, 0xb4, 0x17, 0xd2, 0xd8, 0x5a, 0xbd, 0x88, 0xe7,
|
0x08, 0xc9, 0xb4, 0x3a, 0x27, 0x84, 0x68, 0x0b, 0x00, 0x0e, 0x8d, 0xe4, 0x5d, 0x37, 0xa1, 0xeb,
|
||||||
0x00, 0x78, 0xf6, 0x14, 0x4f, 0xe5, 0xac, 0x26, 0xaa, 0xa6, 0x02, 0x04, 0x91, 0x4f, 0x63, 0xf3,
|
0xe6, 0xc3, 0x90, 0x06, 0xed, 0xf7, 0x00, 0x7c, 0x33, 0x4f, 0x00, 0x77, 0x9d, 0x2c, 0x5d, 0x48,
|
||||||
0x0e, 0x6a, 0x71, 0x9a, 0x64, 0x24, 0xb7, 0x5a, 0x3b, 0xc6, 0x7e, 0xdb, 0xb7, 0xa7, 0x13, 0xfb,
|
0xec, 0xaa, 0x3c, 0x1c, 0x12, 0xc2, 0x61, 0x24, 0xb2, 0x80, 0xa9, 0x5c, 0x13, 0x26, 0x73, 0x9d,
|
||||||
0xba, 0x6a, 0xa3, 0xf2, 0xba, 0x03, 0x44, 0x01, 0x94, 0x1f, 0xaf, 0x7f, 0xf7, 0x93, 0xdd, 0x78,
|
0xac, 0x0e, 0x60, 0xe4, 0x81, 0xc3, 0x50, 0x54, 0xf3, 0x69, 0x40, 0xfd, 0x81, 0xdf, 0xe9, 0x52,
|
||||||
0xf2, 0xf2, 0xd9, 0x6d, 0x48, 0x38, 0x5f, 0x21, 0xab, 0xbe, 0x9e, 0x01, 0xe1, 0x43, 0x96, 0x71,
|
0x57, 0xbb, 0x75, 0x15, 0xce, 0x2e, 0xe0, 0x6c, 0x49, 0x9c, 0x9c, 0x6f, 0x02, 0x94, 0x17, 0xd9,
|
||||||
0x62, 0xde, 0x47, 0x6f, 0xc0, 0x32, 0xc3, 0x72, 0x5a, 0x6e, 0xed, 0x96, 0xba, 0x70, 0xc4, 0xdf,
|
0x08, 0x4e, 0x6d, 0xea, 0xaa, 0x18, 0x55, 0x7d, 0x7c, 0xd6, 0xe9, 0x47, 0xd4, 0x21, 0xda, 0xed,
|
||||||
0x9d, 0x4e, 0xec, 0x6d, 0x25, 0x00, 0x50, 0xad, 0x40, 0x87, 0x81, 0xee, 0x75, 0xbc, 0x22, 0x34,
|
0xab, 0x80, 0x76, 0x00, 0x68, 0x03, 0x80, 0x12, 0xcf, 0x14, 0x26, 0x15, 0xd8, 0xb7, 0x7d, 0x7c,
|
||||||
0x38, 0xff, 0x18, 0xe8, 0xaa, 0x60, 0x96, 0x4f, 0x49, 0xcc, 0x74, 0x0f, 0x21, 0xa8, 0xe8, 0xd1,
|
0x76, 0xcc, 0x3f, 0xd5, 0x4d, 0x74, 0x27, 0x18, 0xf8, 0x7c, 0xb7, 0x86, 0xd4, 0x25, 0x11, 0xd3,
|
||||||
0x58, 0x12, 0xb6, 0xfd, 0x9b, 0xe5, 0x63, 0x28, 0xb1, 0x5a, 0x67, 0x91, 0x09, 0xda, 0x10, 0x7c,
|
0xaa, 0x4d, 0x65, 0x7b, 0xc1, 0x5e, 0x0c, 0x06, 0xfe, 0x71, 0x22, 0xdb, 0x5f, 0xfa, 0xfe, 0x27,
|
||||||
0x1a, 0x9b, 0x9f, 0xa1, 0x35, 0xd8, 0x83, 0x3e, 0xe6, 0x7d, 0xb9, 0xd2, 0x6d, 0xff, 0x56, 0xe9,
|
0xbd, 0x74, 0xfe, 0xf2, 0xd9, 0x7d, 0x58, 0x05, 0xe3, 0x6b, 0xa4, 0x15, 0xf7, 0xca, 0x26, 0xac,
|
||||||
0x73, 0x05, 0xac, 0xed, 0x8d, 0x4c, 0x05, 0xb0, 0x92, 0x9f, 0x60, 0xde, 0xaf, 0xf8, 0xdc, 0xfc,
|
0x1f, 0x06, 0x8c, 0xa8, 0x8f, 0xd0, 0x2d, 0xd8, 0x42, 0xb1, 0x60, 0xb5, 0x96, 0x66, 0x16, 0xae,
|
||||||
0x8f, 0x3e, 0xf7, 0xd0, 0x46, 0x75, 0xda, 0x99, 0xc7, 0x27, 0xa8, 0x19, 0xc2, 0xb8, 0x6b, 0x47,
|
0x17, 0x13, 0x5c, 0xda, 0x1b, 0xe3, 0x91, 0xbe, 0x2e, 0xb3, 0x05, 0x6d, 0x92, 0x6b, 0x72, 0xb4,
|
||||||
0x1b, 0x0b, 0xfe, 0xfa, 0x34, 0xf6, 0xb7, 0xa6, 0x13, 0xfb, 0x6d, 0x45, 0x5a, 0xd9, 0x0d, 0xb9,
|
0x93, 0x58, 0xfb, 0x65, 0x9e, 0x83, 0xf1, 0x9f, 0x82, 0x16, 0x39, 0xb2, 0x68, 0x3a, 0xa7, 0xe8,
|
||||||
0x13, 0xe2, 0x2c, 0xf8, 0xf9, 0xbb, 0xf2, 0x33, 0x90, 0xeb, 0x78, 0x99, 0x7e, 0xde, 0x41, 0x2d,
|
0x10, 0x21, 0xb0, 0xe8, 0x50, 0x17, 0x36, 0xfa, 0x5e, 0xd6, 0xd5, 0x4c, 0x57, 0x88, 0xcc, 0x25,
|
||||||
0xb5, 0xe3, 0x60, 0x65, 0xc5, 0x03, 0x95, 0x9f, 0xbf, 0x16, 0x4e, 0x00, 0xe5, 0x97, 0x68, 0x1e,
|
0x76, 0x15, 0x0e, 0x9f, 0xb9, 0xea, 0xe7, 0xa8, 0x06, 0x63, 0x75, 0x8a, 0xd9, 0x29, 0xec, 0xf8,
|
||||||
0x97, 0xe6, 0xcd, 0x46, 0xfb, 0x7f, 0x16, 0xf4, 0xa9, 0x81, 0xd6, 0x4f, 0x79, 0x72, 0x7f, 0x18,
|
0x4e, 0xd6, 0xb6, 0x9c, 0xb2, 0x30, 0x86, 0x42, 0x64, 0xc3, 0x84, 0x7f, 0x8a, 0xd9, 0x69, 0xee,
|
||||||
0xe3, 0x82, 0x7c, 0x8e, 0x73, 0x9c, 0x72, 0xf3, 0x03, 0xd4, 0xc6, 0xa3, 0xa2, 0xcf, 0x72, 0x5a,
|
0x86, 0x99, 0xbf, 0xd6, 0x0d, 0x33, 0xcd, 0x73, 0x07, 0x2d, 0xe7, 0xab, 0x4d, 0x39, 0x3e, 0x40,
|
||||||
0x3c, 0x06, 0x4b, 0xad, 0x5f, 0x7e, 0x3e, 0xd8, 0x80, 0x3b, 0x7e, 0x12, 0xc7, 0x39, 0xe1, 0xfc,
|
0xf3, 0x5d, 0x28, 0xb7, 0xd6, 0x5a, 0x9e, 0xe2, 0xb7, 0x4d, 0xdd, 0xf6, 0xea, 0x78, 0xa4, 0xbf,
|
||||||
0x8b, 0x22, 0xa7, 0x59, 0x12, 0x94, 0xa5, 0xe6, 0xfb, 0xa8, 0x35, 0x94, 0x1d, 0xe0, 0x0d, 0xbb,
|
0x2d, 0x41, 0x73, 0xa3, 0x26, 0x46, 0x8c, 0xfb, 0x02, 0x9f, 0x7f, 0x4a, 0x3e, 0x6d, 0x31, 0xdd,
|
||||||
0xb9, 0xa0, 0x53, 0x11, 0xf8, 0x2b, 0xe2, 0x9d, 0x10, 0x40, 0xf1, 0xf1, 0x5b, 0xc2, 0x84, 0xb2,
|
0x37, 0xc9, 0xe7, 0x03, 0x54, 0x91, 0x2b, 0x03, 0x54, 0xe6, 0x38, 0x90, 0xf2, 0xc9, 0x2d, 0x33,
|
||||||
0x8d, 0xb3, 0x85, 0x36, 0x6b, 0x8a, 0xb4, 0x15, 0x47, 0x7f, 0x35, 0x51, 0xf3, 0x94, 0x27, 0xe6,
|
0x6c, 0x30, 0xbf, 0x41, 0xf2, 0x98, 0x20, 0x2f, 0x2d, 0xed, 0xcd, 0x0c, 0xe8, 0x53, 0x05, 0x2d,
|
||||||
0xb7, 0x06, 0x7a, 0x73, 0xfe, 0x63, 0xb3, 0xbb, 0xc0, 0x55, 0xbf, 0xf0, 0x9d, 0x5b, 0x17, 0x96,
|
0x1d, 0x31, 0xef, 0x51, 0xdf, 0xc5, 0x31, 0x39, 0xc6, 0x11, 0xf6, 0x99, 0xfa, 0x21, 0xaa, 0xe2,
|
||||||
0x68, 0x1e, 0xe7, 0xe6, 0x93, 0x5f, 0xff, 0xfe, 0xfe, 0xca, 0xae, 0x63, 0x7b, 0xf5, 0xef, 0x5e,
|
0x41, 0x7c, 0x1a, 0x46, 0x34, 0x7e, 0x02, 0x94, 0x6a, 0xbf, 0xfe, 0xb2, 0xbb, 0x0c, 0x9b, 0x7c,
|
||||||
0x24, 0xeb, 0x7b, 0x90, 0x31, 0xc7, 0xa8, 0x5d, 0xde, 0xed, 0xed, 0xa5, 0x04, 0x1a, 0xee, 0xec,
|
0xe0, 0xba, 0x11, 0x61, 0xec, 0x8b, 0x38, 0xa2, 0x81, 0x67, 0x67, 0xa6, 0xea, 0x07, 0xa8, 0xd2,
|
||||||
0xbd, 0x12, 0x9e, 0x71, 0xdf, 0x90, 0xdc, 0xdb, 0xce, 0xf5, 0x45, 0x6e, 0x75, 0x81, 0x43, 0x1a,
|
0x17, 0x11, 0x04, 0x87, 0xb5, 0xd6, 0xca, 0x54, 0x9e, 0x12, 0xa0, 0x5d, 0xe6, 0x9b, 0x6f, 0x83,
|
||||||
0x0b, 0xde, 0xf2, 0x0e, 0x2c, 0xe5, 0x9d, 0xc1, 0xcb, 0x79, 0x17, 0xd6, 0xec, 0x15, 0xbc, 0xf0,
|
0xf1, 0xfe, 0x5b, 0x9c, 0x84, 0x2c, 0x8c, 0xb1, 0x8a, 0x56, 0x0a, 0x19, 0x25, 0x54, 0x18, 0x3f,
|
||||||
0x25, 0x10, 0xbc, 0x0f, 0xd0, 0xd5, 0xb9, 0x55, 0xd9, 0x59, 0xd6, 0xbb, 0x5a, 0xd1, 0xd9, 0xbf,
|
0xcb, 0x6c, 0x6d, 0xd2, 0x23, 0x98, 0x91, 0xc3, 0x41, 0xe0, 0xb2, 0x9b, 0x9c, 0x00, 0x68, 0xe4,
|
||||||
0xa8, 0x42, 0x0b, 0xe8, 0xac, 0x7e, 0xfd, 0xf2, 0xd9, 0x6d, 0xc3, 0xff, 0xe8, 0xf9, 0x59, 0xd7,
|
0xdc, 0x6b, 0x36, 0x72, 0x28, 0x0a, 0xc8, 0x27, 0xf9, 0x46, 0x7a, 0xd9, 0xfa, 0xb7, 0x8c, 0xe6,
|
||||||
0x78, 0x71, 0xd6, 0x35, 0xfe, 0x3c, 0xeb, 0x1a, 0x4f, 0xcf, 0xbb, 0x8d, 0x17, 0xe7, 0xdd, 0xc6,
|
0x8f, 0x98, 0xa7, 0x7e, 0xa7, 0xa0, 0x3b, 0x93, 0x6f, 0x88, 0x8d, 0x29, 0x94, 0xe2, 0x75, 0x58,
|
||||||
0x6f, 0xe7, 0xdd, 0xc6, 0x83, 0xbd, 0x84, 0x16, 0xee, 0x38, 0x0e, 0x5d, 0xf1, 0xef, 0x84, 0xe4,
|
0xdf, 0xb9, 0xd2, 0x24, 0xed, 0xc2, 0xbd, 0xf3, 0xdf, 0xfe, 0xf9, 0x61, 0x6e, 0xc3, 0xd0, 0xad,
|
||||||
0xd1, 0x01, 0x65, 0xde, 0x00, 0x47, 0x2c, 0xa3, 0x51, 0xec, 0x3d, 0xd2, 0x8a, 0xc3, 0x96, 0xfc,
|
0xe2, 0x73, 0xc6, 0x11, 0xf6, 0x1d, 0x90, 0xa8, 0x43, 0x54, 0xcd, 0x6e, 0xbe, 0xf5, 0x99, 0x00,
|
||||||
0xa0, 0xbf, 0xf7, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xca, 0x2e, 0x75, 0x29, 0x87, 0x09, 0x00,
|
0x89, 0xba, 0xbe, 0xf5, 0x4a, 0x75, 0x8a, 0xbd, 0x29, 0xb0, 0xd7, 0x8d, 0xb5, 0x69, 0x6c, 0x79,
|
||||||
|
0xbd, 0x75, 0xa9, 0xcb, 0x71, 0xb3, 0x1b, 0x62, 0x26, 0x6e, 0xaa, 0x9e, 0x8d, 0x3b, 0xb5, 0x84,
|
||||||
|
0xaf, 0xc0, 0x85, 0xdf, 0x2e, 0xc7, 0x7d, 0x8c, 0x16, 0x27, 0x16, 0xa9, 0x39, 0x2b, 0x76, 0xde,
|
||||||
|
0xa2, 0xbe, 0x7d, 0x95, 0x45, 0x3a, 0x39, 0xe7, 0x0a, 0x5a, 0x9c, 0x98, 0xfb, 0xe6, 0xec, 0xc4,
|
||||||
|
0x33, 0x8b, 0xd9, 0xc1, 0x67, 0x8d, 0xa5, 0xf1, 0xae, 0xa8, 0xae, 0x69, 0x34, 0x66, 0x54, 0x27,
|
||||||
|
0xcc, 0x3b, 0x27, 0x22, 0xe2, 0xc2, 0x37, 0x2f, 0x9f, 0xdd, 0x57, 0xda, 0x1f, 0x3f, 0xbf, 0x68,
|
||||||
|
0x28, 0x2f, 0x2e, 0x1a, 0xca, 0xdf, 0x17, 0x0d, 0xe5, 0xe9, 0x65, 0xa3, 0xf4, 0xe2, 0xb2, 0x51,
|
||||||
|
0xfa, 0xe3, 0xb2, 0x51, 0x7a, 0xbc, 0xe5, 0xd1, 0xd8, 0x1c, 0xba, 0x5d, 0x93, 0xbf, 0x7c, 0x49,
|
||||||
|
0xe4, 0xec, 0xd2, 0xd0, 0xea, 0x61, 0x27, 0x0c, 0xa8, 0xe3, 0x5a, 0x67, 0x49, 0xe0, 0x6e, 0x45,
|
||||||
|
0x3c, 0xe1, 0xde, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x56, 0x96, 0xba, 0xe3, 0x0b, 0x00,
|
||||||
0x00,
|
0x00,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -478,6 +579,8 @@ type MsgClient interface {
|
|||||||
// UpdateParams defines an operation for updating the x/staking module
|
// UpdateParams defines an operation for updating the x/staking module
|
||||||
// parameters.
|
// parameters.
|
||||||
UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error)
|
UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error)
|
||||||
|
// ReleaseFunds is the command for paying the winners of provider auctions
|
||||||
|
ReleaseFunds(ctx context.Context, in *MsgReleaseFunds, opts ...grpc.CallOption) (*MsgReleaseFundsResponse, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type msgClient struct {
|
type msgClient struct {
|
||||||
@ -524,6 +627,15 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *msgClient) ReleaseFunds(ctx context.Context, in *MsgReleaseFunds, opts ...grpc.CallOption) (*MsgReleaseFundsResponse, error) {
|
||||||
|
out := new(MsgReleaseFundsResponse)
|
||||||
|
err := c.cc.Invoke(ctx, "/cerc.auction.v1.Msg/ReleaseFunds", in, out, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
// MsgServer is the server API for Msg service.
|
// MsgServer is the server API for Msg service.
|
||||||
type MsgServer interface {
|
type MsgServer interface {
|
||||||
// CreateAuction is the command for creating an auction
|
// CreateAuction is the command for creating an auction
|
||||||
@ -535,6 +647,8 @@ type MsgServer interface {
|
|||||||
// UpdateParams defines an operation for updating the x/staking module
|
// UpdateParams defines an operation for updating the x/staking module
|
||||||
// parameters.
|
// parameters.
|
||||||
UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error)
|
UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error)
|
||||||
|
// ReleaseFunds is the command for paying the winners of provider auctions
|
||||||
|
ReleaseFunds(context.Context, *MsgReleaseFunds) (*MsgReleaseFundsResponse, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnimplementedMsgServer can be embedded to have forward compatible implementations.
|
// UnimplementedMsgServer can be embedded to have forward compatible implementations.
|
||||||
@ -553,6 +667,9 @@ func (*UnimplementedMsgServer) RevealBid(ctx context.Context, req *MsgRevealBid)
|
|||||||
func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) {
|
func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented")
|
||||||
}
|
}
|
||||||
|
func (*UnimplementedMsgServer) ReleaseFunds(ctx context.Context, req *MsgReleaseFunds) (*MsgReleaseFundsResponse, error) {
|
||||||
|
return nil, status.Errorf(codes.Unimplemented, "method ReleaseFunds not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
func RegisterMsgServer(s grpc1.Server, srv MsgServer) {
|
func RegisterMsgServer(s grpc1.Server, srv MsgServer) {
|
||||||
s.RegisterService(&_Msg_serviceDesc, srv)
|
s.RegisterService(&_Msg_serviceDesc, srv)
|
||||||
@ -630,6 +747,24 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _Msg_ReleaseFunds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(MsgReleaseFunds)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(MsgServer).ReleaseFunds(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/cerc.auction.v1.Msg/ReleaseFunds",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(MsgServer).ReleaseFunds(ctx, req.(*MsgReleaseFunds))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
var _Msg_serviceDesc = grpc.ServiceDesc{
|
var _Msg_serviceDesc = grpc.ServiceDesc{
|
||||||
ServiceName: "cerc.auction.v1.Msg",
|
ServiceName: "cerc.auction.v1.Msg",
|
||||||
HandlerType: (*MsgServer)(nil),
|
HandlerType: (*MsgServer)(nil),
|
||||||
@ -650,6 +785,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "UpdateParams",
|
MethodName: "UpdateParams",
|
||||||
Handler: _Msg_UpdateParams_Handler,
|
Handler: _Msg_UpdateParams_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "ReleaseFunds",
|
||||||
|
Handler: _Msg_ReleaseFunds_Handler,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Streams: []grpc.StreamDesc{},
|
Streams: []grpc.StreamDesc{},
|
||||||
Metadata: "cerc/auction/v1/tx.proto",
|
Metadata: "cerc/auction/v1/tx.proto",
|
||||||
@ -675,13 +814,21 @@ func (m *MsgCreateAuction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(m.Signer) > 0 {
|
if m.NumProviders != 0 {
|
||||||
i -= len(m.Signer)
|
i = encodeVarintTx(dAtA, i, uint64(m.NumProviders))
|
||||||
copy(dAtA[i:], m.Signer)
|
|
||||||
i = encodeVarintTx(dAtA, i, uint64(len(m.Signer)))
|
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x32
|
dAtA[i] = 0x48
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
size, err := m.MaxPrice.MarshalToSizedBuffer(dAtA[:i])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i -= size
|
||||||
|
i = encodeVarintTx(dAtA, i, uint64(size))
|
||||||
|
}
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x42
|
||||||
{
|
{
|
||||||
size, err := m.MinimumBid.MarshalToSizedBuffer(dAtA[:i])
|
size, err := m.MinimumBid.MarshalToSizedBuffer(dAtA[:i])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -691,7 +838,7 @@ func (m *MsgCreateAuction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
i = encodeVarintTx(dAtA, i, uint64(size))
|
i = encodeVarintTx(dAtA, i, uint64(size))
|
||||||
}
|
}
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x2a
|
dAtA[i] = 0x3a
|
||||||
{
|
{
|
||||||
size, err := m.RevealFee.MarshalToSizedBuffer(dAtA[:i])
|
size, err := m.RevealFee.MarshalToSizedBuffer(dAtA[:i])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -701,7 +848,7 @@ func (m *MsgCreateAuction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
i = encodeVarintTx(dAtA, i, uint64(size))
|
i = encodeVarintTx(dAtA, i, uint64(size))
|
||||||
}
|
}
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x22
|
dAtA[i] = 0x32
|
||||||
{
|
{
|
||||||
size, err := m.CommitFee.MarshalToSizedBuffer(dAtA[:i])
|
size, err := m.CommitFee.MarshalToSizedBuffer(dAtA[:i])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -711,23 +858,37 @@ func (m *MsgCreateAuction) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
i = encodeVarintTx(dAtA, i, uint64(size))
|
i = encodeVarintTx(dAtA, i, uint64(size))
|
||||||
}
|
}
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0x1a
|
dAtA[i] = 0x2a
|
||||||
n4, err4 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(m.RevealsDuration, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.RevealsDuration):])
|
n5, err5 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(m.RevealsDuration, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.RevealsDuration):])
|
||||||
if err4 != nil {
|
|
||||||
return 0, err4
|
|
||||||
}
|
|
||||||
i -= n4
|
|
||||||
i = encodeVarintTx(dAtA, i, uint64(n4))
|
|
||||||
i--
|
|
||||||
dAtA[i] = 0x12
|
|
||||||
n5, err5 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(m.CommitsDuration, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.CommitsDuration):])
|
|
||||||
if err5 != nil {
|
if err5 != nil {
|
||||||
return 0, err5
|
return 0, err5
|
||||||
}
|
}
|
||||||
i -= n5
|
i -= n5
|
||||||
i = encodeVarintTx(dAtA, i, uint64(n5))
|
i = encodeVarintTx(dAtA, i, uint64(n5))
|
||||||
i--
|
i--
|
||||||
|
dAtA[i] = 0x22
|
||||||
|
n6, err6 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(m.CommitsDuration, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.CommitsDuration):])
|
||||||
|
if err6 != nil {
|
||||||
|
return 0, err6
|
||||||
|
}
|
||||||
|
i -= n6
|
||||||
|
i = encodeVarintTx(dAtA, i, uint64(n6))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x1a
|
||||||
|
if len(m.Kind) > 0 {
|
||||||
|
i -= len(m.Kind)
|
||||||
|
copy(dAtA[i:], m.Kind)
|
||||||
|
i = encodeVarintTx(dAtA, i, uint64(len(m.Kind)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
}
|
||||||
|
if len(m.Signer) > 0 {
|
||||||
|
i -= len(m.Signer)
|
||||||
|
copy(dAtA[i:], m.Signer)
|
||||||
|
i = encodeVarintTx(dAtA, i, uint64(len(m.Signer)))
|
||||||
|
i--
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
|
}
|
||||||
return len(dAtA) - i, nil
|
return len(dAtA) - i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -987,6 +1148,78 @@ func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)
|
|||||||
return len(dAtA) - i, nil
|
return len(dAtA) - i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *MsgReleaseFunds) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *MsgReleaseFunds) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
size := m.Size()
|
||||||
|
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *MsgReleaseFunds) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||||
|
i := len(dAtA)
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
if len(m.Signer) > 0 {
|
||||||
|
i -= len(m.Signer)
|
||||||
|
copy(dAtA[i:], m.Signer)
|
||||||
|
i = encodeVarintTx(dAtA, i, uint64(len(m.Signer)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
}
|
||||||
|
if len(m.AuctionId) > 0 {
|
||||||
|
i -= len(m.AuctionId)
|
||||||
|
copy(dAtA[i:], m.AuctionId)
|
||||||
|
i = encodeVarintTx(dAtA, i, uint64(len(m.AuctionId)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
}
|
||||||
|
return len(dAtA) - i, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *MsgReleaseFundsResponse) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *MsgReleaseFundsResponse) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
size := m.Size()
|
||||||
|
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *MsgReleaseFundsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||||
|
i := len(dAtA)
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
if m.Auction != nil {
|
||||||
|
{
|
||||||
|
size, err := m.Auction.MarshalToSizedBuffer(dAtA[:i])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i -= size
|
||||||
|
i = encodeVarintTx(dAtA, i, uint64(size))
|
||||||
|
}
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
}
|
||||||
|
return len(dAtA) - i, nil
|
||||||
|
}
|
||||||
|
|
||||||
func encodeVarintTx(dAtA []byte, offset int, v uint64) int {
|
func encodeVarintTx(dAtA []byte, offset int, v uint64) int {
|
||||||
offset -= sovTx(v)
|
offset -= sovTx(v)
|
||||||
base := offset
|
base := offset
|
||||||
@ -1004,6 +1237,14 @@ func (m *MsgCreateAuction) Size() (n int) {
|
|||||||
}
|
}
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
l = len(m.Signer)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovTx(uint64(l))
|
||||||
|
}
|
||||||
|
l = len(m.Kind)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovTx(uint64(l))
|
||||||
|
}
|
||||||
l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.CommitsDuration)
|
l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.CommitsDuration)
|
||||||
n += 1 + l + sovTx(uint64(l))
|
n += 1 + l + sovTx(uint64(l))
|
||||||
l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.RevealsDuration)
|
l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.RevealsDuration)
|
||||||
@ -1014,9 +1255,10 @@ func (m *MsgCreateAuction) Size() (n int) {
|
|||||||
n += 1 + l + sovTx(uint64(l))
|
n += 1 + l + sovTx(uint64(l))
|
||||||
l = m.MinimumBid.Size()
|
l = m.MinimumBid.Size()
|
||||||
n += 1 + l + sovTx(uint64(l))
|
n += 1 + l + sovTx(uint64(l))
|
||||||
l = len(m.Signer)
|
l = m.MaxPrice.Size()
|
||||||
if l > 0 {
|
|
||||||
n += 1 + l + sovTx(uint64(l))
|
n += 1 + l + sovTx(uint64(l))
|
||||||
|
if m.NumProviders != 0 {
|
||||||
|
n += 1 + sovTx(uint64(m.NumProviders))
|
||||||
}
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
@ -1126,6 +1368,36 @@ func (m *MsgUpdateParamsResponse) Size() (n int) {
|
|||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *MsgReleaseFunds) Size() (n int) {
|
||||||
|
if m == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
l = len(m.AuctionId)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovTx(uint64(l))
|
||||||
|
}
|
||||||
|
l = len(m.Signer)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovTx(uint64(l))
|
||||||
|
}
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *MsgReleaseFundsResponse) Size() (n int) {
|
||||||
|
if m == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
if m.Auction != nil {
|
||||||
|
l = m.Auction.Size()
|
||||||
|
n += 1 + l + sovTx(uint64(l))
|
||||||
|
}
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
func sovTx(x uint64) (n int) {
|
func sovTx(x uint64) (n int) {
|
||||||
return (math_bits.Len64(x|1) + 6) / 7
|
return (math_bits.Len64(x|1) + 6) / 7
|
||||||
}
|
}
|
||||||
@ -1162,6 +1434,70 @@ func (m *MsgCreateAuction) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Signer", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowTx
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Signer = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowTx
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Kind = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 3:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field CommitsDuration", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field CommitsDuration", wireType)
|
||||||
}
|
}
|
||||||
@ -1194,7 +1530,7 @@ func (m *MsgCreateAuction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 2:
|
case 4:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field RevealsDuration", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field RevealsDuration", wireType)
|
||||||
}
|
}
|
||||||
@ -1227,7 +1563,7 @@ func (m *MsgCreateAuction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 3:
|
case 5:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field CommitFee", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field CommitFee", wireType)
|
||||||
}
|
}
|
||||||
@ -1260,7 +1596,7 @@ func (m *MsgCreateAuction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 4:
|
case 6:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field RevealFee", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field RevealFee", wireType)
|
||||||
}
|
}
|
||||||
@ -1293,7 +1629,7 @@ func (m *MsgCreateAuction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 5:
|
case 7:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field MinimumBid", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field MinimumBid", wireType)
|
||||||
}
|
}
|
||||||
@ -1326,11 +1662,11 @@ func (m *MsgCreateAuction) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 6:
|
case 8:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Signer", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field MaxPrice", wireType)
|
||||||
}
|
}
|
||||||
var stringLen uint64
|
var msglen int
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
if shift >= 64 {
|
if shift >= 64 {
|
||||||
return ErrIntOverflowTx
|
return ErrIntOverflowTx
|
||||||
@ -1340,24 +1676,44 @@ func (m *MsgCreateAuction) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
b := dAtA[iNdEx]
|
b := dAtA[iNdEx]
|
||||||
iNdEx++
|
iNdEx++
|
||||||
stringLen |= uint64(b&0x7F) << shift
|
msglen |= int(b&0x7F) << shift
|
||||||
if b < 0x80 {
|
if b < 0x80 {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
intStringLen := int(stringLen)
|
if msglen < 0 {
|
||||||
if intStringLen < 0 {
|
|
||||||
return ErrInvalidLengthTx
|
return ErrInvalidLengthTx
|
||||||
}
|
}
|
||||||
postIndex := iNdEx + intStringLen
|
postIndex := iNdEx + msglen
|
||||||
if postIndex < 0 {
|
if postIndex < 0 {
|
||||||
return ErrInvalidLengthTx
|
return ErrInvalidLengthTx
|
||||||
}
|
}
|
||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return io.ErrUnexpectedEOF
|
return io.ErrUnexpectedEOF
|
||||||
}
|
}
|
||||||
m.Signer = string(dAtA[iNdEx:postIndex])
|
if err := m.MaxPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 9:
|
||||||
|
if wireType != 0 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field NumProviders", wireType)
|
||||||
|
}
|
||||||
|
m.NumProviders = 0
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowTx
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
m.NumProviders |= int32(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipTx(dAtA[iNdEx:])
|
skippy, err := skipTx(dAtA[iNdEx:])
|
||||||
@ -2094,6 +2450,206 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
func (m *MsgReleaseFunds) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowTx
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: MsgReleaseFunds: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: MsgReleaseFunds: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field AuctionId", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowTx
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.AuctionId = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Signer", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowTx
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Signer = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipTx(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (m *MsgReleaseFundsResponse) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowTx
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: MsgReleaseFundsResponse: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: MsgReleaseFundsResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Auction", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowTx
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= int(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
if m.Auction == nil {
|
||||||
|
m.Auction = &Auction{}
|
||||||
|
}
|
||||||
|
if err := m.Auction.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipTx(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
func skipTx(dAtA []byte) (n int, err error) {
|
func skipTx(dAtA []byte) (n int, err error) {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
|
@ -141,6 +141,42 @@ func local_request_Msg_RevealBid_0(ctx context.Context, marshaler runtime.Marsha
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
filter_Msg_ReleaseFunds_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
|
||||||
|
)
|
||||||
|
|
||||||
|
func request_Msg_ReleaseFunds_0(ctx context.Context, marshaler runtime.Marshaler, client MsgClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||||
|
var protoReq MsgReleaseFunds
|
||||||
|
var metadata runtime.ServerMetadata
|
||||||
|
|
||||||
|
if err := req.ParseForm(); err != nil {
|
||||||
|
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||||
|
}
|
||||||
|
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Msg_ReleaseFunds_0); err != nil {
|
||||||
|
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
msg, err := client.ReleaseFunds(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
|
||||||
|
return msg, metadata, err
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func local_request_Msg_ReleaseFunds_0(ctx context.Context, marshaler runtime.Marshaler, server MsgServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||||
|
var protoReq MsgReleaseFunds
|
||||||
|
var metadata runtime.ServerMetadata
|
||||||
|
|
||||||
|
if err := req.ParseForm(); err != nil {
|
||||||
|
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||||
|
}
|
||||||
|
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Msg_ReleaseFunds_0); err != nil {
|
||||||
|
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
msg, err := server.ReleaseFunds(ctx, &protoReq)
|
||||||
|
return msg, metadata, err
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// RegisterMsgHandlerServer registers the http handlers for service Msg to "mux".
|
// RegisterMsgHandlerServer registers the http handlers for service Msg to "mux".
|
||||||
// UnaryRPC :call MsgServer directly.
|
// UnaryRPC :call MsgServer directly.
|
||||||
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
|
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
|
||||||
@ -216,6 +252,29 @@ func RegisterMsgHandlerServer(ctx context.Context, mux *runtime.ServeMux, server
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
mux.Handle("POST", pattern_Msg_ReleaseFunds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||||
|
ctx, cancel := context.WithCancel(req.Context())
|
||||||
|
defer cancel()
|
||||||
|
var stream runtime.ServerTransportStream
|
||||||
|
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
|
||||||
|
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
|
||||||
|
rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req)
|
||||||
|
if err != nil {
|
||||||
|
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resp, md, err := local_request_Msg_ReleaseFunds_0(rctx, inboundMarshaler, server, req, pathParams)
|
||||||
|
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
|
||||||
|
ctx = runtime.NewServerMetadataContext(ctx, md)
|
||||||
|
if err != nil {
|
||||||
|
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
forward_Msg_ReleaseFunds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -317,6 +376,26 @@ func RegisterMsgHandlerClient(ctx context.Context, mux *runtime.ServeMux, client
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
mux.Handle("POST", pattern_Msg_ReleaseFunds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||||
|
ctx, cancel := context.WithCancel(req.Context())
|
||||||
|
defer cancel()
|
||||||
|
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
|
||||||
|
rctx, err := runtime.AnnotateContext(ctx, mux, req)
|
||||||
|
if err != nil {
|
||||||
|
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resp, md, err := request_Msg_ReleaseFunds_0(rctx, inboundMarshaler, client, req, pathParams)
|
||||||
|
ctx = runtime.NewServerMetadataContext(ctx, md)
|
||||||
|
if err != nil {
|
||||||
|
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
forward_Msg_ReleaseFunds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -326,6 +405,8 @@ var (
|
|||||||
pattern_Msg_CommitBid_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cerc", "auction", "v1", "commit_bid"}, "", runtime.AssumeColonVerbOpt(false)))
|
pattern_Msg_CommitBid_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cerc", "auction", "v1", "commit_bid"}, "", runtime.AssumeColonVerbOpt(false)))
|
||||||
|
|
||||||
pattern_Msg_RevealBid_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cerc", "auction", "v1", "reveal_bid"}, "", runtime.AssumeColonVerbOpt(false)))
|
pattern_Msg_RevealBid_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cerc", "auction", "v1", "reveal_bid"}, "", runtime.AssumeColonVerbOpt(false)))
|
||||||
|
|
||||||
|
pattern_Msg_ReleaseFunds_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cerc", "auction", "v1", "release_funds"}, "", runtime.AssumeColonVerbOpt(false)))
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -334,4 +415,6 @@ var (
|
|||||||
forward_Msg_CommitBid_0 = runtime.ForwardResponseMessage
|
forward_Msg_CommitBid_0 = runtime.ForwardResponseMessage
|
||||||
|
|
||||||
forward_Msg_RevealBid_0 = runtime.ForwardResponseMessage
|
forward_Msg_RevealBid_0 = runtime.ForwardResponseMessage
|
||||||
|
|
||||||
|
forward_Msg_ReleaseFunds_0 = runtime.ForwardResponseMessage
|
||||||
)
|
)
|
||||||
|
@ -29,6 +29,12 @@ const (
|
|||||||
BidStatusRevealed = "reveal"
|
BidStatusRevealed = "reveal"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Auction kinds
|
||||||
|
const (
|
||||||
|
AuctionKindVickrey = "vickrey"
|
||||||
|
AuctionKindProvider = "provider"
|
||||||
|
)
|
||||||
|
|
||||||
// AuctionId simplifies generation of auction ids.
|
// AuctionId simplifies generation of auction ids.
|
||||||
type AuctionId struct {
|
type AuctionId struct {
|
||||||
Address sdk.Address
|
Address sdk.Address
|
||||||
|
@ -30,11 +30,18 @@ func (k *Keeper) InitGenesis(ctx sdk.Context, data *registry.GenesisState) error
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
readableRecord := record.ToReadableRecord()
|
||||||
|
if err := k.processAttributes(ctx, readableRecord.Attributes, record.Id); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, authority := range data.Authorities {
|
for _, authority := range data.Authorities {
|
||||||
// Only import authorities that are marked active.
|
// Only import authorities that are marked active.
|
||||||
if authority.Entry.Status == registry.AuthorityActive {
|
if authority.Entry.Status == registry.AuthorityActive {
|
||||||
|
// Reset authority height
|
||||||
|
authority.Entry.Height = uint64(ctx.BlockHeight())
|
||||||
if err := k.SaveNameAuthority(ctx, authority.Name, authority.Entry); err != nil {
|
if err := k.SaveNameAuthority(ctx, authority.Name, authority.Entry); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -224,7 +224,11 @@ func (k Keeper) PaginatedListRecords(ctx sdk.Context, pagination *query.PageRequ
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
var err error
|
var err error
|
||||||
records, pageResp, err = query.CollectionPaginate(ctx, k.Records, pagination, func(key string, value registrytypes.Record) (registrytypes.Record, error) {
|
records, pageResp, err = query.CollectionPaginate(
|
||||||
|
ctx,
|
||||||
|
k.Records,
|
||||||
|
pagination,
|
||||||
|
func(key string, value registrytypes.Record) (registrytypes.Record, error) {
|
||||||
if err := k.populateRecordNames(ctx, &value); err != nil {
|
if err := k.populateRecordNames(ctx, &value); err != nil {
|
||||||
return registrytypes.Record{}, err
|
return registrytypes.Record{}, err
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"cosmossdk.io/math"
|
||||||
|
|
||||||
"cosmossdk.io/collections"
|
"cosmossdk.io/collections"
|
||||||
errorsmod "cosmossdk.io/errors"
|
errorsmod "cosmossdk.io/errors"
|
||||||
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
|
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
|
||||||
@ -285,16 +287,18 @@ func (k Keeper) createAuthority(ctx sdk.Context, name string, owner string, isRo
|
|||||||
// Reset bond ID if required.
|
// Reset bond ID if required.
|
||||||
authority.BondId = ""
|
authority.BondId = ""
|
||||||
|
|
||||||
params := auctiontypes.Params{
|
|
||||||
CommitsDuration: moduleParams.AuthorityAuctionCommitsDuration,
|
|
||||||
RevealsDuration: moduleParams.AuthorityAuctionRevealsDuration,
|
|
||||||
CommitFee: moduleParams.AuthorityAuctionCommitFee,
|
|
||||||
RevealFee: moduleParams.AuthorityAuctionRevealFee,
|
|
||||||
MinimumBid: moduleParams.AuthorityAuctionMinimumBid,
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create an auction.
|
// Create an auction.
|
||||||
msg := auctiontypes.NewMsgCreateAuction(params, ownerAddress)
|
msg := auctiontypes.NewMsgCreateAuction(
|
||||||
|
auctiontypes.AuctionKindVickrey,
|
||||||
|
moduleParams.AuthorityAuctionCommitsDuration,
|
||||||
|
moduleParams.AuthorityAuctionRevealsDuration,
|
||||||
|
moduleParams.AuthorityAuctionCommitFee,
|
||||||
|
moduleParams.AuthorityAuctionRevealFee,
|
||||||
|
moduleParams.AuthorityAuctionMinimumBid,
|
||||||
|
sdk.NewCoin(sdk.DefaultBondDenom, math.NewInt(0)),
|
||||||
|
0,
|
||||||
|
ownerAddress,
|
||||||
|
)
|
||||||
|
|
||||||
auction, sdkErr := k.auctionKeeper.CreateAuction(ctx, msg)
|
auction, sdkErr := k.auctionKeeper.CreateAuction(ctx, msg)
|
||||||
if sdkErr != nil {
|
if sdkErr != nil {
|
||||||
|
@ -94,9 +94,9 @@ func (rk RecordKeeper) OnAuctionWinnerSelected(ctx sdk.Context, auctionId string
|
|||||||
}
|
}
|
||||||
|
|
||||||
if auctionObj.Status == auctiontypes.AuctionStatusCompleted {
|
if auctionObj.Status == auctiontypes.AuctionStatusCompleted {
|
||||||
if auctionObj.WinnerAddress != "" {
|
if len(auctionObj.WinnerAddresses) != 0 {
|
||||||
// Mark authority owner and change status to active.
|
// Mark authority owner and change status to active.
|
||||||
authority.OwnerAddress = auctionObj.WinnerAddress
|
authority.OwnerAddress = auctionObj.WinnerAddresses[0]
|
||||||
authority.Status = registrytypes.AuthorityActive
|
authority.Status = registrytypes.AuthorityActive
|
||||||
|
|
||||||
// Reset bond id if required, as owner has changed.
|
// Reset bond id if required, as owner has changed.
|
||||||
|
Loading…
Reference in New Issue
Block a user