[Refacto] Separate circuits/types into multiple crates #115
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In a "end game" purpose for
zkvm-prover
, we moved out the circuits crates intoscroll
mono repo and left zkvm prover a "universal" one without explicit knowledge to every circuit. While inscroll
monorepo, the crates of circuits need to share parts of codes with coordinator vialibzkp
.To achieve such a designation in the future, this PR made some refactoring to the all-in-one
circuit-types
crate and separate it into several parts:base
crate being shared betweenlibzkp
and crates of circuits, solibzkp
(and all go modules loading it) do not need to depend on the openvm related crateslibzkp
and the corresponding circuit, it make the circuit has less dependencies (for example, batch and bundle do not needsbv
)circuit
crate being shared between crates of circuits, including dependencies of openvm