Skip to content

L2: remove public inputs from verify() function in OnChainProposer #2804

@xqft

Description

@xqft

After completion of state diff check and proof of equivalence, we should have stabilized the public inputs (PIs) necessary to verify an L2 block execution proof (no more inputs should be needed for now).

The current implementation of verify() takes 3 different fields of the public inputs for each proving backend / zkvm. After stable PIs, all PI data will be available as fields of the block commitment, so no PI argument should be necessary in the verify() function (we can retrieve PIs from the committed block).

The function will only take as arguments:

  1. a proof for each backend
  2. verification keys of the backends for which we didn't hardcode them yet (after merging feat(l2): hardcode SP1 verification key #2708 these would be risc0 and pico).

Metadata

Metadata

Assignees

No one assigned

    Labels

    L2Rollup clientproverL2 prover
    No fields configured for Feature.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions