Rollup node: add shared WASM 2.0.0 PVM Irmin state module

🤖 This MR was generated by an AI agent. 🤖

Closes: L2-1685
Previous: !22205 (merged)
Next: !22255 (merged)

What

Introduce Wasm_2_0_0_irmin_state in octez_smart_rollup_node: the Irmin-backed STATE_PROOF of the WASM 2.0.0 PVM (tree-encoding state plus Irmin Merkle proof format). Build the proto_alpha and proto_025_PsUshuai WASM PVM machines on this shared state.

Why

Each protocol's wasm_2_0_0_pvm.ml inlined its own copy of the WASM PVM Irmin state and proof format. Factoring it into one shared, protocol-agnostic module removes the duplication and gives later work (durable-storage reading, the dual-state backend) a single state definition to build on.

How

Adds wasm_2_0_0_irmin_state.{ml,mli} exposing the STATE_PROOF with state = Irmin_context.tree, and points the per-protocol fast/on-disk PVM machines at it. This MR is purely additive: the per-protocol inline proof format and durable reader are still present (the WASM PVM machine builds on the shared state, the durable reader is migrated in the next MR).

Manually testing the MR

No behavioural change — the shared module is a refactor of existing inlined code. Covered by the existing rollup-node WASM PVM tests.

Checklist

  • Document the interface of any function added or modified
  • Document any change to the user interface, including configuration parameters
  • Provide automatic testing
  • For new features and bug fixes, add an item in the appropriate changelog
  • Select suitable reviewers using the Reviewers field below
  • Select as Assignee the next person who should take action on that MR
Edited by Sylvain's Assistant

Merge request reports

Loading
Loading