From 08cb837295a00d436f0d703034ff1529be7012c3 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 8 Oct 2020 13:49:41 +1100 Subject: [PATCH] Ues a_ and b_ instead of alice/bob We can use `a_` and `b_` instead of `alice_` and `bob_` with no loss of clarity. This reduces clutter in the code. --- xmr-btc/src/happy_path.rs | 120 +++++++++++++++++--------------------- 1 file changed, 55 insertions(+), 65 deletions(-) diff --git a/xmr-btc/src/happy_path.rs b/xmr-btc/src/happy_path.rs index 01c7122d..9926e8bb 100644 --- a/xmr-btc/src/happy_path.rs +++ b/xmr-btc/src/happy_path.rs @@ -29,30 +29,30 @@ async fn happy_path() { let fund_bob = 0; monero.init(fund_alice, fund_bob).await.unwrap(); - let alice_monero_wallet = monero::AliceWallet(&monero); - let bob_monero_wallet = monero::BobWallet(&monero); + let a_monero_wallet = monero::AliceWallet(&monero); + let b_monero_wallet = monero::BobWallet(&monero); - let alice_btc_wallet = bitcoin::Wallet::new("alice", &bitcoind.node_url) + let a_btc_wallet = bitcoin::Wallet::new("alice", &bitcoind.node_url) .await .unwrap(); - let bob_btc_wallet = bitcoin::make_wallet("bob", &bitcoind, btc_amount) + let b_btc_wallet = bitcoin::make_wallet("bob", &bitcoind, btc_amount) .await .unwrap(); - let alice_initial_btc_balance = alice_btc_wallet.balance().await.unwrap(); - let bob_initial_btc_balance = bob_btc_wallet.balance().await.unwrap(); + let a_initial_btc_balance = a_btc_wallet.balance().await.unwrap(); + let b_initial_btc_balance = b_btc_wallet.balance().await.unwrap(); - let alice_initial_xmr_balance = alice_monero_wallet.0.get_balance_alice().await.unwrap(); - let bob_initial_xmr_balance = bob_monero_wallet.0.get_balance_bob().await.unwrap(); + let a_initial_xmr_balance = a_monero_wallet.0.get_balance_alice().await.unwrap(); + let b_initial_xmr_balance = b_monero_wallet.0.get_balance_bob().await.unwrap(); - let redeem_address = alice_btc_wallet.new_address().await.unwrap(); + let redeem_address = a_btc_wallet.new_address().await.unwrap(); let punish_address = redeem_address.clone(); - let refund_address = bob_btc_wallet.new_address().await.unwrap(); + let refund_address = b_btc_wallet.new_address().await.unwrap(); let refund_timelock = 1; let punish_timelock = 1; - let alice_state0 = alice::State0::new( + let a_state0 = alice::State0::new( &mut OsRng, btc_amount, xmr_amount, @@ -61,7 +61,7 @@ async fn happy_path() { redeem_address, punish_address, ); - let bob_state0 = bob::State0::new( + let b_state0 = bob::State0::new( &mut OsRng, btc_amount, xmr_amount, @@ -70,80 +70,70 @@ async fn happy_path() { refund_address.clone(), ); - let alice_message0 = alice_state0.next_message(&mut OsRng); - let bob_message0 = bob_state0.next_message(&mut OsRng); + let a_message0 = a_state0.next_message(&mut OsRng); + let b_message0 = b_state0.next_message(&mut OsRng); - let alice_state1 = alice_state0.receive(bob_message0).unwrap(); - let bob_state1 = bob_state0 - .receive(&bob_btc_wallet, alice_message0) + let a_state1 = a_state0.receive(b_message0).unwrap(); + let b_state1 = b_state0.receive(&b_btc_wallet, a_message0).await.unwrap(); + + let b_message1 = b_state1.next_message(); + let a_state2 = a_state1.receive(b_message1); + let a_message1 = a_state2.next_message(); + let b_state2 = b_state1.receive(a_message1).unwrap(); + + let b_message2 = b_state2.next_message(); + let a_state3 = a_state2.receive(b_message2).unwrap(); + + let b_state2b = b_state2.lock_btc(&b_btc_wallet).await.unwrap(); + let lock_txid = b_state2b.tx_lock_id(); + + let a_state4 = a_state3.watch_for_lock_btc(&a_btc_wallet).await.unwrap(); + + let (a_state4b, lock_tx_monero_fee) = a_state4.lock_xmr(&a_monero_wallet).await.unwrap(); + + let a_message2 = a_state4b.next_message(); + + let b_state3 = b_state2b + .watch_for_lock_xmr(&b_monero_wallet, a_message2) .await .unwrap(); - let bob_message1 = bob_state1.next_message(); - let alice_state2 = alice_state1.receive(bob_message1); - let alice_message1 = alice_state2.next_message(); - let bob_state2 = bob_state1.receive(alice_message1).unwrap(); + let b_message3 = b_state3.next_message(); + let a_state5 = a_state4b.receive(b_message3); - let bob_message2 = bob_state2.next_message(); - let alice_state3 = alice_state2.receive(bob_message2).unwrap(); + a_state5.redeem_btc(&a_btc_wallet).await.unwrap(); + let b_state4 = b_state3.watch_for_redeem_btc(&b_btc_wallet).await.unwrap(); - let bob_state2b = bob_state2.lock_btc(&bob_btc_wallet).await.unwrap(); - let lock_txid = bob_state2b.tx_lock_id(); + b_state4.claim_xmr(&b_monero_wallet).await.unwrap(); - let alice_state4 = alice_state3 - .watch_for_lock_btc(&alice_btc_wallet) - .await - .unwrap(); + let a_final_btc_balance = a_btc_wallet.balance().await.unwrap(); + let b_final_btc_balance = b_btc_wallet.balance().await.unwrap(); - let (alice_state4b, lock_tx_monero_fee) = - alice_state4.lock_xmr(&alice_monero_wallet).await.unwrap(); - - let alice_message2 = alice_state4b.next_message(); - - let bob_state3 = bob_state2b - .watch_for_lock_xmr(&bob_monero_wallet, alice_message2) - .await - .unwrap(); - - let bob_message3 = bob_state3.next_message(); - let alice_state5 = alice_state4b.receive(bob_message3); - - alice_state5.redeem_btc(&alice_btc_wallet).await.unwrap(); - let bob_state4 = bob_state3 - .watch_for_redeem_btc(&bob_btc_wallet) - .await - .unwrap(); - - bob_state4.claim_xmr(&bob_monero_wallet).await.unwrap(); - - let alice_final_btc_balance = alice_btc_wallet.balance().await.unwrap(); - let bob_final_btc_balance = bob_btc_wallet.balance().await.unwrap(); - - let lock_tx_bitcoin_fee = bob_btc_wallet.transaction_fee(lock_txid).await.unwrap(); + let lock_tx_bitcoin_fee = b_btc_wallet.transaction_fee(lock_txid).await.unwrap(); assert_eq!( - alice_final_btc_balance, - alice_initial_btc_balance + btc_amount - bitcoin::Amount::from_sat(bitcoin::TX_FEE) + a_final_btc_balance, + a_initial_btc_balance + btc_amount - bitcoin::Amount::from_sat(bitcoin::TX_FEE) ); assert_eq!( - bob_final_btc_balance, - bob_initial_btc_balance - btc_amount - lock_tx_bitcoin_fee + b_final_btc_balance, + b_initial_btc_balance - btc_amount - lock_tx_bitcoin_fee ); - let alice_final_xmr_balance = alice_monero_wallet.0.get_balance_alice().await.unwrap(); - bob_monero_wallet + let a_final_xmr_balance = a_monero_wallet.0.get_balance_alice().await.unwrap(); + b_monero_wallet .0 .wait_for_bob_wallet_block_height() .await .unwrap(); - let bob_final_xmr_balance = bob_monero_wallet.0.get_balance_bob().await.unwrap(); + let b_final_xmr_balance = b_monero_wallet.0.get_balance_bob().await.unwrap(); assert_eq!( - alice_final_xmr_balance, - alice_initial_xmr_balance - u64::from(xmr_amount) - u64::from(lock_tx_monero_fee) + a_final_xmr_balance, + a_initial_xmr_balance - u64::from(xmr_amount) - u64::from(lock_tx_monero_fee) ); assert_eq!( - bob_final_xmr_balance, - bob_initial_xmr_balance + u64::from(xmr_amount) + b_final_xmr_balance, + b_initial_xmr_balance + u64::from(xmr_amount) ); }