+ let unsigned_channel_update = UnsignedChannelUpdate {
+ chain_hash,
+ short_channel_id,
+ timestamp: 100,
+ flags: 0,
+ cltv_expiry_delta: 144,
+ htlc_minimum_msat: 1000000,
+ fee_base_msat: 10000,
+ fee_proportional_millionths: 20,
+ excess_data: Vec::new()
+ };
+ let msghash = hash_to_message!(&Sha256dHash::hash(&unsigned_channel_update.encode()[..])[..]);
+ let valid_channel_update = ChannelUpdate {
+ signature: secp_ctx.sign(&msghash, node_1_privkey),
+ contents: unsigned_channel_update.clone()
+ };
+
+ match net_graph_msg_handler.handle_channel_update(&valid_channel_update) {
+ Ok(res) => assert!(res),
+ _ => panic!()
+ };
+ }
+
+ // Non-permanent closing just disables a channel
+ {
+ let network = net_graph_msg_handler.network_graph.read().unwrap();
+ match network.get_channels().get(&short_channel_id) {
+ None => panic!(),
+ Some(channel_info) => {
+ assert!(channel_info.one_to_two.is_some());
+ }
+ }