use sl_oblivious::{endemic_ot::EndemicOTMsg2, soft_spoken::PPRFOutput};
use crate::proto::*;
#[derive(Clone, Copy, bytemuck::AnyBitPattern, bytemuck::NoUninit)]
#[repr(C)]
pub struct KeygenMsg3 {
pub d_i: ScalarBytes,
pub base_ot_msg2: EndemicOTMsg2,
pub pprf_output: PPRFOutput,
pub chain_code_sid: [u8; 32],
pub r_i_2: [u8; 32],
pub seed_i_j: [u8; 32],
}
const _: () = assert!(core::mem::align_of::<KeygenMsg3>() == 1);
#[derive(Clone, Copy, bytemuck::AnyBitPattern, bytemuck::NoUninit)]
#[repr(C)]
pub struct QCP2PMsg1 {
pub commitment_2_i: [u8; 32],
}
const _: () = assert!(core::mem::align_of::<QCP2PMsg1>() == 1);
#[derive(Clone, Copy, bytemuck::AnyBitPattern, bytemuck::NoUninit)]
#[repr(C)]
pub struct QCP2PMsg2 {
pub p_i: ScalarBytes,
pub r_2_i: [u8; 32],
pub root_chain_code: [u8; 32],
}
const _: () = assert!(core::mem::align_of::<QCP2PMsg2>() == 1);
#[derive(Clone, Copy, bytemuck::AnyBitPattern, bytemuck::NoUninit)]
#[repr(C)]
pub struct QCOTMsg2 {
pub base_ot_msg2: EndemicOTMsg2,
pub pprf_output: PPRFOutput,
pub seed_i_j: [u8; 32],
}
const _: () = assert!(core::mem::align_of::<QCOTMsg2>() == 1);