Delayed transactions
This commit is contained in:
@@ -1901,10 +1901,10 @@ impl ChainSync {
|
||||
return 0;
|
||||
}
|
||||
|
||||
let all_transactions_hashes = transactions.iter().map(|tx| tx.hash()).collect::<HashSet<H256>>();
|
||||
let all_transactions_hashes = transactions.iter().map(|tx| tx.transaction.hash()).collect::<HashSet<H256>>();
|
||||
let all_transactions_rlp = {
|
||||
let mut packet = RlpStream::new_list(transactions.len());
|
||||
for tx in &transactions { packet.append(tx); }
|
||||
for tx in &transactions { packet.append(&tx.transaction); }
|
||||
packet.out()
|
||||
};
|
||||
|
||||
@@ -1942,11 +1942,11 @@ impl ChainSync {
|
||||
// Construct RLP
|
||||
let mut packet = RlpStream::new_list(to_send.len());
|
||||
for tx in &transactions {
|
||||
if to_send.contains(&tx.hash()) {
|
||||
packet.append(tx);
|
||||
if to_send.contains(&tx.transaction.hash()) {
|
||||
packet.append(&tx.transaction);
|
||||
// update stats
|
||||
let id = io.peer_session_info(*peer_id).and_then(|info| info.id);
|
||||
stats.propagated(tx.hash(), id, block_number);
|
||||
stats.propagated(tx.transaction.hash(), id, block_number);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ fn test_authority_round() {
|
||||
}.sign(s1.secret(), None);
|
||||
// exhange statuses
|
||||
net.sync_steps(5);
|
||||
net.peer(0).chain.miner().import_own_transaction(&net.peer(0).chain, tx1).unwrap();
|
||||
net.peer(0).chain.miner().import_own_transaction(&net.peer(0).chain, PendingTransaction::new(tx1, None)).unwrap();
|
||||
net.sync();
|
||||
assert_eq!(net.peer(0).chain.chain_info().best_block_number, 1);
|
||||
assert_eq!(net.peer(1).chain.chain_info().best_block_number, 1);
|
||||
@@ -68,7 +68,7 @@ fn test_authority_round() {
|
||||
value: 0.into(),
|
||||
data: Vec::new(),
|
||||
}.sign(s2.secret(), None);
|
||||
net.peer(1).chain.miner().import_own_transaction(&net.peer(1).chain, tx2).unwrap();
|
||||
net.peer(1).chain.miner().import_own_transaction(&net.peer(1).chain, PendingTransaction::new(tx2, None)).unwrap();
|
||||
net.peer(1).chain.engine().step();
|
||||
net.peer(1).chain.miner().update_sealing(&net.peer(1).chain);
|
||||
net.sync();
|
||||
|
||||
Reference in New Issue
Block a user