use bitcoin::block::Header;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use crate::BlockHash;
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub struct BlockHeader {
pub version: u32,
#[serde(rename = "previousblockhash")]
pub previous_block_hash: BlockHash,
pub merkle_root: String,
pub bits: u32,
pub nonce: u32,
}
impl From<Header> for BlockHeader {
fn from(h: Header) -> Self {
Self {
version: h.version.to_consensus() as u32,
previous_block_hash: BlockHash::from(h.prev_blockhash),
merkle_root: h.merkle_root.to_string(),
bits: h.bits.to_consensus(),
nonce: h.nonce,
}
}
}