zkevm-circuits icon indicating copy to clipboard operation
zkevm-circuits copied to clipboard

Remove the custom CellManager API defined for Keccak MultiPacked impl

Open CPerezz opened this issue 3 years ago • 0 comments

While migrating KeccakMultiPacked circuit to support the Challenge API, I came across the custom CellManager type as well as CellColumn and Cell, KeccakRegion etc...

After chatting with @Brechtpd a bit about that, we belive that even the functionallity is not exactly the same one, we should try to find a way on which we can better abstract the CellManager so that we don't have different implementations of it for different circuits.

Note that we have CellManager of the KeccakMultiPacked and we do also have define for the EVM Circuit here.

Note that this not only happens to the CellManager but also to all of the related types: CellColumn, Cell, CachedRegion etc..

This also can make easier to integrate it with the Challenge API as it's difficult to manage it for EVM Circuit, and it's mainly due to the CellManager that controls everything there.

The main goal would be to abstract the CellManager so that we define an interface that serves for both use cases and that shares behaviour across them. Also, this could be useful as we could plan a slightly bigger re-write of it that also takes care of the Challenges on a more ordered manner.

CPerezz avatar Nov 24 '22 19:11 CPerezz