Files
buzz/crates/buzz-proxy/src/lib.rs
Will Pfleger d99ad131f1 refactor: rename sprout backend to buzz (#958)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <wpfleger@block.xyz>
Signed-off-by: Will Pfleger <wpfleger@squareup.com>
Signed-off-by: Will Pfleger <wpfleger96@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub16v54tttfqacx9ycvc3k0ut0npj564ahcuajzy6qjvh57ntmsf4uq4806j2 <d32955ad69077062930cc46cfe2df30ca9aaf6f8e76422681265e9e9af704d78@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Will Pfleger <wpfleger96@gmail.com>
2026-06-10 19:29:51 -04:00

35 lines
1.3 KiB
Rust

#![deny(unsafe_code)]
#![warn(missing_docs)]
//! `buzz-proxy` — Guest relay proxy for Nostr client compatibility.
//!
//! Translates standard Nostr kinds ↔ Buzz custom kinds, derives deterministic
//! shadow keypairs for external users, and authenticates guests via invite tokens.
/// Bidirectional UUID ↔ NIP-28 kind:40 event ID mapping.
pub mod channel_map;
/// Error types for the proxy layer.
pub mod error;
/// Pubkey-based guest registry for persistent access control.
pub mod guest_store;
/// Invite token management for guest authentication.
pub mod invite;
/// Thread-safe invite token registry.
pub mod invite_store;
/// Kind translation between standard Nostr and Buzz-internal kinds.
pub mod kind_translator;
/// External-facing NIP-01 WebSocket server for standard Nostr clients.
pub mod server;
/// Deterministic shadow keypair derivation and caching.
pub mod shadow_keys;
/// Event translation between Buzz internal format and NIP-28 standard format.
pub mod translate;
/// Upstream relay WebSocket client with NIP-42 auth and reconnect.
pub mod upstream;
pub use error::ProxyError;
pub use guest_store::GuestStore;
pub use invite::InviteToken;
pub use invite_store::InviteStore;
pub use kind_translator::KindTranslator;
pub use shadow_keys::ShadowKeyManager;