xmtp_id/associations/ident/
passkey.rs

1use serde::{Deserialize, Serialize};
2use std::{fmt::Display, hash::Hash};
3
4#[derive(Debug, Clone, Eq, Serialize, Deserialize)]
5pub struct Passkey {
6    pub key: Vec<u8>,
7    pub relying_party: Option<String>,
8}
9
10impl PartialEq for Passkey {
11    fn eq(&self, other: &Self) -> bool {
12        self.key == other.key
13    }
14}
15
16impl Hash for Passkey {
17    fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
18        self.key.hash(state);
19    }
20}
21impl Display for Passkey {
22    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
23        write!(f, "{}", hex::encode(&self.key))
24    }
25}