Skip to content

Commit c0bf2ca

Browse files
committed
Remove CorruptRewardUpdate from ShelleyNewEpochPredFailure.
Replace the corresponding check with an assertion.
1 parent 4bbf4e8 commit c0bf2ca

File tree

3 files changed

+3
-5
lines changed

3 files changed

+3
-5
lines changed

eras/shelley/impl/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## 1.17.0.0
44

5+
- Remove `CorruptRewardUpdate` predicate failure and replace that check with an assertion. #5007
56
* Remove `ShelleyTxBody`
67
* Removed `era` parameter from `ShelleyTxBodyRaw`
78
* Remove `HeapWords` instances for: #5001

eras/shelley/impl/src/Cardano/Ledger/Shelley/Rules/NewEpoch.hs

+2-3
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import Cardano.Ledger.Slot (EpochNo (..))
4242
import Cardano.Ledger.State
4343
import qualified Cardano.Ledger.Val as Val
4444
import Control.DeepSeq (NFData)
45+
import Control.Exception (assert)
4546
import Control.State.Transition
4647
import Data.Default (Default, def)
4748
import qualified Data.Map.Strict as Map
@@ -52,8 +53,6 @@ import NoThunks.Class (NoThunks (..))
5253

5354
data ShelleyNewEpochPredFailure era
5455
= EpochFailure (PredicateFailure (EraRule "EPOCH" era)) -- Subtransition Failures
55-
| CorruptRewardUpdate
56-
RewardUpdate -- The reward update which violates an invariant
5756
| MirFailure (PredicateFailure (EraRule "MIR" era)) -- Subtransition Failures
5857
deriving (Generic)
5958

@@ -265,7 +264,7 @@ updateRewards ::
265264
Rule (ShelleyNEWEPOCH era) 'Transition (EpochState era)
266265
updateRewards es e ru'@(RewardUpdate dt dr rs_ df _) = do
267266
let totRs = sumRewards (es ^. prevPParamsEpochStateL . ppProtocolVersionL) rs_
268-
Val.isZero (dt <> (dr <> toDeltaCoin totRs <> df)) ?! CorruptRewardUpdate ru'
267+
in assert (Val.isZero (dt <> (dr <> toDeltaCoin totRs <> df))) (pure ())
269268
let !(!es', filtered) = applyRUpdFiltered ru' es
270269
tellEvent $ RestrainedRewards e (frShelleyIgnored filtered) (frUnregistered filtered)
271270
-- This event (which is only generated once per epoch) must be generated even if the

libs/cardano-ledger-test/src/Test/Cardano/Ledger/Generic/PrettyCore.hs

-2
Original file line numberDiff line numberDiff line change
@@ -1701,8 +1701,6 @@ instance Reflect era => PrettyA (ShelleyTickPredFailure era) where
17011701
ppShelleyNewEpochPredicateFailure ::
17021702
forall era. Reflect era => ShelleyNewEpochPredFailure era -> PDoc
17031703
ppShelleyNewEpochPredicateFailure (EpochFailure x) = ppEPOCH @era reify x
1704-
ppShelleyNewEpochPredicateFailure (CorruptRewardUpdate x) =
1705-
ppSexp "CorruptRewardUpdate" [ppRewardUpdate x]
17061704
ppShelleyNewEpochPredicateFailure (MirFailure _) =
17071705
error "In the Conway era, there is no (EraRule MIR) type instance."
17081706

0 commit comments

Comments
 (0)