Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
e3da408
[wip] Bump Hackage and CHaP index states, add SRPs
geo2a Feb 6, 2026
07bc7f3
Use `cardano-crypto-class-2.3.*`
geo2a Feb 12, 2026
24b0752
Use `typed-protocols-1.2.*`
geo2a Feb 12, 2026
2c2d5ba
Bump Plutus and API
geo2a Jan 5, 2026
26faf06
Bump Network and Consensus packages, adapt to new structure
geo2a Feb 6, 2026
7255660
Bump kes-agent
geo2a Feb 6, 2026
a526c75
Bump ekg-forward
geo2a Mar 10, 2026
079440e
Initialise node feature flags
geo2a Jan 6, 2026
9d65811
trace-forward: add new Network tracers
geo2a Feb 10, 2026
6af6a93
Rename Network imports
geo2a Feb 10, 2026
8ba61ed
fix typo
crocodile-dentist Feb 11, 2026
19e602a
[wip] Integrate tracing changes, with TODOs
fmaste Feb 12, 2026
154ab91
cardano-tracer: integrate new Network packages
geo2a Feb 24, 2026
df2e06d
tx-generator: update to latest Ledger and Network
geo2a Feb 25, 2026
5d3d86c
Fill in LSM traces and reason for switch (#6469)
jasagredo Feb 26, 2026
578d697
cardano-testnet: adapt to latest ledger
geo2a Feb 26, 2026
eea55e2
nix: don't generate Haddocks for cardano-diffusion
johnalotoski Mar 4, 2026
d75e255
plutus-scripts-bench: Bump plutus to 1.59
geo2a Mar 4, 2026
1266651
[wip] Config for TxSubmissionLogicVersion and TxSubmissionInitDelay
geo2a Mar 6, 2026
7c1388b
Fix TODO in LedgerPeerSnapshot reading
geo2a Mar 9, 2026
d1a6c59
[wip] update SRP on ./consensus
geo2a Mar 10, 2026
b045ae9
[wip] update SRP on ./api
geo2a Mar 10, 2026
5260227
[wip] update SRP on ./cli
geo2a Mar 10, 2026
e2c3119
[mani] Bump index states
geo2a Mar 10, 2026
dbc8398
[wip] node with kes-agent support
fraser-iohk Jun 26, 2025
a777f0a
kes-agent: fix compilation of tx-generator
geo2a Nov 28, 2025
0c26435
kes-agent: run kes-agent in cardano-testnet
geo2a Dec 2, 2025
f94a3c1
[wip] kes-agent and cardano-testnet
geo2a Mar 10, 2026
457bfb0
[wip] kes-agent: work on HasTextEnvelope TODOs
geo2a Mar 10, 2026
9b463be
[wip] Fix Network traces
geo2a Mar 10, 2026
a58cfa2
[wip] work on Network-related configuration parsing
geo2a Mar 10, 2026
a0f9190
[wip] set localProvenance as Outbound
geo2a Mar 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions bench/locli/locli.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@ library
, fingertree == 0.1.5.0
, hashable
, optparse-applicative
, ouroboros-consensus
, ouroboros-network-api ^>= 0.16
, ouroboros-consensus:ouroboros-consensus
, ouroboros-network:api ^>= 1.0
, sop-core
, split
, sqlite-easy >= 1.1.0.1
Expand Down
8 changes: 4 additions & 4 deletions bench/plutus-scripts-bench/plutus-scripts-bench.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,10 @@ library
-- IOG dependencies
--------------------------
build-depends:
, cardano-api ^>=10.23
, plutus-ledger-api ^>=1.57
, plutus-tx ^>=1.57
, plutus-tx-plugin ^>=1.57
, cardano-api ^>=10.24
, plutus-ledger-api ^>=1.59
, plutus-tx ^>=1.59
, plutus-tx-plugin ^>=1.59

------------------------
-- Non-IOG dependencies
Expand Down
2 changes: 1 addition & 1 deletion bench/tx-generator/src/Cardano/Benchmarking/Command.hs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import Data.Foldable (for_)
import Data.Maybe (catMaybes)
import qualified Data.Text.IO as Text
import Options.Applicative as Opt
import Ouroboros.Network.NodeToClient (IOManager, withIOManager)
import Cardano.Network.NodeToClient (IOManager, withIOManager)

import System.Exit

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ import Ouroboros.Network.KeepAlive
import Ouroboros.Network.Magic
import Ouroboros.Network.Mux (MiniProtocolCb (..),
OuroborosApplication (..), OuroborosBundle, RunMiniProtocol (..))
import Ouroboros.Network.NodeToClient (chainSyncPeerNull)
import Ouroboros.Network.NodeToNode (NetworkConnectTracers (..))
import qualified Ouroboros.Network.NodeToNode as NtN
import Cardano.Network.NodeToClient (chainSyncPeerNull)
import Cardano.Network.NodeToNode (NetworkConnectTracers (..))
import qualified Cardano.Network.NodeToNode as NtN
import Ouroboros.Network.PeerSelection.PeerSharing (PeerSharing (..))
import Ouroboros.Network.PeerSelection.PeerSharing.Codec (decodeRemoteAddress,
encodeRemoteAddress)
Expand Down
2 changes: 1 addition & 1 deletion bench/tx-generator/src/Cardano/Benchmarking/LogTypes.hs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import Cardano.TxGenerator.Types (TPSRate)
import Ouroboros.Consensus.Ledger.SupportsMempool (GenTxId)
import Ouroboros.Network.Driver (TraceSendRecv (..))
import Ouroboros.Network.IOManager (IOManager)
import Ouroboros.Network.NodeToNode (NodeToNodeVersion, RemoteConnectionId)
import Cardano.Network.NodeToNode (NodeToNodeVersion, RemoteConnectionId)
import Ouroboros.Network.Protocol.Handshake.Type (Handshake)
import Ouroboros.Network.Protocol.TxSubmission2.Type (TxSubmission2)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ import Cardano.Node.Protocol.Types (SomeConsensusProtocol)
import Cardano.TxGenerator.PlutusContext (PlutusBudgetSummary)
import Cardano.TxGenerator.Setup.NixService as Nix (NixServiceOptions)
import Cardano.TxGenerator.Types (TxGenError (..))
import Ouroboros.Network.NodeToClient (IOManager)
import Cardano.Network.NodeToClient (IOManager)

import Prelude

Expand Down
28 changes: 9 additions & 19 deletions bench/tx-generator/src/Cardano/Benchmarking/Tracer.hs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ import qualified Cardano.Logging.Types as Net
import Cardano.Node.Startup
import Cardano.Node.Tracing.NodeInfo ()
import Ouroboros.Network.IOManager (IOManager)
import qualified Ouroboros.Network.Protocol.TxSubmission2.Type as TxSubmission
import Ouroboros.Network.Tracing ()

import Control.Exception (SomeException (..))
import Control.Monad (forM, guard)
Expand All @@ -49,6 +51,8 @@ import Data.Maybe (fromMaybe)
import qualified Data.Text as Text
import Data.Time.Clock
import GHC.Generics
import Network.Mux.Tracing ()
import qualified Network.TypedProtocol.Codec as TypedProtocol

import Trace.Forward.Forwarding (InitForwardingConfig (..), initForwardingDelayed)
import Trace.Forward.Utils.TraceObject
Expand Down Expand Up @@ -395,30 +399,16 @@ instance MetaTrace NodeToNodeSubmissionTrace where
, Namespace [] ["TxList"]
]

