plonk icon indicating copy to clipboard operation
plonk copied to clipboard

`Circuit` shouldn't be required to be `Default`

Open ureeves opened this issue 2 years ago • 0 comments

Describe what you want implemented A circuit shouldn't be required to be Default to satisfy the Circuit trait. The proposal is to remove said bound, and adjust accordingly.

Describe "Why" this is needed First this semantically makes no sense - why should a circuit need to have a default to be a circuit? - but it also leads to some dangerous uses. Some circuits downstream, namely the execute circuits, actually shouldn't have a default implementation since they require padding to be performed prior to their compilation, and compiling with Compiler::compile will result in the wrong keys being generated.

Describe alternatives you've considered N/A

Additional context This shouldn't be a breaking change, as it it a lifting of bounds, rather than a restriction.

ureeves avatar Dec 05 '22 12:12 ureeves