Added a test
This commit is contained in:
		
							parent
							
								
									060cc799a6
								
							
						
					
					
						commit
						f967713d08
					
				| @ -28,6 +28,9 @@ use rlp::{Rlp, View}; | ||||
| use spec::Spec; | ||||
| use views::BlockView; | ||||
| use util::stats::Histogram; | ||||
| use ethkey::KeyPair; | ||||
| use transaction::{PendingTransaction, Transaction, Action}; | ||||
| use miner::MinerService; | ||||
| 
 | ||||
| #[test] | ||||
| fn imports_from_empty() { | ||||
| @ -284,3 +287,37 @@ fn change_history_size() { | ||||
| 	let client = Client::new(config, &test_spec, dir.as_path(), Arc::new(Miner::with_spec(&test_spec)), IoChannel::disconnected(), &db_config).unwrap(); | ||||
| 	assert_eq!(client.state().balance(&address), 100.into()); | ||||
| } | ||||
| 
 | ||||
| #[test] | ||||
| fn does_not_propagate_delayed_transactions() { | ||||
| 	let key = KeyPair::from_secret("test".sha3()).unwrap(); | ||||
| 	let secret = key.secret(); | ||||
| 	let tx0 = PendingTransaction::new(Transaction { | ||||
| 		nonce: 0.into(), | ||||
| 		gas_price: 0.into(), | ||||
| 		gas: 21000.into(), | ||||
| 		action: Action::Call(Address::default()), | ||||
| 		value: 0.into(), | ||||
| 		data: Vec::new(), | ||||
| 	}.sign(secret, None), Some(2)); | ||||
| 	let tx1 = PendingTransaction::new(Transaction { | ||||
| 		nonce: 1.into(), | ||||
| 		gas_price: 0.into(), | ||||
| 		gas: 21000.into(), | ||||
| 		action: Action::Call(Address::default()), | ||||
| 		value: 0.into(), | ||||
| 		data: Vec::new(), | ||||
| 	}.sign(secret, None), None); | ||||
| 	let client_result = generate_dummy_client(1); | ||||
| 	let client = client_result.reference(); | ||||
| 
 | ||||
| 	client.miner().import_own_transaction(&**client, tx0).unwrap(); | ||||
| 	client.miner().import_own_transaction(&**client, tx1).unwrap(); | ||||
| 	assert_eq!(0, client.pending_transactions().len()); | ||||
| 	assert_eq!(2, client.miner().all_transactions().len()); | ||||
| 	push_blocks_to_client(client, 53, 2, 1); | ||||
| 	client.import_verified_blocks(); | ||||
| 	assert_eq!(2, client.pending_transactions().len()); | ||||
| 	assert_eq!(2, client.miner().all_transactions().len()); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -395,7 +395,7 @@ impl Deref for LocalizedTransaction { | ||||
| pub struct PendingTransaction { | ||||
| 	/// Signed transaction data.
 | ||||
| 	pub transaction: SignedTransaction, | ||||
| 	/// Gas price.
 | ||||
| 	/// To be activated at this block. `None` for immediately.
 | ||||
| 	pub min_block: Option<BlockNumber>, | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user