use bitcoin::blockdata::constants::ChainHash;
use bitcoin::hashes::Hash;
use bitcoin::hashes::sha256d::Hash as Sha256dHash;
- use bitcoin::network::constants::Network;
+ use bitcoin::network::Network;
use bitcoin::secp256k1::{PublicKey, Secp256k1, SecretKey};
use core::time::Duration;
use crate::io;
pub fn decay_100k_channel_bounds(bench: &mut Criterion) {
let logger = TestLogger::new();
- let network_graph = bench_utils::read_network_graph(&logger).unwrap();
- let mut scorer = ProbabilisticScorer::new(Default::default(), &network_graph, &logger);
- // Score a number of random channels
- let mut seed: u64 = 0xdeadbeef;
- for _ in 0..100_000 {
- seed = seed.overflowing_mul(6364136223846793005).0.overflowing_add(1).0;
- let (victim, victim_dst, amt) = {
- let rong = network_graph.read_only();
- let channels = rong.channels();
- let chan = channels.unordered_iter()
- .skip((seed as usize) % channels.len())
- .next().unwrap();
- seed = seed.overflowing_mul(6364136223846793005).0.overflowing_add(1).0;
- let amt = seed % chan.1.capacity_sats.map(|c| c * 1000)
- .or(chan.1.one_to_two.as_ref().map(|info| info.htlc_maximum_msat))
- .or(chan.1.two_to_one.as_ref().map(|info| info.htlc_maximum_msat))
- .unwrap_or(1_000_000_000).saturating_add(1);
- (*chan.0, chan.1.node_two, amt)
- };
- let path = Path {
- hops: vec![RouteHop {
- pubkey: victim_dst.as_pubkey().unwrap(),
- node_features: NodeFeatures::empty(),
- short_channel_id: victim,
- channel_features: ChannelFeatures::empty(),
- fee_msat: amt,
- cltv_expiry_delta: 42,
- maybe_announced_channel: true,
- }],
- blinded_tail: None
- };
- seed = seed.overflowing_mul(6364136223846793005).0.overflowing_add(1).0;
- if seed % 1 == 0 {
- scorer.probe_failed(&path, victim, Duration::ZERO);
- } else {
- scorer.probe_successful(&path, Duration::ZERO);
- }
- }
+ let (network_graph, mut scorer) = bench_utils::read_graph_scorer(&logger).unwrap();
let mut cur_time = Duration::ZERO;
cur_time += Duration::from_millis(1);
scorer.time_passed(cur_time);