From 27c255646f49445866c4b3c1c5c53814ff79d64f Mon Sep 17 00:00:00 2001 From: Daniel Karzel Date: Fri, 25 Jun 2021 17:56:37 +1000 Subject: [PATCH] fixup! `swap_setup` instead of `spot_price` and `execution_setup` --- swap/src/protocol/alice.rs | 6 ++---- swap/src/protocol/alice/behaviour.rs | 11 +++++------ swap/src/protocol/alice/event_loop.rs | 8 +++++++- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/swap/src/protocol/alice.rs b/swap/src/protocol/alice.rs index d65ff6c8..fa8a4317 100644 --- a/swap/src/protocol/alice.rs +++ b/swap/src/protocol/alice.rs @@ -1,12 +1,10 @@ //! Run an XMR/BTC swap in the role of Alice. //! Alice holds XMR and wishes receive BTC. -use std::sync::Arc; - -use uuid::Uuid; - use crate::database::Database; use crate::env::Config; use crate::{bitcoin, monero}; +use std::sync::Arc; +use uuid::Uuid; pub use self::behaviour::{Behaviour, OutEvent}; pub use self::event_loop::{EventLoop, EventLoopHandle}; diff --git a/swap/src/protocol/alice/behaviour.rs b/swap/src/protocol/alice/behaviour.rs index bde934d8..97c1b4b6 100644 --- a/swap/src/protocol/alice/behaviour.rs +++ b/swap/src/protocol/alice/behaviour.rs @@ -1,15 +1,14 @@ -use anyhow::{anyhow, Error}; -use libp2p::ping::{Ping, PingEvent}; -use libp2p::request_response::{RequestId, ResponseChannel}; -use libp2p::{NetworkBehaviour, PeerId}; -use uuid::Uuid; - use crate::env; use crate::network::quote::BidQuote; use crate::network::{encrypted_signature, quote, transfer_proof}; use crate::protocol::alice::event_loop::LatestRate; use crate::protocol::alice::swap_setup::WalletSnapshot; use crate::protocol::alice::{swap_setup, State3}; +use anyhow::{anyhow, Error}; +use libp2p::ping::{Ping, PingEvent}; +use libp2p::request_response::{RequestId, ResponseChannel}; +use libp2p::{NetworkBehaviour, PeerId}; +use uuid::Uuid; #[derive(Debug)] pub enum OutEvent { diff --git a/swap/src/protocol/alice/event_loop.rs b/swap/src/protocol/alice/event_loop.rs index b3e36bb9..6456e152 100644 --- a/swap/src/protocol/alice/event_loop.rs +++ b/swap/src/protocol/alice/event_loop.rs @@ -152,7 +152,13 @@ where match swarm_event { SwarmEvent::Behaviour(OutEvent::SwapSetupInitiated { mut send_wallet_snapshot }) => { - let (btc, responder) = send_wallet_snapshot.recv().await.expect("TODO: handle error"); + let (btc, responder) = match send_wallet_snapshot.recv().await { + Ok((btc, responder)) => (btc, responder), + Err(error) => { + tracing::error!("Swap request will be ignored because of a failure when requesting information for the wallet snapshot: {:#}", error); + continue; + } + }; let wallet_snapshot = match WalletSnapshot::capture(&self.bitcoin_wallet, &self.monero_wallet, btc).await { Ok(wallet_snapshot) => wallet_snapshot,