From 9646f20efafd68c64c9cb2555df8784d220b6566 Mon Sep 17 00:00:00 2001 From: drsk Date: Mon, 9 Dec 2024 10:57:12 +0100 Subject: [PATCH] make generateNextBakers independent of suspended validator ids. --- concordium-consensus/src/Concordium/Kontrol/Bakers.hs | 8 ++++---- .../src/Concordium/Scheduler/TreeStateEnvironment.hs | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/concordium-consensus/src/Concordium/Kontrol/Bakers.hs b/concordium-consensus/src/Concordium/Kontrol/Bakers.hs index a211a8f0b0..5bd39ee978 100644 --- a/concordium-consensus/src/Concordium/Kontrol/Bakers.hs +++ b/concordium-consensus/src/Concordium/Kontrol/Bakers.hs @@ -211,7 +211,8 @@ computeBakerStakesAndCapital poolParams activeBakers passiveDelegators snapshotS passiveDelegatorsCapital = Vec.fromList $ delegatorCapital <$> passiveDelegators capitalDistribution = CapitalDistribution{..} --- | Generate and set the next epoch bakers and next capital based on the current active bakers. +-- | Generate and set the next epoch bakers and next capital based on the +-- current active bakers. This assumes that no validators are suspended. generateNextBakers :: forall m. ( TreeStateMonad m, @@ -221,10 +222,9 @@ generateNextBakers :: ) => -- | The payday epoch Epoch -> - Set.Set BakerId -> UpdatableBlockState m -> m (UpdatableBlockState m) -generateNextBakers paydayEpoch suspendedBids bs0 = do +generateNextBakers paydayEpoch bs0 = do isEffective <- effectiveTest paydayEpoch -- Determine the bakers and delegators for the next reward period, accounting for any -- stake reductions that are currently pending on active bakers with effective time at @@ -244,7 +244,7 @@ generateNextBakers paydayEpoch suspendedBids bs0 = do (cps ^. cpPoolParameters) activeBakers passiveDelegators - suspendedBids + Set.empty bs1 <- bsoSetNextEpochBakers bs0 bakerStakes NoParam bsoSetNextCapitalDistribution bs1 capitalDistribution diff --git a/concordium-consensus/src/Concordium/Scheduler/TreeStateEnvironment.hs b/concordium-consensus/src/Concordium/Scheduler/TreeStateEnvironment.hs index ecfb665b84..72438f0009 100644 --- a/concordium-consensus/src/Concordium/Scheduler/TreeStateEnvironment.hs +++ b/concordium-consensus/src/Concordium/Scheduler/TreeStateEnvironment.hs @@ -20,7 +20,6 @@ import qualified Data.Map as Map import Data.Maybe import Data.Ratio import qualified Data.Sequence as Seq -import qualified Data.Set as Set import Data.Time import qualified Data.Vector as Vec import Data.Word @@ -1111,7 +1110,7 @@ updateBirkParameters newSeedState bs0 oldChainParameters updates = case protocol processPaydays pd mrps0 bspp0 = do bspp1 <- if oldSeedState ^. epoch < pd - 1 && pd - 1 <= newSeedState ^. epoch - then generateNextBakers pd Set.empty bspp0 + then generateNextBakers pd bspp0 else return bspp0 if pd <= newSeedState ^. epoch then do