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 }