diff --git a/cardano-node/src/Cardano/Node/Configuration/POM.hs b/cardano-node/src/Cardano/Node/Configuration/POM.hs index 990073049a1..ea6d56e2626 100644 --- a/cardano-node/src/Cardano/Node/Configuration/POM.hs +++ b/cardano-node/src/Cardano/Node/Configuration/POM.hs @@ -220,10 +220,14 @@ instance FromJSON PartialNodeConfiguration where (Just _, Just _) -> fail $ "Specify either ShelleyGenesisFile" ++ "or GenesisFile, but not both" npcShelleyGenesisFileHash <- v .:? "ShelleyGenesisHash" + npcStubComputeDuration <- fromMaybe 0.1 <$> v .:? "StubComputeDuration" + npcStubComputePrecision <- fromMaybe 0.01 <$> v .:? "StubComputePrecision" pure NodeShelleyProtocolConfiguration { npcShelleyGenesisFile , npcShelleyGenesisFileHash + , npcStubComputeDuration + , npcStubComputePrecision } parseHardForkProtocol v = do diff --git a/cardano-node/src/Cardano/Node/Protocol/Cardano.hs b/cardano-node/src/Cardano/Node/Protocol/Cardano.hs index 57634206598..15f9999aa86 100644 --- a/cardano-node/src/Cardano/Node/Protocol/Cardano.hs +++ b/cardano-node/src/Cardano/Node/Protocol/Cardano.hs @@ -15,6 +15,7 @@ module Cardano.Node.Protocol.Cardano import Prelude +import Control.Monad.IO.Class (liftIO) import Control.Monad.Trans.Except (ExceptT) import Control.Monad.Trans.Except.Extra (firstExceptT) import qualified Data.Text as T @@ -27,6 +28,7 @@ import qualified Ouroboros.Consensus.Cardano.CanHardFork as Consensus import Ouroboros.Consensus.HardFork.Combinator.Condense () import Ouroboros.Consensus.Cardano.Condense () +import Ouroboros.Consensus.Shelley.Ledger.Stub import Cardano.Api.Orphans () import Cardano.Api.Protocol.Types @@ -75,7 +77,9 @@ mkSomeConsensusProtocolCardano NodeByronProtocolConfiguration { } NodeShelleyProtocolConfiguration { npcShelleyGenesisFile, - npcShelleyGenesisFileHash + npcShelleyGenesisFileHash, + npcStubComputeDuration, + npcStubComputePrecision } NodeHardForkProtocolConfiguration { npcTestShelleyHardForkAtEpoch, @@ -86,6 +90,11 @@ mkSomeConsensusProtocolCardano NodeByronProtocolConfiguration { npcTestMaryHardForkAtVersion } files = do + liftIO $ + calibrateStubComputationArgForTime + npcStubComputeDuration + npcStubComputePrecision + byronGenesis <- firstExceptT CardanoProtocolInstantiationErrorByron $ Byron.readGenesis npcByronGenesisFile diff --git a/cardano-node/src/Cardano/Node/Types.hs b/cardano-node/src/Cardano/Node/Types.hs index 6dcbe67415f..22fc0b37c7d 100644 --- a/cardano-node/src/Cardano/Node/Types.hs +++ b/cardano-node/src/Cardano/Node/Types.hs @@ -268,6 +268,8 @@ data NodeShelleyProtocolConfiguration = NodeShelleyProtocolConfiguration { npcShelleyGenesisFile :: !GenesisFile , npcShelleyGenesisFileHash :: !(Maybe GenesisHash) + , npcStubComputeDuration :: !Double + , npcStubComputePrecision :: !Double } deriving (Eq, Show)