May 01, 4-5 PM (25)
May 01, 5-6 PM (11)
May 01, 6-7 PM (20)
May 01, 7-8 PM (22)
May 01, 8-9 PM (65)
May 01, 9-10 PM (15)
May 01, 10-11 PM (40)
May 01, 11-12 AM (61)
May 02, 12-1 AM (6)
May 02, 1-2 AM (11)
May 02, 2-3 AM (5)
May 02, 3-4 AM (8)
May 02, 4-5 AM (6)
May 02, 5-6 AM (2)
May 02, 6-7 AM (2)
May 02, 7-8 AM (14)
May 02, 8-9 AM (7)
May 02, 9-10 AM (8)
May 02, 10-11 AM (11)
May 02, 11-12 PM (7)
May 02, 12-1 PM (7)
May 02, 1-2 PM (3)
May 02, 2-3 PM (14)
May 02, 3-4 PM (9)
May 02, 4-5 PM (27)
May 02, 5-6 PM (9)
May 02, 6-7 PM (29)
May 02, 7-8 PM (11)
May 02, 8-9 PM (15)
May 02, 9-10 PM (1)
May 02, 10-11 PM (20)
May 02, 11-12 AM (18)
May 03, 12-1 AM (8)
May 03, 1-2 AM (1)
May 03, 2-3 AM (4)
May 03, 3-4 AM (7)
May 03, 4-5 AM (1)
May 03, 5-6 AM (4)
May 03, 6-7 AM (32)
May 03, 7-8 AM (5)
May 03, 8-9 AM (1)
May 03, 9-10 AM (3)
May 03, 10-11 AM (10)
May 03, 11-12 PM (11)
May 03, 12-1 PM (16)
May 03, 1-2 PM (11)
May 03, 2-3 PM (2)
May 03, 3-4 PM (2)
May 03, 4-5 PM (5)
May 03, 5-6 PM (0)
May 03, 6-7 PM (5)
May 03, 7-8 PM (6)
May 03, 8-9 PM (8)
May 03, 9-10 PM (15)
May 03, 10-11 PM (23)
May 03, 11-12 AM (17)
May 04, 12-1 AM (4)
May 04, 1-2 AM (4)
May 04, 2-3 AM (10)
May 04, 3-4 AM (9)
May 04, 4-5 AM (5)
May 04, 5-6 AM (6)
May 04, 6-7 AM (6)
May 04, 7-8 AM (28)
May 04, 8-9 AM (26)
May 04, 9-10 AM (43)
May 04, 10-11 AM (36)
May 04, 11-12 PM (61)
May 04, 12-1 PM (34)
May 04, 1-2 PM (49)
May 04, 2-3 PM (64)
May 04, 3-4 PM (33)
May 04, 4-5 PM (64)
May 04, 5-6 PM (49)
May 04, 6-7 PM (13)
May 04, 7-8 PM (32)
May 04, 8-9 PM (45)
May 04, 9-10 PM (9)
May 04, 10-11 PM (54)
May 04, 11-12 AM (24)
May 05, 12-1 AM (4)
May 05, 1-2 AM (5)
May 05, 2-3 AM (5)
May 05, 3-4 AM (11)
May 05, 4-5 AM (11)
May 05, 5-6 AM (50)
May 05, 6-7 AM (16)
May 05, 7-8 AM (37)
May 05, 8-9 AM (81)
May 05, 9-10 AM (68)
May 05, 10-11 AM (34)
May 05, 11-12 PM (72)
May 05, 12-1 PM (115)
May 05, 1-2 PM (118)
May 05, 2-3 PM (66)
May 05, 3-4 PM (91)
May 05, 4-5 PM (41)
May 05, 5-6 PM (26)
May 05, 6-7 PM (28)
May 05, 7-8 PM (73)
May 05, 8-9 PM (31)
May 05, 9-10 PM (18)
May 05, 10-11 PM (25)
May 05, 11-12 AM (17)
May 06, 12-1 AM (10)
May 06, 1-2 AM (5)
May 06, 2-3 AM (9)
May 06, 3-4 AM (23)
May 06, 4-5 AM (7)
May 06, 5-6 AM (13)
May 06, 6-7 AM (30)
May 06, 7-8 AM (11)
May 06, 8-9 AM (106)
May 06, 9-10 AM (27)
May 06, 10-11 AM (41)
May 06, 11-12 PM (46)
May 06, 12-1 PM (86)
May 06, 1-2 PM (53)
May 06, 2-3 PM (43)
May 06, 3-4 PM (33)
May 06, 4-5 PM (18)
May 06, 5-6 PM (8)
May 06, 6-7 PM (12)
May 06, 7-8 PM (26)
May 06, 8-9 PM (13)
May 06, 9-10 PM (9)
May 06, 10-11 PM (30)
May 06, 11-12 AM (23)
May 07, 12-1 AM (7)
May 07, 1-2 AM (2)
May 07, 2-3 AM (1)
May 07, 3-4 AM (10)
May 07, 4-5 AM (4)
May 07, 5-6 AM (33)
May 07, 6-7 AM (97)
May 07, 7-8 AM (235)
May 07, 8-9 AM (42)
May 07, 9-10 AM (29)
May 07, 10-11 AM (55)
May 07, 11-12 PM (39)
May 07, 12-1 PM (59)
May 07, 1-2 PM (48)
May 07, 2-3 PM (47)
May 07, 3-4 PM (42)
May 07, 4-5 PM (58)
May 07, 5-6 PM (10)
May 07, 6-7 PM (24)
May 07, 7-8 PM (30)
May 07, 8-9 PM (12)
May 07, 9-10 PM (18)
May 07, 10-11 PM (65)
May 07, 11-12 AM (20)
May 08, 12-1 AM (6)
May 08, 1-2 AM (14)
May 08, 2-3 AM (19)
May 08, 3-4 AM (8)
May 08, 4-5 AM (3)
May 08, 5-6 AM (20)
May 08, 6-7 AM (19)
May 08, 7-8 AM (53)
May 08, 8-9 AM (34)
May 08, 9-10 AM (12)
May 08, 10-11 AM (32)
May 08, 11-12 PM (40)
May 08, 12-1 PM (30)
May 08, 1-2 PM (43)
May 08, 2-3 PM (46)
May 08, 3-4 PM (23)
May 08, 4-5 PM (9)
4,525 commits this week May 01, 2026 - May 08, 2026
build(deps): update thiserror requirement from 1.0.39 to 2.0.18
Updates the requirements on [thiserror](https://github.com/dtolnay/thiserror) to permit the latest version.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/commits/2.0.18)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-version: 2.0.18
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
build(deps): update binary-layout requirement from 3.2.0 to 4.0.2 (#435)
Updates the requirements on [binary-layout](https://github.com/smessmer/binary-layout) to permit the latest version.
- [Release notes](https://github.com/smessmer/binary-layout/releases)
- [Changelog](https://github.com/smessmer/binary-layout/blob/master/ChangeLog.txt)
- [Commits](https://github.com/smessmer/binary-layout/compare/3.2.0...4.0.2)

---
updated-dependencies:
- dependency-name: binary-layout
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Fix failing cuddle test for Plutus data Constr.
Triggered by:

```
cabal run cardano-ledger-conway:test:tests -- --match "/Conway era-specific/CDDL/Huddle/Decoding fails when term is zapped/plutus_data: MemoBytes (PlutusData ConwayEra)/" --seed 1615161393
```

The issue is that our list of allowed tags for the `Constr` data
constructor of Plutus `Data` is not exhaustive enough. As per
`PlutusCore.Data`, the allowed tags are 121-127, 1280-1400, and 102.
Render update proposal field for Shelley-Babbage eras
Now that the friendly renderer covers Shelley through Babbage, those
tx bodies' update field is no longer just noise — it carries real
governance state (a ProposedPPUpdates map keyed by genesis-key hash and
an EpochNo). Render it directly from the ledger TxBody via
`updateTxBodyL`. Conway replaced update proposals with the new
governance system, so the field is absent (not null) in Conway+.

Adds `updateProposalPairFor` and `renderUpdate` helpers; the
per-era PParamsUpdate is rendered via its ledger ToJSON instance.
Migrate friendly rendering to experimental API types, widen to all Shelley-based eras, and refactor with per-feature helpers
friendlyTx and friendlyTxBody now take ShelleyBasedEra era and accept
Exp.SignedTx era / Exp.UnsignedTx (ShelleyLedgerEra era). They are no
longer parameterised by Exp.Era era (which is Conway-only) — the
renderer works for Shelley through Conway tx and tx-body files,
unblocking transaction view for pre-Conway tx files.

friendlyTxBodyImpl reads every field directly from the ledger TxBody
via lenses, so the old API's TxBodyContent constructor and
getTxBodyContent are no longer used in this module.

The body composes a list of pairs from per-feature helpers
(validityRangePair, mintPairFor, collateralInputsPairFor,
requiredSignersPairFor, referenceInputsPairFor, totalCollateralPairFor,
returnCollateralPairFor, alonzoScriptWitnessPairsFor,
conwayBodyPairsFor). Era-gated helpers return [Aeson.Pair] and emit []
in eras that don't have the field, so JSON keys for absent-in-this-era
fields (e.g. "mint" in Shelley, "collateral inputs" in Mary) are
omitted from the output rather than rendered as null. The eon-based
dispatchers (forShelleyBasedEraInEon, AlonzoEraOnwards,
ConwayEraOnwards, ...) are no longer used in this module.

Also adds an Alonzo YAML golden test alongside the existing JSON
golden to cover the YAML output path for that era.

Relies on cardano-api 11.1.0.0 (PR IntersectMBO/cardano-api#1199),
which widened Exp.SignedTx / Exp.UnsignedTx to all Shelley-based eras.
refactor(validate): extract phase2 evaluator and surface failure context (#751)
Move the amaru-uplc invocation out of `tx.rs` into a dedicated
`phase2::evaluator` module exposing `eval_script` -> `ScriptEvalResult`.
This isolates the script-evaluation surface from the rest of phase-two
plumbing and makes it directly testable.

Promote machine failures from a silently-discarded `Err` on
`result.term` into structured data: `MachineFailure { message, budget,
logs }` is propagated up and surfaced on `TxEvalResult` via a new
`failure_message: Option<String>` field. Previously a failing script
would yield `success: false` with no diagnostic; callers now receive
the evaluator's error message and the same line is emitted at debug
level via `tracing`.

Restructure `Error::Machine` from an opaque tuple wrapping the
arena-borrowed `MachineError` into a `{ message, budget, logs }` struct
with a clean `Display` impl backed by free `format_machine_traces` and
`indent_trace` helpers. The previous variant could never actually be
constructed (the arena lifetime didn't permit it) and was dead.

Drop the `* 11 / 10` budget inflation hack in `tx.rs` — the evaluator's
reported `consumed_budget` is now passed through verbatim. Callers
that relied on the old margin will see slightly lower numbers.

Add unit tests in `evaluator.rs` covering: CBOR decode failure typing,
flat decode failure typing, machine failure capturing logs and a
non-empty message, V2 application order (datum -> redeemer -> context),
V2 with missing datum, and a regression test confirming `serialiseData`
on V3 evaluates without panicking.