use prikk_error::Result;
use crate::{CanonicalEncode, CanonicalWriter, ObjectId};
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct TagPayload {
pub name: String,
pub target_block_id: ObjectId,
pub message: Option<String>,
pub created_at: u64,
pub author_key_id: String,
}
impl CanonicalEncode for TagPayload {
fn encode_canonical(&self, writer: &mut CanonicalWriter) -> Result<()> {
writer.field_string(1, &self.name)?;
writer.field_object_id(2, &self.target_block_id)?;
if let Some(message) = &self.message {
writer.field_string(3, message)?;
}
writer.field_u64(4, self.created_at)?;
writer.field_string(5, &self.author_key_id)?;
Ok(())
}
}