X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2Fsrc%2Fchanmon_consistency.rs;h=cd9c484da2a82f75a924b72150c68d602d5b47ce;hb=a70b1f74ced56013c32df1a60b38a7d9269bd0ce;hp=02c8450fa620e21a57dad5d384fa90a91b773828;hpb=10e213cf40c5b6797e7d1a8615616f79524dbbe9;p=rust-lightning diff --git a/fuzz/src/chanmon_consistency.rs b/fuzz/src/chanmon_consistency.rs index 02c8450fa..cd9c484da 100644 --- a/fuzz/src/chanmon_consistency.rs +++ b/fuzz/src/chanmon_consistency.rs @@ -78,7 +78,7 @@ impl FeeEstimator for FuzzEstimator { // Background feerate which is <= the minimum Normal feerate. match conf_target { ConfirmationTarget::HighPriority => MAX_FEE, - ConfirmationTarget::Background => 253, + ConfirmationTarget::Background|ConfirmationTarget::MempoolMinimum => 253, ConfirmationTarget::Normal => cmp::min(self.ret_val.load(atomic::Ordering::Acquire), MAX_FEE), } } @@ -436,11 +436,12 @@ pub fn do_test(data: &[u8], underlying_out: Out) { config.channel_config.forwarding_fee_proportional_millionths = 0; config.channel_handshake_config.announced_channel = true; let network = Network::Bitcoin; + let best_block_timestamp = genesis_block(network).header.time; let params = ChainParameters { network, best_block: BestBlock::from_network(network), }; - (ChannelManager::new($fee_estimator.clone(), monitor.clone(), broadcast.clone(), &router, Arc::clone(&logger), keys_manager.clone(), keys_manager.clone(), keys_manager.clone(), config, params), + (ChannelManager::new($fee_estimator.clone(), monitor.clone(), broadcast.clone(), &router, Arc::clone(&logger), keys_manager.clone(), keys_manager.clone(), keys_manager.clone(), config, params, best_block_timestamp), monitor, keys_manager) } } } @@ -494,8 +495,12 @@ pub fn do_test(data: &[u8], underlying_out: Out) { let mut channel_txn = Vec::new(); macro_rules! make_channel { ($source: expr, $dest: expr, $chan_id: expr) => { { - $source.peer_connected(&$dest.get_our_node_id(), &Init { features: $dest.init_features(), remote_network_address: None }, true).unwrap(); - $dest.peer_connected(&$source.get_our_node_id(), &Init { features: $source.init_features(), remote_network_address: None }, false).unwrap(); + $source.peer_connected(&$dest.get_our_node_id(), &Init { + features: $dest.init_features(), networks: None, remote_network_address: None + }, true).unwrap(); + $dest.peer_connected(&$source.get_our_node_id(), &Init { + features: $source.init_features(), networks: None, remote_network_address: None + }, false).unwrap(); $source.create_channel($dest.get_our_node_id(), 100_000, 42, 0, None).unwrap(); let open_channel = { @@ -1026,15 +1031,23 @@ pub fn do_test(data: &[u8], underlying_out: Out) { }, 0x0e => { if chan_a_disconnected { - nodes[0].peer_connected(&nodes[1].get_our_node_id(), &Init { features: nodes[1].init_features(), remote_network_address: None }, true).unwrap(); - nodes[1].peer_connected(&nodes[0].get_our_node_id(), &Init { features: nodes[0].init_features(), remote_network_address: None }, false).unwrap(); + nodes[0].peer_connected(&nodes[1].get_our_node_id(), &Init { + features: nodes[1].init_features(), networks: None, remote_network_address: None + }, true).unwrap(); + nodes[1].peer_connected(&nodes[0].get_our_node_id(), &Init { + features: nodes[0].init_features(), networks: None, remote_network_address: None + }, false).unwrap(); chan_a_disconnected = false; } }, 0x0f => { if chan_b_disconnected { - nodes[1].peer_connected(&nodes[2].get_our_node_id(), &Init { features: nodes[2].init_features(), remote_network_address: None }, true).unwrap(); - nodes[2].peer_connected(&nodes[1].get_our_node_id(), &Init { features: nodes[1].init_features(), remote_network_address: None }, false).unwrap(); + nodes[1].peer_connected(&nodes[2].get_our_node_id(), &Init { + features: nodes[2].init_features(), networks: None, remote_network_address: None + }, true).unwrap(); + nodes[2].peer_connected(&nodes[1].get_our_node_id(), &Init { + features: nodes[1].init_features(), networks: None, remote_network_address: None + }, false).unwrap(); chan_b_disconnected = false; } }, @@ -1229,13 +1242,21 @@ pub fn do_test(data: &[u8], underlying_out: Out) { // Next, make sure peers are all connected to each other if chan_a_disconnected { - nodes[0].peer_connected(&nodes[1].get_our_node_id(), &Init { features: nodes[1].init_features(), remote_network_address: None }, true).unwrap(); - nodes[1].peer_connected(&nodes[0].get_our_node_id(), &Init { features: nodes[0].init_features(), remote_network_address: None }, false).unwrap(); + nodes[0].peer_connected(&nodes[1].get_our_node_id(), &Init { + features: nodes[1].init_features(), networks: None, remote_network_address: None + }, true).unwrap(); + nodes[1].peer_connected(&nodes[0].get_our_node_id(), &Init { + features: nodes[0].init_features(), networks: None, remote_network_address: None + }, false).unwrap(); chan_a_disconnected = false; } if chan_b_disconnected { - nodes[1].peer_connected(&nodes[2].get_our_node_id(), &Init { features: nodes[2].init_features(), remote_network_address: None }, true).unwrap(); - nodes[2].peer_connected(&nodes[1].get_our_node_id(), &Init { features: nodes[1].init_features(), remote_network_address: None }, false).unwrap(); + nodes[1].peer_connected(&nodes[2].get_our_node_id(), &Init { + features: nodes[2].init_features(), networks: None, remote_network_address: None + }, true).unwrap(); + nodes[2].peer_connected(&nodes[1].get_our_node_id(), &Init { + features: nodes[1].init_features(), networks: None, remote_network_address: None + }, false).unwrap(); chan_b_disconnected = false; }