instance LogFormatting SendRecvConnect where
instance (Show txid, Show tx) => LogFormatting (TypedProtocol.AnyMessage (TxSubmission.TxSubmission2 txid tx)) where
forHuman = Text.pack . show
forMachine _ _ = KeyMap.fromList [ "kind" .= A.String "SendRecvConnect" ]
forMachine _ _ = KeyMap.fromList [ "kind" .= A.String "TxSubmission2" ]

instance MetaTrace SendRecvConnect where
namespaceFor _ = Namespace [] ["ReqIdsBlocking"]
instance MetaTrace (TypedProtocol.AnyMessage (TxSubmission.TxSubmission2 tx a)) where
namespaceFor _ = Namespace [] ["TxSubmission2"]
severityFor _ _ = Just Info

documentFor _ = Just ""

allNamespaces = [
Namespace [] ["SendRecvConnect"]
]

instance LogFormatting SendRecvTxSubmission2 where
forHuman = Text.pack . show
forMachine _ _ = KeyMap.fromList [ "kind" .= A.String "SendRecvTxSubmission2" ]

instance MetaTrace SendRecvTxSubmission2 where
namespaceFor _ = Namespace [] ["SendRecvTxSubmission2"]
severityFor _ _ = Just Info

documentFor _ = Just ""

