Home / IntersectMBO / cardano-ledger
Mar 11, 9-10 PM (0)
Mar 11, 10-11 PM (0)
Mar 11, 11-12 AM (0)
Mar 12, 12-1 AM (0)
Mar 12, 1-2 AM (0)
Mar 12, 2-3 AM (0)
Mar 12, 3-4 AM (0)
Mar 12, 4-5 AM (0)
Mar 12, 5-6 AM (1)
Mar 12, 6-7 AM (0)
Mar 12, 7-8 AM (0)
Mar 12, 8-9 AM (0)
Mar 12, 9-10 AM (2)
Mar 12, 10-11 AM (0)
Mar 12, 11-12 PM (0)
Mar 12, 12-1 PM (6)
Mar 12, 1-2 PM (0)
Mar 12, 2-3 PM (0)
Mar 12, 3-4 PM (0)
Mar 12, 4-5 PM (0)
Mar 12, 5-6 PM (5)
Mar 12, 6-7 PM (1)
Mar 12, 7-8 PM (0)
Mar 12, 8-9 PM (0)
Mar 12, 9-10 PM (0)
Mar 12, 10-11 PM (0)
Mar 12, 11-12 AM (0)
Mar 13, 12-1 AM (0)
Mar 13, 1-2 AM (0)
Mar 13, 2-3 AM (0)
Mar 13, 3-4 AM (0)
Mar 13, 4-5 AM (0)
Mar 13, 5-6 AM (0)
Mar 13, 6-7 AM (0)
Mar 13, 7-8 AM (0)
Mar 13, 8-9 AM (0)
Mar 13, 9-10 AM (2)
Mar 13, 10-11 AM (0)
Mar 13, 11-12 PM (0)
Mar 13, 12-1 PM (5)
Mar 13, 1-2 PM (2)
Mar 13, 2-3 PM (1)
Mar 13, 3-4 PM (0)
Mar 13, 4-5 PM (0)
Mar 13, 5-6 PM (0)
Mar 13, 6-7 PM (0)
Mar 13, 7-8 PM (1)
Mar 13, 8-9 PM (0)
Mar 13, 9-10 PM (0)
Mar 13, 10-11 PM (0)
Mar 13, 11-12 AM (0)
Mar 14, 12-1 AM (0)
Mar 14, 1-2 AM (0)
Mar 14, 2-3 AM (0)
Mar 14, 3-4 AM (0)
Mar 14, 4-5 AM (0)
Mar 14, 5-6 AM (0)
Mar 14, 6-7 AM (0)
Mar 14, 7-8 AM (0)
Mar 14, 8-9 AM (0)
Mar 14, 9-10 AM (0)
Mar 14, 10-11 AM (0)
Mar 14, 11-12 PM (0)
Mar 14, 12-1 PM (0)
Mar 14, 1-2 PM (0)
Mar 14, 2-3 PM (0)
Mar 14, 3-4 PM (0)
Mar 14, 4-5 PM (0)
Mar 14, 5-6 PM (0)
Mar 14, 6-7 PM (0)
Mar 14, 7-8 PM (0)
Mar 14, 8-9 PM (0)
Mar 14, 9-10 PM (0)
Mar 14, 10-11 PM (0)
Mar 14, 11-12 AM (0)
Mar 15, 12-1 AM (0)
Mar 15, 1-2 AM (0)
Mar 15, 2-3 AM (0)
Mar 15, 3-4 AM (0)
Mar 15, 4-5 AM (0)
Mar 15, 5-6 AM (0)
Mar 15, 6-7 AM (0)
Mar 15, 7-8 AM (0)
Mar 15, 8-9 AM (0)
Mar 15, 9-10 AM (0)
Mar 15, 10-11 AM (0)
Mar 15, 11-12 PM (1)
Mar 15, 12-1 PM (0)
Mar 15, 1-2 PM (3)
Mar 15, 2-3 PM (0)
Mar 15, 3-4 PM (0)
Mar 15, 4-5 PM (0)
Mar 15, 5-6 PM (0)
Mar 15, 6-7 PM (0)
Mar 15, 7-8 PM (0)
Mar 15, 8-9 PM (0)
Mar 15, 9-10 PM (0)
Mar 15, 10-11 PM (0)
Mar 15, 11-12 AM (0)
Mar 16, 12-1 AM (0)
Mar 16, 1-2 AM (0)
Mar 16, 2-3 AM (0)
Mar 16, 3-4 AM (0)
Mar 16, 4-5 AM (0)
Mar 16, 5-6 AM (0)
Mar 16, 6-7 AM (0)
Mar 16, 7-8 AM (0)
Mar 16, 8-9 AM (1)
Mar 16, 9-10 AM (0)
Mar 16, 10-11 AM (4)
Mar 16, 11-12 PM (1)
Mar 16, 12-1 PM (0)
Mar 16, 1-2 PM (0)
Mar 16, 2-3 PM (1)
Mar 16, 3-4 PM (0)
Mar 16, 4-5 PM (2)
Mar 16, 5-6 PM (0)
Mar 16, 6-7 PM (0)
Mar 16, 7-8 PM (0)
Mar 16, 8-9 PM (0)
Mar 16, 9-10 PM (0)
Mar 16, 10-11 PM (0)
Mar 16, 11-12 AM (2)
Mar 17, 12-1 AM (0)
Mar 17, 1-2 AM (0)
Mar 17, 2-3 AM (0)
Mar 17, 3-4 AM (0)
Mar 17, 4-5 AM (0)
Mar 17, 5-6 AM (0)
Mar 17, 6-7 AM (0)
Mar 17, 7-8 AM (1)
Mar 17, 8-9 AM (0)
Mar 17, 9-10 AM (4)
Mar 17, 10-11 AM (0)
Mar 17, 11-12 PM (0)
Mar 17, 12-1 PM (0)
Mar 17, 1-2 PM (1)
Mar 17, 2-3 PM (0)
Mar 17, 3-4 PM (0)
Mar 17, 4-5 PM (0)
Mar 17, 5-6 PM (0)
Mar 17, 6-7 PM (1)
Mar 17, 7-8 PM (0)
Mar 17, 8-9 PM (1)
Mar 17, 9-10 PM (0)
Mar 17, 10-11 PM (0)
Mar 17, 11-12 AM (0)
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 (1)
Mar 18, 5-6 AM (0)
Mar 18, 6-7 AM (0)
Mar 18, 7-8 AM (0)
Mar 18, 8-9 AM (0)
Mar 18, 9-10 AM (0)
Mar 18, 10-11 AM (1)
Mar 18, 11-12 PM (0)
Mar 18, 12-1 PM (1)
Mar 18, 1-2 PM (0)
Mar 18, 2-3 PM (0)
Mar 18, 3-4 PM (0)
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)
52 commits this week Mar 11, 2026 - Mar 18, 2026
Change `B` constructor of `Metadatum` from `ByteString` to `ByteArray`.
Currently, the `B` constructor contains a `ByteString` (pinned in
memory) with a max length of 64 bytes. Since the `ByteString` is small
and can be instantiated frequently, it makes more sense to use an
unpinned byte array representation (`Data.Array.Byte.ByteArray`) so
that we can take advantage of Haskell's garbage collection to improve
memory allocation of objects in the heap.

We also place an upper bound on `nothunks` because of new orphan
instance (`instance NoThunks ByteArray`) that is going to be upstreamed.
Change `B` constructor of `Metadatum` from `ByteString` to `ByteArray`.
Currently, the `B` constructor contains a `ByteString` (pinned in
memory) with a max length of 64 bytes. Since the `ByteString` is small
and can be instantiated frequently, it makes more sense to use an
unpinned byte array representation (`Data.Array.Byte.ByteArray`) so
that we can take advantage of Haskell's garbage collection to improve
memory allocation of objects in the heap.
Add custom generator for plutus scripts to avoid set collisions
After removing distinct_bytes, the CDDL generator could produce
duplicate empty byte strings for plutus scripts in nonempty_set
collections (tag 258). The Set decoder would deduplicate them,
causing a length mismatch error. Fix by generating 32-byte random
bytestrings which makes collisions virtually impossible.

Also mark proposal_procedure antiCborSpec as pending due to
unrelated protver decoder issue.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Enable Dijkstra CDDL tests and add plutusScriptGen to plutus_v4_script
Add withGenerator to plutus_v4_script to prevent set collisions, matching
the fix for V1/V2/V3. Enable previously disabled Dijkstra tests that now
pass: AuxData roundtrip, TxOut/Script/TxWits ArbitraryValidate,
PParamsUpdate/ProposalProcedure/GovAction ArbitraryValidate, and TxAuxData
decoder equivalence. Update xdescribe reasons for tests that remain
disabled (plutus_v4_script tag 4 not yet supported by decoder, metadatum
validation, empty redeemers).

Co-Authored-By: Claude Opus 4.6 <[email protected]>