X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=inline;f=fuzz%2Fsrc%2Fchanmon_consistency.rs;h=adc00ed8d8eef01439ce7db27980e537621f12d1;hb=9a0211543762ae15ce4a0b7cb5aa3cf295a4b61f;hp=55a78b29df53488f4fc474e37f5da9137086dc65;hpb=f8b06ec82c491efee2595bfcf95a68b027567d70;p=rust-lightning diff --git a/fuzz/src/chanmon_consistency.rs b/fuzz/src/chanmon_consistency.rs index 55a78b29..adc00ed8 100644 --- a/fuzz/src/chanmon_consistency.rs +++ b/fuzz/src/chanmon_consistency.rs @@ -29,7 +29,8 @@ use lightning::ln::channelmonitor; use lightning::ln::channelmonitor::{ChannelMonitor, ChannelMonitorUpdateErr, HTLCUpdate}; use lightning::ln::channelmanager::{ChannelManager, PaymentHash, PaymentPreimage, ChannelManagerReadArgs}; use lightning::ln::router::{Route, RouteHop}; -use lightning::ln::msgs::{CommitmentUpdate, ChannelMessageHandler, UpdateAddHTLC, LocalFeatures, ErrorAction}; +use lightning::ln::features::{ChannelFeatures, InitFeatures, NodeFeatures}; +use lightning::ln::msgs::{CommitmentUpdate, ChannelMessageHandler, ErrorAction, UpdateAddHTLC, Init}; use lightning::util::enforcing_trait_impls::EnforcingChannelKeys; use lightning::util::events; use lightning::util::logger::Logger; @@ -157,6 +158,7 @@ impl KeysInterface for KeyProvider { delayed_payment_base_key: SecretKey::from_slice(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, self.node_id]).unwrap(), htlc_base_key: SecretKey::from_slice(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, self.node_id]).unwrap(), commitment_seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, self.node_id], + remote_channel_pubkeys: None, }) } @@ -252,7 +254,7 @@ pub fn do_test(data: &[u8]) { } else { panic!("Wrong event type"); } }; - $dest.handle_open_channel(&$source.get_our_node_id(), LocalFeatures::new(), &open_channel); + $dest.handle_open_channel(&$source.get_our_node_id(), InitFeatures::supported(), &open_channel); let accept_channel = { let events = $dest.get_and_clear_pending_msg_events(); assert_eq!(events.len(), 1); @@ -261,7 +263,7 @@ pub fn do_test(data: &[u8]) { } else { panic!("Wrong event type"); } }; - $source.handle_accept_channel(&$dest.get_our_node_id(), LocalFeatures::new(), &accept_channel); + $source.handle_accept_channel(&$dest.get_our_node_id(), InitFeatures::supported(), &accept_channel); { let events = $source.get_and_clear_pending_events(); assert_eq!(events.len(), 1); @@ -412,7 +414,9 @@ pub fn do_test(data: &[u8]) { if let Err(_) = $source.send_payment(Route { hops: vec![RouteHop { pubkey: $dest.0.get_our_node_id(), + node_features: NodeFeatures::empty(), short_channel_id: $dest.1, + channel_features: ChannelFeatures::empty(), fee_msat: 5000000, cltv_expiry_delta: 200, }], @@ -427,12 +431,16 @@ pub fn do_test(data: &[u8]) { if let Err(_) = $source.send_payment(Route { hops: vec![RouteHop { pubkey: $middle.0.get_our_node_id(), + node_features: NodeFeatures::empty(), short_channel_id: $middle.1, + channel_features: ChannelFeatures::empty(), fee_msat: 50000, cltv_expiry_delta: 100, },RouteHop { pubkey: $dest.0.get_our_node_id(), + node_features: NodeFeatures::empty(), short_channel_id: $dest.1, + channel_features: ChannelFeatures::empty(), fee_msat: 5000000, cltv_expiry_delta: 200, }], @@ -648,15 +656,15 @@ pub fn do_test(data: &[u8]) { }, 0x11 => { if chan_a_disconnected { - nodes[0].peer_connected(&nodes[1].get_our_node_id()); - nodes[1].peer_connected(&nodes[0].get_our_node_id()); + nodes[0].peer_connected(&nodes[1].get_our_node_id(), &Init { features: InitFeatures::empty() }); + nodes[1].peer_connected(&nodes[0].get_our_node_id(), &Init { features: InitFeatures::empty() }); chan_a_disconnected = false; } }, 0x12 => { if chan_b_disconnected { - nodes[1].peer_connected(&nodes[2].get_our_node_id()); - nodes[2].peer_connected(&nodes[1].get_our_node_id()); + nodes[1].peer_connected(&nodes[2].get_our_node_id(), &Init { features: InitFeatures::empty() }); + nodes[2].peer_connected(&nodes[1].get_our_node_id(), &Init { features: InitFeatures::empty() }); chan_b_disconnected = false; } },