Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ index-state:
-- Bump this if you need newer packages from Hackage
, hackage.haskell.org 2025-10-23T13:39:53Z
-- Bump this if you need newer packages from CHaP
, cardano-haskell-packages 2025-10-01T14:54:25Z
, cardano-haskell-packages 2025-10-07T11:20:00Z

packages:
ouroboros-consensus
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!--
A new scriv changelog fragment.

Uncomment the section that is right (remove the HTML comment wrapper).
For top level release notes, leave all the headers commented out.
-->

<!--
### Patch

- A bullet item for the Patch category.

-->
<!--
### Non-Breaking

- A bullet item for the Non-Breaking category.

-->
### Breaking

- Add `rnFeatureFlags` field to `RunNodeArgs` to store enabled experimental feature flags.

Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ library
build-depends:
base >=4.14 && <4.22,
bytestring >=0.10 && <0.13,
cardano-base,
cardano-slotting,
cborg ^>=0.2.2,
containers >=0.5 && <0.8,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ module Ouroboros.Consensus.Node
, openChainDB
) where

import Cardano.Base.FeatureFlags (CardanoFeatureFlag)
import qualified Cardano.Network.Diffusion as Cardano.Diffusion
import Cardano.Network.Diffusion.Configuration (ChainSyncIdleTimeout (..))
import qualified Cardano.Network.Diffusion.Policies as Cardano.Diffusion
Expand All @@ -87,6 +88,7 @@ import Data.Kind (Type)
import Data.Map.Strict (Map)
import qualified Data.Map.Strict as Map
import Data.Maybe (fromMaybe, isNothing)
import Data.Set (Set)
import Data.Time (NominalDiffTime)
import Data.Typeable (Typeable)
import Ouroboros.Consensus.Block
Expand Down Expand Up @@ -235,6 +237,8 @@ data RunNodeArgs m addrNTN addrNTC blk = RunNodeArgs
-- ^ Network PeerSharing miniprotocol willingness flag
, rnGetUseBootstrapPeers :: STM m UseBootstrapPeers
, rnGenesisConfig :: GenesisConfig
, rnFeatureFlags :: Set CardanoFeatureFlag
-- ^ Enabled experimental features
}

-- | Arguments that usually only tests /directly/ specify.
Expand Down Expand Up @@ -322,6 +326,8 @@ data LowLevelRunNodeArgs m addrNTN addrNTC blk
, llrnPublicPeerSelectionStateVar :: StrictSTM.StrictTVar m (PublicPeerSelectionState addrNTN)
, llrnLdbFlavorArgs :: LedgerDbBackendArgs m blk
-- ^ The flavor arguments
, llrnFeatureFlags :: Set CardanoFeatureFlag
-- ^ Enabled experimental features
}

data NodeDatabasePaths
Expand Down Expand Up @@ -576,6 +582,7 @@ runWith RunNodeArgs{..} encAddrNtN decAddrNtN LowLevelRunNodeArgs{..} =
gsmAntiThunderingHerd
keepAliveRng
cfg
llrnFeatureFlags
rnTraceConsensus
btime
(InFutureCheck.realHeaderInFutureCheck llrnMaxClockSkew systemTime)
Expand Down Expand Up @@ -853,6 +860,7 @@ mkNodeKernelArgs ::
StdGen ->
StdGen ->
TopLevelConfig blk ->
Set CardanoFeatureFlag ->
Tracers m (ConnectionId addrNTN) (ConnectionId addrNTC) blk ->
BlockchainTime m ->
InFutureCheck.SomeHeaderInFutureCheck m blk ->
Expand All @@ -872,6 +880,7 @@ mkNodeKernelArgs
gsmAntiThunderingHerd
rng
cfg
featureFlags
tracers
btime
chainSyncFutureCheck
Expand All @@ -891,6 +900,7 @@ mkNodeKernelArgs
{ tracers
, registry
, cfg
, featureFlags
, btime
, chainDB
, initChainDB = nodeInitChainDB
Expand Down Expand Up @@ -1009,6 +1019,7 @@ stdLowLevelRunNodeArgsIO
{ rnProtocolInfo
, rnPeerSharing
, rnGenesisConfig
, rnFeatureFlags
}
$(SafeWildCards.fields 'StdRunNodeArgs) = do
llrnBfcSalt <- stdBfcSaltIO
Expand Down Expand Up @@ -1058,6 +1069,7 @@ stdLowLevelRunNodeArgsIO
, llrnPublicPeerSelectionStateVar =
Diffusion.dcPublicPeerSelectionVar srnDiffusionConfiguration
, llrnLdbFlavorArgs = ldbBackendArgs
, llrnFeatureFlags = rnFeatureFlags
}
where
networkMagic :: NetworkMagic
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ module Ouroboros.Consensus.NodeKernel
, toConsensusMode
) where

import Cardano.Base.FeatureFlags (CardanoFeatureFlag)
import Cardano.Network.ConsensusMode (ConsensusMode (..))
import Cardano.Network.PeerSelection.Bootstrap (UseBootstrapPeers)
import Cardano.Network.PeerSelection.LocalRootPeers
Expand All @@ -51,6 +52,7 @@ import Data.List.NonEmpty (NonEmpty)
import qualified Data.List.NonEmpty as NE
import Data.Maybe (isJust, mapMaybe)
import Data.Proxy
import Data.Set (Set)
import qualified Data.Text as Text
import Data.Void (Void)
import Ouroboros.Consensus.Block hiding (blockMatchesHeader)
Expand Down Expand Up @@ -195,6 +197,7 @@ data NodeKernelArgs m addrNTN addrNTC blk = NodeKernelArgs
{ tracers :: Tracers m (ConnectionId addrNTN) addrNTC blk
, registry :: ResourceRegistry m
, cfg :: TopLevelConfig blk
, featureFlags :: Set CardanoFeatureFlag
, btime :: BlockchainTime m
, chainDB :: ChainDB m blk
, initChainDB :: StorageConfig blk -> InitChainDB m blk -> m ()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1045,6 +1045,7 @@ runThreadNetwork
{ tracers
, registry
, cfg = pInfoConfig
, featureFlags = mempty
, btime
, chainDB
, initChainDB = nodeInitChainDB
Expand Down
Loading