@@ -50,6 +50,7 @@ import Ouroboros.Network.Diffusion.Configuration as Configuration
5050import qualified Ouroboros.Network.Diffusion.Configuration as Ouroboros
5151import qualified Ouroboros.Network.Mux as Mux
5252import qualified Ouroboros.Network.PeerSelection.Governor as PeerSelection
53+ import Ouroboros.Network.TxSubmission.Inbound.V2.Types (TxSubmissionLogicVersion (.. ), TxSubmissionInitDelay (.. ))
5354
5455import Control.Concurrent (getNumCapabilities )
5556import Control.Monad (unless , void , when )
@@ -197,6 +198,9 @@ data NodeConfiguration
197198 , ncGenesisConfig :: GenesisConfig
198199
199200 , ncResponderCoreAffinityPolicy :: ResponderCoreAffinityPolicy
201+
202+ , ncTxSubmissionLogicVersion :: TxSubmissionLogicVersion
203+ , ncTxSubmissionInitDelay :: TxSubmissionInitDelay
200204 } deriving (Eq , Show )
201205
202206-- | We expose the `Ouroboros.Network.Mux.ForkPolicy` as a `NodeConfiguration` field.
@@ -297,6 +301,9 @@ data PartialNodeConfiguration
297301 , pncGenesisConfigFlags :: ! (Last GenesisConfigFlags )
298302
299303 , pncResponderCoreAffinityPolicy :: ! (Last ResponderCoreAffinityPolicy )
304+
305+ , pncTxSubmissionLogicVersion :: ! (Last TxSubmissionLogicVersion )
306+ , pncTxSubmissionInitDelay :: ! (Last TxSubmissionInitDelay )
300307 } deriving (Eq , Generic , Show )
301308
302309instance AdjustFilePaths PartialNodeConfiguration where
@@ -413,6 +420,13 @@ instance FromJSON PartialNodeConfiguration where
413420 <$> v .:? " ResponderCoreAffinityPolicy"
414421 <*> v .:? " ForkPolicy" -- deprecated
415422
423+ pncTxSubmissionLogicVersion <- undefined -- TODO(10.7)
424+ -- the following needs FromJSON TxSubmissionLogicVersion
425+ -- pncTxSubmissionLogicVersion <- Last <$> v .:? "TxSubmissionLogicVersion"
426+ pncTxSubmissionInitDelay <- undefined -- TODO(10.7)
427+ -- the following needs FromJSON TxSubmissionInitDelay
428+ -- pncTxSubmissionInitDelay <- Last <$> v .:? "TxSubmissionInitDelay"
429+
416430 pure PartialNodeConfiguration {
417431 pncProtocolConfig
418432 , pncSocketConfig = Last . Just $ SocketConfig mempty mempty mempty pncSocketPath
@@ -460,6 +474,8 @@ instance FromJSON PartialNodeConfiguration where
460474 , pncPeerSharing
461475 , pncGenesisConfigFlags
462476 , pncResponderCoreAffinityPolicy
477+ , pncTxSubmissionLogicVersion
478+ , pncTxSubmissionInitDelay
463479 }
464480 where
465481 parseMempoolCapacityBytesOverride v = parseNoOverride <|> parseOverride
@@ -725,6 +741,9 @@ defaultPartialNodeConfiguration =
725741 , pncGenesisConfigFlags = Last (Just defaultGenesisConfigFlags)
726742 -- https://ouroboros-consensus.cardano.intersectmbo.org/haddocks/ouroboros-consensus-diffusion/Ouroboros-Consensus-Node-Genesis.html#v:defaultGenesisConfigFlags
727743 , pncResponderCoreAffinityPolicy = Last $ Just NoResponderCoreAffinity
744+
745+ , pncTxSubmissionLogicVersion = Last $ Just TxSubmissionLogicV1 -- TODO(10.7)
746+ , pncTxSubmissionInitDelay = Last $ Just NoTxSubmissionInitDelay -- TODO(10.7)
728747 }
729748
730749lastOption :: Parser a -> Parser (Last a )
@@ -846,6 +865,9 @@ makeNodeConfiguration pnc = do
846865
847866 ncResponderCoreAffinityPolicy <- lastToEither " Missing ResponderCoreAffinityPolicy" $ pncResponderCoreAffinityPolicy pnc
848867
868+ ncTxSubmissionLogicVersion <- lastToEither " Missing TxSubmissionLogicVersion" $ pncTxSubmissionLogicVersion pnc
869+ ncTxSubmissionInitDelay <- lastToEither " Missing TxSubmissionInitDelay" $ pncTxSubmissionInitDelay pnc
870+
849871 let deadlineTargets =
850872 PeerSelectionTargets {
851873 targetNumberOfRootPeers = ncDeadlineTargetOfRootPeers,
@@ -923,6 +945,8 @@ makeNodeConfiguration pnc = do
923945 , ncConsensusMode
924946 , ncGenesisConfig
925947 , ncResponderCoreAffinityPolicy
948+ , ncTxSubmissionLogicVersion
949+ , ncTxSubmissionInitDelay
926950 }
927951
928952ncProtocol :: NodeConfiguration -> Protocol
0 commit comments