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

View File

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

View File

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

View File

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