looprpc_server: add reservation calls

This commit is contained in:
sputn1ck 2025-02-03 16:14:23 +01:00 committed by Slyghtning
parent 04a874e0e1
commit b48fd9aa7c
No known key found for this signature in database
GPG key ID: F82D456EA023C9BF

View file

@ -1739,6 +1739,38 @@ func (s *swapClientServer) ListReservations(ctx context.Context,
}, nil
}
func (s *swapClientServer) ReservationRequest(ctx context.Context,
req *looprpc.ReservationRequestRequest) (
*looprpc.ReservationRequestResponse, error) {
reservation, err := s.reservationManager.RequestReservationFromServer(
ctx, btcutil.Amount(req.Amt), req.Expiry,
btcutil.Amount(req.MaxPrepayAmt),
)
if err != nil {
return nil, err
}
return &looprpc.ReservationRequestResponse{
Reservation: toClientReservation(reservation),
}, nil
}
func (s *swapClientServer) ReservationQuote(ctx context.Context,
req *looprpc.ReservationQuoteRequest) (
*looprpc.ReservationQuoteResponse, error) {
quote, err := s.reservationManager.QuoteReservation(
ctx, btcutil.Amount(req.Amt), req.Expiry,
)
if err != nil {
return nil, err
}
return &looprpc.ReservationQuoteResponse{
PrepayAmt: uint64(quote),
}, nil
}
// InstantOut initiates an instant out swap.
func (s *swapClientServer) InstantOut(ctx context.Context,
req *looprpc.InstantOutRequest) (*looprpc.InstantOutResponse,