Skip to content

Commit 1b8003d

Browse files
committed
Make DijkstraGenesis optional in DbSynthesizer
1 parent 404554a commit 1b8003d

File tree

4 files changed

+38
-14
lines changed

4 files changed

+38
-14
lines changed

ouroboros-consensus-cardano/src/unstable-cardano-tools/Cardano/Node/Protocol/Cardano.hs

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import Cardano.Api.Any (Error (..))
2020
import qualified Cardano.Chain.Update as Byron
2121
import qualified Cardano.Ledger.Api.Era as L
2222
import qualified Cardano.Ledger.Api.Transition as SL
23+
import Cardano.Ledger.BaseTypes
24+
import Cardano.Ledger.Dijkstra.PParams
2325
import qualified Cardano.Node.Protocol.Alonzo as Alonzo
2426
import qualified Cardano.Node.Protocol.Byron as Byron
2527
import qualified Cardano.Node.Protocol.Conway as Conway
@@ -28,6 +30,7 @@ import qualified Cardano.Node.Protocol.Shelley as Shelley
2830
import Cardano.Node.Types
2931
import Control.Monad.Trans.Except (ExceptT)
3032
import Control.Monad.Trans.Except.Extra (firstExceptT)
33+
import Data.Maybe (fromMaybe)
3134
import Ouroboros.Consensus.Cardano
3235
import qualified Ouroboros.Consensus.Cardano as Consensus
3336
import Ouroboros.Consensus.Cardano.Condense ()
@@ -56,7 +59,7 @@ mkConsensusProtocolCardano ::
5659
NodeShelleyProtocolConfiguration ->
5760
NodeAlonzoProtocolConfiguration ->
5861
NodeConwayProtocolConfiguration ->
59-
NodeDijkstraProtocolConfiguration ->
62+
Maybe NodeDijkstraProtocolConfiguration ->
6063
NodeHardForkProtocolConfiguration ->
6164
Maybe ProtocolFilepaths ->
6265
ExceptT CardanoProtocolInstantiationError IO (CardanoProtocolParams StandardCrypto)
@@ -84,10 +87,7 @@ mkConsensusProtocolCardano
8487
{ npcConwayGenesisFile
8588
, npcConwayGenesisFileHash
8689
}
87-
NodeDijkstraProtocolConfiguration
88-
{ npcDijkstraGenesisFile
89-
, npcDijkstraGenesisFileHash
90-
}
90+
npcDijkstraProtocolConfig
9191
NodeHardForkProtocolConfiguration
9292
{ npcTestEnableDevelopmentHardForkEras = _
9393
, -- During testing of the latest unreleased era, we conditionally
@@ -133,11 +133,20 @@ mkConsensusProtocolCardano
133133
npcConwayGenesisFile
134134
npcConwayGenesisFileHash
135135

136-
(dijkstraGenesis, _dijkstraGenesisHash) <-
137-
firstExceptT CardanoProtocolInstantiationDijkstraGenesisReadError $
138-
readGenesisAny
139-
npcDijkstraGenesisFile
140-
npcDijkstraGenesisFileHash
136+
dijkstraGenesis <- case npcDijkstraProtocolConfig of
137+
Nothing -> pure emptyDijkstraGenesis
138+
Just
139+
( NodeDijkstraProtocolConfiguration
140+
{ npcDijkstraGenesisFile
141+
, npcDijkstraGenesisFileHash
142+
}
143+
) -> do
144+
(dijkstraGenesis, _dijkstraGenesisHash) <-
145+
firstExceptT CardanoProtocolInstantiationDijkstraGenesisReadError $
146+
readGenesisAny
147+
npcDijkstraGenesisFile
148+
npcDijkstraGenesisFileHash
149+
pure dijkstraGenesis
141150

142151
shelleyLeaderCredentials <-
143152
firstExceptT CardanoProtocolInstantiationPraosLeaderCredentialsError $
@@ -247,6 +256,18 @@ mkConsensusProtocolCardano
247256
emptyCheckpointsMap
248257
(ProtVer (L.eraProtVerHigh @L.LatestKnownEra) 0)
249258

259+
-- | An empty Dijkstra genesis to be provided when none is specified in the config.
260+
emptyDijkstraGenesis :: SL.DijkstraGenesis
261+
emptyDijkstraGenesis =
262+
let upgradePParamsDef =
263+
UpgradeDijkstraPParams
264+
{ udppMaxRefScriptSizePerBlock = 1048576
265+
, udppMaxRefScriptSizePerTx = 204800
266+
, udppRefScriptCostStride = unsafeNonZero 25600
267+
, udppRefScriptCostMultiplier = fromMaybe (error "impossible") $ boundRational 1.2
268+
}
269+
in SL.DijkstraGenesis{SL.dgUpgradePParams = upgradePParamsDef}
270+
250271
------------------------------------------------------------------------------
251272
-- Errors
252273
--

ouroboros-consensus-cardano/src/unstable-cardano-tools/Cardano/Tools/DBSynthesizer/Orphans.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ instance FromJSON NodeConfigStub where
3434
<*> v .: "ShelleyGenesisFile"
3535
<*> v .: "ByronGenesisFile"
3636
<*> v .: "ConwayGenesisFile"
37-
<*> v .: "DijkstraGenesisFile"
37+
<*> v .:? "DijkstraGenesisFile"
3838

3939
instance AdjustFilePaths NodeConfigStub where
4040
adjustFilePaths f nc =
@@ -43,7 +43,7 @@ instance AdjustFilePaths NodeConfigStub where
4343
, ncsShelleyGenesisFile = f $ ncsShelleyGenesisFile nc
4444
, ncsByronGenesisFile = f $ ncsByronGenesisFile nc
4545
, ncsConwayGenesisFile = f $ ncsConwayGenesisFile nc
46-
, ncsDijkstraGenesisFile = f $ ncsDijkstraGenesisFile nc
46+
, ncsDijkstraGenesisFile = fmap f $ ncsDijkstraGenesisFile nc
4747
}
4848

