Closed ed255 closed 8 months ago
I'm currently working on halo2_common::plonk::circuit::Expression
(and will also probably work on the halo2_common::plonk::circuit::ConstraintSystem
.
My current approach is to define a single Expression
type that can be generic and instantiated into 2 cases: one for the frontend, and one for the backend.
I work on task - move halo2_common::arithmetic
to halo2_backend
. https://github.com/privacy-scaling-explorations/halo2/pull/281
I work on task - move plonk::Challenge*
& plonk::transcript
from common
to backend
. #287
@duguorong009 will work on the remaining points of this issue.
@ed255
I've just merged the #298 .
After this, there is no halo2_common
crate(the post-split tech debt) in the repo.
Hence, I think we can close this issue as completed.
What do you think?
@ed255 I've just merged the #298 . After this, there is no
halo2_common
crate(the post-split tech debt) in the repo. Hence, I think we can close this issue as completed.What do you think?
I agree! This issue has now been completed, I'll just close it; thanks for the reminder!
After the frontend-backend split a new package
halo2_common
was added that contains functions and types used by both frontend and backend. These functions/types are nowpub
but are meant for internal usage only of the halo2 repository.As future work we should try to move more stuff to either frontend/backend, creating mirror lightweight types as necessary; or splitting functionality between frontend and backend. After types/functions are moved to frontend/backend, they should recover the
pub(crate)
status.Here's a non-exhaustive list of affected types:
FrontendBackend https://github.com/privacy-scaling-explorations/halo2/pull/281Blocked by https://github.com/privacy-scaling-explorations/halo2/pull/254