Check tx-type before importing transactions to the queue

This commit is contained in:
Vlad Lupashevskyi 2017-12-22 22:50:09 +02:00
parent 9d35cc1881
commit d6ae6e315e

View File

@ -698,6 +698,15 @@ impl Miner {
Err(e) Err(e)
}, },
Ok(transaction) => { Ok(transaction) => {
// This check goes here because verify_transaction takes SignedTransaction parameter
match self.engine.machine().verify_transaction(&transaction, &best_block_header, client.as_block_chain_client()) {
Err(Error::Transaction(TransactionError::NotAllowed)) => {
debug!(target: "miner", "Rejected disallowed tx {:?}", hash);
return Err(Error::Transaction(TransactionError::NotAllowed));
}
_ => {}
}
let origin = self.accounts.as_ref().and_then(|accounts| { let origin = self.accounts.as_ref().and_then(|accounts| {
match accounts.has_account(transaction.sender()).unwrap_or(false) { match accounts.has_account(transaction.sender()).unwrap_or(false) {
true => Some(TransactionOrigin::Local), true => Some(TransactionOrigin::Local),