mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2025-05-20 15:40:48 -04:00
Don't spam on transaction status change
This commit is contained in:
parent
991dbf496e
commit
46ffc34f40
1 changed files with 38 additions and 1 deletions
|
@ -178,9 +178,10 @@ fn print_status_change(txid: Txid, old: Option<ScriptStatus>, new: ScriptStatus)
|
||||||
(None, new_status) => {
|
(None, new_status) => {
|
||||||
tracing::debug!(%txid, status = %new_status, "Found relevant Bitcoin transaction");
|
tracing::debug!(%txid, status = %new_status, "Found relevant Bitcoin transaction");
|
||||||
}
|
}
|
||||||
(Some(old_status), new_status) => {
|
(Some(old_status), new_status) if old_status != new_status => {
|
||||||
tracing::debug!(%txid, %new_status, %old_status, "Bitcoin transaction status changed");
|
tracing::debug!(%txid, %new_status, %old_status, "Bitcoin transaction status changed");
|
||||||
}
|
}
|
||||||
|
_ => {}
|
||||||
}
|
}
|
||||||
|
|
||||||
new
|
new
|
||||||
|
@ -854,7 +855,9 @@ impl fmt::Display for ScriptStatus {
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::bitcoin::{PublicKey, TxLock};
|
use crate::bitcoin::{PublicKey, TxLock};
|
||||||
|
use crate::tracing_ext::capture_logs;
|
||||||
use proptest::prelude::*;
|
use proptest::prelude::*;
|
||||||
|
use tracing::level_filters::LevelFilter;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn given_depth_0_should_meet_confirmation_target_one() {
|
fn given_depth_0_should_meet_confirmation_target_one() {
|
||||||
|
@ -1128,4 +1131,38 @@ mod tests {
|
||||||
_ => panic!("expected exactly two outputs"),
|
_ => panic!("expected exactly two outputs"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn printing_status_change_doesnt_spam_on_same_status() {
|
||||||
|
let writer = capture_logs(LevelFilter::DEBUG);
|
||||||
|
|
||||||
|
let tx = Txid::default();
|
||||||
|
let mut old = None;
|
||||||
|
old = Some(print_status_change(tx, old, ScriptStatus::Unseen));
|
||||||
|
old = Some(print_status_change(tx, old, ScriptStatus::InMempool));
|
||||||
|
old = Some(print_status_change(tx, old, ScriptStatus::InMempool));
|
||||||
|
old = Some(print_status_change(tx, old, ScriptStatus::InMempool));
|
||||||
|
old = Some(print_status_change(tx, old, ScriptStatus::InMempool));
|
||||||
|
old = Some(print_status_change(tx, old, ScriptStatus::InMempool));
|
||||||
|
old = Some(print_status_change(tx, old, ScriptStatus::InMempool));
|
||||||
|
old = Some(print_status_change(tx, old, confs(1)));
|
||||||
|
old = Some(print_status_change(tx, old, confs(2)));
|
||||||
|
old = Some(print_status_change(tx, old, confs(3)));
|
||||||
|
old = Some(print_status_change(tx, old, confs(3)));
|
||||||
|
print_status_change(tx, old, confs(3));
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
writer.captured(),
|
||||||
|
r"DEBUG swap::bitcoin::wallet: Found relevant Bitcoin transaction txid=0000000000000000000000000000000000000000000000000000000000000000 status=unseen
|
||||||
|
DEBUG swap::bitcoin::wallet: Bitcoin transaction status changed txid=0000000000000000000000000000000000000000000000000000000000000000 new_status=in mempool old_status=unseen
|
||||||
|
DEBUG swap::bitcoin::wallet: Bitcoin transaction status changed txid=0000000000000000000000000000000000000000000000000000000000000000 new_status=confirmed with 1 blocks old_status=in mempool
|
||||||
|
DEBUG swap::bitcoin::wallet: Bitcoin transaction status changed txid=0000000000000000000000000000000000000000000000000000000000000000 new_status=confirmed with 2 blocks old_status=confirmed with 1 blocks
|
||||||
|
DEBUG swap::bitcoin::wallet: Bitcoin transaction status changed txid=0000000000000000000000000000000000000000000000000000000000000000 new_status=confirmed with 3 blocks old_status=confirmed with 2 blocks
|
||||||
|
"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn confs(confirmations: u32) -> ScriptStatus {
|
||||||
|
ScriptStatus::from_confirmations(confirmations)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue