* refactor(bin): make `calculate_hash` a utility function
* feat: make the engine part of the setup parameters
We add an extension trait to Engine to specify the group element sizes
per curve used. We implement that for each curve we want to support.
Added support for BLS12-381
This allows moving the type constraint from the constructors in BatchedAccumulator and KeyPair to the params, improving ergonomics, and prepares multi-curve support in the CLI
* feat(params): do not require harcoding the group sizes
* feat(bin): add CLI params to reduce_powers and prepare_phase2
* feat(parameters): Replace trait with a params struct
We define a CeremonyParams struct which contains a curve and setup-specific parameters
The curve is a CurveParams struct which contains the sizes of the compressed and uncompressed group elements
This will allow us to easily extend the implementations over multiple curves and constraint numbers (currently these are hard coded and cannot be easily chagned)
* feat(keypair): Use the CeremonyParams struct instead of being generic over the PowersOfTauParams trait
* feat(accumulator): Use the CeremonyParams struct instead of being generic over the PowersOfTauParams trait
* feat(batched-accumulator): Use the CeremonyParams struct instead of being generic over the PowersOfTauParams trait
driveby-change: also replace println's with error/info logs
* feat(batched-accumulator): Use the CeremonyParams struct instead of being generic over the PowersOfTauParams trait
driveby-change: also replace println's with error/info logs
* refactor(bn256): delete bn256 module and move tests to better locations
* fix(bin): make all binaries build with the CeremonyParams object
* test(e2e): run the test with circuit power and batch size provided at runtime
* chore: remove unused accumulator.rs and new.rs