Skip to content

feat: adds top level engine crate for global orchestration - #24

Open
bmuddha wants to merge 1 commit into
programsfrom
engine
Open

feat: adds top level engine crate for global orchestration#24
bmuddha wants to merge 1 commit into
programsfrom
engine

Conversation

@bmuddha

@bmuddha bmuddha commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

What changed

Added the top-level magicblock-engine crate that wires keeper state,
transaction processing, block pacing, recovery, and MagicRoot account operations
behind the consumer-facing Engine handle.

Why

Embedding services need one entry point for opening durable state, reconstructing
it after recovery, submitting work, and coordinating shutdown.

Part of #4.

Closes #29.

Impact

  • Engine::account exposes committed create, update, patch, and delete
    operations; Engine::transaction supports execute, schedule, and simulation.
  • Instruction slices and Message values are signed with the engine authority
    and latest blockhash; sanitized views and encoded transactions are accepted
    without re-signing.
  • Startup restores keeper state, replays retained entries after a snapshot rewind,
    and starts the sequencer with internal or external block pacing.
  • Coordinated shutdown rejects new transactions, drains execution, and flushes
    durable or externally mirrored state according to the pacing source.

Reviewer notes

Replay quiesces at each sealed superblock and compares the reconstructed account
checksum with the recorded seal. Divergence returns
ReplayError::StateMismatch.

Follow-up

The replication crate uses the external pacer and replay paths to build followers
upstack.

@bmuddha
bmuddha force-pushed the engine branch 2 times, most recently from 1e5ae15 to 3775c49 Compare June 24, 2026 16:22
@bmuddha
bmuddha force-pushed the engine branch 2 times, most recently from a656426 to f9d750c Compare June 30, 2026 13:19
@bmuddha
bmuddha force-pushed the programs branch 2 times, most recently from 11b31fc to ffefa44 Compare July 1, 2026 20:03
@bmuddha
bmuddha force-pushed the engine branch 2 times, most recently from 11fe1af to c20d652 Compare July 2, 2026 15:08
@bmuddha
bmuddha force-pushed the engine branch 3 times, most recently from eb7f92d to fa6e06f Compare July 16, 2026 07:54
@bmuddha
bmuddha force-pushed the programs branch 2 times, most recently from 66b6eda to d5a0037 Compare July 16, 2026 21:28
@bmuddha
bmuddha force-pushed the engine branch 2 times, most recently from 75997f3 to fd76f48 Compare July 17, 2026 08:15
@bmuddha
bmuddha force-pushed the programs branch 2 times, most recently from 48f5d00 to a80df02 Compare July 17, 2026 10:19
@bmuddha
bmuddha force-pushed the engine branch 2 times, most recently from 2188806 to d451952 Compare July 17, 2026 14:55
@bmuddha
bmuddha force-pushed the programs branch 2 times, most recently from 219a70d to dddc008 Compare July 17, 2026 20:22
@bmuddha
bmuddha force-pushed the engine branch 2 times, most recently from f0dc33a to ad7b32b Compare July 18, 2026 04:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant