use hypercore_schema::{DataBlock, DataHash, DataSeek, DataUpgrade, Proof};
#[derive(Debug, Clone, PartialEq)]
pub(crate) struct ValuelessProof {
pub(crate) fork: u64,
pub(crate) block: Option<DataHash>,
pub(crate) hash: Option<DataHash>,
pub(crate) seek: Option<DataSeek>,
pub(crate) upgrade: Option<DataUpgrade>,
}
impl ValuelessProof {
pub(crate) fn into_proof(mut self, block_value: Option<Vec<u8>>) -> Proof {
let block = self.block.take().map(|block| DataBlock {
index: block.index,
nodes: block.nodes,
value: block_value.expect("Data block needs to be given"),
});
Proof {
fork: self.fork,
block,
hash: self.hash.take(),
seek: self.seek.take(),
upgrade: self.upgrade.take(),
}
}
}