Skip to main content

deaddrop_core/
channel.rs

1//! Channel subscriptions. Nodes MUST NOT store every public channel by default.
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6#[serde(rename_all = "snake_case")]
7pub enum ChannelFilter {
8    Subscribe,
9    Ignore,
10    RelayOnly,
11    MetadataOnly,
12}
13
14#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
15#[serde(rename_all = "snake_case")]
16pub enum ChannelPolicy {
17    Public,
18    SignedPublic,
19    Private,
20    GroupEncrypted,
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize)]
24pub struct ChannelSub {
25    pub name: String,
26    pub filter: ChannelFilter,
27    pub policy: ChannelPolicy,
28}