Home / IntersectMBO / cardano-cli
Apr 29, 3-4 AM (0)
Apr 29, 4-5 AM (0)
Apr 29, 5-6 AM (0)
Apr 29, 6-7 AM (0)
Apr 29, 7-8 AM (0)
Apr 29, 8-9 AM (0)
Apr 29, 9-10 AM (0)
Apr 29, 10-11 AM (0)
Apr 29, 11-12 PM (0)
Apr 29, 12-1 PM (0)
Apr 29, 1-2 PM (0)
Apr 29, 2-3 PM (0)
Apr 29, 3-4 PM (0)
Apr 29, 4-5 PM (0)
Apr 29, 5-6 PM (0)
Apr 29, 6-7 PM (0)
Apr 29, 7-8 PM (0)
Apr 29, 8-9 PM (0)
Apr 29, 9-10 PM (0)
Apr 29, 10-11 PM (0)
Apr 29, 11-12 AM (0)
Apr 30, 12-1 AM (0)
Apr 30, 1-2 AM (0)
Apr 30, 2-3 AM (0)
Apr 30, 3-4 AM (0)
Apr 30, 4-5 AM (0)
Apr 30, 5-6 AM (0)
Apr 30, 6-7 AM (0)
Apr 30, 7-8 AM (0)
Apr 30, 8-9 AM (0)
Apr 30, 9-10 AM (0)
Apr 30, 10-11 AM (0)
Apr 30, 11-12 PM (0)
Apr 30, 12-1 PM (0)
Apr 30, 1-2 PM (0)
Apr 30, 2-3 PM (0)
Apr 30, 3-4 PM (0)
Apr 30, 4-5 PM (0)
Apr 30, 5-6 PM (0)
Apr 30, 6-7 PM (2)
Apr 30, 7-8 PM (0)
Apr 30, 8-9 PM (2)
Apr 30, 9-10 PM (0)
Apr 30, 10-11 PM (0)
Apr 30, 11-12 AM (0)
May 01, 12-1 AM (0)
May 01, 1-2 AM (0)
May 01, 2-3 AM (0)
May 01, 3-4 AM (0)
May 01, 4-5 AM (0)
May 01, 5-6 AM (0)
May 01, 6-7 AM (0)
May 01, 7-8 AM (0)
May 01, 8-9 AM (0)
May 01, 9-10 AM (0)
May 01, 10-11 AM (0)
May 01, 11-12 PM (0)
May 01, 12-1 PM (1)
May 01, 1-2 PM (1)
May 01, 2-3 PM (1)
May 01, 3-4 PM (0)
May 01, 4-5 PM (0)
May 01, 5-6 PM (0)
May 01, 6-7 PM (0)
May 01, 7-8 PM (0)
May 01, 8-9 PM (0)
May 01, 9-10 PM (0)
May 01, 10-11 PM (0)
May 01, 11-12 AM (0)
May 02, 12-1 AM (0)
May 02, 1-2 AM (0)
May 02, 2-3 AM (0)
May 02, 3-4 AM (0)
May 02, 4-5 AM (0)
May 02, 5-6 AM (0)
May 02, 6-7 AM (0)
May 02, 7-8 AM (0)
May 02, 8-9 AM (0)
May 02, 9-10 AM (0)
May 02, 10-11 AM (0)
May 02, 11-12 PM (0)
May 02, 12-1 PM (0)
May 02, 1-2 PM (0)
May 02, 2-3 PM (0)
May 02, 3-4 PM (0)
May 02, 4-5 PM (0)
May 02, 5-6 PM (0)
May 02, 6-7 PM (0)
May 02, 7-8 PM (0)
May 02, 8-9 PM (0)
May 02, 9-10 PM (0)
May 02, 10-11 PM (0)
May 02, 11-12 AM (0)
May 03, 12-1 AM (0)
May 03, 1-2 AM (0)
May 03, 2-3 AM (0)
May 03, 3-4 AM (0)
May 03, 4-5 AM (0)
May 03, 5-6 AM (0)
May 03, 6-7 AM (0)
May 03, 7-8 AM (0)
May 03, 8-9 AM (0)
May 03, 9-10 AM (0)
May 03, 10-11 AM (0)
May 03, 11-12 PM (0)
May 03, 12-1 PM (0)
May 03, 1-2 PM (0)
May 03, 2-3 PM (0)
May 03, 3-4 PM (0)
May 03, 4-5 PM (0)
May 03, 5-6 PM (0)
May 03, 6-7 PM (0)
May 03, 7-8 PM (0)
May 03, 8-9 PM (0)
May 03, 9-10 PM (0)
May 03, 10-11 PM (0)
May 03, 11-12 AM (0)
May 04, 12-1 AM (0)
May 04, 1-2 AM (0)
May 04, 2-3 AM (0)
May 04, 3-4 AM (0)
May 04, 4-5 AM (0)
May 04, 5-6 AM (0)
May 04, 6-7 AM (0)
May 04, 7-8 AM (0)
May 04, 8-9 AM (0)
May 04, 9-10 AM (0)
May 04, 10-11 AM (0)
May 04, 11-12 PM (0)
May 04, 12-1 PM (0)
May 04, 1-2 PM (1)
May 04, 2-3 PM (0)
May 04, 3-4 PM (0)
May 04, 4-5 PM (0)
May 04, 5-6 PM (0)
May 04, 6-7 PM (0)
May 04, 7-8 PM (1)
May 04, 8-9 PM (1)
May 04, 9-10 PM (0)
May 04, 10-11 PM (0)
May 04, 11-12 AM (0)
May 05, 12-1 AM (0)
May 05, 1-2 AM (0)
May 05, 2-3 AM (0)
May 05, 3-4 AM (0)
May 05, 4-5 AM (0)
May 05, 5-6 AM (0)
May 05, 6-7 AM (0)
May 05, 7-8 AM (0)
May 05, 8-9 AM (0)
May 05, 9-10 AM (0)
May 05, 10-11 AM (0)
May 05, 11-12 PM (2)
May 05, 12-1 PM (0)
May 05, 1-2 PM (0)
May 05, 2-3 PM (0)
May 05, 3-4 PM (0)
May 05, 4-5 PM (0)
May 05, 5-6 PM (1)
May 05, 6-7 PM (1)
May 05, 7-8 PM (3)
May 05, 8-9 PM (0)
May 05, 9-10 PM (0)
May 05, 10-11 PM (0)
May 05, 11-12 AM (0)
May 06, 12-1 AM (0)
May 06, 1-2 AM (0)
May 06, 2-3 AM (0)
May 06, 3-4 AM (0)
17 commits this week Apr 29, 2026 - May 06, 2026
Migrate to EraBasedProtocolParametersUpdate
Adapt cardano-cli to the cardano-api removal of ProtocolParametersUpdate
in favour of EraBasedProtocolParametersUpdate era.

