X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Frouter.rs;h=037303d917cfa8a911ddc0cacbe8cb7ae583b819;hb=d2520f490897eab5eaa1300b42ac7ffa0951d115;hp=fb2364f7da3b062a48b941d9e49ba81ec07c7c6b;hpb=4bd2c974a2c96a2ce98a4055a72b2b3c687e78bc;p=rust-lightning diff --git a/lightning/src/ln/router.rs b/lightning/src/ln/router.rs index fb2364f7..037303d9 100644 --- a/lightning/src/ln/router.rs +++ b/lightning/src/ln/router.rs @@ -3,12 +3,13 @@ //! You probably want to create a Router and use that as your RoutingMessageHandler and then //! interrogate it to get routes for your own payments. -use secp256k1::key::PublicKey; -use secp256k1::Secp256k1; -use secp256k1; +use bitcoin::secp256k1::key::PublicKey; +use bitcoin::secp256k1::Secp256k1; +use bitcoin::secp256k1; -use bitcoin_hashes::sha256d::Hash as Sha256dHash; -use bitcoin_hashes::Hash; +use bitcoin::hashes::sha256d::Hash as Sha256dHash; +use bitcoin::hashes::Hash; +use bitcoin::hash_types::BlockHash; use bitcoin::blockdata::script::Builder; use bitcoin::blockdata::opcodes; @@ -329,19 +330,19 @@ impl std::fmt::Display for NetworkMap { impl NetworkMap { #[cfg(feature = "non_bitcoin_chain_hash_routing")] #[inline] - fn get_key(short_channel_id: u64, chain_hash: Sha256dHash) -> (u64, Sha256dHash) { + fn get_key(short_channel_id: u64, chain_hash: BlockHash) -> (u64, BlockHash) { (short_channel_id, chain_hash) } #[cfg(not(feature = "non_bitcoin_chain_hash_routing"))] #[inline] - fn get_key(short_channel_id: u64, _: Sha256dHash) -> u64 { + fn get_key(short_channel_id: u64, _: BlockHash) -> u64 { short_channel_id } #[cfg(feature = "non_bitcoin_chain_hash_routing")] #[inline] - fn get_short_id(id: &(u64, Sha256dHash)) -> &u64 { + fn get_short_id(id: &(u64, BlockHash)) -> &u64 { &id.0 } @@ -1085,8 +1086,9 @@ mod tests { use util::logger::Logger; use util::ser::{Writeable, Readable}; - use bitcoin_hashes::sha256d::Hash as Sha256dHash; - use bitcoin_hashes::Hash; + use bitcoin::hashes::sha256d::Hash as Sha256dHash; + use bitcoin::hashes::Hash; + use bitcoin::hash_types::BlockHash; use bitcoin::network::constants::Network; use bitcoin::blockdata::constants::genesis_block; use bitcoin::blockdata::script::Builder; @@ -1095,9 +1097,9 @@ mod tests { use hex; - use secp256k1::key::{PublicKey,SecretKey}; - use secp256k1::All; - use secp256k1::Secp256k1; + use bitcoin::secp256k1::key::{PublicKey,SecretKey}; + use bitcoin::secp256k1::All; + use bitcoin::secp256k1::Secp256k1; use std::sync::Arc; use std::collections::btree_map::Entry as BtreeEntry; @@ -1181,7 +1183,7 @@ mod tests { let node7 = PublicKey::from_secret_key(&secp_ctx, &SecretKey::from_slice(&hex::decode("0808080808080808080808080808080808080808080808080808080808080808").unwrap()[..]).unwrap()); let node8 = PublicKey::from_secret_key(&secp_ctx, &SecretKey::from_slice(&hex::decode("0909090909090909090909090909090909090909090909090909090909090909").unwrap()[..]).unwrap()); - let zero_hash = Sha256dHash::hash(&[0; 32]); + let zero_hash = BlockHash::hash(&[0; 32]); macro_rules! id_to_feature_flags { // Set the feature flags to the id'th odd (ie non-required) feature bit so that we can @@ -1539,8 +1541,8 @@ mod tests { { // Disable channels 4 and 12 by requiring unknown feature bits let mut network = router.network_map.write().unwrap(); - network.channels.get_mut(&NetworkMap::get_key(4, zero_hash.clone())).unwrap().features.set_require_unknown_bits(); - network.channels.get_mut(&NetworkMap::get_key(12, zero_hash.clone())).unwrap().features.set_require_unknown_bits(); + network.channels.get_mut(&NetworkMap::get_key(4, zero_hash.clone())).unwrap().features.set_required_unknown_bits(); + network.channels.get_mut(&NetworkMap::get_key(12, zero_hash.clone())).unwrap().features.set_required_unknown_bits(); } { // If all the channels require some features we don't understand, route should fail @@ -1581,15 +1583,15 @@ mod tests { { // Re-enable channels 4 and 12 by wiping the unknown feature bits let mut network = router.network_map.write().unwrap(); - network.channels.get_mut(&NetworkMap::get_key(4, zero_hash.clone())).unwrap().features.clear_require_unknown_bits(); - network.channels.get_mut(&NetworkMap::get_key(12, zero_hash.clone())).unwrap().features.clear_require_unknown_bits(); + network.channels.get_mut(&NetworkMap::get_key(4, zero_hash.clone())).unwrap().features.clear_unknown_bits(); + network.channels.get_mut(&NetworkMap::get_key(12, zero_hash.clone())).unwrap().features.clear_unknown_bits(); } { // Disable nodes 1, 2, and 8 by requiring unknown feature bits let mut network = router.network_map.write().unwrap(); - network.nodes.get_mut(&node1).unwrap().features.set_require_unknown_bits(); - network.nodes.get_mut(&node2).unwrap().features.set_require_unknown_bits(); - network.nodes.get_mut(&node8).unwrap().features.set_require_unknown_bits(); + network.nodes.get_mut(&node1).unwrap().features.set_required_unknown_bits(); + network.nodes.get_mut(&node2).unwrap().features.set_required_unknown_bits(); + network.nodes.get_mut(&node8).unwrap().features.set_required_unknown_bits(); } { // If all nodes require some features we don't understand, route should fail @@ -1630,9 +1632,9 @@ mod tests { { // Re-enable nodes 1, 2, and 8 let mut network = router.network_map.write().unwrap(); - network.nodes.get_mut(&node1).unwrap().features.clear_require_unknown_bits(); - network.nodes.get_mut(&node2).unwrap().features.clear_require_unknown_bits(); - network.nodes.get_mut(&node8).unwrap().features.clear_require_unknown_bits(); + network.nodes.get_mut(&node1).unwrap().features.clear_unknown_bits(); + network.nodes.get_mut(&node2).unwrap().features.clear_unknown_bits(); + network.nodes.get_mut(&node8).unwrap().features.clear_unknown_bits(); } // Note that we don't test disabling node 3 and failing to route to it, as we (somewhat