allNamespaces = [
Namespace [] ["SendRecvTxSubmission2"]
Namespace [] ["TxSubmission2"]
]
25 changes: 13 additions & 12 deletions bench/tx-generator/src/Cardano/TxGenerator/ProtocolParameters.hs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ import qualified Cardano.Ledger.Babbage.Core as Ledger
import qualified Cardano.Ledger.BaseTypes as Ledger
import qualified Cardano.Ledger.Coin as L
import qualified Cardano.Ledger.Plutus.Language as Plutus
import qualified Cardano.Ledger.Compactible as L

import Data.Aeson ((.!=), (.:), (.:?), (.=))
import qualified Data.Aeson as Aeson
Expand Down Expand Up @@ -379,8 +380,8 @@ toShelleyCommonPParams
protVer <- mkProtVer protocolParamProtocolVersion
let ppCommon =
emptyPParams
& ppMinFeeAL .~ protocolParamTxFeePerByte
& ppMinFeeBL .~ protocolParamTxFeeFixed
& ppTxFeePerByteL .~ (CoinPerByte . L.compactCoinOrError $ protocolParamTxFeePerByte)
& ppTxFeeFixedL .~ protocolParamTxFeeFixed
& ppMaxBBSizeL .~ fromIntegral protocolParamMaxBlockBodySize
& ppMaxTxSizeL .~ fromIntegral protocolParamMaxTxSize
& ppMaxBHSizeL .~ fromIntegral protocolParamMaxBlockHeaderSize
Expand Down Expand Up @@ -457,9 +458,9 @@ toAlonzoCommonPParams
& ppPricesL .~ prices
& ppMaxTxExUnitsL .~ toAlonzoExUnits maxTxExUnits
& ppMaxBlockExUnitsL .~ toAlonzoExUnits maxBlockExUnits
& ppMaxValSizeL .~ maxValueSize
& ppCollateralPercentageL .~ collateralPercent
& ppMaxCollateralInputsL .~ maxCollateralInputs
& ppMaxValSizeL .~ (fromIntegral maxValueSize)
& ppCollateralPercentageL .~ (fromIntegral collateralPercent)
& ppMaxCollateralInputsL .~ (fromIntegral maxCollateralInputs)
pure ppAlonzoCommon

-- Was removed in "cardano-api" module "Cardano.Api.Internal.ProtocolParameters"
Expand Down Expand Up @@ -495,7 +496,7 @@ toBabbagePParams
requireParam "protocolParamUTxOCostPerByte" Right protocolParamUTxOCostPerByte
let ppBabbage =
ppAlonzoCommon
& ppCoinsPerUTxOByteL .~ CoinPerByte utxoCostPerByte
& ppCoinsPerUTxOByteL .~ CoinPerByte (L.compactCoinOrError utxoCostPerByte)
pure ppBabbage

-- Was removed in "cardano-api" module "Cardano.Api.Internal.ProtocolParameters"
Expand Down Expand Up @@ -531,8 +532,8 @@ fromShelleyCommonPParams pp =
, protocolParamMaxBlockHeaderSize = fromIntegral $ pp ^. ppMaxBHSizeL
, protocolParamMaxBlockBodySize = fromIntegral $ pp ^. ppMaxBBSizeL
, protocolParamMaxTxSize = fromIntegral $ pp ^. ppMaxTxSizeL
, protocolParamTxFeeFixed = pp ^. ppMinFeeBL
, protocolParamTxFeePerByte = pp ^. ppMinFeeAL
, protocolParamTxFeeFixed = pp ^. ppTxFeeFixedL
, protocolParamTxFeePerByte = L.fromCompact . L.unCoinPerByte $ pp ^. ppTxFeePerByteL
, protocolParamStakeAddressDeposit = pp ^. ppKeyDepositL
, protocolParamStakePoolDeposit = pp ^. ppPoolDepositL
, protocolParamMinPoolCost = pp ^. ppMinPoolCostL
Expand Down Expand Up @@ -579,9 +580,9 @@ fromAlonzoPParams pp =
, protocolParamPrices = Just . fromAlonzoPrices $ pp ^. ppPricesL
, protocolParamMaxTxExUnits = Just . fromAlonzoExUnits $ pp ^. ppMaxTxExUnitsL
, protocolParamMaxBlockExUnits = Just . fromAlonzoExUnits $ pp ^. ppMaxBlockExUnitsL
, protocolParamMaxValueSize = Just $ pp ^. ppMaxValSizeL
, protocolParamCollateralPercent = Just $ pp ^. ppCollateralPercentageL
, protocolParamMaxCollateralInputs = Just $ pp ^. ppMaxCollateralInputsL
, protocolParamMaxValueSize = Just $ fromIntegral (pp ^. ppMaxValSizeL)
, protocolParamCollateralPercent = Just $ fromIntegral (pp ^. ppCollateralPercentageL)
, protocolParamMaxCollateralInputs = Just $ fromIntegral (pp ^. ppMaxCollateralInputsL)
}

