Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f679fa0893 | ||
|
|
4cc313fa2d | ||
|
|
6502f7dcd7 |
Generated
+1
-1
@@ -654,7 +654,7 @@ checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nostr-rs-relay"
|
name = "nostr-rs-relay"
|
||||||
version = "0.4.1"
|
version = "0.4.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitcoin_hashes 0.9.7",
|
"bitcoin_hashes 0.9.7",
|
||||||
"config",
|
"config",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "nostr-rs-relay"
|
name = "nostr-rs-relay"
|
||||||
version = "0.4.1"
|
version = "0.4.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|||||||
+5
-1
@@ -148,9 +148,13 @@ impl Event {
|
|||||||
|
|
||||||
let sig = schnorr::Signature::from_str(&self.sig).unwrap();
|
let sig = schnorr::Signature::from_str(&self.sig).unwrap();
|
||||||
if let Ok(msg) = secp256k1::Message::from_slice(digest.as_ref()) {
|
if let Ok(msg) = secp256k1::Message::from_slice(digest.as_ref()) {
|
||||||
let pubkey = XOnlyPublicKey::from_str(&self.pubkey).unwrap();
|
if let Ok(pubkey) = XOnlyPublicKey::from_str(&self.pubkey) {
|
||||||
let verify = SECP.verify_schnorr(&sig, &msg, &pubkey);
|
let verify = SECP.verify_schnorr(&sig, &msg, &pubkey);
|
||||||
matches!(verify, Ok(()))
|
matches!(verify, Ok(()))
|
||||||
|
} else {
|
||||||
|
info!("Client sent malformed pubkey");
|
||||||
|
false
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
warn!("Error converting digest to secp256k1 message");
|
warn!("Error converting digest to secp256k1 message");
|
||||||
false
|
false
|
||||||
|
|||||||
+4
-2
@@ -280,7 +280,6 @@ async fn nostr_server(
|
|||||||
// maintain a hashmap of a oneshot channel for active subscriptions.
|
// maintain a hashmap of a oneshot channel for active subscriptions.
|
||||||
// when these subscriptions are cancelled, make a message
|
// when these subscriptions are cancelled, make a message
|
||||||
// available to the executing query so it knows to stop.
|
// available to the executing query so it knows to stop.
|
||||||
//let (abandon_query_tx, _) = oneshot::channel::<()>();
|
|
||||||
let mut running_queries: HashMap<String, oneshot::Sender<()>> = HashMap::new();
|
let mut running_queries: HashMap<String, oneshot::Sender<()>> = HashMap::new();
|
||||||
// for stats, keep track of how many events the client published,
|
// for stats, keep track of how many events the client published,
|
||||||
// and how many it received from queries.
|
// and how many it received from queries.
|
||||||
@@ -348,7 +347,10 @@ async fn nostr_server(
|
|||||||
let (abandon_query_tx, abandon_query_rx) = oneshot::channel::<()>();
|
let (abandon_query_tx, abandon_query_rx) = oneshot::channel::<()>();
|
||||||
match conn.subscribe(s.clone()) {
|
match conn.subscribe(s.clone()) {
|
||||||
Ok(()) => {
|
Ok(()) => {
|
||||||
running_queries.insert(s.id.to_owned(), abandon_query_tx);
|
// when we insert, if there was a previous query running with the same name, cancel it.
|
||||||
|
if let Some(previous_query) = running_queries.insert(s.id.to_owned(), abandon_query_tx) {
|
||||||
|
previous_query.send(()).ok();
|
||||||
|
}
|
||||||
// start a database query
|
// start a database query
|
||||||
// show pool stats
|
// show pool stats
|
||||||
debug!("DB pool stats: {:?}", pool.state());
|
debug!("DB pool stats: {:?}", pool.state());
|
||||||
|
|||||||
Reference in New Issue
Block a user