diff --git a/bench/plutus-scripts-bench/plutus-scripts-bench.cabal b/bench/plutus-scripts-bench/plutus-scripts-bench.cabal index 0ed523a1e8a..a9ea086c75a 100644 --- a/bench/plutus-scripts-bench/plutus-scripts-bench.cabal +++ b/bench/plutus-scripts-bench/plutus-scripts-bench.cabal @@ -81,9 +81,9 @@ library -------------------------- build-depends: , cardano-api ^>=9.3 - , plutus-ledger-api ^>=1.32 - , plutus-tx ^>=1.32 - , plutus-tx-plugin ^>=1.32 + , plutus-ledger-api ^>=1.34.1 + , plutus-tx ^>=1.34.1 + , plutus-tx-plugin ^>=1.34.1 ------------------------ -- Non-IOG dependencies diff --git a/bench/tx-generator/src/Cardano/Benchmarking/Command.hs b/bench/tx-generator/src/Cardano/Benchmarking/Command.hs index 41b391ecb66..0f5c865d5b8 100644 --- a/bench/tx-generator/src/Cardano/Benchmarking/Command.hs +++ b/bench/tx-generator/src/Cardano/Benchmarking/Command.hs @@ -52,6 +52,7 @@ import Data.Foldable as Fold (forM_) import Data.List as List (unwords) import Data.Time.Format as Time (defaultTimeLocale, formatTime) import Data.Time.Clock.System as Time (getSystemTime, systemToUTCTime) +import Foreign.C (Errno(..)) import GHC.Weak as Weak (deRefWeak) import System.Posix.Signals as Sig (Handler (CatchInfo), @@ -64,6 +65,7 @@ import GHC.Conc.Sync as Conc (threadLabel) #endif #ifdef UNIX +deriving instance Show Errno deriving instance Show SignalInfo deriving instance Show SignalSpecificInfo #endif diff --git a/bench/tx-generator/src/Cardano/Benchmarking/GeneratorTx/SubmissionClient.hs b/bench/tx-generator/src/Cardano/Benchmarking/GeneratorTx/SubmissionClient.hs index 08a21618e74..577c47df682 100644 --- a/bench/tx-generator/src/Cardano/Benchmarking/GeneratorTx/SubmissionClient.hs +++ b/bench/tx-generator/src/Cardano/Benchmarking/GeneratorTx/SubmissionClient.hs @@ -11,8 +11,6 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} -{-# LANGUAGE TypeApplications #-} -{-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-unticked-promoted-constructors #-} @@ -26,10 +24,11 @@ module Cardano.Benchmarking.GeneratorTx.SubmissionClient ) where import Cardano.Api hiding (Active) -import Cardano.Api.Shelley (fromShelleyTxId, toConsensusGenTx) +import Cardano.Api.Shelley (fromShelleyTxId, toConsensusGenTx, Tx (..)) import Cardano.Benchmarking.LogTypes import Cardano.Benchmarking.Types +import qualified Cardano.Ledger.Core as Ledger import Cardano.Logging import Cardano.Prelude hiding (ByteString, atomically, retry, state, threadDelay) import Cardano.Tracing.OrphanInstances.Byron () @@ -40,7 +39,7 @@ import Cardano.Tracing.OrphanInstances.Shelley () import qualified Ouroboros.Consensus.Cardano as Consensus (CardanoBlock) import qualified Ouroboros.Consensus.Cardano.Block as Block (TxId (GenTxIdAllegra, GenTxIdAlonzo, GenTxIdBabbage, GenTxIdConway, GenTxIdMary, GenTxIdShelley)) -import Ouroboros.Consensus.Ledger.SupportsMempool (GenTx, GenTxId, txInBlockSize) +import Ouroboros.Consensus.Ledger.SupportsMempool (GenTx, GenTxId) import qualified Ouroboros.Consensus.Ledger.SupportsMempool as Mempool import Ouroboros.Consensus.Shelley.Eras (StandardCrypto) import qualified Ouroboros.Consensus.Shelley.Ledger.Mempool as Mempool (TxId (ShelleyTxId)) @@ -57,6 +56,8 @@ import qualified Data.List as L import qualified Data.List.Extra as L import qualified Data.List.NonEmpty as NE import qualified Data.Text as T +import Lens.Micro ((^.)) + type CardanoBlock = Consensus.CardanoBlock StandardCrypto data SubmissionThreadStats @@ -85,10 +86,9 @@ type LocalState era = (TxSource era, UnAcked (Tx era), SubmissionThreadStats) type EndOfProtocolCallback m = SubmissionThreadStats -> m () txSubmissionClient - :: forall m era tx. + :: forall m era. ( MonadIO m, MonadFail m , IsShelleyBasedEra era - , tx ~ Tx era ) => Trace m NodeToNodeSubmissionTrace -> Trace m (TraceBenchTxSubmit TxId) @@ -110,11 +110,11 @@ txSubmissionClient tr bmtr initialTxSource endOfProtocolCallback = traceWith bmtr $ SubmissionClientDiscardAcknowledged (getTxId . getTxBody <$> acked) return (txSource, UnAcked stillUnacked, newStats) - queueNewTxs :: [tx] -> LocalState era -> LocalState era + queueNewTxs :: [Tx era] -> LocalState era -> LocalState era queueNewTxs newTxs (txSource, UnAcked unAcked, stats) = (txSource, UnAcked (newTxs <> unAcked), stats) - client ::LocalState era -> ClientStIdle (GenTxId CardanoBlock) (GenTx CardanoBlock) m () + client :: LocalState era -> ClientStIdle (GenTxId CardanoBlock) (GenTx CardanoBlock) m () client localState = ClientStIdle { recvMsgRequestTxIds = requestTxIds localState @@ -177,12 +177,15 @@ txSubmissionClient tr bmtr initialTxSource endOfProtocolCallback = , stsUnavailable = stsUnavailable stats + Unav (length missIds)})) - txToIdSize :: tx -> (GenTxId CardanoBlock, SizeInBytes) - txToIdSize = (Mempool.txId &&& (SizeInBytes . txInBlockSize)) . toGenTx - - toGenTx :: tx -> GenTx CardanoBlock - toGenTx tx = toConsensusGenTx $ TxInMode (shelleyBasedEra @era) tx + txToIdSize :: Tx era -> (GenTxId CardanoBlock, SizeInBytes) + txToIdSize = (Mempool.txId . toGenTx) &&& (SizeInBytes . fromInteger . getTxSize) + where + getTxSize :: Tx era -> Integer + getTxSize (ShelleyTx sbe tx) = + shelleyBasedEraConstraints sbe $ tx ^. Ledger.sizeTxF + toGenTx :: Tx era -> GenTx CardanoBlock + toGenTx tx = toConsensusGenTx $ TxInMode shelleyBasedEra tx fromGenTxId :: GenTxId CardanoBlock -> TxId fromGenTxId (Block.GenTxIdShelley (Mempool.ShelleyTxId i)) = fromShelleyTxId i diff --git a/bench/tx-generator/tx-generator.cabal b/bench/tx-generator/tx-generator.cabal index c1fbc0cd1ed..91d6882a6c3 100644 --- a/bench/tx-generator/tx-generator.cabal +++ b/bench/tx-generator/tx-generator.cabal @@ -129,6 +129,7 @@ library , generic-monoid , ghc-prim , io-classes + , microlens , mtl , network , network-mux diff --git a/cabal.project b/cabal.project index bb66fb516c2..b63617c4dcb 100644 --- a/cabal.project +++ b/cabal.project @@ -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 2024-09-05T18:39:40Z - , cardano-haskell-packages 2024-09-10T12:51:27Z + , hackage.haskell.org 2024-09-25T18:20:40Z + , cardano-haskell-packages 2024-09-24T09:13:59Z packages: cardano-node @@ -67,3 +67,85 @@ allow-newer: -- IMPORTANT -- Do NOT add more source-repository-package stanzas here unless they are strictly -- temporary! Please read the section in CONTRIBUTING about updating dependencies. + +source-repository-package + type: git + location: https://github.com/IntersectMBO/cardano-ledger + tag: b8eab98a780fe2bcf6e2fa5e73506e51a9e4754f + --sha256: sha256-Rlr5A8cIfg7AB30bJaKOYmpKQE0Te7spE3ExW8rFr1Y= + subdir: + eras/allegra/impl + eras/alonzo/impl + eras/alonzo/test-suite + eras/babbage/impl + eras/babbage/test-suite + eras/conway/impl + eras/conway/test-suite + 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/set-algebra + libs/vector-map + eras/byron/chain/executable-spec + eras/byron/ledger/executable-spec + eras/byron/ledger/impl + eras/byron/ledger/impl/test + eras/byron/crypto + eras/byron/crypto/test + +source-repository-package + type: git + location: https://github.com/IntersectMBO/ouroboros-consensus + tag: 4350b1634a5c3f89dcfe1267f5049c1919ba609b + --sha256: sha256-p9gBOXkKrS/CQRWF13BuIdUUeaqTIPxWnFSVr99a8mg= + subdir: + ouroboros-consensus + ouroboros-consensus-cardano + ouroboros-consensus-protocol + ouroboros-consensus-diffusion + sop-extras + strict-sop-core + +source-repository-package + type: git + location: https://github.com/IntersectMBO/cardano-api + tag: 6053ccd1387caa3d97cb722268810b3171078a54 + --sha256: sha256-dVDeIuAo3+X2QDGwTm2HKUsUvGLLsCEmwStmOoz78nQ= + subdir: + cardano-api + cardano-api-gen + +source-repository-package + type: git + location: https://github.com/IntersectMBO/ouroboros-network + tag: 763f987c701ece733bde191ef7acb737d5ec7701 + --sha256: sha256-HY8Atn0uroB4ZgDwJTw2V6KcYZfYVCzBjL9YMlz9VPs= + subdir: + cardano-ping + monoidal-synchronisation + quickcheck-monoids + network-mux + ouroboros-network + ouroboros-network-api + ouroboros-network-framework + ouroboros-network-mock + ouroboros-network-protocols + ouroboros-network-testing + ntp-client + cardano-client + +source-repository-package + type: git + location: https://github.com/IntersectMBO/cardano-cli + tag: a85cee82486d94394a4d8fa51331f1fd2e113174 + --sha256: sha256-Mt5PuDIdIP2WrXzgsTz51aZfMtqrcbBJ7MCoDCr6euk= + subdir: + cardano-cli diff --git a/cardano-node/src/Cardano/Node/Configuration/POM.hs b/cardano-node/src/Cardano/Node/Configuration/POM.hs index 44f02e6a073..3ce3341e431 100644 --- a/cardano-node/src/Cardano/Node/Configuration/POM.hs +++ b/cardano-node/src/Cardano/Node/Configuration/POM.hs @@ -31,8 +31,8 @@ import Cardano.Node.Protocol.Types (Protocol (..)) import Cardano.Node.Types import Cardano.Tracing.Config import Cardano.Tracing.OrphanInstances.Network () -import Ouroboros.Consensus.Mempool (MempoolCapacityBytes (..), - MempoolCapacityBytesOverride (..)) +import Ouroboros.Consensus.Ledger.SupportsMempool +import Ouroboros.Consensus.Mempool (MempoolCapacityBytesOverride (..)) import Ouroboros.Consensus.Node (NodeDatabasePaths (..)) import qualified Ouroboros.Consensus.Node as Consensus (NetworkP2PMode (..)) import Ouroboros.Consensus.Storage.LedgerDB.DiskPolicy (NumOfDiskSnapshots (..), @@ -361,7 +361,7 @@ instance FromJSON PartialNodeConfiguration where where parseMempoolCapacityBytesOverride v = parseNoOverride <|> parseOverride where - parseNoOverride = fmap (MempoolCapacityBytesOverride . MempoolCapacityBytes) <$> v .:? "MempoolCapacityBytesOverride" + parseNoOverride = fmap (MempoolCapacityBytesOverride . ByteSize32) <$> v .:? "MempoolCapacityBytesOverride" parseOverride = do maybeString :: Maybe String <- v .:? "MempoolCapacityBytesOverride" case maybeString of diff --git a/cardano-node/src/Cardano/Node/Handlers/Shutdown.hs b/cardano-node/src/Cardano/Node/Handlers/Shutdown.hs index 060491164c1..ada94ad7427 100644 --- a/cardano-node/src/Cardano/Node/Handlers/Shutdown.hs +++ b/cardano-node/src/Cardano/Node/Handlers/Shutdown.hs @@ -8,6 +8,7 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TupleSections #-} +{-# LANGUAGE TypeApplications #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Node.Handlers.Shutdown @@ -26,7 +27,6 @@ module Cardano.Node.Handlers.Shutdown ) where -import Cardano.Api (bounded) import Cardano.Slotting.Slot (WithOrigin (..)) import Ouroboros.Consensus.Block (Header) @@ -51,6 +51,8 @@ import System.Exit (ExitCode (..)) import qualified System.IO as IO import qualified System.IO.Error as IO import System.Posix.Types (Fd (Fd)) +import qualified Text.Read as Read + import Generic.Data.Orphans () @@ -81,6 +83,13 @@ parseShutdownOn = asum ] , pure NoShutdown ] + where + bounded :: forall a. (Bounded a, Integral a, Show a) => String -> Opt.ReadM a + bounded t = Opt.eitherReader $ \s -> do + i <- Read.readEither @Integer s + when (i < fromIntegral (minBound @a)) $ Left $ t <> " must not be less than " <> show (minBound @a) + when (i > fromIntegral (maxBound @a)) $ Left $ t <> " must not greater than " <> show (maxBound @a) + pure (fromIntegral i) data ShutdownTrace = ShutdownRequested diff --git a/cardano-node/src/Cardano/Node/Parsers.hs b/cardano-node/src/Cardano/Node/Parsers.hs index 1a5f1fa47e3..d77bb991e28 100644 --- a/cardano-node/src/Cardano/Node/Parsers.hs +++ b/cardano-node/src/Cardano/Node/Parsers.hs @@ -20,7 +20,7 @@ import Cardano.Node.Configuration.Socket import Cardano.Node.Handlers.Shutdown import Cardano.Node.Types import Cardano.Prelude (ConvertText (..)) -import Ouroboros.Consensus.Mempool (MempoolCapacityBytes (..)) +import Ouroboros.Consensus.Ledger.SupportsMempool import Ouroboros.Consensus.Node import Ouroboros.Consensus.Storage.LedgerDB.DiskPolicy (NumOfDiskSnapshots (..), SnapshotInterval (..)) @@ -211,12 +211,12 @@ parseMempoolCapacityOverride = parseOverride <|> parseNoOverride where parseOverride :: Parser MempoolCapacityBytesOverride parseOverride = - MempoolCapacityBytesOverride . MempoolCapacityBytes <$> - Opt.option (auto @Word32) - ( long "mempool-capacity-override" - <> metavar "BYTES" - <> help "[DEPRECATED: Set it in config file with key MempoolCapacityBytesOverride] The number of bytes" - ) + MempoolCapacityBytesOverride . ByteSize32 <$> + Opt.option (auto @Word32) + ( long "mempool-capacity-override" + <> metavar "BYTES" + <> help "[DEPRECATED: Set it in config file with key MempoolCapacityBytesOverride] The number of bytes" + ) parseNoOverride :: Parser MempoolCapacityBytesOverride parseNoOverride = flag' NoMempoolCapacityBytesOverride diff --git a/cardano-node/src/Cardano/Node/TraceConstraints.hs b/cardano-node/src/Cardano/Node/TraceConstraints.hs index 06fbed78e1c..1cdea0b56f2 100644 --- a/cardano-node/src/Cardano/Node/TraceConstraints.hs +++ b/cardano-node/src/Cardano/Node/TraceConstraints.hs @@ -6,7 +6,6 @@ module Cardano.Node.TraceConstraints (TraceConstraints) where - import Cardano.BM.Tracing (ToObject) import Cardano.Ledger.Credential import Cardano.Ledger.Crypto (StandardCrypto) @@ -29,6 +28,7 @@ import Ouroboros.Consensus.Shelley.Ledger.Mempool (GenTx, TxId) import Ouroboros.Network.Block (Serialised) import Data.Aeson +import qualified Data.List.NonEmpty as NonEmpty import Data.Set -- | Tracing-related constraints for monitoring purposes. @@ -71,4 +71,5 @@ type TraceConstraints blk = , LogFormatting (CannotForge blk) , LogFormatting (ForgeStateUpdateError blk) , LogFormatting (Set (Credential 'Staking StandardCrypto)) + , LogFormatting (NonEmpty.NonEmpty (KeyHash 'Staking StandardCrypto)) ) diff --git a/cardano-node/src/Cardano/Node/Tracing/Era/Shelley.hs b/cardano-node/src/Cardano/Node/Tracing/Era/Shelley.hs index 4dd0725e8f8..9589b002c49 100644 --- a/cardano-node/src/Cardano/Node/Tracing/Era/Shelley.hs +++ b/cardano-node/src/Cardano/Node/Tracing/Era/Shelley.hs @@ -100,6 +100,12 @@ instance LogFormatting (Set (Credential 'Staking StandardCrypto)) where , "stakeCreds" .= map toJSON (Set.toList creds) ] +instance LogFormatting (NonEmpty.NonEmpty (KeyHash 'Staking StandardCrypto)) where + forMachine _dtal keyHashes = + mconcat [ "kind" .= String "StakingKeyHashes" + , "stakeKeyHashes" .= toJSON keyHashes + ] + instance ( LogFormatting (PredicateFailure (Ledger.EraRule "DELEG" era)) , LogFormatting (PredicateFailure (Ledger.EraRule "POOL" era)) @@ -176,11 +182,6 @@ instance LogFormatting (Conway.ConwayDelegPredFailure era) where , "amount" .= coin , "error" .= String "Stake key has non-zero account balance" ] - Conway.DRepAlreadyRegisteredForStakeKeyDELEG credential -> - [ "kind" .= String "DRepAlreadyRegisteredForStakeKeyDELEG" - , "amount" .= String (textShow credential) - , "error" .= String "DRep already registered for the stake key" - ] instance ( ShelleyCompatible protocol era @@ -1099,6 +1100,7 @@ instance , LogFormatting (PredicateFailure (Ledger.EraRule "GOV" era)) , LogFormatting (PredicateFailure (Ledger.EraRule "CERTS" era)) , LogFormatting (Set (Credential 'Staking (Ledger.EraCrypto era))) + , LogFormatting (NonEmpty.NonEmpty (KeyHash 'Staking (Ledger.EraCrypto era))) ) => LogFormatting (Conway.ConwayLedgerPredFailure era) where forMachine v (Conway.ConwayUtxowFailure f) = forMachine v f forMachine _ (Conway.ConwayTxRefScriptsSizeTooBig actual limit) = @@ -1184,6 +1186,10 @@ instance mconcat [ "kind" .= String "DisallowedVotesDuringBootstrap" , "votes" .= votes ] + forMachine _ (Conway.ZeroTreasuryWithdrawals govAction) = + mconcat [ "kind" .= String "ZeroTreasuryWithdrawals" + , "govAction" .= govAction + ] instance diff --git a/cardano-node/src/Cardano/Node/Tracing/StateRep.hs b/cardano-node/src/Cardano/Node/Tracing/StateRep.hs index bbd32fa6aa3..dca8cd1932a 100644 --- a/cardano-node/src/Cardano/Node/Tracing/StateRep.hs +++ b/cardano-node/src/Cardano/Node/Tracing/StateRep.hs @@ -60,7 +60,7 @@ deriving instance (NFData OpeningDbs) data Replays = ReplayFromGenesis (WithOrigin SlotNo) - | ReplayFromSnapshot SlotNo (WithOrigin SlotNo) (WithOrigin SlotNo) + | ReplayFromSnapshot (WithOrigin SlotNo) (WithOrigin SlotNo) | ReplayedBlock SlotNo (WithOrigin SlotNo) (WithOrigin SlotNo) deriving (Generic, FromJSON, ToJSON) @@ -219,8 +219,8 @@ traceNodeStateChainDB _scp tr ev = case ev' of LgrDb.ReplayFromGenesis (LgrDb.ReplayGoal p) -> traceWith tr $ NodeReplays $ ReplayFromGenesis (pointSlot p) - LgrDb.ReplayFromSnapshot _ (RP.RealPoint s _) (LgrDb.ReplayStart rs) (LgrDb.ReplayGoal rp) -> - traceWith tr $ NodeReplays $ ReplayFromSnapshot s (pointSlot rs) (pointSlot rp) + LgrDb.ReplayFromSnapshot _ (LgrDb.ReplayStart rs) (LgrDb.ReplayGoal rp) -> + traceWith tr $ NodeReplays $ ReplayFromSnapshot (pointSlot rs) (pointSlot rp) LgrDb.ReplayedBlock (RP.RealPoint s _) _ (LgrDb.ReplayStart rs) (LgrDb.ReplayGoal rp) -> traceWith tr $ NodeReplays $ ReplayedBlock s (pointSlot rs) (pointSlot rp) ChainDB.TraceInitChainSelEvent ev' -> diff --git a/cardano-node/src/Cardano/Node/Tracing/Tracers/ChainDB.hs b/cardano-node/src/Cardano/Node/Tracing/Tracers/ChainDB.hs index 0486292e199..a0ecf536704 100644 --- a/cardano-node/src/Cardano/Node/Tracing/Tracers/ChainDB.hs +++ b/cardano-node/src/Cardano/Node/Tracing/Tracers/ChainDB.hs @@ -32,7 +32,7 @@ import qualified Ouroboros.Consensus.Storage.ChainDB as ChainDB import qualified Ouroboros.Consensus.Storage.ImmutableDB as ImmDB import Ouroboros.Consensus.Storage.ImmutableDB.Chunks.Internal (chunkNoToInt) import qualified Ouroboros.Consensus.Storage.ImmutableDB.Impl.Types as ImmDB -import Ouroboros.Consensus.Storage.LedgerDB (UpdateLedgerDbTraceEvent (..)) +import Ouroboros.Consensus.Storage.LedgerDB (UpdateLedgerDbTraceEvent (..), ReplayStart (..)) import qualified Ouroboros.Consensus.Storage.LedgerDB as LedgerDB import qualified Ouroboros.Consensus.Storage.VolatileDB as VolDB import Ouroboros.Consensus.Util.Condense (condense) @@ -1572,9 +1572,9 @@ instance (StandardHash blk, ConvertRawHash blk) => LogFormatting (LedgerDB.TraceReplayEvent blk) where forHuman (LedgerDB.ReplayFromGenesis _replayTo) = "Replaying ledger from genesis" - forHuman (LedgerDB.ReplayFromSnapshot snap tip' _ _) = - "Replaying ledger from snapshot " <> showT snap <> " at " <> - renderRealPointAsPhrase tip' + forHuman (LedgerDB.ReplayFromSnapshot snap (ReplayStart tip') _goal) = + "Replaying ledger from snapshot " <> showT snap <> " at " + <> renderPointAsPhrase tip' forHuman (LedgerDB.ReplayedBlock pt _ledgerEvents @@ -1596,7 +1596,7 @@ instance (StandardHash blk, ConvertRawHash blk) forMachine _dtal (LedgerDB.ReplayFromGenesis _replayTo) = mconcat [ "kind" .= String "ReplayFromGenesis" ] - forMachine dtal (LedgerDB.ReplayFromSnapshot snap tip' _ _) = + forMachine dtal (LedgerDB.ReplayFromSnapshot snap tip' _) = mconcat [ "kind" .= String "ReplayFromSnapshot" , "snapshot" .= forMachine dtal snap , "tip" .= show tip' ] diff --git a/cardano-node/src/Cardano/Node/Tracing/Tracers/Consensus.hs b/cardano-node/src/Cardano/Node/Tracing/Tracers/Consensus.hs index 63019777937..d63709d86d9 100644 --- a/cardano-node/src/Cardano/Node/Tracing/Tracers/Consensus.hs +++ b/cardano-node/src/Cardano/Node/Tracing/Tracers/Consensus.hs @@ -37,10 +37,10 @@ import Ouroboros.Consensus.Block import Ouroboros.Consensus.BlockchainTime (SystemStart (..)) import Ouroboros.Consensus.BlockchainTime.WallClock.Util (TraceBlockchainTimeEvent (..)) import Ouroboros.Consensus.Cardano.Block -import Ouroboros.Consensus.Genesis.Governor (DensityBounds (..), TraceGDDEvent (..)) +import Ouroboros.Consensus.Genesis.Governor (DensityBounds (..), TraceGDDEvent (..), GDDDebugInfo (..)) import Ouroboros.Consensus.Ledger.Inspect (LedgerEvent (..), LedgerUpdate, LedgerWarning) import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, GenTxId, HasTxId, - LedgerSupportsMempool, txForgetValidated, txId) + LedgerSupportsMempool, txForgetValidated, txId, ByteSize32 (..)) import Ouroboros.Consensus.Ledger.SupportsProtocol import Ouroboros.Consensus.Mempool (MempoolSize (..), TraceEventMempool (..)) import Ouroboros.Consensus.MiniProtocol.BlockFetch.Server @@ -74,6 +74,7 @@ import Control.Monad (guard) import Control.Monad.Class.MonadTime.SI (Time (..)) import Data.Aeson (ToJSON, Value (Number, String), toJSON, (.=)) import qualified Data.Aeson as Aeson +import Data.Foldable (Foldable(toList)) import Data.Int (Int64) import Data.IntPSQ (IntPSQ) import qualified Data.IntPSQ as Pq @@ -881,8 +882,8 @@ instance ( LogFormatting peer , HasHeader (Header blk) , ConvertRawHash (Header blk) ) => LogFormatting (TraceGDDEvent peer blk) where - forMachine dtal TraceGDDEvent {..} = mconcat $ - [ "kind" .= String "TraceGDDEvent" + forMachine dtal (TraceGDDDebug (GDDDebugInfo {..})) = mconcat $ + [ "kind" .= String "TraceGDDDebugInfo" , "losingPeers".= toJSON (map (forMachine dtal) losingPeers) , "loeHead" .= forMachine dtal loeHead , "sgen" .= toJSON (unGenesisWindow sgen) @@ -921,6 +922,11 @@ instance ( LogFormatting peer ) ] + forMachine dtal (TraceGDDDisconnected peers) = mconcat + [ "kind" .= String "TraceGDDDisconnected" + , "peers" .= toJSON (map (forMachine dtal) (toList peers)) + ] + forHuman = forHumanOrMachine instance MetaTrace (TraceGDDEvent peer blk) where @@ -1201,23 +1207,23 @@ instance asMetrics (TraceMempoolAddedTx _tx _mpSzBefore mpSz) = [ IntM "txsInMempool" (fromIntegral $ msNumTxs mpSz) - , IntM "mempoolBytes" (fromIntegral $ msNumBytes mpSz) + , IntM "mempoolBytes" (fromIntegral . unByteSize32 . msNumBytes $ mpSz) ] asMetrics (TraceMempoolRejectedTx _tx _txApplyErr mpSz) = [ IntM "txsInMempool" (fromIntegral $ msNumTxs mpSz) - , IntM "mempoolBytes" (fromIntegral $ msNumBytes mpSz) + , IntM "mempoolBytes" (fromIntegral . unByteSize32 . msNumBytes $ mpSz) ] asMetrics (TraceMempoolRemoveTxs _txs mpSz) = [ IntM "txsInMempool" (fromIntegral $ msNumTxs mpSz) - , IntM "mempoolBytes" (fromIntegral $ msNumBytes mpSz) + , IntM "mempoolBytes" (fromIntegral . unByteSize32 . msNumBytes $ mpSz) ] asMetrics (TraceMempoolManuallyRemovedTxs [] _txs1 mpSz) = [ IntM "txsInMempool" (fromIntegral $ msNumTxs mpSz) - , IntM "mempoolBytes" (fromIntegral $ msNumBytes mpSz) + , IntM "mempoolBytes" (fromIntegral . unByteSize32 . msNumBytes $ mpSz) ] asMetrics (TraceMempoolManuallyRemovedTxs txs _txs1 mpSz) = [ IntM "txsInMempool" (fromIntegral $ msNumTxs mpSz) - , IntM "mempoolBytes" (fromIntegral $ msNumBytes mpSz) + , IntM "mempoolBytes" (fromIntegral . unByteSize32 . msNumBytes $ mpSz) , CounterM "txsProcessedNum" (Just (fromIntegral $ length txs)) ] @@ -1225,7 +1231,7 @@ instance LogFormatting MempoolSize where forMachine _dtal MempoolSize{msNumTxs, msNumBytes} = mconcat [ "numTxs" .= msNumTxs - , "bytes" .= msNumBytes + , "bytes" .= unByteSize32 msNumBytes ] diff --git a/cardano-node/src/Cardano/Node/Tracing/Tracers/Startup.hs b/cardano-node/src/Cardano/Node/Tracing/Tracers/Startup.hs index 0d27397ef89..a3d03bdf16a 100644 --- a/cardano-node/src/Cardano/Node/Tracing/Tracers/Startup.hs +++ b/cardano-node/src/Cardano/Node/Tracing/Tracers/Startup.hs @@ -448,6 +448,7 @@ nodeToClientVersionToInt = \case NodeToClientV_15 -> 15 NodeToClientV_16 -> 16 NodeToClientV_17 -> 17 + NodeToClientV_18 -> 18 nodeToNodeVersionToInt :: NodeToNodeVersion -> Int nodeToNodeVersionToInt = \case diff --git a/cardano-node/src/Cardano/Tracing/OrphanInstances/Consensus.hs b/cardano-node/src/Cardano/Tracing/OrphanInstances/Consensus.hs index c7491304090..7ce83a99327 100644 --- a/cardano-node/src/Cardano/Tracing/OrphanInstances/Consensus.hs +++ b/cardano-node/src/Cardano/Tracing/OrphanInstances/Consensus.hs @@ -33,14 +33,15 @@ import Ouroboros.Consensus.Block (BlockProtocol, BlockSupportsProtocol ConvertRawHash (..), ForgeStateUpdateError, GenesisWindow (..), GetHeader (..), Header, RealPoint, blockNo, blockPoint, blockPrevHash, getHeader, headerPoint, pointHash, realPointHash, realPointSlot, withOriginToMaybe) -import Ouroboros.Consensus.Genesis.Governor (DensityBounds (..), TraceGDDEvent (..)) +import Ouroboros.Consensus.Block.SupportsSanityCheck +import Ouroboros.Consensus.Genesis.Governor (DensityBounds (..), TraceGDDEvent (..), GDDDebugInfo (..)) import Ouroboros.Consensus.HeaderValidation import Ouroboros.Consensus.Ledger.Abstract import Ouroboros.Consensus.Ledger.Extended import Ouroboros.Consensus.Ledger.Inspect (InspectLedger, LedgerEvent (..), LedgerUpdate, LedgerWarning) import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, GenTx, GenTxId, HasTxId, - LedgerSupportsMempool, TxId, txForgetValidated, txId) + LedgerSupportsMempool, TxId, txForgetValidated, txId, ByteSize32 (..)) import Ouroboros.Consensus.Ledger.SupportsProtocol (LedgerSupportsProtocol) import Ouroboros.Consensus.Mempool (MempoolSize (..), TraceEventMempool (..)) import Ouroboros.Consensus.MiniProtocol.BlockFetch.Server @@ -64,12 +65,11 @@ import qualified Ouroboros.Consensus.Storage.ImmutableDB.API as ImmDB import Ouroboros.Consensus.Storage.ImmutableDB.Chunks.Internal (ChunkNo (..), chunkNoToInt) import qualified Ouroboros.Consensus.Storage.ImmutableDB.Impl.Types as ImmDB -import Ouroboros.Consensus.Storage.LedgerDB (PushGoal (..), PushStart (..), Pushing (..)) +import Ouroboros.Consensus.Storage.LedgerDB (PushGoal (..), PushStart (..), Pushing (..), ReplayStart (..)) import qualified Ouroboros.Consensus.Storage.LedgerDB as LedgerDB import qualified Ouroboros.Consensus.Storage.VolatileDB.Impl as VolDb import Ouroboros.Consensus.Util.Condense import Ouroboros.Consensus.Util.Enclose -import Ouroboros.Consensus.Block.SupportsSanityCheck import Ouroboros.Consensus.Util.Orphans () import qualified Ouroboros.Network.AnchoredFragment as AF import Ouroboros.Network.Block (BlockNo (..), ChainUpdate (..), SlotNo (..), StandardHash, @@ -589,9 +589,9 @@ instance ( ConvertRawHash blk ChainDB.TraceLedgerReplayEvent ev -> case ev of LedgerDB.ReplayFromGenesis _replayTo -> "Replaying ledger from genesis" - LedgerDB.ReplayFromSnapshot _ tip' _ _ -> + LedgerDB.ReplayFromSnapshot _ (ReplayStart tip') _goal -> "Replaying ledger from snapshot at " <> - renderRealPointAsPhrase tip' + renderPointAsPhrase tip' LedgerDB.ReplayedBlock pt _ledgerEvents (LedgerDB.ReplayStart replayFrom) (LedgerDB.ReplayGoal replayTo) -> let fromSlot = withOrigin 0 Prelude.id $ unSlotNo <$> pointSlot replayFrom atSlot = unSlotNo $ realPointSlot pt @@ -1077,7 +1077,7 @@ instance ( ConvertRawHash blk toObject verb (ChainDB.TraceLedgerReplayEvent ev) = case ev of LedgerDB.ReplayFromGenesis _replayTo -> mconcat [ "kind" .= String "TraceLedgerReplayEvent.ReplayFromGenesis" ] - LedgerDB.ReplayFromSnapshot snap tip' _replayFrom _replayTo -> + LedgerDB.ReplayFromSnapshot snap tip' _replayFrom -> mconcat [ "kind" .= String "TraceLedgerReplayEvent.ReplayFromSnapshot" , "snapshot" .= toObject verb snap , "tip" .= show tip' ] @@ -1515,7 +1515,7 @@ instance ToObject MempoolSize where toObject _verb MempoolSize{msNumTxs, msNumBytes} = mconcat [ "numTxs" .= msNumTxs - , "bytes" .= msNumBytes + , "bytes" .= unByteSize32 msNumBytes ] instance HasTextFormatter () where @@ -1704,7 +1704,7 @@ instance (ToObject peer, ConvertRawHash blk, GetHeader blk) => Transformable Tex trTransformer = trStructured instance (ToObject peer, ConvertRawHash blk, GetHeader blk) => ToObject (TraceGDDEvent peer blk) where - toObject verb TraceGDDEvent {..} = mconcat $ + toObject verb (TraceGDDDebug (GDDDebugInfo {..})) = mconcat $ [ "kind" .= String "TraceGDDEvent" , "losingPeers".= toJSON (map (toObject verb) losingPeers) , "loeHead" .= toObject verb loeHead @@ -1744,6 +1744,11 @@ instance (ToObject peer, ConvertRawHash blk, GetHeader blk) => ToObject (TraceGD ) ] + toObject verb (TraceGDDDisconnected peer) = mconcat + [ "kind" .= String "TraceGDDDisconnected" + , "peer" .= toJSON (map (toObject verb) $ toList peer) + ] + instance (ConvertRawHash blk, GetHeader blk) => ToObject (DensityBounds blk) where toObject verb DensityBounds {..} = mconcat [ "kind" .= String "DensityBounds" diff --git a/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs b/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs index e1db4ae25c8..3c677664fea 100644 --- a/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs +++ b/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs @@ -2198,6 +2198,8 @@ instance ToJSON NodeToClientVersion where toJSON NodeToClientV_15 = Number 15 toJSON NodeToClientV_16 = Number 16 toJSON NodeToClientV_17 = Number 17 + toJSON NodeToClientV_18 = Number 18 + -- NB: When adding a new version here, update FromJSON below as well! instance FromJSON NodeToClientVersion where parseJSON (Number 9) = return NodeToClientV_9 @@ -2207,6 +2209,9 @@ instance FromJSON NodeToClientVersion where parseJSON (Number 13) = return NodeToClientV_13 parseJSON (Number 14) = return NodeToClientV_14 parseJSON (Number 15) = return NodeToClientV_15 + parseJSON (Number 16) = return NodeToClientV_16 + parseJSON (Number 17) = return NodeToClientV_17 + parseJSON (Number 18) = return NodeToClientV_18 parseJSON (Number x) = fail ("FromJSON.NodeToClientVersion: unsupported node-to-client protocol version " ++ show x) parseJSON x = fail ("FromJSON.NodeToClientVersion: error parsing NodeToClientVersion: " ++ show x) diff --git a/cardano-node/src/Cardano/Tracing/OrphanInstances/Shelley.hs b/cardano-node/src/Cardano/Tracing/OrphanInstances/Shelley.hs index a8b7f0c578e..72791682904 100644 --- a/cardano-node/src/Cardano/Tracing/OrphanInstances/Shelley.hs +++ b/cardano-node/src/Cardano/Tracing/OrphanInstances/Shelley.hs @@ -220,11 +220,6 @@ instance ToObject (Conway.ConwayDelegPredFailure era) where , "amount" .= coin , "error" .= String "Stake key has non-zero account balance" ] - Conway.DRepAlreadyRegisteredForStakeKeyDELEG credential -> - [ "kind" .= String "DRepAlreadyRegisteredForStakeKeyDELEG" - , "amount" .= String (textShow credential) - , "error" .= String "DRep already registered for the stake key" - ] instance ToObject (Set (Credential 'Staking StandardCrypto)) where toObject _verb creds = @@ -232,6 +227,12 @@ instance ToObject (Set (Credential 'Staking StandardCrypto)) where , "stakeCreds" .= map toJSON (Set.toList creds) ] +instance ToObject (NonEmpty.NonEmpty (KeyHash 'Staking StandardCrypto)) where + toObject _verb keyHashes = + mconcat [ "kind" .= String "StakeKeyHashes" + , "stakeKeyHashes" .= toJSON keyHashes + ] + instance Core.Crypto crypto => ToObject (ChainTransitionError crypto) where toObject verb (ChainTransitionError fs) = mconcat [ "kind" .= String "ChainTransitionError" @@ -314,6 +315,7 @@ instance , ToObject (PredicateFailure (Core.EraRule "UTXOW" ledgerera)) , ToObject (PredicateFailure (Core.EraRule "GOV" ledgerera)) , ToObject (Set (Credential 'Staking (Consensus.EraCrypto ledgerera))) + , ToObject (NonEmpty.NonEmpty (KeyHash 'Staking (Consensus.EraCrypto ledgerera))) ) => ToObject (Conway.ConwayLedgerPredFailure ledgerera) where toObject verb (Conway.ConwayUtxowFailure f) = toObject verb f toObject _ (Conway.ConwayTxRefScriptsSizeTooBig actual limit) = @@ -400,6 +402,11 @@ instance Ledger.EraPParams era => ToObject (Conway.ConwayGovPredFailure era) whe , "votes" .= votes ] + toObject _ (Conway.ZeroTreasuryWithdrawals govAction) = + mconcat [ "kind" .= String "ZeroTreasuryWithdrawals" + , "govAction" .= govAction + ] + instance ( Core.Crypto (Consensus.EraCrypto era) , ToObject (PredicateFailure (Ledger.EraRule "CERT" era)) diff --git a/cardano-node/src/Cardano/Tracing/Tracers.hs b/cardano-node/src/Cardano/Tracing/Tracers.hs index 4ca0bf61f09..45dbbd72bcc 100644 --- a/cardano-node/src/Cardano/Tracing/Tracers.hs +++ b/cardano-node/src/Cardano/Tracing/Tracers.hs @@ -71,7 +71,7 @@ import Ouroboros.Consensus.Ledger.Extended (ledgerState) import Ouroboros.Consensus.Ledger.Inspect (InspectLedger, LedgerEvent) import Ouroboros.Consensus.Ledger.Query (BlockQuery) import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, GenTx, GenTxId, HasTxs, - LedgerSupportsMempool) + LedgerSupportsMempool, ByteSize32 (..)) import Ouroboros.Consensus.Ledger.SupportsProtocol (LedgerSupportsProtocol) import Ouroboros.Consensus.Mempool (MempoolSize (..), TraceEventMempool (..)) import Ouroboros.Consensus.MiniProtocol.BlockFetch.Server @@ -1264,7 +1264,7 @@ mempoolMetricsTraceTransformer tr = Tracer $ \mempoolEvent -> do logValue1 :: LOContent a logValue1 = LogValue "txsInMempool" $ PureI $ fromIntegral (msNumTxs tot) logValue2 :: LOContent a - logValue2 = LogValue "mempoolBytes" $ PureI $ fromIntegral (msNumBytes tot) + logValue2 = LogValue "mempoolBytes" . PureI . fromIntegral . unByteSize32 . msNumBytes $ tot meta <- mkLOMeta Critical Confidential traceNamedObject tr' (meta, logValue1) traceNamedObject tr' (meta, logValue2) diff --git a/cardano-testnet/src/Parsers/Cardano.hs b/cardano-testnet/src/Parsers/Cardano.hs index 6e4c75919fb..86087eff8a5 100644 --- a/cardano-testnet/src/Parsers/Cardano.hs +++ b/cardano-testnet/src/Parsers/Cardano.hs @@ -2,7 +2,7 @@ module Parsers.Cardano ( cmdCardano ) where -import Cardano.Api (EraInEon (..), bounded, AnyShelleyBasedEra (AnyShelleyBasedEra)) +import Cardano.Api (EraInEon (..), AnyShelleyBasedEra (AnyShelleyBasedEra)) import Cardano.CLI.Environment import Cardano.CLI.EraBased.Options.Common hiding (pNetworkId) diff --git a/cardano-testnet/src/Testnet/Components/Query.hs b/cardano-testnet/src/Testnet/Components/Query.hs index 226bc232f7e..b4ce6aec66e 100644 --- a/cardano-testnet/src/Testnet/Components/Query.hs +++ b/cardano-testnet/src/Testnet/Components/Query.hs @@ -302,13 +302,13 @@ findAllUtxos findAllUtxos epochStateView sbe = withFrozenCallStack $ do AnyNewEpochState sbe' newEpochState <- getEpochState epochStateView Refl <- H.leftFail $ assertErasEqual sbe sbe' - pure $ fromLedgerUTxO $ newEpochState ^. L.nesEsL . L.esLStateL . L.lsUTxOStateL . L.utxosUtxoL + pure $ fromLedgerUTxO' $ newEpochState ^. L.nesEsL . L.esLStateL . L.lsUTxOStateL . L.utxosUtxoL where - fromLedgerUTxO + fromLedgerUTxO' :: () => L.UTxO (ShelleyLedgerEra era) -> Map TxIn (TxOut CtxUTxO era) - fromLedgerUTxO (L.UTxO utxo) = + fromLedgerUTxO' (L.UTxO utxo) = shelleyBasedEraConstraints sbe $ Map.fromList . map (bimap fromShelleyTxIn (fromShelleyTxOut sbe)) diff --git a/flake.lock b/flake.lock index 3b44468b08c..4d17a69c429 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "CHaP": { "flake": false, "locked": { - "lastModified": 1725978043, - "narHash": "sha256-3AwgQ308g74rISxUlbzQRX3At0trVoH836vBwkcFFYg=", + "lastModified": 1727364445, + "narHash": "sha256-i/m1fmNx0BQbRvHz9ZbY6t0I5BGqwyCA/Jd/BL1Lp0Q=", "owner": "intersectmbo", "repo": "cardano-haskell-packages", - "rev": "ce5ba82d474225506523e66a4050718de7e2b3fe", + "rev": "a28f93d778031ddabda3ac1aef9616ae933eea82", "type": "github" }, "original": { @@ -467,43 +467,6 @@ "type": "github" } }, - "ghc910X": { - "flake": false, - "locked": { - "lastModified": 1714520650, - "narHash": "sha256-4uz6RA1hRr0RheGNDM49a/B3jszqNNU8iHIow4mSyso=", - "ref": "ghc-9.10", - "rev": "2c6375b9a804ac7fca1e82eb6fcfc8594c67c5f5", - "revCount": 62663, - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - }, - "original": { - "ref": "ghc-9.10", - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - } - }, - "ghc911": { - "flake": false, - "locked": { - "lastModified": 1714817013, - "narHash": "sha256-m2je4UvWfkgepMeUIiXHMwE6W+iVfUY38VDGkMzjCcc=", - "ref": "refs/heads/master", - "rev": "fc24c5cf6c62ca9e3c8d236656e139676df65034", - "revCount": 62816, - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - }, - "original": { - "submodules": true, - "type": "git", - "url": "https://gitlab.haskell.org/ghc/ghc" - } - }, "gomod2nix": { "inputs": { "nixpkgs": "nixpkgs", @@ -548,8 +511,6 @@ "cardano-shell": "cardano-shell", "flake-compat": "flake-compat_3", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", - "ghc910X": "ghc910X", - "ghc911": "ghc911", "hackage": [ "hackageNix" ], @@ -576,16 +537,17 @@ "nixpkgs-2211": "nixpkgs-2211", "nixpkgs-2305": "nixpkgs-2305", "nixpkgs-2311": "nixpkgs-2311", + "nixpkgs-2405": "nixpkgs-2405", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", "stackage": "stackage" }, "locked": { - "lastModified": 1718797200, - "narHash": "sha256-ueFxTuZrQ3ZT/Fj5sSeUWlqKa4+OkUU1xW0E+q/XTfw=", + "lastModified": 1727398264, + "narHash": "sha256-Fn1sDqwDY25xDNKbDvKymdO17qbGbbUmTuVMyAAoZec=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "cb139fa956158397aa398186bb32dd26f7318784", + "rev": "cfa8f9cc3724bef0f2e4d40b7a9683eac0f0049c", "type": "github" }, "original": { @@ -772,7 +734,7 @@ "hls-2.9": { "flake": false, "locked": { - "lastModified": 1718469202, + "lastModified": 1720003792, "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", "owner": "haskell", "repo": "haskell-language-server", @@ -1165,11 +1127,11 @@ }, "nixpkgs-2305": { "locked": { - "lastModified": 1701362232, - "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "lastModified": 1705033721, + "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", "type": "github" }, "original": { @@ -1181,11 +1143,11 @@ }, "nixpkgs-2311": { "locked": { - "lastModified": 1701386440, - "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", + "lastModified": 1719957072, + "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", + "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105", "type": "github" }, "original": { @@ -1195,6 +1157,22 @@ "type": "github" } }, + "nixpkgs-2405": { + "locked": { + "lastModified": 1720122915, + "narHash": "sha256-Nby8WWxj0elBu1xuRaUcRjPi/rU3xVbkAt2kj4QwX2U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "835cf2d3f37989c5db6585a28de967a667a75fb1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-24.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-regression": { "locked": { "lastModified": 1643052045, @@ -1213,17 +1191,17 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1694822471, - "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", + "lastModified": 1720181791, + "narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", - "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", "type": "github" } }, @@ -1458,11 +1436,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1718756571, - "narHash": "sha256-8rL8viTbuE9/yV1of6SWp2tHmhVMD2UmkOfmN5KDbKg=", + "lastModified": 1727395872, + "narHash": "sha256-PJETsaG92wruVtos8ciR3DClslgu8VZbLy0lGcUNVxg=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "027672fb6fd45828b0e623c8152572d4058429ad", + "rev": "cd89feaf0149cb6b74f339838fd4ea47ef0d27c2", "type": "github" }, "original": { diff --git a/nix/haskell.nix b/nix/haskell.nix index cf21a4cfd12..d3d1d1e3e83 100644 --- a/nix/haskell.nix +++ b/nix/haskell.nix @@ -116,6 +116,7 @@ let packages.plutus-tx-plugin.components.library.platforms = with lib.platforms; [ linux darwin ]; packages.tx-generator.package.buildable = with pkgs.stdenv.hostPlatform; !isMusl; + packages.fs-api.components.library.doHaddock = false; packages.cardano-ledger-allegra.components.library.doHaddock = false; packages.cardano-ledger-alonzo.components.library.doHaddock = false; packages.cardano-ledger-api.components.library.doHaddock = false;