Skip to content

10.7 integration#1319

Open
geo2a wants to merge 6 commits intomasterfrom
geo2a/10.7-integration
Open

10.7 integration#1319
geo2a wants to merge 6 commits intomasterfrom
geo2a/10.7-integration

Conversation

@geo2a
Copy link

@geo2a geo2a commented Jan 12, 2026

Changelog

- description: |
    Integrate cardano-cli with cardano-node 10.7 dependencies (ledger, consensus, network changes)
  type:
  - maintenance
  - compatible

Context

This PR integrates cardano-cli with the updated dependencies for cardano-node 10.7, including:

  • Bumped Hackage and CHaP index states with new source repository packages
  • Updated to cardano-crypto-class-2.3.* and cardano-crypto-wrapper-1.7.*
  • Integrated Consensus and Network-related changes (renamed consensus package, TxSubmitResult type changes, GetLedgerPeerSnapshot query updates)
  • Integrated Ledger-related changes (AlonzoGenesis restructuring, StrictMaybeMaybe in pInvalidHereafter, Plutus import disambiguation)

How to trust this PR

  • All CI checks on Linux pass (cabal builds for GHC 9.6, 9.10, 9.12)
  • Golden tests updated to match new AlonzoGenesis structure
  • Changes are primarily mechanical adaptations to upstream API changes

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated
  • Self-reviewed the diff

@geo2a geo2a self-assigned this Feb 6, 2026
@geo2a geo2a force-pushed the geo2a/10.7-integration branch 2 times, most recently from 5301d7a to 5f13196 Compare February 9, 2026 08:16
@carbolymer carbolymer force-pushed the geo2a/10.7-integration branch from 761209a to e6abfc1 Compare February 9, 2026 14:33
@geo2a geo2a force-pushed the geo2a/10.7-integration branch 8 times, most recently from 5f8de1e to fe60e30 Compare February 12, 2026 18:22
@geo2a geo2a force-pushed the geo2a/10.7-integration branch 5 times, most recently from 2ae63da to 54c5b82 Compare February 24, 2026 12:10
@geo2a geo2a force-pushed the geo2a/10.7-integration branch 3 times, most recently from e4941d3 to f4eba67 Compare March 4, 2026 16:36
@geo2a geo2a force-pushed the geo2a/10.7-integration branch 6 times, most recently from 6bf5237 to eab106d Compare March 11, 2026 09:15
@geo2a geo2a force-pushed the geo2a/10.7-integration branch 3 times, most recently from e2e879f to aca00d0 Compare March 17, 2026 09:21
@geo2a geo2a force-pushed the geo2a/10.7-integration branch 5 times, most recently from 7b4ae30 to b433410 Compare March 17, 2026 15:13
@geo2a geo2a marked this pull request as ready for review March 17, 2026 15:42
@geo2a geo2a requested review from a team, Jimbo4350, carbolymer and newhoggy as code owners March 17, 2026 15:42
Copilot AI review requested due to automatic review settings March 17, 2026 15:42
@geo2a geo2a changed the title DO NOT MERGE 10.7 integration 10.7 integration Mar 17, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Integrates upstream API/ledger changes (incl. Plutus module refactor, ledger peer snapshot query enhancements, and ledger type updates) while updating golden tests and build configuration.

Changes:

  • Add --all-ledger-peers flag and plumb ledger peer “kind” through query parsing/execution + update golden help outputs.
  • Update multiple CLI areas to newer ledger/API types (stake pool params, TxBody/Tx type parameters, CoinPerByte, StrictMaybe, etc.).
  • Adjust build config (Cabal deps, Nix shell packages, index-state + pinned cardano-api SRP).

Reviewed changes

