lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

tag.rs (1102B)


      1 //! Canonical event-tag types, references, and relay hints.
      2 
      3 #[cfg(not(feature = "std"))]
      4 use alloc::{string::String, vec::Vec};
      5 #[cfg(feature = "std")]
      6 use std::{string::String, vec::Vec};
      7 
      8 #[path = "tags.rs"]
      9 pub mod name;
     10 #[path = "relay_hint.rs"]
     11 pub mod relay_hint;
     12 
     13 #[cfg_attr(
     14     any(feature = "serde", test),
     15     derive(serde::Serialize, serde::Deserialize)
     16 )]
     17 #[cfg_attr(all(test, feature = "std"), derive(dto_bindgen::Dto))]
     18 #[cfg_attr(all(test, feature = "std"), dto(export))]
     19 #[derive(Clone, Debug, PartialEq, Eq)]
     20 pub struct EventRef {
     21     pub id: String,
     22     #[cfg_attr(all(test, feature = "std"), dto(as = "string"))]
     23     pub author: radroots_identity::PublicKey,
     24     pub kind: u32,
     25     pub d_tag: Option<String>,
     26     pub relays: Option<Vec<String>>,
     27 }
     28 
     29 #[cfg_attr(
     30     any(feature = "serde", test),
     31     derive(serde::Serialize, serde::Deserialize)
     32 )]
     33 #[cfg_attr(all(test, feature = "std"), derive(dto_bindgen::Dto))]
     34 #[cfg_attr(all(test, feature = "std"), dto(export))]
     35 #[derive(Clone, Debug, PartialEq, Eq)]
     36 pub struct EventPtr {
     37     pub id: String,
     38     pub relays: Option<String>,
     39 }