---
# System prepended metadata

title: Untitled

---

### zkevm-rom new code
- [Git diff from previous fork: from fork.6 to fork.7](https://github.com/0xPolygonHermez/zkevm-rom-internal/compare/v3.0.0-fork.6...v4.0.0-rc.1-fork.7)
- main modules to audit:
  - `ecAdd` , `ecMul` & `ecPairings`
    - [ecAdd, ecMul & ecPairing implementtion folder](https://github.com/0xPolygonHermez/zkevm-rom-internal/tree/v4.0.0-rc.1-fork.7/main/pairings)
    - preparing the stack data to be used by the `pairings` precompiles
      - [ecAdd](https://github.com/0xPolygonHermez/zkevm-rom-internal/blob/v4.0.0-rc.1-fork.7/main/precompiled/pre-ecAdd.zkasm)
      - [ecMul](https://github.com/0xPolygonHermez/zkevm-rom-internal/blob/v4.0.0-rc.1-fork.7/main/precompiled/pre-ecMul.zkasm)
      - [ecPairing](https://github.com/0xPolygonHermez/zkevm-rom-internal/blob/v4.0.0-rc.1-fork.7/main/precompiled/pre-ecPairing.zkasm)
  - `modexp`
    - [modExp implementation folder](https://github.com/0xPolygonHermez/zkevm-rom-internal/tree/v4.0.0-rc.1-fork.7/main/modexp)
    - preparing the stack data to be used by the `modExp` precompiles
      - [modExp](https://github.com/0xPolygonHermez/zkevm-rom-internal/blob/v4.0.0-rc.1-fork.7/main/precompiled/pre-modexp.zkasm)
  - `sha256`
    - PIL implementation is in `zkevm-proverjs` repo
      - [bits2field_sha256](https://github.com/0xPolygonHermez/zkevm-proverjs-internal/blob/feature/fork-etrog/pil/bits2field_sha256.pil)
      - [padding_sha256](https://github.com/0xPolygonHermez/zkevm-proverjs-internal/blob/feature/fork-etrog/pil/padding_sha256.pil)
      - [padding_sha256bit](https://github.com/0xPolygonHermez/zkevm-proverjs-internal/blob/feature/fork-etrog/pil/padding_sha256bit.pil)
      - [sha256f](https://github.com/0xPolygonHermez/zkevm-proverjs-internal/blob/feature/fork-etrog/pil/sha256f.pil) 
    - preparing the stack data to be used by the `sha256` precompiles
      - [sha256](https://github.com/0xPolygonHermez/zkevm-rom-internal/blob/v4.0.0-rc.1-fork.7/main/precompiled/pre-sha2-256.zkasm)
  - new blockInfoTree structure
    - [block-info](https://github.com/0xPolygonHermez/zkevm-rom-internal/blob/v4.0.0-rc.1-fork.7/main/block-info.zkasm)
- `changeL2Block`
  - [load-change-l2-block](https://github.com/0xPolygonHermez/zkevm-rom-internal/blob/v4.0.0-rc.1-fork.7/main/load-change-l2-block.zkasm)
  - [process-change-l2-block](https://github.com/0xPolygonHermez/zkevm-rom-internal/blob/v4.0.0-rc.1-fork.7/main/process-change-l2-block.zkasm)
  - [load-tx-rlp-utils](https://github.com/0xPolygonHermez/zkevm-rom-internal/blob/v4.0.0-rc.1-fork.7/main/load-tx-rlp-utils.zkasm)
  - review new logic on creating/finalizing blocks
    - `main`, `constants`, `process-tx`, `utils` files 
- forced batches
  - review logic 
- utils [verifyMerkleProof](https://github.com/0xPolygonHermez/zkevm-rom-internal/blob/v4.0.0-rc.1-fork.7/main/utils.zkasm#L1489)

## zkevm-storage-rom
- folder
  - `zkasm`
  - `src`
      - Esta parte no seria necesaria auditarla, aunque puede estar bien echarle un ojo, pero en el contexto de comprender como se genera la storage.