From b48fd9aa7c89f8941c95bd12d0deaa4f56f6c34b Mon Sep 17 00:00:00 2001 From: sputn1ck Date: Mon, 3 Feb 2025 16:14:23 +0100 Subject: [PATCH] looprpc_server: add reservation calls --- loopd/swapclient_server.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/loopd/swapclient_server.go b/loopd/swapclient_server.go index dd5e0f05..8bef9d1f 100644 --- a/loopd/swapclient_server.go +++ b/loopd/swapclient_server.go @@ -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,