tlsn_wasm/prover/
config.rs

1use serde::Deserialize;
2use tlsn_common::config::{NetworkSetting, ProtocolConfig};
3use tsify_next::Tsify;
4
5#[derive(Debug, Tsify, Deserialize)]
6#[tsify(from_wasm_abi)]
7pub struct ProverConfig {
8    pub server_name: String,
9    pub max_sent_data: usize,
10    pub max_recv_data_online: Option<usize>,
11    pub max_recv_data: usize,
12    pub defer_decryption_from_start: Option<bool>,
13    pub max_sent_records: Option<usize>,
14    pub max_recv_records: Option<usize>,
15    pub network: NetworkSetting,
16}
17
18impl From<ProverConfig> for tlsn_prover::ProverConfig {
19    fn from(value: ProverConfig) -> Self {
20        let mut builder = ProtocolConfig::builder();
21
22        builder.max_sent_data(value.max_sent_data);
23        builder.max_recv_data(value.max_recv_data);
24
25        if let Some(value) = value.max_recv_data_online {
26            builder.max_recv_data_online(value);
27        }
28
29        if let Some(value) = value.max_sent_records {
30            builder.max_sent_records(value);
31        }
32
33        if let Some(value) = value.max_recv_records {
34            builder.max_recv_records(value);
35        }
36
37        if let Some(value) = value.defer_decryption_from_start {
38            builder.defer_decryption_from_start(value);
39        }
40
41        builder.network(value.network);
42        let protocol_config = builder.build().unwrap();
43
44        let mut builder = tlsn_prover::ProverConfig::builder();
45        builder
46            .server_name(value.server_name.as_ref())
47            .protocol_config(protocol_config);
48
49        builder.build().unwrap()
50    }
51}