Radix Relay
Hybrid mesh communications with Signal Protocol encryption
Loading...
Searching...
No Matches
radix_relay::nostr::protocol Namespace Reference

Classes

struct  eose
 End of Stored Events marker. More...
 
struct  event
 Nostr EVENT message wrapper. More...
 
struct  event_data
 Nostr event data structure. More...
 
struct  ok
 Nostr OK response message. More...
 
struct  req
 Nostr REQ subscription request. More...
 

Enumerations

enum class  kind : std::uint16_t {
  profile_metadata = 0 , text_note = 1 , recommend_relay = 2 , contact_list = 3 ,
  encrypted_dm = 4 , reaction = 7 , parameterized_replaceable_start = 30000 , bundle_announcement = 30078 ,
  encrypted_message = 40001 , identity_announcement = 40002 , session_request = 40003 , node_status = 40004
}
 Nostr event kind identifiers. More...
 

Functions

auto validate_subscription_id (const std::string &subscription_id) -> void
 Validates a subscription ID.
 

Variables

constexpr auto bundle_announcement_minimum_version = "0.4.0"
 Minimum protocol version required for bundle announcements.
 
constexpr std::size_t max_subscription_id_length = 64
 Maximum allowed subscription ID length.
 

Enumeration Type Documentation

◆ kind

enum class enum kind radix_relay::nostr::protocol::event_data::kind
strong

Nostr event kind identifiers.

Defines standard Nostr event kinds and Radix Relay custom kinds.

Enumerator
profile_metadata 

User profile metadata (NIP-01)

text_note 

Text note/post (NIP-01)

recommend_relay 

Relay recommendation (NIP-01)

contact_list 

Contact list (NIP-02)

encrypted_dm 

Encrypted direct message (NIP-04)

reaction 

Reaction to an event (NIP-25)

parameterized_replaceable_start 

Start of parameterized replaceable range.

bundle_announcement 

Radix: Signal Protocol prekey bundle.

encrypted_message 

Radix: Encrypted message via Signal Protocol.

identity_announcement 

Radix: Node identity announcement.

session_request 

Radix: Session establishment request.

node_status 

Radix: Node status update.

Definition at line 21 of file protocol.hpp.

Function Documentation

◆ validate_subscription_id()

auto radix_relay::nostr::protocol::validate_subscription_id ( const std::string &  subscription_id) -> void
inline

Validates a subscription ID.

Parameters
subscription_idID to validate
Exceptions
std::invalid_argumentif ID is empty or exceeds maximum length

Definition at line 250 of file protocol.hpp.

References max_subscription_id_length.

Variable Documentation

◆ bundle_announcement_minimum_version

constexpr auto radix_relay::nostr::protocol::bundle_announcement_minimum_version = "0.4.0"
inlineconstexpr

Minimum protocol version required for bundle announcements.

Definition at line 14 of file protocol.hpp.

Referenced by radix_relay::nostr::message_handler< Bridge >::handle().

◆ max_subscription_id_length

constexpr std::size_t radix_relay::nostr::protocol::max_subscription_id_length = 64
constexpr

Maximum allowed subscription ID length.

Definition at line 242 of file protocol.hpp.

Referenced by validate_subscription_id().