use alloc::vec::Vec;
use binary_sv2::{Deserialize, Serialize, B032, U256};
use core::{convert::TryInto, fmt};
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq)]
#[repr(C)]
pub struct PushSolution<'decoder> {
pub extranonce: B032<'decoder>,
pub prev_hash: U256<'decoder>,
pub nonce: u32,
pub ntime: u32,
pub nbits: u32,
pub version: u32,
}
impl fmt::Display for PushSolution<'_> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(
f,
"PushSolution(extranonce: {}, prev_hash: {}, nonce: 0x{:08x}, ntime: {}, nbits: 0x{:08x}, version: 0x{:08x})",
self.extranonce,
self.prev_hash,
self.nonce,
self.ntime,
self.nbits,
self.version
)
}
}