zkgroup/api/profiles/
profile_key_version.rs

1//
2// Copyright 2020 Signal Messenger, LLC.
3// SPDX-License-Identifier: AGPL-3.0-only
4//
5
6use serde::ser::SerializeTuple;
7use serde::{Serialize, Serializer};
8
9use crate::common::simple_types::*;
10
11#[derive(Copy, Clone)]
12pub struct ProfileKeyVersion {
13    pub(crate) bytes: ProfileKeyVersionEncodedBytes,
14}
15
16impl Serialize for ProfileKeyVersion {
17    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
18    where
19        S: Serializer,
20    {
21        let mut seq = serializer.serialize_tuple(self.bytes.len()).unwrap();
22        for b in self.bytes.iter() {
23            seq.serialize_element(b)?;
24        }
25        seq.end()
26    }
27}