Skip to content

feat!: align Solidity step with persistent cycle-overflow fixed points - #100

Merged
diegonehab merged 3 commits into
mainfrom
feature/fixed-points
Jul 16, 2026
Merged

feat!: align Solidity step with persistent cycle-overflow fixed points#100
diegonehab merged 3 commits into
mainfrom
feature/fixed-points

Conversation

@diegonehab

Copy link
Copy Markdown
Contributor

Problem

The Solidity transition did not match the emulator’s new fixed-point semantics. Cycle overflow was not persisted in the
uarch halt register, and the transition could not distinguish normal halt from overflow.

Solution

This PR aligns machine-solidity-step with the emulator:

  • Regenerates UArchStep.sol from the updated C++ transition.
  • Persists normal halt and cycle-overflow reasons in uarch.halt.
  • Returns UArchCycleOverflow when the cycle reaches its limit.
  • Adds the new uarch halt and rollup constants.
  • Sets imcyclemax when accepting an advance-state response.
  • Updates the compatibility layer and generator scripts.
  • Adds tests for halted and cycle-overflow fixed points.

The generated step now reads uarch.halt first, avoids execution at a fixed point, and materializes overflow
immediately after reaching the cycle limit.

@diegonehab
diegonehab requested a review from mpernambuco July 14, 2026 21:47
@diegonehab diegonehab self-assigned this Jul 14, 2026
@diegonehab diegonehab added the enhancement New feature or request label Jul 14, 2026
@diegonehab
diegonehab marked this pull request as draft July 14, 2026 21:48
Regenerate the uarch transition, persist halt reasons, expose rollup limits,
and update tests for the new machine and uarch overflow semantics.
@diegonehab
diegonehab force-pushed the feature/fixed-points branch from e266859 to 54d9e48 Compare July 15, 2026 15:25
@diegonehab
diegonehab force-pushed the feature/fixed-points branch from 54d9e48 to a2946b4 Compare July 15, 2026 21:22
@diegonehab
diegonehab marked this pull request as ready for review July 15, 2026 21:30
Regenerate the Solidity uarch transition and constants to make cycle
overflow a state-preserving fixed point derived from uarch.cycle.

Check overflow before halt, remove the encoded halt-reason constants,
and update tests and replay artifacts for the new access order and
break-reason precedence.

Update emulator tag.
@github-project-automation github-project-automation Bot moved this from Todo to Waiting Merge in Machine Unit Jul 16, 2026
@diegonehab
diegonehab merged commit 7de60ad into main Jul 16, 2026
5 checks passed
@diegonehab
diegonehab deleted the feature/fixed-points branch July 16, 2026 18:58
@github-project-automation github-project-automation Bot moved this from Waiting Merge to Done in Machine Unit Jul 16, 2026
@edubart edubart added this to the v0.15.0 milestone Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants