Home / Input Output / cardano-ledger
Mar 17, 3-4 PM (0)
Mar 17, 4-5 PM (1)
Mar 17, 5-6 PM (0)
Mar 17, 6-7 PM (1)
Mar 17, 7-8 PM (1)
Mar 17, 8-9 PM (0)
Mar 17, 9-10 PM (1)
Mar 17, 10-11 PM (1)
Mar 17, 11-12 AM (2)
Mar 18, 12-1 AM (0)
Mar 18, 1-2 AM (0)
Mar 18, 2-3 AM (0)
Mar 18, 3-4 AM (0)
Mar 18, 4-5 AM (2)
Mar 18, 5-6 AM (1)
Mar 18, 6-7 AM (0)
Mar 18, 7-8 AM (0)
Mar 18, 8-9 AM (0)
Mar 18, 9-10 AM (12)
Mar 18, 10-11 AM (1)
Mar 18, 11-12 PM (1)
Mar 18, 12-1 PM (3)
Mar 18, 1-2 PM (2)
Mar 18, 2-3 PM (12)
Mar 18, 3-4 PM (2)
Mar 18, 4-5 PM (0)
Mar 18, 5-6 PM (0)
Mar 18, 6-7 PM (0)
Mar 18, 7-8 PM (0)
Mar 18, 8-9 PM (0)
Mar 18, 9-10 PM (0)
Mar 18, 10-11 PM (0)
Mar 18, 11-12 AM (4)
Mar 19, 12-1 AM (0)
Mar 19, 1-2 AM (0)
Mar 19, 2-3 AM (0)
Mar 19, 3-4 AM (2)
Mar 19, 4-5 AM (0)
Mar 19, 5-6 AM (0)
Mar 19, 6-7 AM (0)
Mar 19, 7-8 AM (0)
Mar 19, 8-9 AM (1)
Mar 19, 9-10 AM (1)
Mar 19, 10-11 AM (1)
Mar 19, 11-12 PM (11)
Mar 19, 12-1 PM (8)
Mar 19, 1-2 PM (0)
Mar 19, 2-3 PM (1)
Mar 19, 3-4 PM (5)
Mar 19, 4-5 PM (0)
Mar 19, 5-6 PM (0)
Mar 19, 6-7 PM (0)
Mar 19, 7-8 PM (1)
Mar 19, 8-9 PM (4)
Mar 19, 9-10 PM (2)
Mar 19, 10-11 PM (0)
Mar 19, 11-12 AM (1)
Mar 20, 12-1 AM (0)
Mar 20, 1-2 AM (1)
Mar 20, 2-3 AM (0)
Mar 20, 3-4 AM (0)
Mar 20, 4-5 AM (0)
Mar 20, 5-6 AM (0)
Mar 20, 6-7 AM (0)
Mar 20, 7-8 AM (0)
Mar 20, 8-9 AM (0)
Mar 20, 9-10 AM (0)
Mar 20, 10-11 AM (0)
Mar 20, 11-12 PM (0)
Mar 20, 12-1 PM (0)
Mar 20, 1-2 PM (2)
Mar 20, 2-3 PM (4)
Mar 20, 3-4 PM (0)
Mar 20, 4-5 PM (0)
Mar 20, 5-6 PM (4)
Mar 20, 6-7 PM (2)
Mar 20, 7-8 PM (0)
Mar 20, 8-9 PM (4)
Mar 20, 9-10 PM (0)
Mar 20, 10-11 PM (0)
Mar 20, 11-12 AM (2)
Mar 21, 12-1 AM (0)
Mar 21, 1-2 AM (0)
Mar 21, 2-3 AM (0)
Mar 21, 3-4 AM (2)
Mar 21, 4-5 AM (0)
Mar 21, 5-6 AM (0)
Mar 21, 6-7 AM (0)
Mar 21, 7-8 AM (0)
Mar 21, 8-9 AM (0)
Mar 21, 9-10 AM (0)
Mar 21, 10-11 AM (0)
Mar 21, 11-12 PM (0)
Mar 21, 12-1 PM (0)
Mar 21, 1-2 PM (0)
Mar 21, 2-3 PM (0)
Mar 21, 3-4 PM (0)
Mar 21, 4-5 PM (0)
Mar 21, 5-6 PM (0)
Mar 21, 6-7 PM (0)
Mar 21, 7-8 PM (0)
Mar 21, 8-9 PM (0)
Mar 21, 9-10 PM (1)
Mar 21, 10-11 PM (0)
Mar 21, 11-12 AM (0)
Mar 22, 12-1 AM (0)
Mar 22, 1-2 AM (0)
Mar 22, 2-3 AM (0)
Mar 22, 3-4 AM (0)
Mar 22, 4-5 AM (0)
Mar 22, 5-6 AM (0)
Mar 22, 6-7 AM (0)
Mar 22, 7-8 AM (0)
Mar 22, 8-9 AM (0)
Mar 22, 9-10 AM (0)
Mar 22, 10-11 AM (0)
Mar 22, 11-12 PM (0)
Mar 22, 12-1 PM (0)
Mar 22, 1-2 PM (0)
Mar 22, 2-3 PM (0)
Mar 22, 3-4 PM (0)
Mar 22, 4-5 PM (0)
Mar 22, 5-6 PM (1)
Mar 22, 6-7 PM (0)
Mar 22, 7-8 PM (3)
Mar 22, 8-9 PM (3)
Mar 22, 9-10 PM (0)
Mar 22, 10-11 PM (0)
Mar 22, 11-12 AM (0)
Mar 23, 12-1 AM (0)
Mar 23, 1-2 AM (0)
Mar 23, 2-3 AM (0)
Mar 23, 3-4 AM (0)
Mar 23, 4-5 AM (0)
Mar 23, 5-6 AM (0)
Mar 23, 6-7 AM (0)
Mar 23, 7-8 AM (0)
Mar 23, 8-9 AM (0)
Mar 23, 9-10 AM (7)
Mar 23, 10-11 AM (1)
Mar 23, 11-12 PM (9)
Mar 23, 12-1 PM (10)
Mar 23, 1-2 PM (3)
Mar 23, 2-3 PM (1)
Mar 23, 3-4 PM (2)
Mar 23, 4-5 PM (7)
Mar 23, 5-6 PM (0)
Mar 23, 6-7 PM (4)
Mar 23, 7-8 PM (0)
Mar 23, 8-9 PM (2)
Mar 23, 9-10 PM (1)
Mar 23, 10-11 PM (4)
Mar 23, 11-12 AM (0)
Mar 24, 12-1 AM (0)
Mar 24, 1-2 AM (0)
Mar 24, 2-3 AM (0)
Mar 24, 3-4 AM (0)
Mar 24, 4-5 AM (0)
Mar 24, 5-6 AM (0)
Mar 24, 6-7 AM (0)
Mar 24, 7-8 AM (0)
Mar 24, 8-9 AM (0)
Mar 24, 9-10 AM (5)
Mar 24, 10-11 AM (4)
Mar 24, 11-12 PM (2)
Mar 24, 12-1 PM (5)
Mar 24, 1-2 PM (11)
Mar 24, 2-3 PM (1)
Mar 24, 3-4 PM (0)
193 commits this week Mar 17, 2026 - Mar 24, 2026
Add property tests for metadatum size limits in the decoder
The metadatum decoder now only enforces bytes/text size limits (0..64)
for decoder versions > 2, matching the previous SoftForks.validMetadata
behavior. Tests are added to roundTripShelleyCommonSpec so they run for
every era: accepting oversized values at version 2 (Shelley) and
rejecting them from version 3 (Allegra) onwards.

Changes made with the help of an LLM
Make `ContextError` constructors from Alonzo to Dijkstra era lazy
Since `ContextError`s are never stored and their reporting doesn't need
to be efficient (we always optimize for the positive case with valid
transactions, as invalid transactions don't propagate through the
network), there's no need for strictness annotations on the error
constructors.

This change removes the bang patterns (!) from:
- AlonzoContextError
- BabbageContextError
- ConwayContextError
- DijkstraContextError
Enforce metadatum size limits in the decoder
The CDDL spec requires `bytes .size (0..64)` and `text .size (0..64)`
for transaction metadatum, but the decoder did not enforce these limits.
This moves the size validation into `decodeMetadatum` so it aligns with
the CDDL spec. The `Arbitrary Metadatum` instance is also constrained
to produce valid values, and the previously disabled CDDL anti-tests
are now enabled.

Changes made with the help of an LLM