Drop unused RecordWildCards pragma from Friendly.hs
Added in the migration commit but no {..} patterns use it.
Added in the migration commit but no {..} patterns use it.
The previous commit bumped cabal.project's cardano-haskell-packages index-state to 2026-05-08T13:26:45Z, but the nix-side CHaP pin in flake.lock was still at 2026-04-30. haskell.nix-driven CI checks (actionlint, check-formatting, check-cabal-files, check-cabal-gild, test-hls-works, shellcheck) all failed with Cabal-7159 "Latest known index-state for 'cardano-haskell-packages' (2026-04-30T13:08:25Z) is older than the requested index-state (2026-05-08T13:26:45Z)". Updated via `nix flake lock --update-input CHaP` per CONTRIBUTING.md.
cardano-api 11.1.0.0 is the first published release containing the EraBasedProtocolParametersUpdate migration this branch depends on (cardano-api PR #1103). Bump the CHaP index-state past its publication and widen the cardano-cli library constraint from ^>=11.0 (which means >=11.0 && <11.1 under PVP caret-equality) to ^>=11.1 so the solver picks the new release.
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.
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.
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.
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.
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.
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.
The 7-way ShelleyBasedEra case duplicated body/mAuxData extraction and a near-identical field list (with Null placeholders) in every branch. Extract one helper per feature (validityRangePair, mintPair, collateralInputsPair, requiredSignersPair, referenceInputsPair, totalCollateralPair, returnCollateralPair) plus alonzoScriptWitnessPairsFor / conwayBodyPairsFor. The top-level body now extracts body/mAuxData once and composes a flat list of pairs. No behaviour change: all golden outputs are unchanged.
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.
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 dispatches on ShelleyBasedEra at the top level and each branch renders its full body inline. Era-gated fields (mint, collateral, reference inputs, governance actions, etc.) are present only in branches whose era supports them. The eon-based dispatchers (forShelleyBasedEraInEon, AlonzoEraOnwards, ConwayEraOnwards, ...) are no longer used in this module. Relies on cardano-api 11.1.0.0 (PR IntersectMBO/cardano-api#1199), which widened Exp.SignedTx / Exp.UnsignedTx to all Shelley-based eras.
Bump CHaP index-state to pick up cardano-api 11.1.0.0, which contains the widening of Exp.SignedTx to all Shelley-based eras (PR #1199) used by the friendly rendering work in this branch.
The field was hardcoded to null across all eras since the update-proposal handling was removed in #1372. Always-null fields are noise; drop the key entirely and regenerate the goldens.
The 7-way ShelleyBasedEra case duplicated body/mAuxData extraction and a near-identical field list (with Null placeholders) in every branch. Extract one helper per feature (validityRangePair, mintPair, collateralInputsPair, requiredSignersPair, referenceInputsPair, totalCollateralPair, returnCollateralPair) plus alonzoScriptWitnessPairsFor / conwayBodyPairsFor. The top-level body now extracts body/mAuxData once and composes a flat list of pairs. No behaviour change: all golden outputs are unchanged.
friendlyTx and friendlyTxBody now take ShelleyBasedEra era (instead of Exp.Era era), accepting Exp.SignedTx era / Exp.UnsignedTx (ShelleyLedgerEra era). This unblocks transaction view for pre-Conway tx files. friendlyTxBodyImpl dispatches on ShelleyBasedEra at the top level and each branch renders its full body inline. Era-gated fields (mint, collateral, reference inputs, governance actions, etc.) are present only in branches whose era supports them. The eon-based dispatchers (forShelleyBasedEraInEon, AlonzoEraOnwards, ConwayEraOnwards, ...) are no longer used in this module.
friendlyTx and friendlyTxBody now take Exp.SignedTx / Exp.UnsignedTx instead of the old Tx / TxBody. friendlyTxBodyImpl reads every field directly from the ledger TxBody via lenses, so the old TxBodyContent constructor and getTxBodyContent are no longer used in this module.
Bump CHaP index-state to pick up cardano-api 11.1.0.0, which contains the widening of Exp.SignedTx to all Shelley-based eras (PR #1199) used by the friendly rendering work in this branch.
The 7-way ShelleyBasedEra case duplicated body/mAuxData extraction and a near-identical field list (with Null placeholders) in every branch. Extract one helper per feature (validityRangePair, mintPair, collateralInputsPair, requiredSignersPair, referenceInputsPair, totalCollateralPair, returnCollateralPair) plus alonzoScriptWitnessPairsFor / conwayBodyPairsFor. The top-level body now extracts body/mAuxData once and composes a flat list of pairs. No behaviour change: all golden outputs are unchanged.