- Read.hs: bring IsShelleyBasedEra era into scope via
  shelleyToBabbageEraConstraints, satisfying the HasTextEnvelope instance
  for the now era-indexed UpdateProposal era without changing the
  function's exposed type.

- Friendly.hs: rewrite friendlyProtocolParametersUpdate to take a
  ledger PParamsUpdate directly (caller in friendlyUpdateProposal does
  the createEraBasedProtocolParamUpdate conversion) and dispatch on
  ShelleyBasedEra constructors to determine which fields apply per era.
  Helper functions per field group carry their own ledger constraints
  (EraPParams, ProtVerAtMost N, AlonzoEraPParams, BabbageEraPParams)
  and the case branches resolve them via instance lookup once the era
  is concrete - no eon witnesses required.

  Output preserves the prior JSON shape exactly (verified by
  hprop_golden_view_alonzo_update_proposal_yaml). Cost models and
  Conway-only governance fields are deliberately not emitted, matching
  prior behaviour.

- Compatible/Governance/Run.hs: drop the redundant
  createEraBasedProtocolParamUpdate / fromLedgerPParamsUpdate round-trip
  in shelleyToBabbageProtocolParametersUpdate; makeShelleyUpdateProposal
  now takes EraBasedProtocolParametersUpdate era directly.

- cardano-cli.cabal: add cardano-ledger-binary dep for getVersion
  (used to render the protocol-version major component).
