0xPolygonHermez/zkevm-prover

Etrog Prover changes

Opened this issue · 0 comments

  • Mere full_tracer_diet changes (FullTracer response size reduction) into develop branch (Francesc)
  • Merge develop into fork_7 branch (Francesc)
  • Create fork 7 infrastructure (Francesc)
  • New rom for fork 7 (Carlos, Francesc) -> Waiting for a single-branch version of rom.json
  • New input.json test vectors for fork 7 (we have only one) (Carlos)
  • Close executor.proto (Francesc, Carlos, Toni)
  • Implement new executor service
  • Main executor changes: new inputs, new commands
  • Full tracer changes: new block data
  • Detect block L2 infotree and map to a new permanence
  • State override
  • Unique TX changes
  • New rom with fixes
  • New main.pil.json including SHA256 commit pols (Francesc)
  • SHA256 4 state machines (Ricard)
  • Main executor changes: SHA free inputs, SHA instructions, MAX_CNT_SHA256_F (depends on ROM constant), Executor errors (depends on executor.proto), hash function, required data (depends on SMs) (Francesc)
  • New ariths for FP2 used in pairings, implies modiying the arith sm, modifying the executor to support the new instructions and their helpers (also in the inverseFxEc)
  • LT4 Binary SM changes
  • Change in the getMem helper to support all the contexts
  • Delete C-Executor from forks 5 and 6
  • Disable config.hashDB64 in develop branch
  • Add define to enable main SM generated code: MAIN_SM_EXECUTOR_GENERATED_CODE
  • Compile in opt to find unused variables and avoid warnings (make -j 2>&1|tee logs.txt) (Ricard)
  • Eliminate traces coming from PageContext (call pure C function instead of gate-based function, or external lib) (Ricard)
  • Port state override changes to rest of forks (other than 7) (Francesc)
  • Code generator: re-generate forks 4, 5, 6, and 7 (Francesc)
  • Save new Input V2 data to input.json (Francesc)
  • New climb key secondary state machine, implies also changes in the storage executor (Feli)
  • StateManagerV2: block purge (Francesc)
  • Revise performance of secondary state machines (Ricard)
  • Further paralelization of Poseidon thread into Storage and Padding threads, 8% improv. (Ricard)
  • Adapt prover to new L1 info tree (Edu)
  • Port latest FullTracer changes: CALL return value fix, call onStartBlock/onFinishBlock events by rom, 2 new errors, read ROM variables (Francesc)
  • Manage setProgram through StateManager and purge unnecessary writes (Francesc)
  • Add new_state_root & new_xxx to Debug to verify save input to JSON (Ricard)
  • New aggregator.proto for Etrog (Francesc)
  • More elegant fix for the setProgram calls before the first onStartBlock() (Carles, Francesc)
  • Generate a proof (testing) (all)
  • Verify C-implementation using "collection program" (First Feli in proverjs)