Added a test
This commit is contained in:
parent
060cc799a6
commit
f967713d08
@ -28,6 +28,9 @@ use rlp::{Rlp, View};
|
|||||||
use spec::Spec;
|
use spec::Spec;
|
||||||
use views::BlockView;
|
use views::BlockView;
|
||||||
use util::stats::Histogram;
|
use util::stats::Histogram;
|
||||||
|
use ethkey::KeyPair;
|
||||||
|
use transaction::{PendingTransaction, Transaction, Action};
|
||||||
|
use miner::MinerService;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn imports_from_empty() {
|
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();
|
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());
|
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 {
|
pub struct PendingTransaction {
|
||||||
/// Signed transaction data.
|
/// Signed transaction data.
|
||||||
pub transaction: SignedTransaction,
|
pub transaction: SignedTransaction,
|
||||||
/// Gas price.
|
/// To be activated at this block. `None` for immediately.
|
||||||
pub min_block: Option<BlockNumber>,
|
pub min_block: Option<BlockNumber>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user