pub use bitcoin::{
block::{Header as BlockHeader, Version},
consensus::encode::Error as EncodeError,
consensus::{deserialize, serialize},
hash_types,
hashes::hex::HexToArrayError as HexError,
BlockHash, CompactTarget, Target, Transaction, Work,
};
pub use cosmwasm_std::Uint256;
pub mod chain_params;
pub mod error;
pub mod merkle;
pub mod op_return;
pub mod pow;
pub mod schnorr;
pub type Result<T> = std::result::Result<T, error::Error>;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_deserialize_serialize_btc_header() {
let btc_header_hex = "00400720b2559c9eb13821d6df53ffab9ddf3a645c559f030cac050000000000000000001ff22ffaa13c41df6aebc4b9b09faf328748c3a45772b6a4c4da319119fd5be3b53a1964817606174cc4c4b0";
let btc_header_bytes = hex::decode(btc_header_hex).unwrap();
let btc_header: BlockHeader = deserialize(&btc_header_bytes).unwrap();
let serialized_btc_header = serialize(&btc_header);
assert_eq!(btc_header_bytes, serialized_btc_header);
}
}