fromExactlyAlonzoPParams
Expand All @@ -599,7 +600,7 @@ fromBabbagePParams
-> ProtocolParameters
fromBabbagePParams pp =
(fromAlonzoPParams pp)
{ protocolParamUTxOCostPerByte = Just . unCoinPerByte $ pp ^. ppCoinsPerUTxOByteL
{ protocolParamUTxOCostPerByte = Just . L.fromCompact . unCoinPerByte $ pp ^. ppCoinsPerUTxOByteL
, protocolParamDecentralization = Nothing
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import Cardano.Node.Protocol.Cardano
import Cardano.Node.Protocol.Types (SomeConsensusProtocol (..))
import Cardano.Node.Types (ConfigYamlFilePath (..), GenesisFile,
NodeProtocolConfiguration (..), NodeShelleyProtocolConfiguration (..),
ProtocolFilepaths (..))
ProtocolFilepaths (..), KESSource(..))
import Cardano.TxGenerator.Types
import qualified Ouroboros.Consensus.Cardano.Node as Consensus

Expand Down Expand Up @@ -70,7 +70,7 @@ mkNodeConfig configFp_
ProtocolFilepaths
{ byronCertFile = Just ""
, byronKeyFile = Just ""
, shelleyKESFile = Just ""
, shelleyKESSource = Just (KESKeyFilePath "")
, shelleyVRFFile = Just ""
, shelleyCertFile = Just ""
, shelleyBulkCredsFile = Just ""
Expand Down
3 changes: 2 additions & 1 deletion bench/tx-generator/src/Cardano/TxGenerator/Utils.hs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import qualified Cardano.Ledger.Coin as L
import Cardano.TxGenerator.Types

import Data.Maybe (fromJust)
import Data.Maybe.Strict
import GHC.Stack


Expand Down Expand Up @@ -76,7 +77,7 @@ mkTxFee = TxFeeExplicit shelleyBasedEra
-- `TxValidityNoUpperBound` with the constraint of `IsShelleyBasedEra`.
mkTxValidityUpperBound :: forall era. IsShelleyBasedEra era => SlotNo -> TxValidityUpperBound era
mkTxValidityUpperBound slotNo =
TxValidityUpperBound (fromJust $ forEraMaybeEon (cardanoEra @era)) (Just slotNo)
TxValidityUpperBound (fromJust $ forEraMaybeEon (cardanoEra @era)) (SJust slotNo)

-- | `mkTxInModeCardano` never uses the `TxInByronSpecial` constructor
-- because its type enforces it being a Shelley-based era.
Expand Down
14 changes: 6 additions & 8 deletions bench/tx-generator/tx-generator.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -108,19 +108,21 @@ library
, attoparsec-aeson
, base16-bytestring
, bytestring
, cardano-api ^>= 10.23
, cardano-api ^>= 10.24
, cardano-binary
, cardano-cli ^>= 10.15
, cardano-crypto-class
, cardano-crypto-wrapper
, cardano-data
, cardano-diffusion ^>= 1.0
, cardano-git-rev ^>= 0.2.2
, cardano-ledger-alonzo
, cardano-ledger-api
, cardano-ledger-byron
, cardano-ledger-core
, cardano-node
, cardano-prelude
, cardano-strict-containers >=0.1
, contra-tracer
, cborg >= 0.2.2 && < 0.3
, containers
Expand All @@ -137,16 +139,12 @@ library
, network
, network-mux
, optparse-applicative
, ouroboros-consensus >= 0.6
, ouroboros-consensus-cardano >= 0.5
, ouroboros-consensus-diffusion >= 0.7.0
, ouroboros-network
, ouroboros-network-api
, ouroboros-network-framework
, ouroboros-network-protocols
, ouroboros-consensus:{ouroboros-consensus, cardano, diffusion} >= 1.0
, ouroboros-network:{api, framework, framework-tracing, ouroboros-network, protocols}
, plutus-ledger-api
, plutus-tx
, random
, typed-protocols ^>= 1.2
, serialise
, streaming
, cardano-ledger-shelley
Expand Down
69 changes: 66 additions & 3 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ repository cardano-haskell-packages
-- See CONTRIBUTING for information about these, including some Nix commands
-- you need to run if you change them
index-state:
, hackage.haskell.org 2025-09-29T13:55:56Z
, cardano-haskell-packages 2026-02-09T17:36:58Z
, hackage.haskell.org 2026-02-17T10:15:41Z
, cardano-haskell-packages 2026-03-09T20:37:06Z

constraints:
crypton-x509-system ==1.6.7
Expand All @@ -40,7 +40,7 @@ packages:
extra-packages: alex

program-options
ghc-options: -Werror
-- ghc-options: -Werror

test-show-details: direct

Expand Down Expand Up @@ -77,3 +77,66 @@ if impl (ghc >= 9.12)
-- Do NOT add more source-repository-package stanzas here unless they are strictly
-- temporary! Please read the section in CONTRIBUTING about updating dependencies.

-- Points to https://github.com/IntersectMBO/cardano-ledger/pull/5573
source-repository-package
type: git
location: https://github.com/IntersectMBO/cardano-ledger
tag: 30a3e666b84f9d056f464b3a00c56ab0c5bccacd
--sha256: sha256-DsBE94iDxHkFnRdREZUOZYkydIMnp7U09N4SnaRc6+s=
subdir:
eras/allegra/impl
eras/alonzo/impl
eras/alonzo/test-suite
eras/babbage/impl
eras/conway/impl
eras/dijkstra/impl
eras/mary/impl
eras/shelley/impl
eras/shelley/test-suite
eras/shelley-ma/test-suite
libs/cardano-ledger-api
libs/cardano-ledger-core
libs/cardano-ledger-binary
libs/cardano-protocol-tpraos
libs/non-integral
libs/small-steps
libs/cardano-data
libs/vector-map
eras/byron/chain/executable-spec
eras/byron/ledger/executable-spec
eras/byron/ledger/impl
eras/byron/crypto

-- geo2a/bump-ntc
source-repository-package
type: git
location: https://github.com/IntersectMBO/ouroboros-consensus
tag: d871fcf0ae5acf017f19282cda911ed5727239be
--sha256: sha256-//U4RJG1f1BQNT14rV0tte1YpawSWZCO38x5zBEVIYg=
subdir:
.

source-repository-package
type: git
location: https://github.com/input-output-hk/kes-agent
tag: 7aedefc0077ffaf93bf46508c1fe0d7efdead227
--sha256: sha256-ZcB0pPex349uH1W7ha5ez7Kx/XadK00j5wRm7+vyX0s=
subdir:
kes-agent
kes-agent-crypto

source-repository-package
type: git
location: https://github.com/IntersectMBO/cardano-api
tag: 9bc1eba9d2a304a1b6aa2e4cec6f2b2e37f8135c
--sha256: sha256-46IFxqld5GSruzS9zACHBReFv8J36DqNVLC7c/s/bIA=
subdir:
cardano-api

source-repository-package
type: git
location: https://github.com/IntersectMBO/cardano-cli
tag: ed86fdb0131bc7470c5b466bf7a195b9124b2e2e
--sha256: sha256-FUDydl+ywFPNCSNDoHnxrX6m+3lsLZpKNPJY48Fkbyk=
subdir:
cardano-cli
12 changes: 5 additions & 7 deletions cardano-node-chairman/cardano-node-chairman.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -44,17 +44,15 @@ executable cardano-node-chairman
build-depends: cardano-api
, cardano-crypto-class
, cardano-git-rev ^>= 0.2.2
, cardano-ledger-core ^>= 1.18
, cardano-ledger-core ^>= 1.19
, cardano-node ^>= 10.6
, cardano-prelude
, containers
, contra-tracer
, io-classes:{io-classes, strict-stm, si-timers}
, io-classes:{io-classes, strict-stm, si-timers} ^>= 1.8
, optparse-applicative
, ouroboros-consensus
, ouroboros-consensus-cardano
, ouroboros-network-api
, ouroboros-network-protocols
, ouroboros-consensus:{ouroboros-consensus, cardano}
, ouroboros-network:{api, protocols}
, text
, time

Expand All @@ -69,7 +67,7 @@ test-suite chairman-tests

build-depends: , cardano-api
, cardano-testnet
, cardano-crypto-class ^>=2.2.3.2
, cardano-crypto-class ^>=2.3
, data-default-class
, filepath
, hedgehog
Expand Down
1 change: 1 addition & 0 deletions cardano-node/app/cardano-node.hs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{-# LANGUAGE QuantifiedConstraints #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TemplateHaskell #-}
Expand Down
Loading