use std::io::BufReader;
use std::sync::Arc;
-use bitcoin::blockdata::constants::genesis_block;
-use bitcoin::secp256k1::PublicKey;
-use lightning::routing::gossip::NetworkGraph;
+use lightning::routing::gossip::{NetworkGraph, NodeId};
use lightning::util::ser::{ReadableArgs, Writeable};
use tokio::sync::mpsc;
use crate::lookup::DeltaSet;
network_graph
} else {
println!("Initialization from cached network graph failed: {}", network_graph_result.err().unwrap());
- NetworkGraph::new(genesis_block(network).header.block_hash(), logger)
+ NetworkGraph::new(network, logger)
}
} else {
- NetworkGraph::new(genesis_block(network).header.block_hash(), logger)
+ NetworkGraph::new(network, logger)
};
let arc_network_graph = Arc::new(network_graph);
Self {
// chain hash only necessary if either channel announcements or non-incremental updates are present
// for announcement-free incremental-only updates, chain hash can be skipped
- let mut node_id_set: HashSet<[u8; 33]> = HashSet::new();
- let mut node_id_indices: HashMap<[u8; 33], usize> = HashMap::new();
- let mut node_ids: Vec<PublicKey> = Vec::new();
+ let mut node_id_set: HashSet<NodeId> = HashSet::new();
+ let mut node_id_indices: HashMap<NodeId, usize> = HashMap::new();
+ let mut node_ids: Vec<NodeId> = Vec::new();
let mut duplicate_node_ids: i32 = 0;
- let mut get_node_id_index = |node_id: PublicKey| {
- let serialized_node_id = node_id.serialize();
- if node_id_set.insert(serialized_node_id) {
+ let mut get_node_id_index = |node_id: NodeId| {
+ if node_id_set.insert(node_id) {
node_ids.push(node_id);
let index = node_ids.len() - 1;
- node_id_indices.insert(serialized_node_id, index);
+ node_id_indices.insert(node_id, index);
return index;
}
duplicate_node_ids += 1;
- node_id_indices[&serialized_node_id]
+ node_id_indices[&node_id]
};
let mut delta_set = DeltaSet::new();