use crate::{
commitment::{BHPCommitment, PedersenCommitment, PedersenCompressedCommitment},
traits::CommitmentScheme,
};
use snarkvm_curves::edwards_bls12::EdwardsProjective;
const PEDERSEN_NUM_WINDOWS: usize = 8;
const PEDERSEN_WINDOW_SIZE: usize = 128;
const BHP_NUM_WINDOWS: usize = 32;
const BHP_WINDOW_SIZE: usize = 48;
fn commitment_parameters_serialization<C: CommitmentScheme>() {
let commitment = C::setup("commitment_parameters_serialization").to_bytes_le().unwrap();
let recovered_commitment = C::read_le(&commitment[..]).unwrap();
assert_eq!(commitment, recovered_commitment.to_bytes_le().unwrap());
}
#[test]
fn bhp_commitment_parameters_serialization() {
commitment_parameters_serialization::<BHPCommitment<EdwardsProjective, BHP_NUM_WINDOWS, BHP_WINDOW_SIZE>>();
}
#[test]
fn pedersen_commitment_parameters_serialization() {
commitment_parameters_serialization::<
PedersenCommitment<EdwardsProjective, PEDERSEN_NUM_WINDOWS, PEDERSEN_WINDOW_SIZE>,
>();
}
#[test]
fn pedersen_compressed_commitment_parameters_serialization() {
commitment_parameters_serialization::<
PedersenCompressedCommitment<EdwardsProjective, PEDERSEN_NUM_WINDOWS, PEDERSEN_WINDOW_SIZE>,
>();
}