From faa9c7fb1b0bb8b335fdf30e4e8f5d46e4c33eed Mon Sep 17 00:00:00 2001 From: keorn Date: Wed, 14 Sep 2016 11:25:23 +0200 Subject: [PATCH] add new TestNet transaction issuing --- sync/src/tests/test_net.rs | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/sync/src/tests/test_net.rs b/sync/src/tests/test_net.rs index 5d06d0697..0a4b01cf1 100644 --- a/sync/src/tests/test_net.rs +++ b/sync/src/tests/test_net.rs @@ -22,6 +22,8 @@ use ethcore::tests::helpers::*; use ethcore::header::BlockNumber; use ethcore::spec::Spec; use ethcore::snapshot::SnapshotService; +use ethcore::transaction::{Transaction, SignedTransaction, Action}; +use ethkey::{Random, Generator}; use sync_io::SyncIo; use chain::ChainSync; use ::SyncConfig; @@ -92,6 +94,19 @@ pub struct TestPacket { pub recipient: PeerId, } + +pub fn random_transaction() -> SignedTransaction { + let keypair = Random.generate().unwrap(); + Transaction { + action: Action::Create, + value: U256::zero(), + data: "3331600055".from_hex().unwrap(), + gas: U256::from(100_000), + gas_price: U256::zero(), + nonce: U256::zero(), + }.sign(keypair.secret()) +} + pub struct TestPeer { pub chain: Arc, pub snapshot_service: Arc, @@ -99,6 +114,16 @@ pub struct TestPeer { pub queue: VecDeque, } +impl TestPeer { + pub fn issue_tx(&self, transaction: SignedTransaction) { + self.chain.import_own_transaction(transaction); + } + + pub fn issue_rand_tx(&self) { + self.issue_tx(random_transaction()) + } +} + pub struct TestNet { pub peers: Vec, pub started: bool, @@ -130,9 +155,7 @@ impl TestNet { net } - pub fn new_with_spec_file(n: usize, get_spec: &S) -> TestNet where - R: Read + Clone, - S: Fn()->Spec { + pub fn new_with_spec(n: usize, get_spec: &S) -> TestNet where S: Fn()->Spec { let mut net = TestNet { peers: Vec::new(), started: false,