libzeropool_zkbob/native/borsh/
note.rs1use crate::native::note::*;
2use fawkes_crypto::ff_uint::PrimeField;
3use crate::fawkes_crypto::borsh::{BorshSerialize, BorshDeserialize};
4use std::io::{self, Write};
5
6
7impl<Fr:PrimeField> BorshSerialize for Note<Fr> {
8 fn serialize<W: Write>(&self, writer: &mut W) -> io::Result<()> {
9 self.d.serialize(writer)?;
10 self.p_d.serialize(writer)?;
11 self.b.serialize(writer)?;
12 self.t.serialize(writer)
13 }
14}
15
16impl<Fr:PrimeField> BorshDeserialize for Note<Fr> {
17 fn deserialize(buf: &mut &[u8]) -> io::Result<Self> {
18 Ok(Self{
19 d: BorshDeserialize::deserialize(buf)?,
20 p_d: BorshDeserialize::deserialize(buf)?,
21 b: BorshDeserialize::deserialize(buf)?,
22 t: BorshDeserialize::deserialize(buf)?
23 })
24 }
25}