Skip to content

Commit 8daf417

Browse files
GeorgeTsagkguggero
authored andcommitted
rpcserver: add marshalPeerAccepted{Buy,Sell}Quote helpers
1 parent 8603a6c commit 8daf417

File tree

1 file changed

+40
-65
lines changed

1 file changed

+40
-65
lines changed

rpcserver.go

Lines changed: 40 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -7193,67 +7193,48 @@ func (r *rpcServer) AddAssetBuyOffer(_ context.Context,
71937193
return &rfqrpc.AddAssetBuyOfferResponse{}, nil
71947194
}
71957195

7196-
// marshalPeerAcceptedBuyQuotes marshals a map of peer accepted asset buy quotes
7197-
// into the RPC form. These are quotes that were requested by our node and have
7198-
// been accepted by our peers.
7199-
func marshalPeerAcceptedBuyQuotes(
7200-
quotes map[rfq.SerialisedScid]rfqmsg.BuyAccept) (
7201-
[]*rfqrpc.PeerAcceptedBuyQuote, error) {
7196+
// marshalPeerAcceptedBuyQuote marshals a peer accepted asset buy quote into
7197+
// the RPC form. This is a quote that was requested by our node and has been
7198+
// accepted by our peer.
7199+
func marshalPeerAcceptedBuyQuote(
7200+
quote rfqmsg.BuyAccept) *rfqrpc.PeerAcceptedBuyQuote {
72027201

7203-
// Marshal the accepted quotes into the RPC form.
7204-
rpcQuotes := make(
7205-
[]*rfqrpc.PeerAcceptedBuyQuote, 0, len(quotes),
7206-
)
7207-
for scid, quote := range quotes {
7208-
coefficient := quote.AssetRate.Rate.Coefficient.String()
7209-
rpcAskAssetRate := &rfqrpc.FixedPoint{
7210-
Coefficient: coefficient,
7211-
Scale: uint32(quote.AssetRate.Rate.Scale),
7212-
}
7213-
7214-
rpcQuote := &rfqrpc.PeerAcceptedBuyQuote{
7215-
Peer: quote.Peer.String(),
7216-
Id: quote.ID[:],
7217-
Scid: uint64(scid),
7218-
AssetMaxAmount: quote.Request.AssetMaxAmt,
7219-
AskAssetRate: rpcAskAssetRate,
7220-
Expiry: uint64(quote.AssetRate.Expiry.Unix()),
7221-
}
7222-
rpcQuotes = append(rpcQuotes, rpcQuote)
7202+
coefficient := quote.AssetRate.Rate.Coefficient.String()
7203+
rpcAskAssetRate := &rfqrpc.FixedPoint{
7204+
Coefficient: coefficient,
7205+
Scale: uint32(quote.AssetRate.Rate.Scale),
72237206
}
72247207

7225-
return rpcQuotes, nil
7208+
return &rfqrpc.PeerAcceptedBuyQuote{
7209+
Peer: quote.Peer.String(),
7210+
Id: quote.ID[:],
7211+
Scid: uint64(quote.ShortChannelId()),
7212+
AssetMaxAmount: quote.Request.AssetMaxAmt,
7213+
AskAssetRate: rpcAskAssetRate,
7214+
Expiry: uint64(quote.AssetRate.Expiry.Unix()),
7215+
}
72267216
}
72277217

7228-
// marshalPeerAcceptedSellQuotes marshals a map of peer accepted asset sell
7229-
// quotes into the RPC form. These are quotes that were requested by our node
7230-
// and have been accepted by our peers.
7231-
//
7232-
// nolint: lll
7233-
func marshalPeerAcceptedSellQuotes(quotes map[rfq.SerialisedScid]rfqmsg.SellAccept) (
7234-
[]*rfqrpc.PeerAcceptedSellQuote, error) {
7235-
7236-
// Marshal the accepted quotes into the RPC form.
7237-
rpcQuotes := make([]*rfqrpc.PeerAcceptedSellQuote, 0, len(quotes))
7238-
for scid, quote := range quotes {
7239-
rpcAssetRate := &rfqrpc.FixedPoint{
7240-
Coefficient: quote.AssetRate.Rate.Coefficient.String(),
7241-
Scale: uint32(quote.AssetRate.Rate.Scale),
7242-
}
7218+
// marshalPeerAcceptedSellQuote marshals peer accepted asset sell quote into the
7219+
// RPC form. This is a quote that was requested by our node and has been
7220+
// accepted by our peers.
7221+
func marshalPeerAcceptedSellQuote(
7222+
quote rfqmsg.SellAccept) *rfqrpc.PeerAcceptedSellQuote {
72437223

7244-
// TODO(ffranr): Add SellRequest payment max amount to
7245-
// PeerAcceptedSellQuote.
7246-
rpcQuote := &rfqrpc.PeerAcceptedSellQuote{
7247-
Peer: quote.Peer.String(),
7248-
Id: quote.ID[:],
7249-
Scid: uint64(scid),
7250-
BidAssetRate: rpcAssetRate,
7251-
Expiry: uint64(quote.AssetRate.Expiry.Unix()),
7252-
}
7253-
rpcQuotes = append(rpcQuotes, rpcQuote)
7224+
rpcAssetRate := &rfqrpc.FixedPoint{
7225+
Coefficient: quote.AssetRate.Rate.Coefficient.String(),
7226+
Scale: uint32(quote.AssetRate.Rate.Scale),
72547227
}
72557228

7256-
return rpcQuotes, nil
7229+
// TODO(ffranr): Add SellRequest payment max amount to
7230+
// PeerAcceptedSellQuote.
7231+
return &rfqrpc.PeerAcceptedSellQuote{
7232+
Peer: quote.Peer.String(),
7233+
Id: quote.ID[:],
7234+
Scid: uint64(quote.ShortChannelId()),
7235+
BidAssetRate: rpcAssetRate,
7236+
Expiry: uint64(quote.AssetRate.Expiry.Unix()),
7237+
}
72577238
}
72587239

72597240
// QueryPeerAcceptedQuotes is used to query for quotes that were requested by
@@ -7267,19 +7248,13 @@ func (r *rpcServer) QueryPeerAcceptedQuotes(_ context.Context,
72677248
peerAcceptedBuyQuotes := r.cfg.RfqManager.PeerAcceptedBuyQuotes()
72687249
peerAcceptedSellQuotes := r.cfg.RfqManager.PeerAcceptedSellQuotes()
72697250

7270-
rpcBuyQuotes, err := marshalPeerAcceptedBuyQuotes(peerAcceptedBuyQuotes)
7271-
if err != nil {
7272-
return nil, fmt.Errorf("error marshalling peer accepted buy "+
7273-
"quotes: %w", err)
7274-
}
7275-
7276-
rpcSellQuotes, err := marshalPeerAcceptedSellQuotes(
7277-
peerAcceptedSellQuotes,
7251+
rpcBuyQuotes := fn.Map(
7252+
maps.Values(peerAcceptedBuyQuotes), marshalPeerAcceptedBuyQuote,
7253+
)
7254+
rpcSellQuotes := fn.Map(
7255+
maps.Values(peerAcceptedSellQuotes),
7256+
marshalPeerAcceptedSellQuote,
72787257
)
7279-
if err != nil {
7280-
return nil, fmt.Errorf("error marshalling peer accepted sell "+
7281-
"quotes: %w", err)
7282-
}
72837258

72847259
return &rfqrpc.QueryPeerAcceptedQuotesResponse{
72857260
BuyQuotes: rpcBuyQuotes,

0 commit comments

Comments
 (0)