[x] Refactor repo into hydra (python backend), src/fustat (cairo Zero code) and src/cairo (Cairo1 lib & Starknet contracts)
[x] Extension field batching per miller loop bit (thanks @shramee for great idea: Makes miller loops almost 2x cheaper as well as reducing the witness size for randomized arithmetic, and on top of that, witness size is constant regardless of the number of pairs (perfect for calldata constraints on Starknet !))
[x] Geometry final exp trick for both BN & BLS (thaks to @akinovak for original paper and huge help for bls adaptation - reduces final exp costs by 93% (BN) / 98% (BLS) when doing pairing checks)
[x] Pure python ZK-ECIP hint for MSM (removes SageMath dependency)
[x] Hydra to Cairo1 compiler (almost done but subject to changes)
[x] General Hydra improvements
[x] Cairo1 lib for multi pairing checks
[x] Cairo1 lib for EC (muti) scalar multiplication
hydra
(python backend),src/fustat
(cairo Zero code) andsrc/cairo
(Cairo1 lib & Starknet contracts)