use blitzar::compute::*;
use curve25519_dalek::{ristretto::CompressedRistretto, scalar::Scalar};
fn main() {
let dense_data: Vec<u32> = vec![1, 0, 2, 0, 3, 4, 0, 0, 0, 9, 0];
let scalar_data: Vec<Scalar> = vec![Scalar::from(5000_u32), Scalar::from(1500_u32)];
let expected_data: Vec<u32> = vec![1, 0, 5002, 1500, 3, 4, 0, 0, 0, 9, 0];
let mut commitment = vec![CompressedRistretto::default(); 1];
let mut expected_commitment = vec![CompressedRistretto::default(); 1];
compute_curve25519_commitments(&mut expected_commitment, &[(&expected_data).into()], 0_u64);
update_curve25519_commitments(&mut commitment, &[(&dense_data).into()], 0_u64);
update_curve25519_commitments(&mut commitment, &[(&scalar_data).into()], 2_u64);
if commitment == expected_commitment {
println!("Commitments are equal: {:?}", commitment);
} else {
println!("Commitments are different:");
println!("Actual Commitment 1: {:?}", commitment);
println!("Expected Commitment 1: {:?}", expected_commitment);
}
}