add script error to TransactionError::Signature
This commit is contained in:
parent
7f14f9b40d
commit
b791b92414
|
@ -271,6 +271,7 @@ pub mod tests {
|
|||
use chain::{IndexedBlock, IndexedTransaction};
|
||||
use super::{Verifier, BlockVerificationSink, TransactionVerificationSink, AsyncVerifier, VerificationTask, ChainVerifierWrapper};
|
||||
use types::{BlockHeight, StorageRef, MemoryPoolRef};
|
||||
use script::Error as ScriptError;
|
||||
use VerificationParameters;
|
||||
|
||||
#[derive(Default)]
|
||||
|
@ -417,7 +418,7 @@ pub mod tests {
|
|||
verification_level: VerificationLevel::Full,
|
||||
verification_edge: 1.into(),
|
||||
});
|
||||
assert_eq!(wrapper.verify_block(&bad_transaction_block), Err(VerificationError::Transaction(1, TransactionError::Signature(0))));
|
||||
assert_eq!(wrapper.verify_block(&bad_transaction_block), Err(VerificationError::Transaction(1, TransactionError::Signature(0, ScriptError::InvalidStackOperation))));
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -374,7 +374,7 @@ impl<'a> TransactionEval<'a> {
|
|||
.verify_witness(self.verify_witness);
|
||||
|
||||
try!(verify_script(&input, &output, &script_witness, &flags, &checker, self.signature_version)
|
||||
.map_err(|_| TransactionError::Signature(index)));
|
||||
.map_err(|e| TransactionError::Signature(index, e)));
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
use hash::H256;
|
||||
use compact::Compact;
|
||||
use db::Error as DBError;
|
||||
use script::Error as SignatureError;
|
||||
|
||||
#[derive(Debug, PartialEq)]
|
||||
/// All possible verification errors
|
||||
|
@ -86,7 +87,7 @@ pub enum TransactionError {
|
|||
/// Referenced coinbase output for the transaction input is not mature enough
|
||||
Maturity,
|
||||
/// Signature invalid for given input
|
||||
Signature(usize),
|
||||
Signature(usize, SignatureError),
|
||||
/// Unknown previous transaction referenced
|
||||
UnknownReference(H256),
|
||||
/// Spends more than claims
|
||||
|
|
Loading…
Reference in New Issue