Jun 16, 9-10 AM (28)
Jun 16, 10-11 AM (22)
Jun 16, 11-12 PM (31)
Jun 16, 12-1 PM (37)
Jun 16, 1-2 PM (49)
Jun 16, 2-3 PM (34)
Jun 16, 3-4 PM (28)
Jun 16, 4-5 PM (37)
Jun 16, 5-6 PM (17)
Jun 16, 6-7 PM (26)
Jun 16, 7-8 PM (9)
Jun 16, 8-9 PM (11)
Jun 16, 9-10 PM (4)
Jun 16, 10-11 PM (31)
Jun 16, 11-12 AM (9)
Jun 17, 12-1 AM (8)
Jun 17, 1-2 AM (8)
Jun 17, 2-3 AM (11)
Jun 17, 3-4 AM (4)
Jun 17, 4-5 AM (1)
Jun 17, 5-6 AM (6)
Jun 17, 6-7 AM (99)
Jun 17, 7-8 AM (33)
Jun 17, 8-9 AM (23)
Jun 17, 9-10 AM (56)
Jun 17, 10-11 AM (18)
Jun 17, 11-12 PM (19)
Jun 17, 12-1 PM (57)
Jun 17, 1-2 PM (28)
Jun 17, 2-3 PM (37)
Jun 17, 3-4 PM (26)
Jun 17, 4-5 PM (19)
Jun 17, 5-6 PM (16)
Jun 17, 6-7 PM (10)
Jun 17, 7-8 PM (14)
Jun 17, 8-9 PM (12)
Jun 17, 9-10 PM (37)
Jun 17, 10-11 PM (29)
Jun 17, 11-12 AM (14)
Jun 18, 12-1 AM (12)
Jun 18, 1-2 AM (8)
Jun 18, 2-3 AM (5)
Jun 18, 3-4 AM (11)
Jun 18, 4-5 AM (11)
Jun 18, 5-6 AM (11)
Jun 18, 6-7 AM (10)
Jun 18, 7-8 AM (20)
Jun 18, 8-9 AM (83)
Jun 18, 9-10 AM (45)
Jun 18, 10-11 AM (51)
Jun 18, 11-12 PM (23)
Jun 18, 12-1 PM (67)
Jun 18, 1-2 PM (14)
Jun 18, 2-3 PM (53)
Jun 18, 3-4 PM (44)
Jun 18, 4-5 PM (64)
Jun 18, 5-6 PM (24)
Jun 18, 6-7 PM (21)
Jun 18, 7-8 PM (13)
Jun 18, 8-9 PM (17)
Jun 18, 9-10 PM (23)
Jun 18, 10-11 PM (30)
Jun 18, 11-12 AM (26)
Jun 19, 12-1 AM (13)
Jun 19, 1-2 AM (9)
Jun 19, 2-3 AM (5)
Jun 19, 3-4 AM (2)
Jun 19, 4-5 AM (11)
Jun 19, 5-6 AM (4)
Jun 19, 6-7 AM (92)
Jun 19, 7-8 AM (18)
Jun 19, 8-9 AM (38)
Jun 19, 9-10 AM (39)
Jun 19, 10-11 AM (27)
Jun 19, 11-12 PM (30)
Jun 19, 12-1 PM (53)
Jun 19, 1-2 PM (66)
Jun 19, 2-3 PM (32)
Jun 19, 3-4 PM (61)
Jun 19, 4-5 PM (9)
Jun 19, 5-6 PM (4)
Jun 19, 6-7 PM (17)
Jun 19, 7-8 PM (16)
Jun 19, 8-9 PM (11)
Jun 19, 9-10 PM (45)
Jun 19, 10-11 PM (30)
Jun 19, 11-12 AM (8)
Jun 20, 12-1 AM (4)
Jun 20, 1-2 AM (0)
Jun 20, 2-3 AM (4)
Jun 20, 3-4 AM (1)
Jun 20, 4-5 AM (8)
Jun 20, 5-6 AM (6)
Jun 20, 6-7 AM (6)
Jun 20, 7-8 AM (6)
Jun 20, 8-9 AM (2)
Jun 20, 9-10 AM (2)
Jun 20, 10-11 AM (0)
Jun 20, 11-12 PM (2)
Jun 20, 12-1 PM (7)
Jun 20, 1-2 PM (1)
Jun 20, 2-3 PM (9)
Jun 20, 3-4 PM (11)
Jun 20, 4-5 PM (1)
Jun 20, 5-6 PM (0)
Jun 20, 6-7 PM (2)
Jun 20, 7-8 PM (8)
Jun 20, 8-9 PM (7)
Jun 20, 9-10 PM (0)
Jun 20, 10-11 PM (17)
Jun 20, 11-12 AM (5)
Jun 21, 12-1 AM (14)
Jun 21, 1-2 AM (0)
Jun 21, 2-3 AM (1)
Jun 21, 3-4 AM (0)
Jun 21, 4-5 AM (1)
Jun 21, 5-6 AM (0)
Jun 21, 6-7 AM (9)
Jun 21, 7-8 AM (1)
Jun 21, 8-9 AM (2)
Jun 21, 9-10 AM (2)
Jun 21, 10-11 AM (1)
Jun 21, 11-12 PM (2)
Jun 21, 12-1 PM (0)
Jun 21, 1-2 PM (17)
Jun 21, 2-3 PM (4)
Jun 21, 3-4 PM (10)
Jun 21, 4-5 PM (4)
Jun 21, 5-6 PM (8)
Jun 21, 6-7 PM (7)
Jun 21, 7-8 PM (19)
Jun 21, 8-9 PM (0)
Jun 21, 9-10 PM (1)
Jun 21, 10-11 PM (15)
Jun 21, 11-12 AM (15)
Jun 22, 12-1 AM (12)
Jun 22, 1-2 AM (6)
Jun 22, 2-3 AM (9)
Jun 22, 3-4 AM (4)
Jun 22, 4-5 AM (2)
Jun 22, 5-6 AM (29)
Jun 22, 6-7 AM (17)
Jun 22, 7-8 AM (49)
Jun 22, 8-9 AM (90)
Jun 22, 9-10 AM (53)
Jun 22, 10-11 AM (64)
Jun 22, 11-12 PM (74)
Jun 22, 12-1 PM (47)
Jun 22, 1-2 PM (56)
Jun 22, 2-3 PM (119)
Jun 22, 3-4 PM (46)
Jun 22, 4-5 PM (49)
Jun 22, 5-6 PM (29)
Jun 22, 6-7 PM (33)
Jun 22, 7-8 PM (13)
Jun 22, 8-9 PM (13)
Jun 22, 9-10 PM (11)
Jun 22, 10-11 PM (32)
Jun 22, 11-12 AM (36)
Jun 23, 12-1 AM (18)
Jun 23, 1-2 AM (18)
Jun 23, 2-3 AM (23)
Jun 23, 3-4 AM (11)
Jun 23, 4-5 AM (13)
Jun 23, 5-6 AM (30)
Jun 23, 6-7 AM (27)
Jun 23, 7-8 AM (32)
Jun 23, 8-9 AM (25)
Jun 23, 9-10 AM (1)
3,594 commits this week
Jun 16, 2026
-
Jun 23, 2026
feat(website): restyle to Cardano developer-portal look and feel
Move the GitHub Pages theme from the old violet/navy palette to the Cardano Foundation developer-portal visual language (developers.cardano.org): Cardano Blue (#0033AD) on generous white space, clean Inter typography, soft rounded cards, minimal shadows. - custom.css: Cardano-blue accent ramp; light mode is now the primary aesthetic (white + blue), dark mode a blue-tinted deep navy; branded splash hero with a soft blue gradient + gradient headline; pill-shaped CTA buttons; rounded card grid with blue icons and hover lift. - Add a Cardano-blue brand mark (src/assets/logo.svg) and wire it into the Starlight header; refresh the favicon to match. Built clean: 13 pages, brand color + logo present in output, no easy1staking self-references in the rendered site. Co-Authored-By: Claude Fable 5 <[email protected]>
feat(midnight): Implement Midnight indexer block scanning for cNIGHT and registration events
Signed-off-by: cryptodj413 <[email protected]>
fix(fmt): treat an exact `core.hooksPath` match as already installed
Refactor PoolReap in Dijkstra
- Fix issue that stake delegations to retired pools were not being removed. - Stylize the rule to follow that of the Conway and previous specs.
fix(fmt): always warn when the git pre-commit hook isn't installed
A failed `git config` write (e.g. read-only `.git`) was swallowed by `|| true`, leaving only Git's confusing raw error with no hint the `treefmt` hook was skipped. Messaging with a read-only `.git`: - before: ``` error: could not lock config file .git/config: Read-only file system ``` - after: ``` error: could not lock config file .git/config: Read-only file system note: couldn't set git core.hooksPath (is .git read-only?) hint: the blockfrost-platform pre-commit (treefmt) hook was not installed ```
wip: GHC 9.14.2 prerelease
Test with 9.14.2
Filter registered CC hotkeys by actual members of the CC
leios: synthesize LeiosFetch offers from CertRB headers; shared peer-vars
When a CertRB header arrives via ChainSync, recognise it (headerContainsLeiosCert) and offer the EB it certifies (chainDepStateLeiosAnnouncement) to that peer's LeiosFetch state, as if its LeiosNotify client had offered it (leiosCertRbCallback / leiosCertRbOffer). The per-peer LeiosPeerVars are now a shared, get-or-create resource: every peer-vars mini-protocol (ChainSync, LeiosNotify, LeiosFetch) wraps itself in bracketLeiosPeer, which allocates the entry if absent and cleans it up on exit. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
fix(stm): applying more comments suggestions
leios: park CertRBs in ChainSel until their EB closure is acquired
Treat a missing EB closure like a missing predecessor. ChainSel's candidate construction skips a CertRB whose announced EB closure is not yet in the ChainDB-owned acquired set (cdbAcquiredLeiosEbs, seeded at open and grown by leiosAcquiredEbsRunner from LeiosDb closure-completion notifications). When a closure arrives, a FIFO ChainSelReprocessLeiosEb message reprocesses the announcer RBs' cert-carrying successors (found via getLeiosAnnouncers). Also drives LeiosDb GC/promotion and prunes the acquired set at GC-schedule time. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
leios: add the ChainDB-orchestrated LeiosDb peer-store hooks
Add three methods to LeiosDbHandle (implemented for the in-memory and SQLite backends): leiosDbScanCompleteEbClosuresNotOlderThanSlot (used at ChainDB open to seed the acquired-EB-closures set, incl. restart recovery), and the still no-op leiosDbGarbageCollect and leiosDbPromoteToImmutable lifecycle hooks. Inert until ChainDB calls them. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
leios: enrich the VolatileDB index with each block's Leios dependency
Add biHasLeiosCert and biLeiosAnnouncedEb to BlockInfo, derived in extractBlockInfo via blockHasLeiosCert / headerLeiosAnnouncement (hence a ResolveLeiosBlock constraint on the VolatileDB and its openDB callers, e.g. DBImmutaliser). Add an incremental EB-announcer reverse index (LeiosAnnouncerIndex) maintained alongside currentSuccMap, exposed as getLeiosAnnouncers. Inert until ChainSel consumes it. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
leios: extend ResolveLeiosBlock with the CertRB-recognition methods
Add two methods to ResolveLeiosBlock (both with no-Leios defaults): headerContainsLeiosCert, which reads the header's hbLeiosContainsCert bit so a CertRB is recognisable from its header alone, and chainDepStateLeiosAnnouncement, which reads the EB a CertRB certifies from the predecessor's chain-dep state. Implement them for the Shelley Dijkstra and CardanoBlock instances (the latter projecting its chain-dep state), factoring out praosLeiosAnnouncement. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
leios: add the Praos header contains_cert bit and the envelope check
Add hbLeiosContainsCert to the Praos HeaderBody (Dijkstra-only; 10-vs-12-field CBOR encoding so pre-Leios blocks stay byte-identical), thread it through mkHeader and Shelley forging, and expose it via pHeaderLeiosContainsCert on the protocol-header abstraction (TPraos uses default_pHeaderLeiosContainsCert = const False). Enforce the header/body envelope in blockMatchesHeader: the cert bit is set iff the body carries exactly one Leios certificate and no txs. No ChainSync callback yet; that arrives with the peer-vars lifecycle. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
leios: in DB, key completed EBs by EbHash instead of by LeiosPoint
Leios: vote and certify over the announcing RbHash
Vote on the hash of the ranking block that announced the EB instead of the LeiosPoint, which comprises the slot number and EB hash. This forbids reusing Leios certificates across Praos forks.
chore: upgrade to pallas '1.1.0'
refactor(mithril-cardano-node-chain): ignore datumOption:Hash type from transaction reading
refactor(mithril-cardano-node-chain): ignore transaction without inline_datum
docs: note db-sync consumed-tx-out requirement for /scripts/:script_hash/utxos
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Add a zero-knowledge proofs earmark to Module 5
ZK on Cardano has live on-chain primitives (BLS12-381 builtins) and shipped proofs of concept but no home in the curriculum. Add a concept-first earmark under advanced smart contracts, flagged as in active development.
Add a programmable tokens (CIP-113) earmark to Module 3
Module 3 already names the gap (native tokens have no built-in transfer logic) but dead-ends there. Add a concept-first earmark for CIP-113: what transfer-time validation buys you, the shared-script and stake-credential model, and an honest in-development status that links out to the reference implementation.
Reframe the AI assistant page around Cardano Dev Skills
The page gave Mesh's AI context a co-equal section, pushing one SDK ahead of the aggregation layer we want people to start with. Lead with Cardano Dev Skills as the tool-agnostic default and demote Mesh to an optional, SDK-specific deepening.