pub use crate::bitcoin::validation::{TransactionValidator, ValidationError};
pub fn validate(tx_bytes: &[u8]) -> bool {
use bitcoin::consensus::deserialize;
match deserialize::<bitcoin::Transaction>(tx_bytes) {
Ok(tx) => {
let validator = crate::bitcoin::validation::TransactionValidator::new();
validator.validate(&tx).is_ok()
}
Err(_) => false,
}
}
#[cfg(test)]
mod tests {
use super::*;
use bitcoin::consensus::serialize;
#[test]
fn test_validation() {
let tx = crate::tests::common::test_utilities::TestTransactionFactory::create_dummy_transaction();
let tx_bytes = serialize(&tx);
assert!(validate(&tx_bytes));
}
}