projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Track and react to remote partial-claiming of pending claim request
[rust-lightning]
/
lightning
/
src
/
ln
/
functional_test_utils.rs
diff --git
a/lightning/src/ln/functional_test_utils.rs
b/lightning/src/ln/functional_test_utils.rs
index 4a1b5e8a790cd7ce57cf93b8261a9fdca40a951a..7e11c521ca0d4f5cfa9e30a3bc4ba1d59e35173c 100644
(file)
--- a/
lightning/src/ln/functional_test_utils.rs
+++ b/
lightning/src/ln/functional_test_utils.rs
@@
-920,15
+920,21
@@
pub fn test_txn_broadcast(node: &Node, chan: &(msgs::ChannelUpdate, msgs::Channe
/// Tests that the given node has broadcast a claim transaction against the provided revoked
/// HTLC transaction.
/// Tests that the given node has broadcast a claim transaction against the provided revoked
/// HTLC transaction.
-pub fn test_revoked_htlc_claim_txn_broadcast(node: &Node, revoked_tx: Transaction) {
+pub fn test_revoked_htlc_claim_txn_broadcast(node: &Node, revoked_tx: Transaction
, commitment_revoked_tx: Transaction
) {
let mut node_txn = node.tx_broadcaster.txn_broadcasted.lock().unwrap();
let mut node_txn = node.tx_broadcaster.txn_broadcasted.lock().unwrap();
- assert_eq!(node_txn.len(), 1);
+ // We should issue a 2nd transaction if one htlc is dropped from initial claiming tx
+ // but sometimes not as feerate is too-low
+ if node_txn.len() != 1 && node_txn.len() != 2 { assert!(false); }
node_txn.retain(|tx| {
if tx.input.len() == 1 && tx.input[0].previous_output.txid == revoked_tx.txid() {
node_txn.retain(|tx| {
if tx.input.len() == 1 && tx.input[0].previous_output.txid == revoked_tx.txid() {
- check_spends!(tx, revoked_tx
.clone()
);
+ check_spends!(tx, revoked_tx);
false
} else { true }
});
false
} else { true }
});
+ node_txn.retain(|tx| {
+ check_spends!(tx, commitment_revoked_tx);
+ false
+ });
assert!(node_txn.is_empty());
}
assert!(node_txn.is_empty());
}