use super::*;
#[test]
fn boxed_signature_errors_are_preserved() {
let ed25519_error: BoxError =
Box::new(zebra_chain::primitives::ed25519::Error::InvalidSignature);
assert_eq!(
TransactionError::from(ed25519_error),
TransactionError::Ed25519(zebra_chain::primitives::ed25519::Error::InvalidSignature)
);
let redjubjub_error: BoxError =
Box::new(zebra_chain::primitives::redjubjub::Error::InvalidSignature);
assert_eq!(
TransactionError::from(redjubjub_error),
TransactionError::RedJubjub(zebra_chain::primitives::redjubjub::Error::InvalidSignature)
);
let redpallas_error: BoxError =
Box::new(zebra_chain::primitives::reddsa::Error::InvalidSignature);
assert_eq!(
TransactionError::from(redpallas_error),
TransactionError::RedPallas(zebra_chain::primitives::reddsa::Error::InvalidSignature)
);
}
#[test]
fn verification_errors_have_high_misbehavior_score() {
for error in [
TransactionError::SaplingVerificationFailed,
TransactionError::Halo2VerificationFailed,
TransactionError::OrchardProofSize,
TransactionError::IronwoodProofSize,
TransactionError::Ed25519(zebra_chain::primitives::ed25519::Error::InvalidSignature),
TransactionError::RedJubjub(zebra_chain::primitives::redjubjub::Error::InvalidSignature),
TransactionError::RedPallas(zebra_chain::primitives::reddsa::Error::InvalidSignature),
] {
assert_eq!(error.mempool_misbehavior_score(), 100, "{error:?}");
}
}