Home / Input Output / plutus
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 (0)
Mar 15, 12-1 PM (0)
Mar 15, 1-2 PM (0)
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 (1)
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 (0)
Mar 16, 9-10 AM (2)
Mar 16, 10-11 AM (1)
Mar 16, 11-12 PM (1)
Mar 16, 12-1 PM (1)
Mar 16, 1-2 PM (4)
Mar 16, 2-3 PM (4)
Mar 16, 3-4 PM (2)
Mar 16, 4-5 PM (2)
Mar 16, 5-6 PM (1)
Mar 16, 6-7 PM (3)
Mar 16, 7-8 PM (0)
Mar 16, 8-9 PM (1)
Mar 16, 9-10 PM (2)
Mar 16, 10-11 PM (1)
Mar 16, 11-12 AM (1)
Mar 17, 12-1 AM (0)
Mar 17, 1-2 AM (3)
Mar 17, 2-3 AM (0)
Mar 17, 3-4 AM (1)
Mar 17, 4-5 AM (1)
Mar 17, 5-6 AM (0)
Mar 17, 6-7 AM (0)
Mar 17, 7-8 AM (0)
Mar 17, 8-9 AM (2)
Mar 17, 9-10 AM (1)
Mar 17, 10-11 AM (2)
Mar 17, 11-12 PM (0)
Mar 17, 12-1 PM (1)
Mar 17, 1-2 PM (3)
Mar 17, 2-3 PM (2)
Mar 17, 3-4 PM (3)
Mar 17, 4-5 PM (1)
Mar 17, 5-6 PM (1)
Mar 17, 6-7 PM (1)
Mar 17, 7-8 PM (0)
Mar 17, 8-9 PM (1)
Mar 17, 9-10 PM (1)
Mar 17, 10-11 PM (4)
Mar 17, 11-12 AM (1)
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 (0)
Mar 18, 5-6 AM (1)
Mar 18, 6-7 AM (1)
Mar 18, 7-8 AM (1)
Mar 18, 8-9 AM (0)
Mar 18, 9-10 AM (1)
Mar 18, 10-11 AM (0)
Mar 18, 11-12 PM (1)
Mar 18, 12-1 PM (3)
Mar 18, 1-2 PM (3)
Mar 18, 2-3 PM (3)
Mar 18, 3-4 PM (5)
Mar 18, 4-5 PM (3)
Mar 18, 5-6 PM (1)
Mar 18, 6-7 PM (1)
Mar 18, 7-8 PM (0)
Mar 18, 8-9 PM (0)
Mar 18, 9-10 PM (2)
Mar 18, 10-11 PM (1)
Mar 18, 11-12 AM (1)
Mar 19, 12-1 AM (0)
Mar 19, 1-2 AM (1)
Mar 19, 2-3 AM (0)
Mar 19, 3-4 AM (0)
Mar 19, 4-5 AM (1)
Mar 19, 5-6 AM (0)
Mar 19, 6-7 AM (0)
Mar 19, 7-8 AM (0)
Mar 19, 8-9 AM (0)
Mar 19, 9-10 AM (0)
Mar 19, 10-11 AM (2)
Mar 19, 11-12 PM (1)
Mar 19, 12-1 PM (2)
Mar 19, 1-2 PM (0)
Mar 19, 2-3 PM (0)
Mar 19, 3-4 PM (1)
Mar 19, 4-5 PM (0)
Mar 19, 5-6 PM (1)
Mar 19, 6-7 PM (2)
Mar 19, 7-8 PM (2)
Mar 19, 8-9 PM (1)
Mar 19, 9-10 PM (1)
Mar 19, 10-11 PM (0)
Mar 19, 11-12 AM (1)
Mar 20, 12-1 AM (0)
Mar 20, 1-2 AM (0)
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 (1)
Mar 20, 8-9 AM (1)
Mar 20, 9-10 AM (0)
Mar 20, 10-11 AM (3)
Mar 20, 11-12 PM (0)
Mar 20, 12-1 PM (0)
Mar 20, 1-2 PM (3)
Mar 20, 2-3 PM (1)
Mar 20, 3-4 PM (6)
Mar 20, 4-5 PM (3)
Mar 20, 5-6 PM (1)
Mar 20, 6-7 PM (2)
Mar 20, 7-8 PM (0)
Mar 20, 8-9 PM (1)
Mar 20, 9-10 PM (0)
Mar 20, 10-11 PM (0)
Mar 20, 11-12 AM (0)
Mar 21, 12-1 AM (0)
Mar 21, 1-2 AM (0)
Mar 21, 2-3 AM (0)
Mar 21, 3-4 AM (0)
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 (0)
Mar 21, 10-11 PM (0)
Mar 21, 11-12 AM (0)
Mar 22, 12-1 AM (0)
122 commits this week Mar 15, 2026 - Mar 22, 2026
Add Flat encoding test coverage across all packages
Pay down test coverage debt for Flat serialization instances.
This ensures encoding stability is verified by tests before
we attempt to fix the Generic derivation bug in a follow-up PR.

