Add Event::Transaction constructor
This commit is contained in:
@ -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));
|
||||||
|
|
||||||
|
11
src/event.rs
11
src/event.rs
@ -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");
|
||||||
|
@ -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();
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user