zkgroup/api/
generic_server_params.rs1use partial_default::PartialDefault;
7use serde::{Deserialize, Serialize};
8
9use crate::common::serialization::ReservedByte;
10use crate::RandomnessBytes;
11
12#[derive(Serialize, Deserialize, PartialDefault)]
13pub struct GenericServerSecretParams {
14 version: ReservedByte,
15 pub(crate) credential_key: zkcredential::credentials::CredentialKeyPair,
16}
17
18impl GenericServerSecretParams {
19 pub fn generate(randomness: RandomnessBytes) -> Self {
20 Self {
21 version: Default::default(),
22 credential_key: zkcredential::credentials::CredentialKeyPair::generate(randomness),
23 }
24 }
25
26 pub fn get_public_params(&self) -> GenericServerPublicParams {
27 GenericServerPublicParams {
28 version: self.version,
29 credential_key: self.credential_key.public_key().clone(),
30 }
31 }
32}
33
34#[derive(Serialize, Deserialize, PartialDefault)]
35pub struct GenericServerPublicParams {
36 version: ReservedByte,
37 pub(crate) credential_key: zkcredential::credentials::CredentialPublicKey,
38}