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,