pub struct EmojiPack {
pub id: String,
pub pubkey: String,
pub identifier: String,
pub title: String,
pub image_url: String,
pub description: String,
pub emojis: Vec<PackEmoji>,
pub is_own: bool,
pub updated_at: u64,
pub status: u8,
}Fields§
§id: StringCanonical NIP-19 naddr1... for this pack (no relay hints).
Mirrors the profile.id == npub pattern — frontend / IPC code
only ever speaks bech32. Internal storage + kind 10030 a tags
still use the raw kind:pubkey:identifier coordinate (DB
columns named addr, helpers exposed via parse_pack_address
/ naddr_from_addr).
pubkey: StringAuthor of the kind 30030 event (hex).
identifier: Stringd tag identifier.
title: StringNIP-51 title with Ditto name fallback.
image_url: StringNIP-51 image with Ditto picture fallback. Empty if neither.
description: StringNIP-51 description with Ditto about fallback.
emojis: Vec<PackEmoji>§is_own: boolOwned packs surface a different UI affordance (edit pencil).
updated_at: u64Event created_at — fed back into the relay filter so re-fetches
don’t process older events on top of a newer cached pack.
status: u8Health verdict: PACK_STATUS_ACTIVE / PACK_STATUS_REVOKED /
PACK_STATUS_MISSING. Dead packs stay in the picker payload so the
UI can render the section greyed with an explanation + remove button,
but their emojis are excluded from sending and suggestions.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for EmojiPack
impl<'de> Deserialize<'de> for EmojiPack
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for EmojiPack
impl RefUnwindSafe for EmojiPack
impl Send for EmojiPack
impl Sync for EmojiPack
impl Unpin for EmojiPack
impl UnsafeUnpin for EmojiPack
impl UnwindSafe for EmojiPack
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more