Skip to content

Conversation

@OlivierBBB
Copy link
Collaborator

@OlivierBBB OlivierBBB commented Oct 27, 2025

Note

Overhauls the ROM module (new columns, padding and constraint model), streamlines MODEXP handling and pricing across HUB/OOB, updates block-hash/jumpdest lookups, and replaces/moderns precompile helper macros.

  • ROM module (major redesign):
    • Introduces new column model (romColumn*), explicit padding semantics, and revised constancy/binarity/heartbeat constraints.
    • Rewrites opcode derivation from raw bytes, PUSH handling (PUSH_VALUE, claimed-by-push), and jumpdest analysis; updates instruction decoder lookup.
    • Adds detailed bytecode padding docs/diagrams; reorganizes generalities sections and terminology.
  • HUB: MODEXP flow:
    • Refactors common/success paths: byte-size extraction, leading-word log, pricing, and result handling.
    • Simplifies flags/weighted sums; adjusts result transfer/copy sizes to 512 and clarifies success conditions.
  • OOB: precompiles/pricing:
    • Reworks MODEXP pricing (ceilings, big quotient threshold), XBS checks/max, and extraction gating.
    • Updates BLS MSM/pairing checks to new call wrappers and clearer gas comparisons.
    • Clarifies intro; splits/modularizes inputs sections.
  • Lookups:
    • Consolidates BLOCKHASH lookup and updates jumpdest vetting to target opcodeIsJumpDest.
  • Pkg/macros and spec plumbing:
    • Adds generic oobCallTo{Div,Mod} and refactors precompile call macros (simpler signatures); removes legacy mod_calls.
    • Expands pkg/rom.sty with new column aliases; minor includes/ordering in hub/spec.
  • Txn data:
    • Simplifies constancy definition; removes prover-only columns.
  • Misc:
    • Drops various obsolete notes/upgrade docs; minor version/tag docs (mxp_v2, rlp_txn_v2, rom_v3).

Written by Cursor Bugbot for commit f1f64a8. This will update automatically on new commits. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Undefined variable in oobCallToDiv macro refactor

The \oobCallToDiv macro uses the undefined variable \locMax in the expression {\locMax + 7}. This looks like a refactoring oversight; \locMaxMbsBbs is defined and appears to be the intended variable here.

oob/precompiles/modexp/pricing.tex#L45-L46

{0}{\locMax + 7}
{0}{8}

Fix in Cursor Fix in Web


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants