Switch to herald for releasing
Home /
IntersectMBO /
cardano-cli
May 12, 6-7 PM (0)
May 12, 7-8 PM (0)
May 12, 8-9 PM (1)
May 12, 9-10 PM (0)
May 12, 10-11 PM (0)
May 12, 11-12 AM (0)
May 13, 12-1 AM (0)
May 13, 1-2 AM (0)
May 13, 2-3 AM (0)
May 13, 3-4 AM (0)
May 13, 4-5 AM (0)
May 13, 5-6 AM (0)
May 13, 6-7 AM (0)
May 13, 7-8 AM (0)
May 13, 8-9 AM (0)
May 13, 9-10 AM (0)
May 13, 10-11 AM (0)
May 13, 11-12 PM (0)
May 13, 12-1 PM (0)
May 13, 1-2 PM (0)
May 13, 2-3 PM (0)
May 13, 3-4 PM (1)
May 13, 4-5 PM (1)
May 13, 5-6 PM (0)
May 13, 6-7 PM (0)
May 13, 7-8 PM (0)
May 13, 8-9 PM (0)
May 13, 9-10 PM (0)
May 13, 10-11 PM (0)
May 13, 11-12 AM (0)
May 14, 12-1 AM (0)
May 14, 1-2 AM (0)
May 14, 2-3 AM (0)
May 14, 3-4 AM (0)
May 14, 4-5 AM (0)
May 14, 5-6 AM (0)
May 14, 6-7 AM (0)
May 14, 7-8 AM (0)
May 14, 8-9 AM (0)
May 14, 9-10 AM (0)
May 14, 10-11 AM (0)
May 14, 11-12 PM (0)
May 14, 12-1 PM (0)
May 14, 1-2 PM (0)
May 14, 2-3 PM (0)
May 14, 3-4 PM (0)
May 14, 4-5 PM (0)
May 14, 5-6 PM (0)
May 14, 6-7 PM (1)
May 14, 7-8 PM (0)
May 14, 8-9 PM (2)
May 14, 9-10 PM (0)
May 14, 10-11 PM (1)
May 14, 11-12 AM (0)
May 15, 12-1 AM (0)
May 15, 1-2 AM (0)
May 15, 2-3 AM (0)
May 15, 3-4 AM (0)
May 15, 4-5 AM (0)
May 15, 5-6 AM (0)
May 15, 6-7 AM (0)
May 15, 7-8 AM (0)
May 15, 8-9 AM (0)
May 15, 9-10 AM (0)
May 15, 10-11 AM (0)
May 15, 11-12 PM (1)
May 15, 12-1 PM (1)
May 15, 1-2 PM (0)
May 15, 2-3 PM (1)
May 15, 3-4 PM (0)
May 15, 4-5 PM (0)
May 15, 5-6 PM (1)
May 15, 6-7 PM (1)
May 15, 7-8 PM (0)
May 15, 8-9 PM (0)
May 15, 9-10 PM (0)
May 15, 10-11 PM (0)
May 15, 11-12 AM (0)
May 16, 12-1 AM (0)
May 16, 1-2 AM (0)
May 16, 2-3 AM (0)
May 16, 3-4 AM (0)
May 16, 4-5 AM (0)
May 16, 5-6 AM (0)
May 16, 6-7 AM (0)
May 16, 7-8 AM (0)
May 16, 8-9 AM (0)
May 16, 9-10 AM (0)
May 16, 10-11 AM (0)
May 16, 11-12 PM (0)
May 16, 12-1 PM (0)
May 16, 1-2 PM (0)
May 16, 2-3 PM (0)
May 16, 3-4 PM (0)
May 16, 4-5 PM (0)
May 16, 5-6 PM (0)
May 16, 6-7 PM (0)
May 16, 7-8 PM (0)
May 16, 8-9 PM (0)
May 16, 9-10 PM (0)
May 16, 10-11 PM (0)
May 16, 11-12 AM (0)
May 17, 12-1 AM (0)
May 17, 1-2 AM (0)
May 17, 2-3 AM (0)
May 17, 3-4 AM (0)
May 17, 4-5 AM (0)
May 17, 5-6 AM (0)
May 17, 6-7 AM (0)
May 17, 7-8 AM (0)
May 17, 8-9 AM (0)
May 17, 9-10 AM (0)
May 17, 10-11 AM (0)
May 17, 11-12 PM (0)
May 17, 12-1 PM (0)
May 17, 1-2 PM (0)
May 17, 2-3 PM (0)
May 17, 3-4 PM (0)
May 17, 4-5 PM (0)
May 17, 5-6 PM (0)
May 17, 6-7 PM (0)
May 17, 7-8 PM (0)
May 17, 8-9 PM (0)
May 17, 9-10 PM (0)
May 17, 10-11 PM (0)
May 17, 11-12 AM (0)
May 18, 12-1 AM (0)
May 18, 1-2 AM (0)
May 18, 2-3 AM (0)
May 18, 3-4 AM (0)
May 18, 4-5 AM (0)
May 18, 5-6 AM (0)
May 18, 6-7 AM (0)
May 18, 7-8 AM (0)
May 18, 8-9 AM (0)
May 18, 9-10 AM (0)
May 18, 10-11 AM (0)
May 18, 11-12 PM (0)
May 18, 12-1 PM (0)
May 18, 1-2 PM (6)
May 18, 2-3 PM (0)
May 18, 3-4 PM (0)
May 18, 4-5 PM (0)
May 18, 5-6 PM (0)
May 18, 6-7 PM (1)
May 18, 7-8 PM (1)
May 18, 8-9 PM (0)
May 18, 9-10 PM (0)
May 18, 10-11 PM (0)
May 18, 11-12 AM (0)
May 19, 12-1 AM (0)
May 19, 1-2 AM (0)
May 19, 2-3 AM (0)
May 19, 3-4 AM (0)
May 19, 4-5 AM (0)
May 19, 5-6 AM (0)
May 19, 6-7 AM (0)
May 19, 7-8 AM (0)
May 19, 8-9 AM (0)
May 19, 9-10 AM (0)
May 19, 10-11 AM (0)
May 19, 11-12 PM (0)
May 19, 12-1 PM (0)
May 19, 1-2 PM (12)
May 19, 2-3 PM (0)
May 19, 3-4 PM (0)
May 19, 4-5 PM (1)
May 19, 5-6 PM (0)
May 19, 6-7 PM (0)
33 commits this week
May 12, 2026
-
May 19, 2026
Migrate to cardano-api 11.2.0.0 Certificate API
cardano-api #1210 removed the legacy 'Cardano.Api.Certificate' module
and stopped re-exporting Certificate-construction helpers from
'Cardano.Api'. Migrate cardano-cli to import the relevant types
('StakePoolRelay', 'StakePoolMetadataReference', 'StakePoolMetadata',
'DRepMetadata', 'KESPeriod', 'OperationalCertificate',
'OperationalCertificateIssueCounter', 'PoolId', 'StakePoolParameters',
helpers like 'issueOperationalCertificate', 'validateAndHashStakePoolMetadata',
'toShelleyPoolParams', 'hashDRepMetadata', 'getKesPeriod', 'getOpCertCount',
data instances 'Hash StakePoolMetadataHash' / 'Hash DRepMetadataHash',
'AsType AsOperationalCertificate' / 'AsType AsOperationalCertificateIssueCounter',
'MIRPot') from 'Cardano.Api.Experimental.Certificate' or
'Cardano.Api.Compatible.Certificate' as appropriate.
Drops vacuous 'hiding (make*Certificate)' / 'hiding (Certificate)'
clauses that referenced names no longer re-exported from 'Cardano.Api',
which had become '-Wdodgy-imports' errors under '-Werror'. Removes the
redundant 'Cardano.Ledger.Core' qualified import from
'Cardano.CLI.Read' that became unused after the cardano-api re-export
narrowing.
Migrate to experimental TxOut in createCompatibleTx
Adapt to cardano-api PR #1209, which removes the legacy 'TxOut CtxTx era'
from the Compatible and Experimental APIs:
* 'createCompatibleTx' now takes '[Exp.TxOut (ShelleyLedgerEra era)]'
plus a new 'Map L.DataHash (L.Data ...)' argument carrying any
supplemental datum bodies. The legacy 'TxOut CtxTx era' bundled
supplemental datums inside outputs; 'Exp.TxOut' only carries the
datum hash, so callers thread the full datum bodies in explicitly.
* The bridge helpers 'fromLegacyTxOut', 'legacyDatumToDatum',
'supplementalDatumFromLegacy', 'toLedgerDatum', and the
'DatumDecodingError' type are deleted from 'Cardano.Api.Experimental.Tx'.
Migration:
* 'mkTxOut' and 'toTxOutInAnyEra' now return
'(Exp.TxOut (ShelleyLedgerEra era), Map DataHash (L.Data ...))'
directly, building the legacy 'TxOut CtxTx era' internally only as
a stepping stone for 'toShelleyTxOutAny'.
* 'createCompatibleTx' call site in 'Compatible/Transaction/Run.hs'
folds the per-output supplemental datums via 'Map.unions' and
passes them as the new argument.
* 'toTxOutInEra' and 'toTxOutInShelleyBasedEra' in
'EraBased/Transaction/Run.hs' delegate directly to 'mkTxOut' (the
deleted 'fromLegacyTxOut' is gone).
* 'TxCmdDatumDecodingError' is removed since the underlying
'Exp.DatumDecodingError' is gone and the new conversion is total.
Remove non-Byron TxOut CtxTx/CtxUTxO usage from cardano-cli
Eliminate the legacy 'TxOut CtxTx era' and 'TxOut CtxUTxO era' type
signatures and pattern matches from cardano-cli's non-Byron code paths.
Byron-era code uses a separate pre-Shelley tx output model and is left
alone — 'Exp.TxOut' is not applicable there.
* 'friendlyTxOut' in 'Compatible/Json/Friendly.hs' now takes
'Exp.TxOut (LedgerEra era)' and reads address, value, and
reference script directly via the ledger lenses ('addrTxOutL',
'valueTxOutL', 'referenceScriptTxOutL'). The two call sites
('basePairs', 'friendlyReturnCollateral') wrap the body's ledger
outputs with 'Exp.TxOut' instead of going through
'fromShelleyTxOut → fromCtxUTxOTxOut'. The dead 'friendlyTxOutValue'
helper is dropped.
* 'filteredUTxOsToText' in 'EraBased/Query/Run.hs' now takes a
'ShelleyBasedEra era' witness, converts the api 'UTxO era' to the
ledger UTxO once via 'toLedgerUTxO', then renders each entry from
'(TxIn, Exp.TxOut (ShelleyLedgerEra era))' using ledger lenses.
The pre-Babbage datum slot has no uniform ledger representation,
so the renderer emits an empty placeholder there and shows the
babbage+ ledger datum elsewhere — debug-style output, no golden
tests touched.
* Removed 'validateTxReturnCollateral' from
'Type/Error/TxValidationError.hs'. It was exported but never
called outside its own module; the actual return-collateral
construction in 'EraBased/Transaction/Run' builds
'Exp.TxReturnCollateral' directly.
Remaining uses of legacy ctx-typed tx outputs in cardano-cli are
confined to Byron-only modules.
Migrate IncompleteTxBody and transaction commands to Exp.UnsignedTx
Drops the last remaining uses of the deprecated old-API transaction body surface (`TxBody`, `getTxBody`, `getTxBodyAndWitnesses`, `makeShelleyKeyWitness`, `makeSignedTransaction`, `evaluateTransactionExecutionUnits` on a deprecated `TxBody`, `getTxId . getTxBody`) from cardano-cli's source tree. `IncompleteTxBody` is reworked from a `newtype` wrapping `InAnyShelleyBasedEra TxBody` into a GADT existential carrying `Exp.UnsignedTx (ShelleyLedgerEra era)` plus `IsShelleyBasedEra` evidence. `readFileTxBody` pattern-matches `ShelleyTx _ ledgerTx` directly and wraps as `Exp.UnsignedTx ledgerTx` — no `getTxBody`. Consumers in `Transaction.Run` are migrated to: - `makeShelleyKeyWitness'` (ledger-level body) and `addWitnesses` for signing — both non-deprecated and work for all Shelley-based eras, preserving pre-Conway support. - `getTxIdShelley` for transaction IDs. - `evaluateTransactionExecutionUnitsShelley` (operates on the ledger `Tx` directly) for `transaction calculate-plutus-script-cost`, preserving Alonzo+ era support. - `Exp.evaluateTransactionFee` on `Exp.UnsignedTx` for `transaction calculate-min-fee` (already Conway+ via `sbeToEra`). `TransactionView.Run` no longer needs the `makeSignedTransaction []`-then-extract-ledger boundary that PR #1374 added — the new `readFileTxBody` returns `Exp.UnsignedTx` directly. The TextEnvelope I/O boundary still uses `Tx era` and `ShelleyTx _` (both non-deprecated), since `Exp.UnsignedTx`/`Exp.SignedTx` have no `HasTextEnvelope` instance. The on-disk `.tx`/`.txbody` formats are unchanged. The compatible command path (`Cardano.CLI.Compatible.Transaction.Run`) was already using non-deprecated symbols (`makeShelleyKeyWitness'`, `addWitnesses`) and is unchanged by this commit.
Drop deprecated TxBody from TxBodyFile phantom
`TxBodyFile` was a `File (TxBody ())` whose phantom payload was only ever used as a file-tag for option/parser plumbing; the bytes on disk do not depend on it. Replace `TxBody ()` with a fresh empty `TxBodyTag` data type so the alias no longer references the deprecated `TxBody` from cardano-api PR #1200. No on-disk format change. No call-site change beyond the alias itself.
Bump cardano-api to 11.2.0.0
cardano-api 11.2.0.0 is published to CHaP. Bump the cardano-haskell-packages index-state past the publish (2026-05-18T18:23:40Z), bump the cardano-cli cabal dep from ^>=11.1 to ^>=11.2, and bump the CHaP flake input accordingly. 11.2.0.0 introduces breaking changes that subsequent commits in this PR migrate cardano-cli to: legacy TxOut removed (cardano-api #1209), legacy Certificate type removed (#1210), and TxBody/TxBodyContent deprecated (#1200).
cabal.project: bump cardano-api pin to signed 11.2.0.0 commit
The release/cardano-api-11.2.0.0 branch was rebased to sign the herald-bot commits with the IOHK key, producing a new SHA for the tagged release commit. Point the source-repository-package pin at the new signed SHA (3baa58e8cc) instead of the original (8b19d9161c) so this branch tracks a reachable commit.
cabal.project: drop cardano-api SRP, pull 11.2.0.0 from CHaP
cardano-api 11.2.0.0 is now published to CHaP (timestamp 2026-05-18T18:23:40Z). Drop the temporary source-repository-package pin, bump the cardano-haskell-packages index-state past the publish, and update the CHaP flake input accordingly.
Bump cardano-api to 11.2.0.0 (via source-repository-package pin)
Pins cardano-api to the tip of the release/cardano-api-11.2.0.0 branch in cabal.project until CHaP publishes 11.2.0.0. Bumps the cardano-cli cabal dep from ^>=11.1 to ^>=11.2. Drops the per-package warning downgrades that were temporary scaffolding for the migration.
Migrate to cardano-api 11.2.0.0 Certificate API
cardano-api #1210 removed the legacy 'Cardano.Api.Certificate' module
and stopped re-exporting Certificate-construction helpers from
'Cardano.Api'. Migrate cardano-cli to import the relevant types
('StakePoolRelay', 'StakePoolMetadataReference', 'StakePoolMetadata',
'DRepMetadata', 'KESPeriod', 'OperationalCertificate',
'OperationalCertificateIssueCounter', 'PoolId', 'StakePoolParameters',
helpers like 'issueOperationalCertificate', 'validateAndHashStakePoolMetadata',
'toShelleyPoolParams', 'hashDRepMetadata', 'getKesPeriod', 'getOpCertCount',
data instances 'Hash StakePoolMetadataHash' / 'Hash DRepMetadataHash',
'AsType AsOperationalCertificate' / 'AsType AsOperationalCertificateIssueCounter',
'MIRPot') from 'Cardano.Api.Experimental.Certificate' or
'Cardano.Api.Compatible.Certificate' as appropriate.
Drops vacuous 'hiding (make*Certificate)' / 'hiding (Certificate)'
clauses that referenced names no longer re-exported from 'Cardano.Api',
which had become '-Wdodgy-imports' errors under '-Werror'. Removes the
redundant 'Cardano.Ledger.Core' qualified import from
'Cardano.CLI.Read' that became unused after the cardano-api re-export
narrowing.
Migrate to experimental TxOut in createCompatibleTx
Adapt to cardano-api PR #1209, which removes the legacy 'TxOut CtxTx era'
from the Compatible and Experimental APIs:
* 'createCompatibleTx' now takes '[Exp.TxOut (ShelleyLedgerEra era)]'
plus a new 'Map L.DataHash (L.Data ...)' argument carrying any
supplemental datum bodies. The legacy 'TxOut CtxTx era' bundled
supplemental datums inside outputs; 'Exp.TxOut' only carries the
datum hash, so callers thread the full datum bodies in explicitly.
* The bridge helpers 'fromLegacyTxOut', 'legacyDatumToDatum',
'supplementalDatumFromLegacy', 'toLedgerDatum', and the
'DatumDecodingError' type are deleted from 'Cardano.Api.Experimental.Tx'.
Migration:
* 'mkTxOut' and 'toTxOutInAnyEra' now return
'(Exp.TxOut (ShelleyLedgerEra era), Map DataHash (L.Data ...))'
directly, building the legacy 'TxOut CtxTx era' internally only as
a stepping stone for 'toShelleyTxOutAny'.
* 'createCompatibleTx' call site in 'Compatible/Transaction/Run.hs'
folds the per-output supplemental datums via 'Map.unions' and
passes them as the new argument.
* 'toTxOutInEra' and 'toTxOutInShelleyBasedEra' in
'EraBased/Transaction/Run.hs' delegate directly to 'mkTxOut' (the
deleted 'fromLegacyTxOut' is gone).
* 'TxCmdDatumDecodingError' is removed since the underlying
'Exp.DatumDecodingError' is gone and the new conversion is total.
Temporary 'cabal.project' additions (to be removed once #1209 is
merged and the next cardano-api is published to CHaP):
* 'source-repository-package' pointing at the PR branch so CI can
build against the unpublished API.
* Per-package '-Wwarn=deprecations -Wwarn=unused-imports' for
cardano-cli. The PR branch is several commits ahead of
cardano-api-11.1.0.0 and surfaces unrelated TxBody/TxBodyContent
deprecations (cardano-api PR #1200) plus a redundant
'Cardano.Ledger.Core' import in 'Cardano.CLI.Read' that became
visible after upstream re-exports widened. Both are separate
cleanups out of scope for this PR.
Remove non-Byron TxOut CtxTx/CtxUTxO usage from cardano-cli
Eliminate the legacy 'TxOut CtxTx era' and 'TxOut CtxUTxO era' type
signatures and pattern matches from cardano-cli's non-Byron code paths.
Byron-era code uses a separate pre-Shelley tx output model and is left
alone — 'Exp.TxOut' is not applicable there.
* 'friendlyTxOut' in 'Compatible/Json/Friendly.hs' now takes
'Exp.TxOut (LedgerEra era)' and reads address, value, and
reference script directly via the ledger lenses ('addrTxOutL',
'valueTxOutL', 'referenceScriptTxOutL'). The two call sites
('basePairs', 'friendlyReturnCollateral') wrap the body's ledger
outputs with 'Exp.TxOut' instead of going through
'fromShelleyTxOut → fromCtxUTxOTxOut'. The dead 'friendlyTxOutValue'
helper is dropped.
* 'filteredUTxOsToText' in 'EraBased/Query/Run.hs' now takes a
'ShelleyBasedEra era' witness, converts the api 'UTxO era' to the
ledger UTxO once via 'toLedgerUTxO', then renders each entry from
'(TxIn, Exp.TxOut (ShelleyLedgerEra era))' using ledger lenses.
The pre-Babbage datum slot has no uniform ledger representation,
so the renderer emits an empty placeholder there and shows the
babbage+ ledger datum elsewhere — debug-style output, no golden
tests touched.
* Removed 'validateTxReturnCollateral' from
'Type/Error/TxValidationError.hs'. It was exported but never
called outside its own module; the actual return-collateral
construction in 'EraBased/Transaction/Run' builds
'Exp.TxReturnCollateral' directly.
Remaining uses of legacy ctx-typed tx outputs in cardano-cli are
confined to Byron-only modules.
cabal.project: drop cardano-api SRP, pull 11.2.0.0 from CHaP
cardano-api 11.2.0.0 is now published to CHaP (timestamp 2026-05-18T18:23:40Z). Drop the temporary source-repository-package pin, bump the cardano-haskell-packages index-state past the publish, and update the CHaP flake input accordingly.
cabal.project: bump cardano-api pin to signed 11.2.0.0 commit
The release/cardano-api-11.2.0.0 branch was rebased to sign the herald-bot commits with the IOHK key, producing a new SHA for the tagged release commit. Point the source-repository-package pin at the new signed SHA (3baa58e8cc) instead of the original (8b19d9161c) so this branch tracks a reachable commit.
Migrate to cardano-api 11.2.0.0 Certificate API
cardano-api #1210 removed the legacy 'Cardano.Api.Certificate' module
and stopped re-exporting Certificate-construction helpers from
'Cardano.Api'. Migrate cardano-cli to import the relevant types
('StakePoolRelay', 'StakePoolMetadataReference', 'StakePoolMetadata',
'DRepMetadata', 'KESPeriod', 'OperationalCertificate',
'OperationalCertificateIssueCounter', 'PoolId', 'StakePoolParameters',
helpers like 'issueOperationalCertificate', 'validateAndHashStakePoolMetadata',
'toShelleyPoolParams', 'hashDRepMetadata', 'getKesPeriod', 'getOpCertCount',
data instances 'Hash StakePoolMetadataHash' / 'Hash DRepMetadataHash',
'AsType AsOperationalCertificate' / 'AsType AsOperationalCertificateIssueCounter',
'MIRPot') from 'Cardano.Api.Experimental.Certificate' or
'Cardano.Api.Compatible.Certificate' as appropriate.
Drops vacuous 'hiding (make*Certificate)' / 'hiding (Certificate)'
clauses that referenced names no longer re-exported from 'Cardano.Api',
which had become '-Wdodgy-imports' errors under '-Werror'. Removes the
redundant 'Cardano.Ledger.Core' qualified import from
'Cardano.CLI.Read' that became unused after the cardano-api re-export
narrowing.
Bump cardano-api to 11.2.0.0 (via source-repository-package pin)
Pins cardano-api to the tip of the release/cardano-api-11.2.0.0 branch in cabal.project until CHaP publishes 11.2.0.0. Bumps the cardano-cli cabal dep from ^>=11.1 to ^>=11.2. Drops the per-package warning downgrades that were temporary scaffolding for the migration.
Remove non-Byron TxOut CtxTx/CtxUTxO usage from cardano-cli
Eliminate the legacy 'TxOut CtxTx era' and 'TxOut CtxUTxO era' type
signatures and pattern matches from cardano-cli's non-Byron code paths.
Byron-era code uses a separate pre-Shelley tx output model and is left
alone — 'Exp.TxOut' is not applicable there.
* 'friendlyTxOut' in 'Compatible/Json/Friendly.hs' now takes
'Exp.TxOut (LedgerEra era)' and reads address, value, datum, and
reference script directly via the ledger lenses ('addrTxOutL',
'valueTxOutL', 'datumTxOutL', 'referenceScriptTxOutL'). The two
call sites ('basePairs', 'friendlyReturnCollateral') wrap the
body's ledger outputs with 'Exp.TxOut' instead of going through
'fromShelleyTxOut → fromCtxUTxOTxOut'. The dead 'friendlyTxOutValue'
helper is dropped.
* 'filteredUTxOsToText' in 'EraBased/Query/Run.hs' now takes a
'ShelleyBasedEra era' witness, converts the api 'UTxO era' to the
ledger UTxO once via 'toLedgerUTxO', then renders each entry from
'(TxIn, Exp.TxOut (ShelleyLedgerEra era))' using ledger lenses.
The pre-Babbage datum slot has no uniform ledger representation,
so the renderer emits an empty placeholder there and shows the
babbage+ ledger datum elsewhere — debug-style output, no golden
tests touched.
* Removed 'validateTxReturnCollateral' from
'Type/Error/TxValidationError.hs'. It was exported but never
called outside its own module; the actual return-collateral
construction in 'EraBased/Transaction/Run' builds
'Exp.TxReturnCollateral' directly.
Remaining uses of legacy ctx-typed tx outputs in cardano-cli are
confined to Byron-only modules.
Migrate IncompleteTxBody and transaction commands to Exp.UnsignedTx
Drops the last remaining uses of the deprecated old-API transaction body surface (`TxBody`, `getTxBody`, `getTxBodyAndWitnesses`, `makeShelleyKeyWitness`, `makeSignedTransaction`, `evaluateTransactionExecutionUnits` on a deprecated `TxBody`, `getTxId . getTxBody`) from cardano-cli's source tree. `IncompleteTxBody` is reworked from a `newtype` wrapping `InAnyShelleyBasedEra TxBody` into a GADT existential carrying `Exp.UnsignedTx (ShelleyLedgerEra era)` plus `IsShelleyBasedEra` evidence. `readFileTxBody` pattern-matches `ShelleyTx _ ledgerTx` directly and wraps as `Exp.UnsignedTx ledgerTx` — no `getTxBody`. Consumers in `Transaction.Run` are migrated to: - `makeShelleyKeyWitness'` (ledger-level body) and `addWitnesses` for signing — both non-deprecated and work for all Shelley-based eras, preserving pre-Conway support. - `getTxIdShelley` for transaction IDs. - `evaluateTransactionExecutionUnitsShelley` (operates on the ledger `Tx` directly) for `transaction calculate-plutus-script-cost`, preserving Alonzo+ era support. - `Exp.evaluateTransactionFee` on `Exp.UnsignedTx` for `transaction calculate-min-fee` (already Conway+ via `sbeToEra`). `TransactionView.Run` no longer needs the `makeSignedTransaction []`-then-extract-ledger boundary that PR #1374 added — the new `readFileTxBody` returns `Exp.UnsignedTx` directly. The TextEnvelope I/O boundary still uses `Tx era` and `ShelleyTx _` (both non-deprecated), since `Exp.UnsignedTx`/`Exp.SignedTx` have no `HasTextEnvelope` instance. The on-disk `.tx`/`.txbody` formats are unchanged. The compatible command path (`Cardano.CLI.Compatible.Transaction.Run`) was already using non-deprecated symbols (`makeShelleyKeyWitness'`, `addWitnesses`) and is unchanged by this commit.
Migrate to experimental TxOut in createCompatibleTx
Adapt to cardano-api PR #1209, which removes the legacy 'TxOut CtxTx era'
from the Compatible and Experimental APIs:
* 'createCompatibleTx' now takes '[Exp.TxOut (ShelleyLedgerEra era)]'
plus a new 'Map L.DataHash (L.Data ...)' argument carrying any
supplemental datum bodies. The legacy 'TxOut CtxTx era' bundled
supplemental datums inside outputs; 'Exp.TxOut' only carries the
datum hash, so callers thread the full datum bodies in explicitly.
* The bridge helpers 'fromLegacyTxOut', 'legacyDatumToDatum',
'supplementalDatumFromLegacy', 'toLedgerDatum', and the
'DatumDecodingError' type are deleted from 'Cardano.Api.Experimental.Tx'.
Migration:
* 'mkTxOut' and 'toTxOutInAnyEra' now return
'(Exp.TxOut (ShelleyLedgerEra era), Map DataHash (L.Data ...))'
directly, building the legacy 'TxOut CtxTx era' internally only as
a stepping stone for 'toShelleyTxOutAny'.
* 'createCompatibleTx' call site in 'Compatible/Transaction/Run.hs'
folds the per-output supplemental datums via 'Map.unions' and
passes them as the new argument.
* 'toTxOutInEra' and 'toTxOutInShelleyBasedEra' in
'EraBased/Transaction/Run.hs' delegate directly to 'mkTxOut' (the
deleted 'fromLegacyTxOut' is gone).
* 'TxCmdDatumDecodingError' is removed since the underlying
'Exp.DatumDecodingError' is gone and the new conversion is total.
Temporary 'cabal.project' additions (to be removed once #1209 is
merged and the next cardano-api is published to CHaP):
* 'source-repository-package' pointing at the PR branch so CI can
build against the unpublished API.
* Per-package '-Wwarn=deprecations -Wwarn=unused-imports' for
cardano-cli. The PR branch is several commits ahead of
cardano-api-11.1.0.0 and surfaces unrelated TxBody/TxBodyContent
deprecations (cardano-api PR #1200) plus a redundant
'Cardano.Ledger.Core' import in 'Cardano.CLI.Read' that became
visible after upstream re-exports widened. Both are separate
cleanups out of scope for this PR.
Drop deprecated TxBody from TxBodyFile phantom
`TxBodyFile` was a `File (TxBody ())` whose phantom payload was only ever used as a file-tag for option/parser plumbing; the bytes on disk do not depend on it. Replace `TxBody ()` with a fresh empty `TxBodyTag` data type so the alias no longer references the deprecated `TxBody` from cardano-api PR #1200. No on-disk format change. No call-site change beyond the alias itself.
deploy: ce5f58774f61eb70bc5225db1e5428d2558f5bda
Merge pull request #1378 from IntersectMBO/mgalazyn/key-output-format-governance
Add --key-output-bech32/--key-output-text-envelope to governance key-gen commands
Add --key-output-bech32/--key-output-text-envelope to governance key-gen commands
Adds key output format flags to drep key-gen, committee key-gen-cold, and committee key-gen-hot, matching the existing address key-gen behaviour. Closes #1165
Use Exp.Certificate constructors in cardano-cli
The four call sites that produced an Exp.Certificate via helpers in Cardano.Api.Compatible.Certificate (makeStakePoolRegistrationCertificate, makeStakeAddressRegistrationCertificate, makeMIRCertificate, makeGenesisKeyDelegationCertificate) now build the ledger TxCert directly and wrap it in Exp.Certificate. This severs cardano-cli's dependency on those Compatible helpers and lets cardano-api eventually deprecate them along with the old Certificate type. Era-varying inputs (StakeRegistrationRequirements, Delegatee type families) are inlined at each callsite. MIR and GenesisKeyDelegation certificates remain pinned to BabbageEra since their on-chain serialization is uniform across Shelley->Babbage. For stake address registration the per-era case dispatches between shelleyToBabbageReg (pre-Conway, no deposit, uses ShelleyEraTxCert.mkRegTxCert) and createRegistrationCertificate (Conway+), which validates the deposit is present and delegates to Exp.makeStakeAddressRegistrationCertificate, rendering the era name via prettyShow for the error message. Compatible.Certificate.getTxCertWitness is retained where it extracts the stake-credential witness from a ledger TxCert: it operates on Ledger.TxCert directly and is independent of the old Certificate type. A follow-up cardano-api change can re-export it under the experimental API and that import can then move.