Add golden test for friendlyProtocolParametersUpdate
Pins the rendered YAML shape of an alonzo-era transaction whose update
proposal exercises every field that friendlyProtocolParametersUpdate is
expected to render. This locks down the flat-key output (preserving keys
like "max block body size", "execution prices", "min UTxO value", "min
pool cost", etc.) so any subsequent rewrite of the renderer cannot
silently change the JSON shape.

The proposal is built via `compatible alonzo governance action
create-protocol-parameters-update`, embedded into a tx via `compatible
alonzo transaction signed-transaction --update-proposal-file`, and
viewed via `debug transaction view --output-yaml`.
Drop eon witnesses from friendlyProtocolParametersUpdate
Pattern match on ShelleyBasedEra constructors directly to determine which
fields apply per era, rather than gating with forShelleyBasedEraInEon
@ShelleyToMaryEra et al.

Each helper carries its own ledger constraints (EraPParams,
ProtVerAtMost N, AlonzoEraPParams, BabbageEraPParams) and the case
branches resolve them via instance lookup once the era is concrete.

Avoids the eon scaffolding which is being phased out, and removes the
shelleyBasedEraConstraints wrapper. JSON output unchanged.
Refactor friendlyProtocolParametersUpdate to use ledger lenses
Replace the GADT case-split over EraBasedProtocolParametersUpdate (and the
six per-sub-record helpers) with a single body that takes
Ledger.PParamsUpdate (ShelleyLedgerEra era) directly and uses ledger
ppu*L lenses gated by eon witnesses (ShelleyToMaryEra, ShelleyToAlonzoEra,
ShelleyToBabbageEra, AlonzoEraOnwards, BabbageEraOnwards) for
era-conditional fields.

The friendlyUpdateProposal caller now does the
createEraBasedProtocolParamUpdate conversion at the call site, so the
Friendly layer no longer needs to know about the cardano-api intermediate
sub-record types.

JSON output keys, types, and shape are unchanged.
Migrate to EraBasedProtocolParametersUpdate
Adapt cardano-cli to the cardano-api removal of ProtocolParametersUpdate
in favour of EraBasedProtocolParametersUpdate era.

- Read.hs: bring IsShelleyBasedEra era into scope via
  shelleyToBabbageEraConstraints, satisfying the HasTextEnvelope instance
  for the now era-indexed UpdateProposal era without changing the
  function's exposed type.

- Friendly.hs: rewrite friendlyProtocolParametersUpdate to take
  EraBasedProtocolParametersUpdate era and dispatch on the GADT, with one
  helper per sub-record (common, deprecated-after-mary,
  deprecated-after-babbage, shelley-to-alonzo, alonzo-onwards,
  introduced-in-babbage). JSON output remains flat with the original key
  names preserved. Cost models and Conway-only governance fields are
  deliberately not emitted, matching prior output; surfacing them under
  new keys can be done as a follow-up.

- Compatible/Governance/Run.hs: drop a redundant
  createEraBasedProtocolParamUpdate / fromLedgerPParamsUpdate round-trip
  in shelleyToBabbageProtocolParametersUpdate; makeShelleyUpdateProposal
  now takes EraBasedProtocolParametersUpdate era directly.
Remove unused TxUpdateProposal threading from build/build-raw
The `_txUpdateProposal` parameter to `runTxBuild` and the matching
read in `runTransactionBuildRawCmd` were both flagged with `TODO`s
to remove them. Update proposals are deprecated since Conway and
the value was never consumed downstream.

This drops the dead bindings, the unused `runTxBuild` parameter,
and the corresponding field destructures, but leaves the CLI flag
(`--update-proposal-file`) and the record fields in
`TransactionBuildCmdArgs` / `TransactionBuildRawCmdArgs` intact, so
this is not a user-visible CLI change.
Provide --protocol-params-file in build-raw tests with Plutus scripts
cardano-api 11.0.0.0 (IntersectMBO/cardano-api#1181) makes
`makeUnsignedTx` error when Plutus scripts are present but protocol
parameters are missing, instead of silently omitting `script_data_hash`.
Two existing tests built Plutus txs without `--protocol-params-file` and
so now fail. Point both at the existing offline-protocol-params-preview.json
fixture used by the other tests in the same module.
Provide --protocol-params-file in build-raw tests with Plutus scripts
cardano-api 11.0.0.0 (IntersectMBO/cardano-api#1181) makes
`makeUnsignedTx` error when Plutus scripts are present but protocol
parameters are missing, instead of silently omitting `script_data_hash`.
Two existing tests built Plutus txs without `--protocol-params-file` and
so now fail. Point both at the existing offline-protocol-params-preview.json
fixture used by the other tests in the same module.
Bump cardano-api to 11.0.0.0
Adapt to the new `Either MakeUnsignedTxError (UnsignedTx ...)` return of
`Exp.makeUnsignedTx` (IntersectMBO/cardano-api#1181). Add a
TxCmdMakeUnsignedTxError constructor to TxCmdError so the error surfaces
with the existing fromEitherCli/firstExceptT idioms, and update the two
call sites in EraBased.Transaction.Run.

Bump the cardano-haskell-packages index-state to pick up cardano-api
11.0.0.0 from CHaP (IntersectMBO/cardano-haskell-packages#1358).
Provide --protocol-params-file in build-raw tests with Plutus scripts
cardano-api 11.0.0.0 (PR #1181) makes `makeUnsignedTx` error when Plutus
scripts are present but protocol parameters are missing, instead of silently
omitting `script_data_hash`. Two existing tests built Plutus txs without
`--protocol-params-file` and so now fail. Point both at the existing
offline-protocol-params-preview.json fixture used by the other tests in
the same module.
Bump cardano-api to 11.0.0.0
Adapt to the new `Either MakeUnsignedTxError (UnsignedTx ...)` return of
`Exp.makeUnsignedTx` (cardano-api PR #1181). Add a TxCmdMakeUnsignedTxError
constructor to TxCmdError so the error surfaces with the existing
fromEitherCli/firstExceptT idioms, and update the two call sites in
EraBased.Transaction.Run.

cardano-api 11.0.0.0 is not yet on CHaP (CHaP PR #1358 is open), so this
adds a temporary source-repository-package pointing at the release tag.
Drop the SRP and bump the cardano-haskell-packages index-state once the
CHaP PR merges.