use chiplets::selectors::ChipletSelectors;
use crate::{MainCols, MidenAirBuilder};
pub mod chiplets;
pub mod columns;
pub mod constants;
pub mod decoder;
pub mod ext_field;
pub mod lookup;
pub(crate) mod op_flags;
pub mod public_inputs;
pub mod range;
pub mod stack;
pub mod system;
pub mod utils;
pub fn enforce_main<AB>(
builder: &mut AB,
local: &MainCols<AB::Var>,
next: &MainCols<AB::Var>,
selectors: &ChipletSelectors<AB::Expr>,
op_flags: &op_flags::OpFlags<AB::Expr>,
) where
AB: MidenAirBuilder,
{
system::enforce_main(builder, local, next, op_flags);
range::enforce_main(builder, local, next);
stack::enforce_main(builder, local, next, op_flags);
decoder::enforce_main(builder, local, next, op_flags);
chiplets::enforce_main(builder, local, next, selectors);
}