use blitzar::compute::*;
use curve25519_dalek::scalar::Scalar;
fn main() {
let num_weeks: u64 = 52;
let weekly_pay_data: &[u16] = &[2000, 7500, 5000, 1500];
let yearly_bonus_data: &[u32] = &[5000, 0, 400000, 10, 0, 0];
let total_compensation_data: &[u64] = &[
num_weeks * 2000 + 5000,
num_weeks * 7500,
num_weeks * 5000 + 400000,
num_weeks * 1500 + 10,
];
let mut commitments = vec![Default::default(); 3];
compute_curve25519_commitments(
&mut commitments,
&[
weekly_pay_data.into(),
yearly_bonus_data.into(),
total_compensation_data.into(),
],
0,
);
let commit_weekly_pay = commitments[0].decompress().unwrap();
let commit_yearly_bonus = commitments[1].decompress().unwrap();
let commit_total_compensation = commitments[2].decompress().unwrap();
assert_eq!(
Scalar::from(num_weeks) * commit_weekly_pay + commit_yearly_bonus,
commit_total_compensation
);
}