mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2025-07-24 15:25:28 -04:00
Bump libp2p from 0.36.0 to 0.37.1
Bumps [libp2p](https://github.com/libp2p/rust-libp2p) from 0.36.0 to 0.37.1. - [Release notes](https://github.com/libp2p/rust-libp2p/releases) - [Changelog](https://github.com/libp2p/rust-libp2p/blob/master/CHANGELOG.md) - [Commits](https://github.com/libp2p/rust-libp2p/compare/v0.36.0...v0.37.1) Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
parent
a8fb344fc8
commit
19483c5ead
6 changed files with 48 additions and 55 deletions
|
@ -27,7 +27,7 @@ directories-next = "2"
|
|||
ecdsa_fun = { git = "https://github.com/LLFourn/secp256kfun", features = ["libsecp_compat", "serde"] }
|
||||
futures = { version = "0.3", default-features = false }
|
||||
itertools = "0.10"
|
||||
libp2p = { version = "0.36", default-features = false, features = ["tcp-tokio", "yamux", "mplex", "dns-tokio", "noise", "request-response", "websocket"] }
|
||||
libp2p = { version = "0.37", default-features = false, features = ["tcp-tokio", "yamux", "mplex", "dns-tokio", "noise", "request-response", "websocket"] }
|
||||
libp2p-async-await = { git = "https://github.com/comit-network/rust-libp2p-async-await" }
|
||||
miniscript = { version = "5", features = ["serde"] }
|
||||
monero = { version = "0.11", features = ["serde_support"] }
|
||||
|
|
|
@ -77,7 +77,9 @@ async fn main() -> Result<()> {
|
|||
let bitcoin_wallet = Arc::new(bitcoin_wallet);
|
||||
|
||||
let mut swarm = swarm::bob(&seed, alice_peer_id)?;
|
||||
swarm.add_address(alice_peer_id, alice_multiaddr);
|
||||
swarm
|
||||
.behaviour_mut()
|
||||
.add_address(alice_peer_id, alice_multiaddr);
|
||||
|
||||
let swap_id = Uuid::new_v4();
|
||||
let (event_loop, mut event_loop_handle) =
|
||||
|
@ -172,7 +174,9 @@ async fn main() -> Result<()> {
|
|||
|
||||
let alice_peer_id = db.get_peer_id(swap_id)?;
|
||||
let mut swarm = swarm::bob(&seed, alice_peer_id)?;
|
||||
swarm.add_address(alice_peer_id, alice_multiaddr);
|
||||
swarm
|
||||
.behaviour_mut()
|
||||
.add_address(alice_peer_id, alice_multiaddr);
|
||||
|
||||
let (event_loop, event_loop_handle) =
|
||||
EventLoop::new(swap_id, swarm, alice_peer_id, bitcoin_wallet.clone())?;
|
||||
|
|
|
@ -153,7 +153,7 @@ where
|
|||
}
|
||||
};
|
||||
|
||||
match self.swarm.spot_price.send_response(channel, spot_price::Response { xmr }) {
|
||||
match self.swarm.behaviour_mut().spot_price.send_response(channel, spot_price::Response { xmr }) {
|
||||
Ok(_) => {},
|
||||
Err(_) => {
|
||||
// if we can't respond, the peer probably just disconnected so it is not a huge deal, only log this on debug
|
||||
|
@ -170,7 +170,7 @@ where
|
|||
}
|
||||
};
|
||||
|
||||
self.swarm.execution_setup.run(peer, state0);
|
||||
self.swarm.behaviour_mut().execution_setup.run(peer, state0);
|
||||
}
|
||||
SwarmEvent::Behaviour(OutEvent::QuoteRequested { channel, peer }) => {
|
||||
let quote = match self.make_quote(self.max_buy).await {
|
||||
|
@ -181,7 +181,7 @@ where
|
|||
}
|
||||
};
|
||||
|
||||
if self.swarm.quote.send_response(channel, quote).is_err() {
|
||||
if self.swarm.behaviour_mut().quote.send_response(channel, quote).is_err() {
|
||||
tracing::debug!(%peer, "Failed to respond with quote");
|
||||
}
|
||||
}
|
||||
|
@ -228,7 +228,7 @@ where
|
|||
for (transfer_proof, responder) in transfer_proofs {
|
||||
tracing::debug!(%peer, "Found buffered transfer proof for peer");
|
||||
|
||||
let id = self.swarm.transfer_proof.send_request(&peer, transfer_proof);
|
||||
let id = self.swarm.behaviour_mut().transfer_proof.send_request(&peer, transfer_proof);
|
||||
self.inflight_transfer_proofs.insert(id, responder);
|
||||
}
|
||||
}
|
||||
|
@ -255,13 +255,13 @@ where
|
|||
next_transfer_proof = self.send_transfer_proof.next() => {
|
||||
match next_transfer_proof {
|
||||
Some(Ok((peer, transfer_proof, responder))) => {
|
||||
if !self.swarm.transfer_proof.is_connected(&peer) {
|
||||
if !self.swarm.behaviour_mut().transfer_proof.is_connected(&peer) {
|
||||
tracing::warn!(%peer, "No active connection to peer, buffering transfer proof");
|
||||
self.buffered_transfer_proofs.entry(peer).or_insert_with(Vec::new).push((transfer_proof, responder));
|
||||
continue;
|
||||
}
|
||||
|
||||
let id = self.swarm.transfer_proof.send_request(&peer, transfer_proof);
|
||||
let id = self.swarm.behaviour_mut().transfer_proof.send_request(&peer, transfer_proof);
|
||||
self.inflight_transfer_proofs.insert(id, responder);
|
||||
},
|
||||
Some(Err(e)) => {
|
||||
|
@ -273,7 +273,7 @@ where
|
|||
}
|
||||
}
|
||||
Some(response_channel) = self.inflight_encrypted_signatures.next() => {
|
||||
let _ = self.swarm.encrypted_signature.send_response(response_channel, ());
|
||||
let _ = self.swarm.behaviour_mut().encrypted_signature.send_response(response_channel, ());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ impl EventLoop {
|
|||
}
|
||||
|
||||
pub async fn run(mut self) {
|
||||
match libp2p::Swarm::dial(&mut self.swarm, &self.alice_peer_id) {
|
||||
match self.swarm.dial(&self.alice_peer_id) {
|
||||
Ok(()) => {}
|
||||
Err(e) => {
|
||||
tracing::error!("Failed to initiate dial to Alice: {}", e);
|
||||
|
@ -124,7 +124,7 @@ impl EventLoop {
|
|||
tracing::warn!("Received unexpected transfer proof for swap {} while running swap {}. This transfer proof will be ignored.", msg.swap_id, self.swap_id);
|
||||
|
||||
// When receiving a transfer proof that is unexpected we still have to acknowledge that it was received
|
||||
let _ = self.swarm.transfer_proof.send_response(channel, ());
|
||||
let _ = self.swarm.behaviour_mut().transfer_proof.send_response(channel, ());
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -176,7 +176,7 @@ impl EventLoop {
|
|||
SwarmEvent::UnreachableAddr { peer_id, address, attempts_remaining, error } if peer_id == self.alice_peer_id && attempts_remaining == 0 => {
|
||||
tracing::warn!(%address, "Failed to dial Alice: {}", error);
|
||||
|
||||
if let Some(duration) = self.swarm.redial.until_next_redial() {
|
||||
if let Some(duration) = self.swarm.behaviour_mut().redial.until_next_redial() {
|
||||
tracing::info!("Next redial attempt in {}s", duration.as_secs());
|
||||
}
|
||||
}
|
||||
|
@ -187,15 +187,15 @@ impl EventLoop {
|
|||
// Handle to-be-sent requests for all our network protocols.
|
||||
// Use `self.is_connected_to_alice` as a guard to "buffer" requests until we are connected.
|
||||
Some((request, responder)) = self.spot_price_requests.next().fuse(), if self.is_connected_to_alice() => {
|
||||
let id = self.swarm.spot_price.send_request(&self.alice_peer_id, request);
|
||||
let id = self.swarm.behaviour_mut().spot_price.send_request(&self.alice_peer_id, request);
|
||||
self.inflight_spot_price_requests.insert(id, responder);
|
||||
},
|
||||
Some(((), responder)) = self.quote_requests.next().fuse(), if self.is_connected_to_alice() => {
|
||||
let id = self.swarm.quote.send_request(&self.alice_peer_id, ());
|
||||
let id = self.swarm.behaviour_mut().quote.send_request(&self.alice_peer_id, ());
|
||||
self.inflight_quote_requests.insert(id, responder);
|
||||
},
|
||||
Some((request, responder)) = self.execution_setup_requests.next().fuse(), if self.is_connected_to_alice() => {
|
||||
self.swarm.execution_setup.run(self.alice_peer_id, request, self.bitcoin_wallet.clone());
|
||||
self.swarm.behaviour_mut().execution_setup.run(self.alice_peer_id, request, self.bitcoin_wallet.clone());
|
||||
self.inflight_execution_setup = Some(responder);
|
||||
},
|
||||
Some((tx_redeem_encsig, responder)) = self.encrypted_signatures.next().fuse(), if self.is_connected_to_alice() => {
|
||||
|
@ -204,12 +204,12 @@ impl EventLoop {
|
|||
tx_redeem_encsig
|
||||
};
|
||||
|
||||
let id = self.swarm.encrypted_signature.send_request(&self.alice_peer_id, request);
|
||||
let id = self.swarm.behaviour_mut().encrypted_signature.send_request(&self.alice_peer_id, request);
|
||||
self.inflight_encrypted_signature_requests.insert(id, responder);
|
||||
},
|
||||
|
||||
Some(response_channel) = &mut self.pending_transfer_proof => {
|
||||
let _ = self.swarm.transfer_proof.send_response(response_channel, ());
|
||||
let _ = self.swarm.behaviour_mut().transfer_proof.send_response(response_channel, ());
|
||||
|
||||
self.pending_transfer_proof = OptionFuture::from(None);
|
||||
}
|
||||
|
@ -218,7 +218,7 @@ impl EventLoop {
|
|||
}
|
||||
|
||||
fn is_connected_to_alice(&self) -> bool {
|
||||
Swarm::is_connected(&self.swarm, &self.alice_peer_id)
|
||||
self.swarm.is_connected(&self.alice_peer_id)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ use bitcoin_harness::{BitcoindRpcApi, Client};
|
|||
use futures::Future;
|
||||
use get_port::get_port;
|
||||
use libp2p::core::Multiaddr;
|
||||
use libp2p::{PeerId, Swarm};
|
||||
use libp2p::PeerId;
|
||||
use monero_harness::{image, Monero};
|
||||
use std::cmp::Ordering;
|
||||
use std::fmt;
|
||||
|
@ -117,7 +117,9 @@ impl BobParams {
|
|||
|
||||
pub fn new_eventloop(&self, swap_id: Uuid) -> Result<(bob::EventLoop, bob::EventLoopHandle)> {
|
||||
let mut swarm = swarm::bob(&self.seed, self.alice_peer_id)?;
|
||||
swarm.add_address(self.alice_peer_id, self.alice_address.clone());
|
||||
swarm
|
||||
.behaviour_mut()
|
||||
.add_address(self.alice_peer_id, self.alice_address.clone());
|
||||
|
||||
bob::EventLoop::new(
|
||||
swap_id,
|
||||
|
@ -642,7 +644,7 @@ fn start_alice(
|
|||
let db = Arc::new(Database::open(db_path.as_path()).unwrap());
|
||||
|
||||
let mut swarm = swarm::alice(&seed).unwrap();
|
||||
Swarm::listen_on(&mut swarm, listen_address).unwrap();
|
||||
swarm.listen_on(listen_address).unwrap();
|
||||
|
||||
let (event_loop, swap_handle) = alice::EventLoop::new(
|
||||
swarm,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue