multi: parse and propagate channel announcement/confirmation constraints

This commit is contained in:
positiveblue 2022-07-28 16:02:38 -07:00
parent 241f295957
commit d47efba300
No known key found for this signature in database
GPG key ID: 4FFF2510928804DC
3 changed files with 54 additions and 14 deletions

View file

@ -464,10 +464,18 @@ func (c *Client) SubmitOrder(ctx context.Context, o order.Order,
// Split into server message which is type specific.
switch castOrder := o.(type) {
case *order.Ask:
announcement := auctioneerrpc.ChannelAnnouncementConstraints(
castOrder.AnnouncementConstraints,
)
confirmations := auctioneerrpc.ChannelConfirmationConstraints(
castOrder.ConfirmationConstraints,
)
serverAsk := &auctioneerrpc.ServerAsk{
Details: details,
LeaseDurationBlocks: castOrder.LeaseDuration,
Version: uint32(castOrder.Version),
Details: details,
LeaseDurationBlocks: castOrder.LeaseDuration,
Version: uint32(castOrder.Version),
AnnouncementConstraints: announcement,
ConfirmationConstraints: confirmations,
}
rpcRequest.Details = &auctioneerrpc.ServerSubmitOrderRequest_Ask{
Ask: serverAsk,
@ -486,6 +494,8 @@ func (c *Client) SubmitOrder(ctx context.Context, o order.Order,
MinNodeTier: nodeTierEnum,
SelfChanBalance: uint64(castOrder.SelfChanBalance),
IsSidecarChannel: castOrder.SidecarTicket != nil,
UnannouncedChannel: castOrder.UnannouncedChannel,
ZeroConfChannel: castOrder.ZeroConfChannel,
}
rpcRequest.Details = &auctioneerrpc.ServerSubmitOrderRequest_Bid{
Bid: serverBid,

View file

@ -284,8 +284,16 @@ func ParseRPCServerAsk(details *auctioneerrpc.ServerAsk) (*MatchedOrder, error)
kit.LeaseDuration = details.LeaseDurationBlocks
announcement := ChannelAnnouncementConstraints(
details.AnnouncementConstraints,
)
confirmations := ChannelConfirmationConstraints(
details.ConfirmationConstraints,
)
o.Order = &Ask{
Kit: *kit,
Kit: *kit,
AnnouncementConstraints: announcement,
ConfirmationConstraints: confirmations,
}
return o, nil
@ -308,8 +316,10 @@ func ParseRPCServerBid(details *auctioneerrpc.ServerBid) (*MatchedOrder, error)
}
o.Order = &Bid{
Kit: *kit,
SelfChanBalance: btcutil.Amount(details.SelfChanBalance),
Kit: *kit,
SelfChanBalance: btcutil.Amount(details.SelfChanBalance),
UnannouncedChannel: details.UnannouncedChannel,
ZeroConfChannel: details.ZeroConfChannel,
}
return o, nil

View file

@ -1413,8 +1413,16 @@ func (s *rpcServer) SubmitOrder(ctx context.Context,
return nil, err
}
announcement := order.ChannelAnnouncementConstraints(
a.AnnouncementConstraints,
)
confirmations := order.ChannelConfirmationConstraints(
a.ConfirmationConstraints,
)
o = &order.Ask{
Kit: *kit,
Kit: *kit,
AnnouncementConstraints: announcement,
ConfirmationConstraints: confirmations,
}
case *poolrpc.SubmitOrderRequest_Bid:
@ -1436,10 +1444,12 @@ func (s *rpcServer) SubmitOrder(ctx context.Context,
}
o = &order.Bid{
Kit: *kit,
MinNodeTier: nodeTier,
SelfChanBalance: btcutil.Amount(b.SelfChanBalance),
SidecarTicket: ticket,
Kit: *kit,
MinNodeTier: nodeTier,
SelfChanBalance: btcutil.Amount(b.SelfChanBalance),
SidecarTicket: ticket,
UnannouncedChannel: b.UnannouncedChannel,
ZeroConfChannel: b.ZeroConfChannel,
}
default:
@ -1645,10 +1655,18 @@ func (s *rpcServer) ListOrders(ctx context.Context,
switch o := dbOrder.(type) {
case *order.Ask:
announcement := auctioneerrpc.ChannelAnnouncementConstraints(
o.AnnouncementConstraints,
)
confirmations := auctioneerrpc.ChannelConfirmationConstraints(
o.ConfirmationConstraints,
)
rpcAsk := &poolrpc.Ask{
Details: details,
LeaseDurationBlocks: dbDetails.LeaseDuration,
Version: uint32(o.Version),
Details: details,
LeaseDurationBlocks: dbDetails.LeaseDuration,
Version: uint32(o.Version),
AnnouncementConstraints: announcement,
ConfirmationConstraints: confirmations,
}
asks = append(asks, rpcAsk)
@ -1664,6 +1682,8 @@ func (s *rpcServer) ListOrders(ctx context.Context,
Version: uint32(o.Version),
MinNodeTier: nodeTier,
SelfChanBalance: uint64(o.SelfChanBalance),
UnannouncedChannel: o.UnannouncedChannel,
ZeroConfChannel: o.ZeroConfChannel,
}
// The sidecar ticket was given to the auction server