Skip to content

Initial transitionvm PoC#5222

Closed
StephenButtolph wants to merge 12 commits intoceyonur/sae-warpfrom
StephenButtolph/transition-vm
Closed

Initial transitionvm PoC#5222
StephenButtolph wants to merge 12 commits intoceyonur/sae-warpfrom
StephenButtolph/transition-vm

Conversation

@StephenButtolph
Copy link
Copy Markdown
Contributor

@StephenButtolph StephenButtolph commented Apr 10, 2026

Why this should be merged

This shouldn't be merged, it is intended as an MVP to build on.

How this works

This introduces an (almost) VM agnostic transition VM that wraps two VM interfaces and remaps everything from the first VM to the second VM after the transition block is accepted.

Remaining TODOs:

  • Allow the last-synchronous block in SAE to contain receipts (PoC works currently because I manually disabled CheckInvariants on the blocks).
  • Allow BuildBlock to be called in SAE without SetPreference having been called. It should default to the LastAcceptedBlock.
  • Support node restarts.
  • Abstract the DB entry to some form of interface. Knowing the DB scheme in the transition vm is jank.
  • Inspect all caches to see if we need a comprehensive block transition solution, or if we can keep the yolo no block conversion logic.
  • Decide how state-sync should work. Currently transitionVM does not support state-sync at all.

How this was tested

  • Single-node network transitioning
  • Multi-node network transitioning
  • Node restarts post-transition
  • Nodes bootstrapping into a post-transition network

Need to be documented in RELEASES.md?

@StephenButtolph StephenButtolph mentioned this pull request Apr 21, 2026
5 tasks
@StephenButtolph
Copy link
Copy Markdown
Contributor Author

See: #5303

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

Labels

None yet

Projects

Status: Done 🎉

Development

Successfully merging this pull request may close these issues.

1 participant