diff --git a/common/nym_offline_compact_ecash/src/proofs/proof_spend.rs b/common/nym_offline_compact_ecash/src/proofs/proof_spend.rs index 7f5ec5d60d..856e945fac 100644 --- a/common/nym_offline_compact_ecash/src/proofs/proof_spend.rs +++ b/common/nym_offline_compact_ecash/src/proofs/proof_spend.rs @@ -728,8 +728,8 @@ mod tests { let cc = g1 * o_c + gamma1 * v; // compute hash of the payment info - let pay_info = PayInfo { info: [37u8; 88] }; - let rr = hash_to_scalar(pay_info.info); + let pay_info = PayInfo { payinfo: [37u8; 88] }; + let rr = hash_to_scalar(pay_info.payinfo); // evaluate the pseudorandom functions let ss = pseudorandom_f_delta_v(&grparams, v, l); diff --git a/common/nym_offline_compact_ecash/src/scheme/identify.rs b/common/nym_offline_compact_ecash/src/scheme/identify.rs index f45f298d9e..3ac4dce752 100644 --- a/common/nym_offline_compact_ecash/src/scheme/identify.rs +++ b/common/nym_offline_compact_ecash/src/scheme/identify.rs @@ -91,7 +91,7 @@ mod tests { ).unwrap(); // Let's try to spend some coins - let pay_info1 = PayInfo { info: [6u8; 88] }; + let pay_info1 = PayInfo { payinfo: [6u8; 88] }; let spend_vv = 1; let (payment1, _upd_wallet) = aggr_wallet.spend( @@ -162,7 +162,7 @@ mod tests { ).unwrap(); // Let's try to spend some coins - let pay_info1 = PayInfo { info: [6u8; 88] }; + let pay_info1 = PayInfo { payinfo: [6u8; 88] }; let spend_vv = 1; let (payment1, upd_wallet) = aggr_wallet.spend( @@ -179,7 +179,7 @@ mod tests { .unwrap()); - let pay_info2 = PayInfo { info: [7u8; 88] }; + let pay_info2 = PayInfo { payinfo: [7u8; 88] }; let (payment2, _) = upd_wallet.spend( ¶ms, &verification_key, @@ -253,7 +253,7 @@ mod tests { ).unwrap(); // Let's try to spend some coins - let pay_info1 = PayInfo { info: [6u8; 88] }; + let pay_info1 = PayInfo { payinfo: [6u8; 88] }; let spend_vv = 1; let (payment1, _upd_wallet) = aggr_wallet.spend( @@ -273,7 +273,7 @@ mod tests { let current_l = aggr_wallet.l.get(); aggr_wallet.l.set(current_l - 1); - let pay_info2 = PayInfo { info: [7u8; 88] }; + let pay_info2 = PayInfo { payinfo: [7u8; 88] }; let (payment2, _) = aggr_wallet.spend( ¶ms, @@ -347,7 +347,7 @@ mod tests { ).unwrap(); // Let's try to spend some coins - let pay_info1 = PayInfo { info: [6u8; 88] }; + let pay_info1 = PayInfo { payinfo: [6u8; 88] }; let spend_vv = 10; let (payment1, _) = aggr_wallet.spend( @@ -367,7 +367,7 @@ mod tests { let current_l = aggr_wallet.l.get(); aggr_wallet.l.set(current_l - 10); - let pay_info2 = PayInfo { info: [7u8; 88] }; + let pay_info2 = PayInfo { payinfo: [7u8; 88] }; let (payment2, _) = aggr_wallet.spend( ¶ms, &verification_key, diff --git a/common/nym_offline_compact_ecash/src/scheme/mod.rs b/common/nym_offline_compact_ecash/src/scheme/mod.rs index b151ec0629..3be3ca7a38 100644 --- a/common/nym_offline_compact_ecash/src/scheme/mod.rs +++ b/common/nym_offline_compact_ecash/src/scheme/mod.rs @@ -163,7 +163,7 @@ impl Wallet { lk.push(Scalar::from(self.l() + k)); // compute hashes R_k of the payment info - let rr_k = hash_to_scalar(pay_info.info); + let rr_k = hash_to_scalar(pay_info.payinfo); rr.push(rr_k); let o_a_k = grparams.random_scalar(); @@ -311,26 +311,27 @@ pub fn compute_kappa( #[derive(PartialEq, Eq, Debug, Clone)] pub struct PayInfo { - pub info: [u8; 88], + pub payinfo: [u8; 88], } -pub fn generate_payinfo(provider_pk: PublicKeyUser) -> PayInfo{ - let mut info = [0u8; 88]; +impl PayInfo { + pub fn generate_payinfo(provider_pk: PublicKeyUser) -> PayInfo { + let mut payinfo = [0u8; 88]; - // Generating random bytes - thread_rng().fill(&mut info[..32]); + // Generating random bytes + thread_rng().fill(&mut payinfo[..32]); - // Adding timestamp bytes - let timestamp = Utc::now().timestamp(); - info[32..40].copy_from_slice(×tamp.to_be_bytes()); + // Adding timestamp bytes + let timestamp = Utc::now().timestamp(); + payinfo[32..40].copy_from_slice(×tamp.to_be_bytes()); - // Adding provider public key bytes - let ppk_bytes = provider_pk.pk.to_affine().to_compressed(); - info[40..].copy_from_slice(&ppk_bytes); + // Adding provider public key bytes + let ppk_bytes = provider_pk.pk.to_affine().to_compressed(); + payinfo[40..].copy_from_slice(&ppk_bytes); - PayInfo { info } + PayInfo { payinfo } + } } - #[derive(Debug, Clone, PartialEq)] pub struct Payment { pub kappa: G2Projective, @@ -388,7 +389,7 @@ impl Payment { )); } // verify integrity of R_k - if !(self.rr[k as usize] == hash_to_scalar(pay_info.info)) { + if !(self.rr[k as usize] == hash_to_scalar(pay_info.payinfo)) { return Err(CompactEcashError::Spend( "Integrity of R_k does not hold".to_string(), )); diff --git a/common/nym_offline_compact_ecash/src/tests/e2e.rs b/common/nym_offline_compact_ecash/src/tests/e2e.rs index 94182b98f7..0da5acab4c 100644 --- a/common/nym_offline_compact_ecash/src/tests/e2e.rs +++ b/common/nym_offline_compact_ecash/src/tests/e2e.rs @@ -70,20 +70,20 @@ fn main() -> Result<(), CompactEcashError> { assert_eq!(aggr_wallet, wallet); // Let's try to spend some coins - let pay_info = PayInfo { info: [6u8; 88] }; + let payinfo = PayInfo { payinfo: [6u8; 88] }; let spend_vv = 1; let (payment, _) = aggr_wallet.spend( ¶ms, &verification_key, &user_keypair.secret_key(), - &pay_info, + &payinfo, false, spend_vv, )?; assert!(payment - .spend_verify(¶ms, &verification_key, &pay_info) + .spend_verify(¶ms, &verification_key, &payinfo) .unwrap()); let payment_bytes = payment.to_bytes();