Adds roundtrip and stable byte encoding tests for:
- Flat library types (Maybe, Either, NonEmpty, Complex, Ratio,
  Set, Tree, Map, Seq, DList, Filler, PreAligned, and
  monoid/semigroup wrappers)
- TPLC types (Version, Name, Kind, DeBruijn, NamedDeBruijn,
  SrcSpan, SrcSpans, DefaultFun, DefaultUni, and all newtype
  wrappers including TyName, Unique, TyDeBruijn, etc.)
- PIR types (Recursivity, Strictness)
- UPLC types (Binder variants, FakeNamedDeBruijn, minimal
  Program encoding)
- Value types (K encodes as ByteString, Quantity as Integer)

Also adds a standalone encoding generator executable
(cabal run flat-encoding-generator) for reproducing expected
byte constants.
fix(flat): handle multi-byte advance in consClose decoder
consClose only advanced currPtr by at most 1 byte, so when
constructor_bits + usedBits >= 16 (e.g., 9-bit tag after 7 used
bits), usedBits overflowed to 8+. This corrupted the decoder state,
causing the Filler decoder to loop infinitely and consume all memory.

Use divMod to correctly advance by any number of bytes, matching the
pattern already used by dropBits_.

Fixes #7542
fix(flat): handle multi-byte advance in consClose decoder
consClose only advanced currPtr by at most 1 byte, so when
constructor_bits + usedBits >= 16 (e.g., 9-bit tag after 7 used
bits), usedBits overflowed to 8+. This corrupted the decoder state,
causing the Filler decoder to loop infinitely and consume all memory.

Use divMod to correctly advance by any number of bytes, matching the
pattern already used by dropBits_.

Fixes #7542
Add Flat encoding test coverage across all packages
Pay down test coverage debt for Flat serialization instances.
This ensures encoding stability is verified by tests before
we attempt to fix the Generic derivation bug in a follow-up PR.

Adds roundtrip and stable byte encoding tests for:
- Flat library types (Maybe, Either, NonEmpty, Complex, Ratio,
  Set, Tree, Map, Seq, DList, Filler, PreAligned, and
  monoid/semigroup wrappers)
- TPLC types (Version, Name, Kind, DeBruijn, NamedDeBruijn,
  SrcSpan, SrcSpans, DefaultFun, DefaultUni, and all newtype
  wrappers including TyName, Unique, TyDeBruijn, etc.)
- PIR types (Recursivity, Strictness)
- UPLC types (Binder variants, FakeNamedDeBruijn, minimal
  Program encoding)
- Value types (K encodes as ByteString, Quantity as Integer)

Also adds a standalone encoding generator executable
(cabal run flat-encoding-generator) for reproducing expected
byte constants.