zkgroup/api/receipts/
receipt_credential_request_context.rs1use partial_default::PartialDefault;
7use serde::{Deserialize, Serialize};
8
9use crate::common::serialization::ReservedByte;
10use crate::common::simple_types::*;
11use crate::{api, crypto};
12
13#[derive(Serialize, Deserialize, PartialDefault)]
14pub struct ReceiptCredentialRequestContext {
15 pub(crate) reserved: ReservedByte,
16 pub(crate) receipt_serial_bytes: ReceiptSerialBytes,
17 pub(crate) key_pair: crypto::receipt_credential_request::KeyPair,
18 pub(crate) ciphertext_with_secret_nonce:
19 crypto::receipt_credential_request::CiphertextWithSecretNonce,
20}
21
22impl ReceiptCredentialRequestContext {
23 pub fn get_request(&self) -> api::receipts::ReceiptCredentialRequest {
24 let ciphertext = self.ciphertext_with_secret_nonce.get_ciphertext();
25 let public_key = self.key_pair.get_public_key();
26 api::receipts::ReceiptCredentialRequest {
27 reserved: Default::default(),
28 public_key,
29 ciphertext,
30 }
31 }
32}