Add Event::Transaction constructor

This commit is contained in:
Greg Fitzgerald
2018-05-16 17:35:21 -06:00
parent 82aef7ebe2
commit 9c62f8d81f
4 changed files with 17 additions and 10 deletions

View File

@ -120,7 +120,6 @@ mod tests {
use event::Event; use event::Event;
use hash::hash; use hash::hash;
use signature::{KeyPair, KeyPairUtil}; use signature::{KeyPair, KeyPairUtil};
use transaction::Transaction;
#[test] #[test]
fn test_entry_verify() { fn test_entry_verify() {
@ -138,8 +137,8 @@ mod tests {
// First, verify entries // First, verify entries
let keypair = KeyPair::new(); let keypair = KeyPair::new();
let tr0 = Event::Transaction(Transaction::new(&keypair, keypair.pubkey(), 0, zero)); let tr0 = Event::new_transaction(&keypair, keypair.pubkey(), 0, zero);
let tr1 = Event::Transaction(Transaction::new(&keypair, keypair.pubkey(), 1, zero)); let tr1 = Event::new_transaction(&keypair, keypair.pubkey(), 1, zero);
let mut e0 = create_entry(&zero, 0, vec![tr0.clone(), tr1.clone()]); let mut e0 = create_entry(&zero, 0, vec![tr0.clone(), tr1.clone()]);
assert!(e0.verify(&zero)); assert!(e0.verify(&zero));

View File

@ -3,6 +3,7 @@
use bincode::serialize; use bincode::serialize;
use chrono::prelude::*; use chrono::prelude::*;
use hash::Hash;
use signature::{KeyPair, KeyPairUtil, PublicKey, Signature, SignatureUtil}; use signature::{KeyPair, KeyPairUtil, PublicKey, Signature, SignatureUtil};
use transaction::Transaction; use transaction::Transaction;
@ -22,6 +23,16 @@ pub enum Event {
} }
impl 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. /// Create and sign a new Witness Timestamp. Used for unit-testing.
pub fn new_timestamp(from: &KeyPair, dt: DateTime<Utc>) -> Self { pub fn new_timestamp(from: &KeyPair, dt: DateTime<Utc>) -> Self {
let sign_data = serialize(&dt).expect("serialize 'dt' in pub fn new_timestamp"); let sign_data = serialize(&dt).expect("serialize 'dt' in pub fn new_timestamp");

View File

@ -89,7 +89,6 @@ mod tests {
use super::*; use super::*;
use signature::{KeyPair, KeyPairUtil}; use signature::{KeyPair, KeyPairUtil};
use std::sync::mpsc::channel; use std::sync::mpsc::channel;
use transaction::Transaction;
#[test] #[test]
fn test_events() { fn test_events() {
@ -99,8 +98,8 @@ mod tests {
let mut recorder = Recorder::new(signal_receiver, entry_sender, zero); let mut recorder = Recorder::new(signal_receiver, entry_sender, zero);
let alice_keypair = KeyPair::new(); let alice_keypair = KeyPair::new();
let bob_pubkey = KeyPair::new().pubkey(); let bob_pubkey = KeyPair::new().pubkey();
let event0 = Event::Transaction(Transaction::new(&alice_keypair, bob_pubkey, 1, zero)); let event0 = Event::new_transaction(&alice_keypair, bob_pubkey, 1, zero);
let event1 = Event::Transaction(Transaction::new(&alice_keypair, bob_pubkey, 2, zero)); let event1 = Event::new_transaction(&alice_keypair, bob_pubkey, 2, zero);
signal_sender signal_sender
.send(Signal::Events(vec![event0, event1])) .send(Signal::Events(vec![event0, event1]))
.unwrap(); .unwrap();

View File

@ -231,7 +231,6 @@ mod tests {
use std::sync::{Arc, RwLock}; use std::sync::{Arc, RwLock};
use std::time::Duration; use std::time::Duration;
use streamer; use streamer;
use transaction::Transaction;
use tvu::{test_node, Tvu}; use tvu::{test_node, Tvu};
/// Test that mesasge sent from leader to target1 and repliated to target2 /// Test that mesasge sent from leader to target1 and repliated to target2
@ -324,7 +323,7 @@ mod tests {
bank.register_entry_id(&cur_hash); bank.register_entry_id(&cur_hash);
cur_hash = hash(&cur_hash); cur_hash = hash(&cur_hash);
let tr1 = Transaction::new( let tr1 = Event::new_transaction(
&mint.keypair(), &mint.keypair(),
bob_keypair.pubkey(), bob_keypair.pubkey(),
transfer_amount, transfer_amount,
@ -332,8 +331,7 @@ mod tests {
); );
bank.register_entry_id(&cur_hash); bank.register_entry_id(&cur_hash);
cur_hash = hash(&cur_hash); cur_hash = hash(&cur_hash);
let entry1 = let entry1 = entry::create_entry(&cur_hash, i + num_blobs, vec![tr1]);
entry::create_entry(&cur_hash, i + num_blobs, vec![Event::Transaction(tr1)]);
bank.register_entry_id(&cur_hash); bank.register_entry_id(&cur_hash);
cur_hash = hash(&cur_hash); cur_hash = hash(&cur_hash);