walletconnect_client/
watch.rs1use crate::jwt::decode::Topic;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
5#[serde(rename_all = "lowercase")]
6pub enum WatchType {
7 Subscriber,
8 Publisher,
9}
10
11#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
12#[serde(rename_all = "lowercase")]
13pub enum WatchStatus {
14 Accepted,
15 Queued,
16 Delivered,
17}
18
19#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
20pub enum WatchAction {
21 #[serde(rename = "irn_watchRegister")]
22 Register,
23 #[serde(rename = "irn_watchUnregister")]
24 Unregister,
25 #[serde(rename = "irn_watchEvent")]
26 WatchEvent,
27}
28
29#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
30#[serde(rename_all = "camelCase")]
31pub struct WatchEventPayload {
32 pub status: WatchStatus,
34 pub topic: Topic,
36 pub message: String,
38 pub published_at: i64,
40 pub tag: u32,
42}
43
44#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
45#[serde(rename_all = "camelCase")]
46pub struct WatchWebhookPayload {
47 pub event_auth: String,
49}