feat!: align Solidity step with persistent cycle-overflow fixed points - #100
Merged
Conversation
Regenerate the uarch transition, persist halt reasons, expose rollup limits, and update tests for the new machine and uarch overflow semantics.
diegonehab
force-pushed
the
feature/fixed-points
branch
from
July 15, 2026 15:25
e266859 to
54d9e48
Compare
diegonehab
force-pushed
the
feature/fixed-points
branch
from
July 15, 2026 21:22
54d9e48 to
a2946b4
Compare
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.
mpernambuco
approved these changes
Jul 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-stepwith the emulator:UArchStep.solfrom the updated C++ transition.uarch.halt.UArchCycleOverflowwhen the cycle reaches its limit.imcyclemaxwhen accepting an advance-state response.The generated step now reads
uarch.haltfirst, avoids execution at a fixed point, and materializes overflowimmediately after reaching the cycle limit.