diff --git a/Cargo.lock b/Cargo.lock index c5c1b77..325d973 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1554,6 +1554,7 @@ version = "0.3.0" dependencies = [ "bech32", "ewebsock", + "hashbrown", "hex", "mio", "nostr 0.37.0", diff --git a/crates/enostr/Cargo.toml b/crates/enostr/Cargo.toml index a019aa3..274d62f 100644 --- a/crates/enostr/Cargo.toml +++ b/crates/enostr/Cargo.toml @@ -20,3 +20,4 @@ url = { workspace = true } mio = { workspace = true } tokio = { workspace = true } tokenator = { workspace = true } +hashbrown = { workspace = true } \ No newline at end of file diff --git a/crates/enostr/src/note.rs b/crates/enostr/src/note.rs index ed17848..1582d4b 100644 --- a/crates/enostr/src/note.rs +++ b/crates/enostr/src/note.rs @@ -143,3 +143,9 @@ impl<'de> Deserialize<'de> for NoteId { NoteId::from_hex(&s).map_err(serde::de::Error::custom) } } + +impl hashbrown::Equivalent for &[u8; 32] { + fn equivalent(&self, key: &NoteId) -> bool { + self.as_slice() == key.bytes() + } +}