use alloc::{fmt, vec::Vec};
use binary_sv2::{self, Deserialize, Serialize, Str0255, B0255, B064K};
use core::convert::TryInto;
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq)]
#[repr(C)]
pub struct AllocateMiningJobToken<'decoder> {
pub user_identifier: Str0255<'decoder>,
pub request_id: u32,
}
impl fmt::Display for AllocateMiningJobToken<'_> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(
f,
"AllocateMiningJobToken(user_identifier: {}, request_id: {})",
self.user_identifier.as_utf8_or_hex(),
self.request_id
)
}
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq)]
#[repr(C)]
pub struct AllocateMiningJobTokenSuccess<'decoder> {
pub request_id: u32,
pub mining_job_token: B0255<'decoder>,
pub coinbase_outputs: B064K<'decoder>,
}
impl fmt::Display for AllocateMiningJobTokenSuccess<'_> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(
f,
"AllocateMiningJobTokenSuccess(request_id: {}, mining_job_token: {}, coinbase_outputs: {})",
self.request_id,
self.mining_job_token.as_hex(),
self.coinbase_outputs
)
}
}