Drop lightning-invoice dependency on hashbrown`

This commit is contained in:
Matt Corallo 2024-02-13 18:15:20 +00:00
parent 3096061bef
commit eecd2cdf4f
3 changed files with 6 additions and 12 deletions

View file

@ -16,7 +16,7 @@ rustdoc-args = ["--cfg", "docsrs"]
[features]
default = ["std"]
no-std = ["hashbrown", "lightning/no-std"]
no-std = ["lightning/no-std"]
std = ["bitcoin/std", "num-traits/std", "lightning/std", "bech32/std"]
[dependencies]
@ -24,7 +24,6 @@ bech32 = { version = "0.9.0", default-features = false }
lightning = { version = "0.0.121", path = "../lightning", default-features = false }
secp256k1 = { version = "0.27.0", default-features = false, features = ["recovery", "alloc"] }
num-traits = { version = "0.2.8", default-features = false }
hashbrown = { version = "0.13", optional = true }
serde = { version = "1.0.118", optional = true }
bitcoin = { version = "0.30.2", default-features = false }
@ -32,3 +31,4 @@ bitcoin = { version = "0.30.2", default-features = false }
lightning = { version = "0.0.121", path = "../lightning", default-features = false, features = ["_test_utils"] }
hex = { package = "hex-conservative", version = "0.1.1", default-features = false }
serde_json = { version = "1"}
hashbrown = { version = "0.13", default-features = false }

View file

@ -79,14 +79,7 @@ mod tb;
#[allow(unused_imports)]
mod prelude {
#[cfg(feature = "hashbrown")]
extern crate hashbrown;
pub use alloc::{vec, vec::Vec, string::String};
#[cfg(not(feature = "hashbrown"))]
pub use std::collections::{HashMap, hash_map};
#[cfg(feature = "hashbrown")]
pub use self::hashbrown::{HashMap, HashSet, hash_map};
pub use alloc::string::ToString;
}

View file

@ -16,6 +16,7 @@ use lightning::routing::gossip::RoutingFees;
use lightning::routing::router::{RouteHint, RouteHintHop, Router};
use lightning::util::logger::{Logger, Record};
use secp256k1::PublicKey;
use alloc::collections::{btree_map, BTreeMap};
use core::ops::Deref;
use core::time::Duration;
use core::iter::Iterator;
@ -603,7 +604,7 @@ fn sort_and_filter_channels<L: Deref>(
where
L::Target: Logger,
{
let mut filtered_channels: HashMap<PublicKey, ChannelDetails> = HashMap::new();
let mut filtered_channels: BTreeMap<PublicKey, ChannelDetails> = BTreeMap::new();
let min_inbound_capacity = min_inbound_capacity_msat.unwrap_or(0);
let mut min_capacity_channel_exists = false;
let mut online_channel_exists = false;
@ -664,7 +665,7 @@ where
}
match filtered_channels.entry(channel.counterparty.node_id) {
hash_map::Entry::Occupied(mut entry) => {
btree_map::Entry::Occupied(mut entry) => {
let current_max_capacity = entry.get().inbound_capacity_msat;
// If this channel is public and the previous channel is not, ensure we replace the
// previous channel to avoid announcing non-public channels.
@ -697,7 +698,7 @@ where
channel.inbound_capacity_msat);
}
}
hash_map::Entry::Vacant(entry) => {
btree_map::Entry::Vacant(entry) => {
entry.insert(channel);
}
}