@@ -20,6 +20,7 @@ import Data.Aeson qualified as Aeson
2020import Data.Function (on )
2121import Data.Functor.Contravariant ((>$<) )
2222import Data.Hashable
23+ import Data.List.NonEmpty (NonEmpty )
2324import Data.Map.Strict (Map )
2425import Data.Map.Strict qualified as Map
2526import Data.Sequence (Seq )
@@ -42,6 +43,8 @@ import Ouroboros.Network.BlockFetch (FetchClientRegistry,
4243import Ouroboros.Network.ConnectionId (ConnectionId (.. ))
4344import Ouroboros.Network.PeerSelection.Governor.Types
4445 (makePublicPeerSelectionStateVar )
46+ import Ouroboros.Network.PeerSelection.LedgerPeers.Type (PoolStake ,
47+ LedgerRelayAccessPoint )
4548import Ouroboros.Network.PeerSharing (PeerSharingAPI , PeerSharingRegistry ,
4649 newPeerSharingAPI , newPeerSharingRegistry ,
4750 ps_POLICY_PEER_SHARE_MAX_PEERS , ps_POLICY_PEER_SHARE_STICKY_TIME )
@@ -83,6 +86,8 @@ data StakePools m = StakePools {
8386 stakePoolsVar :: StrictTVar m (Map PoolId StakeSnapshot )
8487 -- | acquires validation context for signature validation
8588 , poolValidationCtx :: m PoolValidationCtx
89+ , ledgerPeersVar
90+ :: StrictTVar m [(PoolStake , NonEmpty LedgerRelayAccessPoint )]
8691 }
8792
8893data PoolValidationCtx =
@@ -109,15 +114,15 @@ newNodeKernel evolutionConfig rng = do
109114 sigMempoolSem <- newTxMempoolSem
110115 let (rng', rng'') = Random. split rng
111116 sigSharedTxStateVar <- newSharedTxStateVar rng'
112- nextEpochVar <- newTVarIO Nothing
113- stakePoolsVar <- newTVarIO Map. empty
117+ ( nextEpochVar, stakePoolsVar, ledgerPeersVar) <- atomically $
118+ (,,) <$> newTVar Nothing <*> newTVar Map. empty <*> newTVar []
114119 let poolValidationCtx = do
115120 (nextEpochBoundary, stakePools') <-
116121 atomically $ (,) <$> readTVar nextEpochVar <*> readTVar stakePoolsVar
117122 now <- getCurrentTime
118123 return $ DMQPoolValidationCtx now nextEpochBoundary stakePools'
119124
120- stakePools = StakePools { stakePoolsVar, poolValidationCtx }
125+ stakePools = StakePools { stakePoolsVar, poolValidationCtx, ledgerPeersVar }
121126
122127 peerSharingAPI <-
123128 newPeerSharingAPI
0 commit comments