4949
instance AdjustFilePaths NodeCredentials where

ouroboros-consensus-cardano/src/unstable-cardano-tools/Cardano/Tools/DBSynthesizer/Run.hs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,10 @@ initialize NodeFilePaths{nfpConfig, nfpChainDB} creds synthOptions = do
121121
shelleyConfig = NodeShelleyProtocolConfiguration (GenesisFile $ ncsShelleyGenesisFile confConfigStub) Nothing
122122
alonzoConfig = NodeAlonzoProtocolConfiguration (GenesisFile $ ncsAlonzoGenesisFile confConfigStub) Nothing
123123
conwayConfig = NodeConwayProtocolConfiguration (GenesisFile $ ncsConwayGenesisFile confConfigStub) Nothing
124-
dijkstraConfig = NodeDijkstraProtocolConfiguration (GenesisFile $ ncsDijkstraGenesisFile confConfigStub) Nothing
124+
dijkstraConfig =
125+
fmap
126+
(\x -> NodeDijkstraProtocolConfiguration (GenesisFile x) Nothing)
127+
(ncsDijkstraGenesisFile confConfigStub)
125128
hfConfig_ = eitherParseJson $ ncsNodeConfig confConfigStub
126129
byConfig_ = eitherParseJson $ ncsNodeConfig confConfigStub
127130

ouroboros-consensus-cardano/src/unstable-cardano-tools/Cardano/Tools/DBSynthesizer/Types.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ data NodeConfigStub = NodeConfigStub
1212
, ncsShelleyGenesisFile :: !FilePath
1313
, ncsByronGenesisFile :: !FilePath
1414
, ncsConwayGenesisFile :: !FilePath
15-
, ncsDijkstraGenesisFile :: !FilePath
15+
, ncsDijkstraGenesisFile :: !(Maybe FilePath)
1616
}
1717
deriving Show
1818

0 commit comments

Comments
 (0)