mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2024-10-01 01:45:40 -04:00
Extract spend key as soon as possible
This commit is contained in:
parent
c095693a5f
commit
238f6a989d
@ -67,8 +67,7 @@ pub enum AliceState {
|
||||
tx_cancel: TxCancel,
|
||||
},
|
||||
BtcRefunded {
|
||||
tx_refund: TxRefund,
|
||||
published_refund_tx: ::bitcoin::Transaction,
|
||||
spend_key: monero::PrivateKey,
|
||||
state3: State3,
|
||||
},
|
||||
BtcPunishable {
|
||||
@ -244,8 +243,9 @@ pub async fn run_until(
|
||||
tracing::info!("Cannot resume swap from BTC locked state, aborting");
|
||||
|
||||
// Alice did not lock Xmr yet
|
||||
swap(
|
||||
run_until(
|
||||
AliceState::SafelyAborted,
|
||||
is_target_state,
|
||||
event_loop_handle,
|
||||
bitcoin_wallet,
|
||||
monero_wallet,
|
||||
@ -401,12 +401,16 @@ pub async fn run_until(
|
||||
.await
|
||||
}
|
||||
Some(published_refund_tx) => {
|
||||
let spend_key = extract_monero_private_key(
|
||||
published_refund_tx,
|
||||
tx_refund,
|
||||
state3.s_a,
|
||||
state3.a.clone(),
|
||||
state3.S_b_bitcoin,
|
||||
)?;
|
||||
|
||||
run_until(
|
||||
AliceState::BtcRefunded {
|
||||
tx_refund,
|
||||
published_refund_tx,
|
||||
state3,
|
||||
},
|
||||
AliceState::BtcRefunded { spend_key, state3 },
|
||||
is_target_state,
|
||||
event_loop_handle,
|
||||
bitcoin_wallet.clone(),
|
||||
@ -417,18 +421,7 @@ pub async fn run_until(
|
||||
}
|
||||
}
|
||||
}
|
||||
AliceState::BtcRefunded {
|
||||
tx_refund,
|
||||
published_refund_tx,
|
||||
state3,
|
||||
} => {
|
||||
let spend_key = extract_monero_private_key(
|
||||
published_refund_tx,
|
||||
tx_refund,
|
||||
state3.s_a,
|
||||
state3.a.clone(),
|
||||
state3.S_b_bitcoin,
|
||||
)?;
|
||||
AliceState::BtcRefunded { spend_key, state3 } => {
|
||||
let view_key = state3.v;
|
||||
|
||||
monero_wallet
|
||||
@ -472,12 +465,16 @@ pub async fn run_until(
|
||||
.await
|
||||
}
|
||||
Either::Right((published_refund_tx, _)) => {
|
||||
let spend_key = extract_monero_private_key(
|
||||
published_refund_tx,
|
||||
tx_refund,
|
||||
state3.s_a,
|
||||
state3.a.clone(),
|
||||
state3.S_b_bitcoin,
|
||||
)?;
|
||||
|
||||
run_until(
|
||||
AliceState::BtcRefunded {
|
||||
tx_refund,
|
||||
published_refund_tx,
|
||||
state3,
|
||||
},
|
||||
AliceState::BtcRefunded { spend_key, state3 },
|
||||
is_target_state,
|
||||
event_loop_handle,
|
||||
bitcoin_wallet.clone(),
|
||||
|
Loading…
Reference in New Issue
Block a user