From 9c62f8d81f1c7a8f5e2168cbd0f5a07e8c0c10a6 Mon Sep 17 00:00:00 2001 From: Greg Fitzgerald Date: Wed, 16 May 2018 17:35:21 -0600 Subject: [PATCH] Add Event::Transaction constructor --- src/entry.rs | 5 ++--- src/event.rs | 11 +++++++++++ src/recorder.rs | 5 ++--- src/tvu.rs | 6 ++---- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/entry.rs b/src/entry.rs index 555cb5bbd..badc4e5fe 100644 --- a/src/entry.rs +++ b/src/entry.rs @@ -120,7 +120,6 @@ mod tests { use event::Event; use hash::hash; use signature::{KeyPair, KeyPairUtil}; - use transaction::Transaction; #[test] fn test_entry_verify() { @@ -138,8 +137,8 @@ mod tests { // First, verify entries let keypair = KeyPair::new(); - let tr0 = Event::Transaction(Transaction::new(&keypair, keypair.pubkey(), 0, zero)); - let tr1 = Event::Transaction(Transaction::new(&keypair, keypair.pubkey(), 1, zero)); + let tr0 = Event::new_transaction(&keypair, keypair.pubkey(), 0, zero); + let tr1 = Event::new_transaction(&keypair, keypair.pubkey(), 1, zero); let mut e0 = create_entry(&zero, 0, vec![tr0.clone(), tr1.clone()]); assert!(e0.verify(&zero)); diff --git a/src/event.rs b/src/event.rs index b3a317e19..f657f5c3f 100644 --- a/src/event.rs +++ b/src/event.rs @@ -3,6 +3,7 @@ use bincode::serialize; use chrono::prelude::*; +use hash::Hash; use signature::{KeyPair, KeyPairUtil, PublicKey, Signature, SignatureUtil}; use transaction::Transaction; @@ -22,6 +23,16 @@ pub enum Event { } impl Event { + pub fn new_transaction( + from_keypair: &KeyPair, + to: PublicKey, + tokens: i64, + last_id: Hash, + ) -> Self { + let tr = Transaction::new(from_keypair, to, tokens, last_id); + Event::Transaction(tr) + } + /// Create and sign a new Witness Timestamp. Used for unit-testing. pub fn new_timestamp(from: &KeyPair, dt: DateTime) -> Self { let sign_data = serialize(&dt).expect("serialize 'dt' in pub fn new_timestamp"); diff --git a/src/recorder.rs b/src/recorder.rs index 3866747fa..1fc668ace 100644 --- a/src/recorder.rs +++ b/src/recorder.rs @@ -89,7 +89,6 @@ mod tests { use super::*; use signature::{KeyPair, KeyPairUtil}; use std::sync::mpsc::channel; - use transaction::Transaction; #[test] fn test_events() { @@ -99,8 +98,8 @@ mod tests { let mut recorder = Recorder::new(signal_receiver, entry_sender, zero); let alice_keypair = KeyPair::new(); let bob_pubkey = KeyPair::new().pubkey(); - let event0 = Event::Transaction(Transaction::new(&alice_keypair, bob_pubkey, 1, zero)); - let event1 = Event::Transaction(Transaction::new(&alice_keypair, bob_pubkey, 2, zero)); + let event0 = Event::new_transaction(&alice_keypair, bob_pubkey, 1, zero); + let event1 = Event::new_transaction(&alice_keypair, bob_pubkey, 2, zero); signal_sender .send(Signal::Events(vec![event0, event1])) .unwrap(); diff --git a/src/tvu.rs b/src/tvu.rs index 3a87a6dab..dd018c918 100644 --- a/src/tvu.rs +++ b/src/tvu.rs @@ -231,7 +231,6 @@ mod tests { use std::sync::{Arc, RwLock}; use std::time::Duration; use streamer; - use transaction::Transaction; use tvu::{test_node, Tvu}; /// Test that mesasge sent from leader to target1 and repliated to target2 @@ -324,7 +323,7 @@ mod tests { bank.register_entry_id(&cur_hash); cur_hash = hash(&cur_hash); - let tr1 = Transaction::new( + let tr1 = Event::new_transaction( &mint.keypair(), bob_keypair.pubkey(), transfer_amount, @@ -332,8 +331,7 @@ mod tests { ); bank.register_entry_id(&cur_hash); cur_hash = hash(&cur_hash); - let entry1 = - entry::create_entry(&cur_hash, i + num_blobs, vec![Event::Transaction(tr1)]); + let entry1 = entry::create_entry(&cur_hash, i + num_blobs, vec![tr1]); bank.register_entry_id(&cur_hash); cur_hash = hash(&cur_hash);