tlsn_core/
lib.rs

1//! TLSNotary core library.
2
3#![deny(missing_docs, unreachable_pub, unused_must_use)]
4#![deny(clippy::all)]
5#![forbid(unsafe_code)]
6
7pub mod connection;
8#[cfg(any(test, feature = "fixtures"))]
9pub mod fixtures;
10pub mod hash;
11pub mod merkle;
12pub mod transcript;
13pub mod webpki;
14pub use rangeset;
15pub mod config;
16pub(crate) mod display;
17
18use serde::{Deserialize, Serialize};
19
20use crate::{
21    connection::ServerName,
22    transcript::{PartialTranscript, TranscriptCommitment, TranscriptSecret},
23};
24
25/// Prover output.
26#[derive(Serialize, Deserialize)]
27pub struct ProverOutput {
28    /// Transcript commitments.
29    pub transcript_commitments: Vec<TranscriptCommitment>,
30    /// Transcript commitment secrets.
31    pub transcript_secrets: Vec<TranscriptSecret>,
32}
33
34opaque_debug::implement!(ProverOutput);
35
36/// Verifier output.
37#[derive(Serialize, Deserialize)]
38pub struct VerifierOutput {
39    /// Server identity.
40    pub server_name: Option<ServerName>,
41    /// Transcript data.
42    pub transcript: Option<PartialTranscript>,
43    /// Transcript commitments.
44    pub transcript_commitments: Vec<TranscriptCommitment>,
45}
46
47opaque_debug::implement!(VerifierOutput);