Remove passing alice peer id

The usage of the peer id is incorrect as we do not even check it when
dialing. For now, we can ignore it.
We can then re-introduce it and use it properly at a later stage.
This commit is contained in:
Franck Royer 2020-12-10 14:59:09 +11:00
parent bbe454d269
commit 11cea9ba69
No known key found for this signature in database
GPG Key ID: A82ED75A8DFC50A4
4 changed files with 27 additions and 44 deletions

View File

@ -130,7 +130,7 @@ async fn main() -> Result<()> {
}
Options::BuyXmr {
alice_addr,
alice_peer_id,
alice_peer_id: _,
bitcoind_url,
bitcoin_wallet_name,
monero_wallet_rpc_url,
@ -182,7 +182,6 @@ async fn main() -> Result<()> {
let bob_state = BobState::Started {
state0,
amounts,
peer_id: alice_peer_id,
addr: alice_addr,
};

View File

@ -1,6 +1,6 @@
use crate::{bob::event_loop::EventLoopHandle, SwapAmounts};
use anyhow::Result;
use libp2p::core::Multiaddr;
use libp2p::{core::Multiaddr, PeerId};
use rand::{CryptoRng, RngCore};
use std::sync::Arc;
use xmr_btc::bob::State2;
@ -12,32 +12,34 @@ pub async fn negotiate<R>(
addr: Multiaddr,
mut rng: R,
bitcoin_wallet: Arc<crate::bitcoin::Wallet>,
) -> Result<State2>
) -> Result<(State2, PeerId)>
where
R: RngCore + CryptoRng + Send,
{
tracing::trace!("Starting negotiate");
swarm.dial_alice(addr).await?;
let alice = swarm.recv_conn_established().await?;
swarm.request_amounts(alice.clone(), amounts.btc).await?;
let alice_peer_id = swarm.recv_conn_established().await?;
swarm
.send_message0(alice.clone(), state0.next_message(&mut rng))
.request_amounts(alice_peer_id.clone(), amounts.btc)
.await?;
swarm
.send_message0(alice_peer_id.clone(), state0.next_message(&mut rng))
.await?;
let msg0 = swarm.recv_message0().await?;
let state1 = state0.receive(bitcoin_wallet.as_ref(), msg0).await?;
swarm
.send_message1(alice.clone(), state1.next_message())
.send_message1(alice_peer_id.clone(), state1.next_message())
.await?;
let msg1 = swarm.recv_message1().await?;
let state2 = state1.receive(msg1)?;
swarm
.send_message2(alice.clone(), state2.next_message())
.send_message2(alice_peer_id.clone(), state2.next_message())
.await?;
Ok(state2)
Ok((state2, alice_peer_id))
}

View File

@ -21,7 +21,6 @@ pub enum BobState {
Started {
state0: bob::State0,
amounts: SwapAmounts,
peer_id: PeerId,
addr: Multiaddr,
},
Negotiated(bob::State2, PeerId),
@ -121,10 +120,9 @@ where
BobState::Started {
state0,
amounts,
peer_id,
addr,
} => {
let state2 = negotiate(
let (state2, alice_peer_id) = negotiate(
state0,
amounts,
&mut event_loop_handle,
@ -134,7 +132,7 @@ where
)
.await?;
run_until(
BobState::Negotiated(state2, peer_id),
BobState::Negotiated(state2, alice_peer_id),
is_target_state,
event_loop_handle,
db,

View File

@ -1,6 +1,6 @@
use bitcoin_harness::Bitcoind;
use futures::future::try_join;
use libp2p::{Multiaddr, PeerId};
use libp2p::Multiaddr;
use monero_harness::Monero;
use rand::rngs::OsRng;
use std::sync::Arc;
@ -52,7 +52,6 @@ async fn happy_path() {
alice_swarm_handle,
alice_btc_wallet,
alice_xmr_wallet,
alice_peer_id,
) = init_alice(
&bitcoind,
&monero,
@ -68,7 +67,6 @@ async fn happy_path() {
let (bob_state, bob_swarm_driver, bob_swarm_handle, bob_btc_wallet, bob_xmr_wallet, bob_db) =
init_bob(
alice_multiaddr,
alice_peer_id,
&bitcoind,
&monero,
btc_to_swap,
@ -151,14 +149,8 @@ async fn alice_punishes_if_bob_never_acts_after_fund() {
let config = Config::regtest();
let (
alice_state,
mut alice_swarm,
alice_swarm_handle,
alice_btc_wallet,
alice_xmr_wallet,
alice_peer_id,
) = init_alice(
let (alice_state, mut alice_swarm, alice_swarm_handle, alice_btc_wallet, alice_xmr_wallet) =
init_alice(
&bitcoind,
&monero,
btc_to_swap,
@ -173,7 +165,6 @@ async fn alice_punishes_if_bob_never_acts_after_fund() {
let (bob_state, bob_swarm_driver, bob_swarm_handle, bob_btc_wallet, bob_xmr_wallet, bob_db) =
init_bob(
alice_multiaddr,
alice_peer_id,
&bitcoind,
&monero,
btc_to_swap,
@ -276,7 +267,6 @@ async fn both_refund() {
alice_swarm_handle,
alice_btc_wallet,
alice_xmr_wallet,
alice_peer_id,
) = init_alice(
&bitcoind,
&monero,
@ -292,7 +282,6 @@ async fn both_refund() {
let (bob_state, bob_swarm_driver, bob_swarm_handle, bob_btc_wallet, bob_xmr_wallet, bob_db) =
init_bob(
alice_multiaddr,
alice_peer_id,
&bitcoind,
&monero,
btc_to_swap,
@ -398,7 +387,6 @@ async fn init_alice(
alice::event_loop::EventLoopHandle,
Arc<swap::bitcoin::Wallet>,
Arc<swap::monero::Wallet>,
PeerId,
) {
monero
.init(vec![("alice", xmr_starting_balance.as_piconero())])
@ -448,7 +436,6 @@ async fn init_alice(
)
};
let alice_peer_id = alice_behaviour.peer_id();
let alice_transport = build(alice_behaviour.identity()).unwrap();
let (swarm_driver, handle) =
@ -460,14 +447,12 @@ async fn init_alice(
handle,
alice_btc_wallet,
alice_xmr_wallet,
alice_peer_id,
)
}
#[allow(clippy::too_many_arguments)]
async fn init_bob(
alice_multiaddr: Multiaddr,
alice_peer_id: PeerId,
bitcoind: &Bitcoind<'_>,
monero: &Monero,
btc_to_swap: bitcoin::Amount,
@ -525,7 +510,6 @@ async fn init_bob(
let bob_state = BobState::Started {
state0,
amounts,
peer_id: alice_peer_id,
addr: alice_multiaddr,
};