You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/ln/channelmanager.rs
+85-1Lines changed: 85 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -2093,13 +2093,14 @@ mod tests {
2093
2093
use bitcoin::util::hash::Sha256dHash;
2094
2094
use bitcoin::blockdata::block::{Block,BlockHeader};
2095
2095
use bitcoin::blockdata::transaction::{Transaction,TxOut};
2096
+
use bitcoin::blockdata::constants::genesis_block;
2096
2097
use bitcoin::network::constants::Network;
2097
2098
use bitcoin::network::serialize::serialize;
2098
2099
use bitcoin::network::serialize::BitcoinHash;
2099
2100
2100
2101
use hex;
2101
2102
2102
-
use secp256k1::Secp256k1;
2103
+
use secp256k1::{Secp256k1,Message};
2103
2104
use secp256k1::key::{PublicKey,SecretKey};
2104
2105
2105
2106
use crypto::sha2::Sha256;
@@ -3236,4 +3237,87 @@ mod tests {
3236
3237
assert_eq!(channel_state.by_id.len(),0);
3237
3238
assert_eq!(channel_state.short_to_id.len(),0);
3238
3239
}
3240
+
3241
+
#[test]
3242
+
fntest_invalid_channel_announcement(){
3243
+
//Test BOLT 7 channel_announcement msg requirement for final node, gather data to build customed channel_announcement msgs
3244
+
let secp_ctx = Secp256k1::new();
3245
+
let nodes = create_network(2);
3246
+
3247
+
let chan_announcement = create_chan_between_nodes(&nodes[0],&nodes[1]);
3248
+
3249
+
let a_channel_lock = nodes[0].node.channel_state.lock().unwrap();
3250
+
let b_channel_lock = nodes[1].node.channel_state.lock().unwrap();
3251
+
let as_chan = a_channel_lock.by_id.get(&chan_announcement.3).unwrap();
3252
+
let bs_chan = b_channel_lock.by_id.get(&chan_announcement.3).unwrap();
3253
+
3254
+
let _ = nodes[0].router.handle_htlc_fail_channel_update(&msgs::HTLCFailChannelUpdate::ChannelClosed{short_channel_id: as_chan.get_short_channel_id().unwrap()});
3255
+
3256
+
let as_bitcoin_key = PublicKey::from_secret_key(&secp_ctx,&as_chan.get_local_keys().funding_key);
3257
+
let bs_bitcoin_key = PublicKey::from_secret_key(&secp_ctx,&bs_chan.get_local_keys().funding_key);
3258
+
3259
+
let as_network_key = nodes[0].node.get_our_node_id();
3260
+
let bs_network_key = nodes[1].node.get_our_node_id();
3261
+
3262
+
let were_node_one = as_bitcoin_key.serialize()[..] < bs_bitcoin_key.serialize()[..];
let _ = nodes[0].router.handle_htlc_fail_channel_update(&msgs::HTLCFailChannelUpdate::ChannelClosed{short_channel_id: as_chan.get_short_channel_id().unwrap()});
0 commit comments