breez_sdk_core/swap_in/
segwit_server.rs1use sdk_common::{grpc::GetSwapPaymentRequest, prelude::BreezServer, with_connection_retry};
2
3use crate::SwapperAPI;
4
5#[cfg_attr(test, mockall::automock)]
6#[tonic::async_trait]
7impl SwapperAPI for BreezServer {
8 async fn complete_swap(&self, bolt11: String) -> anyhow::Result<()> {
9 let mut client = self.get_swapper_client().await;
10 let req = GetSwapPaymentRequest {
11 payment_request: bolt11,
12 };
13 let resp = with_connection_retry!(client.get_swap_payment(req.clone()))
14 .await?
15 .into_inner();
16
17 match resp.swap_error() {
18 crate::grpc::get_swap_payment_reply::SwapError::NoError => Ok(()),
19 err => Err(anyhow::anyhow!(err.as_str_name())),
20 }
21 }
22}