use serde::{Deserialize, Serialize};
use crate::core::fields::m31::BaseField;
use crate::core::vcs_lifted::merkle_hasher::MerkleHasherLifted;
use crate::prover::backend::{Col, ColumnOps};
pub trait MerkleOpsLifted<H: MerkleHasherLifted>:
ColumnOps<BaseField> + ColumnOps<H::Hash> + for<'de> Deserialize<'de> + Serialize
{
fn build_leaves(columns: &[&Col<Self, BaseField>]) -> Col<Self, H::Hash>;
fn build_next_layer(prev_layer: &Col<Self, H::Hash>) -> Col<Self, H::Hash>;
}