Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add NIP-11 relay info document as early NOTICE #55

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions src/clienthandler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ use crate::config::Config;
use crate::{events, NostrSub, NostrClient};
use crate::events::{ClientEvents, EventsProvider, ServerCmd};
use crate::nostr_db::DbRequest;
use crate::util::is_ephemeral;
use crate::util::{is_ephemeral, get_relay_info};

use staking_credentials::common::msgs::CredentialPolicy;

Expand Down Expand Up @@ -333,9 +333,8 @@ impl ClientHandler {
}
let db_request = DbRequest::WriteClient(client_2);
write_db.push(db_request);
//TODO: serialize CredentialPolicy as message notice
let message = String::new();
let relay_message = RelayMessage::new_notice(message);
let relay_info = get_relay_info();
let relay_message = RelayMessage::new_notice(relay_info);
let serialized_message = relay_message.as_json();
let notice_event = ClientEvents::RelayNotice { client_id: client_id, message: serialized_message };
new_pending_events.push(notice_event);
Expand Down
19 changes: 19 additions & 0 deletions src/util.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
use nostr::Event;

use serde_json::json;

use bitcoin::secp256k1::{PublicKey, SecretKey, Secp256k1};

use log::LevelFilter;
use simplelog::{CombinedLogger, ConfigBuilder, TermLogger, WriteLogger, TerminalMode};
use std::error::Error;
Expand Down Expand Up @@ -73,3 +77,18 @@ pub fn is_replaceable(ev: &Event) -> bool {
}
return false;
}

pub fn get_relay_info() -> String {
//TODO: give config
let secp_ctx = Secp256k1::new();
let pubkey = PublicKey::from_secret_key(&secp_ctx, &SecretKey::from_slice(&[42;32]).unwrap());
let relay_info = json!({
"name": "CIVKIT TEST",
"description": "",
"pubkey": pubkey.serialize()[..],
"contact": "",
"software": "civkitd",
"version": "v0.0.2"
});
relay_info.to_string()
}