From dfe378c45b4c5786aeacc4839258f0c3b86e9fa7 Mon Sep 17 00:00:00 2001 From: "Abdel @ StarkWare" Date: Tue, 16 Jul 2024 16:01:37 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20nostr=20subsription=20and=20data?= =?UTF-8?q?=20fixtures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/cli/src/prover_agent.rs | 19 ++++++++++--------- crates/cli/src/user_cli.rs | 20 +++++++++++--------- crates/core/src/data_fixture.rs | 6 ++++++ crates/core/src/lib.rs | 1 + 4 files changed, 28 insertions(+), 18 deletions(-) create mode 100644 crates/core/src/data_fixture.rs diff --git a/crates/cli/src/prover_agent.rs b/crates/cli/src/prover_agent.rs index e46f867..810b39e 100644 --- a/crates/cli/src/prover_agent.rs +++ b/crates/cli/src/prover_agent.rs @@ -1,18 +1,19 @@ +use askeladd_core::data_fixture::{self, PROVING_REQ_SUB_ID, SUBSCRIBED_RELAYS}; use askeladd_core::prover_service::ProverService; use askeladd_core::types::FibonnacciProvingRequest; use nostr_sdk::prelude::*; -const SUBSCRIBED_RELAYS: &[&str] = &[ - "wss://nostr.oxtr.dev", - "wss://relay.damus.io", - "wss://nostr.openchain.fr", -]; -const PROVING_REQ_SUB_ID: &str = "askeladd_proving_request"; - #[tokio::main] async fn main() -> Result<()> { + let user_secret_key = SecretKey::from_bech32(data_fixture::USER_BECH32_SK)?; + let user_keys = Keys::new(user_secret_key); + let user_public_key = user_keys.public_key(); + + let prover_agent_keys = + Keys::new(SecretKey::from_bech32(data_fixture::PROVER_AGENT_SK).unwrap()); + let opts = Options::new().wait_for_send(false); - let client = Client::builder().opts(opts).build(); + let client = Client::with_opts(&prover_agent_keys, opts); for relay in SUBSCRIBED_RELAYS { client.add_relay(Url::parse(relay).unwrap()).await?; @@ -21,7 +22,7 @@ async fn main() -> Result<()> { client.connect().await; let proving_req_sub_id = SubscriptionId::new(PROVING_REQ_SUB_ID); - let filter = Filter::new().kind(Kind::TextNote); + let filter = Filter::new().kind(Kind::TextNote).author(user_public_key); client .subscribe_with_id(proving_req_sub_id.clone(), vec![filter], None) diff --git a/crates/cli/src/user_cli.rs b/crates/cli/src/user_cli.rs index 1dad098..c436bf3 100644 --- a/crates/cli/src/user_cli.rs +++ b/crates/cli/src/user_cli.rs @@ -1,19 +1,18 @@ +use askeladd_core::data_fixture::{self, PROVING_RESP_SUB_ID, SUBSCRIBED_RELAYS}; use askeladd_core::types::{FibonnacciProvingRequest, FibonnacciProvingResponse}; use askeladd_core::verifier_service::VerifierService; use nostr_sdk::prelude::*; use uuid::Uuid; -const SUBSCRIBED_RELAYS: &[&str] = &[ - "wss://nostr.oxtr.dev", - "wss://relay.damus.io", - "wss://nostr.openchain.fr", -]; -const PROVING_RESP_SUB_ID: &str = "askeladd_proving_response"; - #[tokio::main] async fn main() -> Result<()> { + let prover_agent_secret_key = SecretKey::from_bech32(data_fixture::PROVER_AGENT_SK)?; + let prover_agent_keys = Keys::new(prover_agent_secret_key); + let prover_agent_public_key = prover_agent_keys.public_key(); + let user_keys = Keys::new(SecretKey::from_bech32(data_fixture::USER_BECH32_SK).unwrap()); + let opts = Options::new().wait_for_send(false); - let client = Client::builder().opts(opts).build(); + let client = Client::with_opts(&user_keys, opts); for relay in SUBSCRIBED_RELAYS { client.add_relay(Url::parse(relay).unwrap()).await?; @@ -41,7 +40,10 @@ async fn main() -> Result<()> { // Subscribe to proving responses let proving_resp_sub_id = SubscriptionId::new(PROVING_RESP_SUB_ID); - let filter = Filter::new().kind(Kind::TextNote).since(Timestamp::now()); + let filter = Filter::new() + .kind(Kind::TextNote) + .author(prover_agent_public_key) + .since(Timestamp::now()); client .subscribe_with_id(proving_resp_sub_id.clone(), vec![filter], None) diff --git a/crates/core/src/data_fixture.rs b/crates/core/src/data_fixture.rs new file mode 100644 index 0000000..a7bbe7b --- /dev/null +++ b/crates/core/src/data_fixture.rs @@ -0,0 +1,6 @@ +pub const SUBSCRIBED_RELAYS: &[&str] = &["wss://relay.damus.io"]; +pub const PROVING_REQ_SUB_ID: &str = "askeladd.proving.request"; +pub const PROVING_RESP_SUB_ID: &str = "askeladd.proving.response"; + +pub const USER_BECH32_SK: &str = "nsec1tsaxyqcxp8atqup4facwp0as52f2c0evj4cxpw6yaqetusu7sg8qqzkr3k"; +pub const PROVER_AGENT_SK: &str = "nsec18s6wcqlkglhjmfz3tnjkh0qscf6cqen96ecp5k5k73ktew3l97tstuvy2x"; diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index 634e0fb..c7cac59 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -1,3 +1,4 @@ +pub mod data_fixture; pub mod prover_service; pub mod types; pub mod verifier_service;