tlsn_wasm/prover/
config.rs1use 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}