diff --git a/src/accountant.rs b/src/accountant.rs index f99e986fb8..62be909963 100644 --- a/src/accountant.rs +++ b/src/accountant.rs @@ -49,7 +49,7 @@ impl Accountant { } pub fn deposit_signed(self: &mut Self, to: PublicKey, data: u64, sig: Signature) -> Result<()> { - let event = Event::Claim { to, data, sig }; + let event = Event::new_claim(to, data, sig); if !self.historian.verify_event(&event) { return Err(AccountingError::InvalidEvent); } diff --git a/src/bin/demo.rs b/src/bin/demo.rs index cb09ee52ac..c0eaef2225 100644 --- a/src/bin/demo.rs +++ b/src/bin/demo.rs @@ -11,11 +11,7 @@ fn create_log(hist: &Historian) -> Result<(), SendError { }, } +impl Event { + pub fn new_claim(to: PublicKey, data: T, sig: Signature) -> Self { + Event::Claim { to, data, sig } + } +} + /// Return a new ED25519 keypair pub fn generate_keypair() -> Ed25519KeyPair { use ring::{rand, signature}; diff --git a/src/historian.rs b/src/historian.rs index bfbca2c8b9..573e927b57 100644 --- a/src/historian.rs +++ b/src/historian.rs @@ -215,11 +215,7 @@ mod tests { fn test_bad_event_signature() { let keypair = generate_keypair(); let sig = sign_serialized(&hash(b"hello, world"), &keypair); - let event0 = Event::Claim { - to: get_pubkey(&keypair), - data: hash(b"goodbye cruel world"), - sig, - }; + let event0 = Event::new_claim(get_pubkey(&keypair), hash(b"goodbye cruel world"), sig); let mut sigs = HashSet::new(); assert!(!verify_event_and_reserve_signature(&mut sigs, &event0)); assert!(!sigs.contains(&sig)); @@ -231,7 +227,7 @@ mod tests { let to = get_pubkey(&keypair); let data = &hash(b"hello, world"); let sig = sign_serialized(data, &keypair); - let event0 = Event::Claim { to, data, sig }; + let event0 = Event::new_claim(to, data, sig); let mut sigs = HashSet::new(); assert!(verify_event_and_reserve_signature(&mut sigs, &event0)); assert!(!verify_event_and_reserve_signature(&mut sigs, &event0)); diff --git a/src/log.rs b/src/log.rs index 77d0584b1c..300522800f 100644 --- a/src/log.rs +++ b/src/log.rs @@ -209,24 +209,15 @@ mod tests { let zero = Sha256Hash::default(); let one = hash(&zero); - // First, verify Claim events + // First, verify entries let keypair = generate_keypair(); - let event0 = Event::Claim { - to: get_pubkey(&keypair), - data: zero, - sig: sign_serialized(&zero, &keypair), - }; - - let event1 = Event::Claim { - to: get_pubkey(&keypair), - data: one, - sig: sign_serialized(&one, &keypair), - }; + let event0 = Event::new_claim(get_pubkey(&keypair), zero, sign_serialized(&zero, &keypair)); + let event1 = Event::new_claim(get_pubkey(&keypair), one, sign_serialized(&one, &keypair)); let events = vec![event0, event1]; let mut entries = create_entries(&zero, 0, events); assert!(verify_slice(&entries, &zero)); - // Next, swap two Claim events and ensure verification fails. + // Next, swap two events and ensure verification fails. let event0 = entries[0].event.clone(); let event1 = entries[1].event.clone(); entries[0].event = event1; @@ -238,11 +229,7 @@ mod tests { fn test_claim() { let keypair = generate_keypair(); let data = hash(b"hello, world"); - let event0 = Event::Claim { - to: get_pubkey(&keypair), - data, - sig: sign_serialized(&data, &keypair), - }; + let event0 = Event::new_claim(get_pubkey(&keypair), data, sign_serialized(&data, &keypair)); let zero = Sha256Hash::default(); let entries = create_entries(&zero, 0, vec![event0]); assert!(verify_slice(&entries, &zero)); @@ -251,11 +238,11 @@ mod tests { #[test] fn test_wrong_data_claim_attack() { let keypair = generate_keypair(); - let event0 = Event::Claim { - to: get_pubkey(&keypair), - data: hash(b"goodbye cruel world"), - sig: sign_serialized(&hash(b"hello, world"), &keypair), - }; + let event0 = Event::new_claim( + get_pubkey(&keypair), + hash(b"goodbye cruel world"), + sign_serialized(&hash(b"hello, world"), &keypair), + ); let zero = Sha256Hash::default(); let entries = create_entries(&zero, 0, vec![event0]); assert!(!verify_slice(&entries, &zero));