Skip to content

NOT MERGE: Leios prototype remake#5839

Closed
ch1bo wants to merge 17 commits into
release/cardano-node-10.7.1-backportfrom
leios-prototype-remake
Closed

NOT MERGE: Leios prototype remake#5839
ch1bo wants to merge 17 commits into
release/cardano-node-10.7.1-backportfrom
leios-prototype-remake

Conversation

@ch1bo

@ch1bo ch1bo commented May 15, 2026

Copy link
Copy Markdown
Contributor

Note

This PR intends to fast-forward leios-prototype into the head of leios-prototype-remake. The remake targets 94e9618c91 Update version and changelog — the upstream master commit from which CHaP's cardano-ledger-dijkstra-0.2.0.1 is built, so consensus 3.0.1.0's existing version bounds and downstream cardano-node 11.0.1's CHaP-resolved ledger packages stay valid. For side-by-side comparison see diffs to the branch points:

Commits

One commit on top of 6030591f8a Reset leios-prototype to upstream master (chunked recreation follows) — a snapshot-merge whose first parent is upstream master (94e9618c91) and second parent is the original leios-prototype tip, preserving the prior prototype history in the DAG.

  • L1: Add Maybe LeiosCert on DijkstraBody (Dijkstra-only). Adds Maybe LeiosCert (mirrored after the existing Maybe PerasCert) as an optional field on the Dijkstra-era BlockBody. Other eras are unaffected — this is the entire Leios-related ledger change from leios-prototype at the time of the remake.
    • Shape: DijkstraBlockBodyInternal now carries fixed-length CBOR group with dbbLeiosCert :: !(StrictMaybe LeiosCert) + explicit dbbLeiosCertBytes :: !(Maybe BS.ByteString) (CBOR null when absent, encoded via encodeNullStrictMaybe).
    • CBOR / CDDL: huddle / cddl updated with leios_cert slot alongside the existing peras_cert nullable slot in the Dijkstra block rule.
    • Roundtrip tests for LeiosCert / PerasCert moved out of Test.Cardano.Ledger.BaseTypesSpec into a new Test.Cardano.Ledger.Dijkstra.BlockBodySpec (Dijkstra-specific home).
    • Hashing reuses hashDijkstraSegWits; no hashDijkstraBody wrapper.

Intentional differences from the original prototype

  • Shape: Maybe LeiosCert on DijkstraBody, not a Body / BodyInline / BodyCertificate sum.
  • No EB-announcement flags on the ledger Block. EB announcement lives on the Praos header (consensus side), not on the ledger block.
  • Earlier eras untouched. Leios is Dijkstra-only; no Maybe LeiosCert slot in Shelley/Allegra/Mary/Alonzo/Babbage/Conway.

Verified by

  • cabal build all clean in the dev shell.
  • Downstream cabal build all in ouroboros-consensus (Maybe LeiosCert consumed by the Dijkstra ResolveLeiosBlock instance for cert-block tx splice).
  • End-to-end proto-devnet run (3 cardano-node 11.0.1 binaries linked through to this ledger fork) reaches era=Dijkstra, forges cert-eligible blocks in LeiosDb.

Companion PRs

@ch1bo ch1bo force-pushed the leios-prototype-remake branch from 05d1d99 to 2764e2b Compare May 15, 2026 06:51
@ch1bo ch1bo added the Leios Tickets related in some form to work on Leios label May 15, 2026
@ch1bo ch1bo force-pushed the leios-prototype-remake branch 2 times, most recently from 9540116 to b6b2feb Compare May 15, 2026 11:08
@ch1bo ch1bo marked this pull request as ready for review May 15, 2026 13:40
@ch1bo ch1bo requested a review from a team as a code owner May 15, 2026 13:40
@ch1bo ch1bo changed the title WIP: Leios prototype recreation onto current master Leios prototype recreation onto current master May 15, 2026
@ch1bo ch1bo requested a review from bladyjoker May 15, 2026 13:40
@ch1bo ch1bo linked an issue May 15, 2026 that may be closed by this pull request
4 tasks
@ch1bo ch1bo force-pushed the leios-prototype-remake branch from b6b2feb to f52d064 Compare May 16, 2026 21:06
@ch1bo ch1bo changed the title Leios prototype recreation onto current master Leios prototype recreation onto current master (chunked) May 16, 2026
@ch1bo ch1bo force-pushed the leios-prototype-remake branch from f52d064 to 3d46180 Compare May 17, 2026 07:32
@ch1bo ch1bo force-pushed the leios-prototype-remake branch from 3d46180 to b6b2feb Compare May 17, 2026 19:02
@ch1bo ch1bo force-pushed the leios-prototype-remake branch 3 times, most recently from 859aa47 to 2df0d1f Compare May 18, 2026 07:55
@ch1bo ch1bo marked this pull request as draft May 18, 2026 08:00
@ch1bo ch1bo force-pushed the leios-prototype-remake branch 2 times, most recently from 2c3211f to 7f524e6 Compare May 18, 2026 08:06
@ch1bo ch1bo changed the title Leios prototype recreation onto current master (chunked) Leios prototype recreation onto ledger as released into 11.0.1 May 18, 2026
@ch1bo ch1bo changed the title Leios prototype recreation onto ledger as released into 11.0.1 Leios prototype remake onto ledger as released into 11.0.1 May 18, 2026
@ch1bo ch1bo force-pushed the leios-prototype-remake branch 2 times, most recently from a714ad6 to 2356338 Compare May 18, 2026 08:25
@ch1bo ch1bo marked this pull request as ready for review May 18, 2026 08:28
Introduce 'Maybe LeiosCert' (mirrored after the existing 'Maybe
PerasCert') as an optional field on the Dijkstra-era 'BlockBody'. Other
eras are unaffected — this is the entire Leios-related ledger changes
from leios-prototype at the time of the remake.
@ch1bo ch1bo force-pushed the leios-prototype-remake branch from 2356338 to c47305f Compare May 18, 2026 08:29
@ch1bo ch1bo changed the base branch from leios-prototype to master May 18, 2026 11:02
@ch1bo ch1bo changed the base branch from master to release/cardano-node-10.7.1-backport May 18, 2026 11:03
@ch1bo ch1bo changed the title Leios prototype remake onto ledger as released into 11.0.1 NOT MERGE: Leios prototype remake May 18, 2026
@ch1bo

ch1bo commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

Was merged into leios-prototype using git merge --ff-only leios-prototype-remake

@ch1bo ch1bo closed this Jun 1, 2026
@ch1bo ch1bo deleted the leios-prototype-remake branch June 9, 2026 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Leios Tickets related in some form to work on Leios

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update prototype to Dijkstra

2 participants