mod.rs 717 B

12345678910111213141516171819202122232425262728293031
  1. /// Halo2 zkas virtual machine
  2. pub mod vm;
  3. pub mod vm_stack;
  4. /// ZK circuits
  5. pub mod circuit;
  6. /// ZK gadget implementations
  7. pub mod gadget;
  8. use halo2_proofs::{
  9. arithmetic::Field,
  10. circuit::{AssignedCell, Layouter, Value},
  11. plonk,
  12. plonk::{Advice, Assigned, Column},
  13. };
  14. //pub(in crate::zk) fn assign_free_advice<F: Field, V: Copy>(
  15. pub fn assign_free_advice<F: Field, V: Copy>(
  16. mut layouter: impl Layouter<F>,
  17. column: Column<Advice>,
  18. value: Value<V>,
  19. ) -> Result<AssignedCell<V, F>, plonk::Error>
  20. where
  21. for<'v> Assigned<F>: From<&'v V>,
  22. {
  23. layouter.assign_region(
  24. || "load private",
  25. |mut region| region.assign_advice(|| "load private", column, 0, || value),
  26. )
  27. }