Copilot reviewed 30 out of 31 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
flake.nix Update dev-shell package set for consensus libs
cardano-cli/test/cardano-cli-golden/files/golden/help/query_ledger-peer-snapshot.cli Golden help updated for new flag
cardano-cli/test/cardano-cli-golden/files/golden/help/latest_query_ledger-peer-snapshot.cli Golden help updated for new flag
cardano-cli/test/cardano-cli-golden/files/golden/help/conway_query_ledger-peer-snapshot.cli Golden help updated for new flag
cardano-cli/test/cardano-cli-golden/files/golden/help.cli Aggregated golden help updated
cardano-cli/test/cardano-cli-golden/Test/Golden/Legacy/Genesis/Create.hs Update cost model expectation/test logic
cardano-cli/test/cardano-cli-golden/Test/Golden/CreateTestnetData.hs Update stake pool relay accessor
cardano-cli/src/Cardano/CLI/Type/Common.hs Adapt pool state construction to new ledger API
cardano-cli/src/Cardano/CLI/Read.hs Refactor script reading + Plutus module rename
cardano-cli/src/Cardano/CLI/EraBased/Transaction/Run.hs StrictMaybe validity + Tx submit result updates + CoinPerByte
cardano-cli/src/Cardano/CLI/EraBased/Script/Withdrawal/Read.hs Plutus module rename usage
cardano-cli/src/Cardano/CLI/EraBased/Script/Vote/Read.hs Plutus module rename usage
cardano-cli/src/Cardano/CLI/EraBased/Script/Spend/Read.hs Plutus module rename usage
cardano-cli/src/Cardano/CLI/EraBased/Script/Read/Common.hs Era-specific simple script handling
cardano-cli/src/Cardano/CLI/EraBased/Script/Proposal/Read.hs Plutus module rename usage
cardano-cli/src/Cardano/CLI/EraBased/Script/Mint/Read.hs Plutus module rename usage
cardano-cli/src/Cardano/CLI/EraBased/Script/Certificate/Read.hs Plutus module rename usage
cardano-cli/src/Cardano/CLI/EraBased/Query/Run.hs Add ledger peer kind + decode handling refactor
cardano-cli/src/Cardano/CLI/EraBased/Query/Option.hs Add --all-ledger-peers option
cardano-cli/src/Cardano/CLI/EraBased/Query/Command.hs Introduce CliLedgerPeers in args
cardano-cli/src/Cardano/CLI/EraBased/Governance/Actions/Option.hs Adjust CoinPerByte conversion
cardano-cli/src/Cardano/CLI/EraBased/Genesis/Run.hs Update stake pool param types/accessors
cardano-cli/src/Cardano/CLI/EraBased/Genesis/CreateTestnetData/Run.hs Update stake pool param types/accessors
cardano-cli/src/Cardano/CLI/EraBased/Common/Option.hs Add CoinPerByte parser + widen typed option parsing
cardano-cli/src/Cardano/CLI/Compatible/Transaction/ScriptWitness.hs Plutus module rename usage
cardano-cli/src/Cardano/CLI/Compatible/Transaction/Run.hs Plutus module rename usage
cardano-cli/src/Cardano/CLI/Compatible/Json/Friendly.hs Update Tx / Credential type parameters
cardano-cli/src/Cardano/CLI/Byron/Tx.hs Update Tx submit result handling
cardano-cli/cardano-cli.cabal Dependency bumps + consensus deps reshuffle
cabal.project Update index-state + pin cardano-api SRP
Comments suppressed due to low confidence (1)

flake.nix:1

  • This replaces p.ouroboros-consensus-cardano with p.ouroboros-consensus. If the dev shell relies on cardano-specific consensus components, this can break tooling/builds in the shell environment. Consider including the cardano component explicitly (or matching the Cabal dependency split) so the shell provides the same libraries that the build expects.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

import Cardano.Api.Experimental.AnyScript qualified as Exp
import Cardano.Api.Experimental.Plutus qualified as Exp'
import Cardano.Api.Experimental.Plutus qualified as Exp.Plutus
import Cardano.Api.Ledger qualified as L
Comment on lines 117 to +118
import Cardano.Ledger.Api qualified as L
import Cardano.Ledger.Core qualified as L
obtainCommonConstraints (Exp.useEra :: Exp.Era era) $
Exp.SimpleScript s
case Exp.useEra @era of
Exp.DijkstraEra -> error "TODO Dijkstra: Simple script not supported"
let s :: L.NativeScript (Exp.LedgerEra era) = obtainCommonConstraints era $ toAllegraTimelock script
return $ obtainCommonConstraints (era :: Exp.Era era) $ Exp.SimpleScript s
Left _ -> case era of
Exp.DijkstraEra -> error "TODO Dijkstra: Simple script not supported"
Comment on lines +69 to 70
import Cardano.Ledger.Address qualified as L
import Cardano.Ledger.Api.State.Query qualified as L
fromEitherIOCli

decodedResult <-
(fromEitherIOCli . fromEitherIOCli)
Comment on lines +905 to +906
case decodedResult of
Left (bs, decoderError) -> do
parseCoinPerByte :: P.Parser L.CoinPerByte
parseCoinPerByte = do
i <- P.parseDecimal
case L.toCompact (Coin i) of
ordered-containers,
ouroboros-consensus,
ouroboros-consensus-cardano,
ouroboros-consensus:{cardano, ouroboros-consensus},
@geo2a geo2a force-pushed the geo2a/10.7-integration branch 4 times, most recently from 8025a8f to b4886c7 Compare March 19, 2026 10:41
geo2a added 5 commits March 19, 2026 12:39
- Integrate the `GetLedgerPeerSnapshot` query
  - Add ledger peer type parameter for the ledger peer query
  - add CLI options for Big and All ledger peers
  - Integrate changes to the `GetStakeSnapshot` query
  - Adapt to the new Consensus packages' structure
  - Adapt to changes of `TxSubmitResult` type
- Fix simple script decoding fallback for Conway
- Introduce transaction levels.
- Replace promoted constructors with types.
- Introduce CoinPerByte.
- Use StrictMaybe where necessary.
- `PoolParams` -> `StakePoolParams`
@geo2a geo2a force-pushed the geo2a/10.7-integration branch from b4886c7 to 88c601c Compare March 19, 2026 11:39
…edEra

Add an explicit type annotation on decodedResult in
runQueryLedgerPeerSnapshot to document that two fromEitherIOCli calls
peel off AcquiringFailure and QueryCmdError, leaving the decode
Either for the case expression. Also switch supportedEra from
MonadError/throwError to MonadIO/throwCliError.
@Jimbo4350 Jimbo4350 enabled auto-merge March 19, 2026 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants